/*
<WebFramework>
	<FilePath>/Scripts/Default.js</FilePath>
	<Description>This Script file contains global functions and initialization for the WebFramework.</Description>
	<Version Major="5.2" Minor="0" Revision="7" Date="1/3/2007">
		<Revision Date="8/17/2004" Name="Sean Pardue" Major="5" Minor="0" Revision="0">Creation</Revision>
		<Revision Date="9/27/2004" Name="Sean Pardue" Major="5" Minor="0" Revision="1">
			Changed Config() to have configuration button show up as toggle
		</Revision>
		<Revision Date="10/14/2004" Name="Sean Pardue" Major="5" Minor="0" Revision="2">
			Fixed Help function
		</Revision>
		<Revision Date="12/1/2004" Name="Sean Pardue" Major="5" Minor="0" Revision="3">
			Changed Help function to call window.open instead of window.showHelp
		</Revision>
		<Revision Date="1/11/2005" Major="5.0" Minor="0" Revision="3">Initial Release</Revision>
		<Revision Date="1/31/2005" Name="Sean Pardue" Major="5.0" Minor="0" Revision="4">
			Fixed help dialog so that it is resizable
		</Revision>
		<Revision Date="2/4/2005" Major="5.0" Minor="1" Revision="4" Name="Version Utility">
			Fixed Asset Configuration for setting image path
			Fixed resizing on Help dialog
			Fixed links in Reporting Services documentation
		</Revision>
		<Revision Date="2/14/2005" Major="5.0" Minor="2" Revision="4" Name="Version Utility">
			Fixed problem with deleting Assets
		</Revision>
		<Revision Date="5/11/2005" Major="5.0" Minor="2" Revision="5" Name="Sean Pardue">
			Added Show/Hide Topic Area to Options tooltip
			Added HideAppBar &amp;amp;amp; HideAppButtons query var options
		</Revision>
		<Revision Date="5/24/2005" Major="5.0" Minor="3" Revision="5" Name="Version Utility">Major and Minor revisions automatically set by utility.</Revision>
		<Revision Date="8/4/2005" Major="5.1" Minor="0" Revision="5" Name="Version Utility">Major and Minor revisions automatically set by utility.</Revision>
		<Revision Date="8/8/2005" Major="5.1" Minor="0" Revision="6" Name="Sean Pardue">
			Fixed Problem moving slider bar too far right. Limited to only moving between 5% and 70% of the screen
		</Revision>
		<Revision Date="7/14/2006" Major="5.1" Minor="0" Revision="7" Name="Sean Pardue">
			Fixed passing in criteria with query string
		</Revision>
		<Revision Date="1/3/2007" Major="5.2" Minor="0" Revision="7" Name="Version Utility">Major and Minor revisions automatically set by utility.</Revision>
	</Version>
</WebFramework>
*/
var moDrag=null;
var mbSiteConfig=false;
var mbConfig=false;
var msAbsPath=GetAbsPath();
var mbAutoRun=true;
var mbAutoRefresh=true;


function GetAbsPath(){
	var sTmp=window.location.pathname;
	var sRet='/';
	
	var vTmp=sTmp.split('/');
	if (vTmp[0] != ''){
		sRet += vTmp[0] + '/';
	}else if(vTmp[1] != ''){
		sRet += vTmp[1] + '/';
	}
		
	return sRet;
}

function document.oncontextmenu(){
	if (!event.ctrlKey)
		event.returnValue=false;
}

function doResize(){
	ttip.ReCalc();
	ttOptions.ReCalc();
	
	if (tdSlider.offsetLeft > document.body.offsetWidth*.7){
		tdSlider.style.left = document.body.offsetWidth*.7;
		tdAsset.style.width = document.body.offsetWidth*.7;
	}
	
	if (tdSlider.offsetLeft < document.body.offsetWidth*.05){
		tdSlider.style.left = document.body.offsetWidth*.05;
		tdAsset.style.width = document.body.offsetWidth*.05;
	}
}

function doDown(){
	moDrag = event.srcElement;
	moDrag.setCapture();
	
	moDrag.attachEvent("onmousemove", doMove);
	moDrag.attachEvent("onmouseup", doUp);
}

function doUp(){	
	moDrag.style.backgroundColor='blue';
	moDrag.style.zIndex=0;
	moDrag.detachEvent("onmousemove", doMove);
	moDrag.detachEvent("onmouseup", doUp);
	moDrag.releaseCapture(); 
	moDrag=null;
}

function doMove(){
	var x = event.x;
		
	if (moDrag != null){		
		if (x>document.body.offsetWidth*.05 && x< document.body.offsetWidth*.7){
			moDrag.style.backgroundColor='gray';
			moDrag.style.zIndex=9;
			moDrag.style.left = x;
			tdAsset.style.width = x;
		}
	}
}

function cookiePrompt(){
	var ret = window.showModalDialog("HTML/SitePassword.htm",null,"dialogHeight:110px;dialogWidth:185px;Status:no;help:no" );
	if (ret != null){		
		frmSetCookie.pwd.value=ret;
		frmSetCookie.submit();
	}	
}

function frameworkInit(){
	var e;
	
	DefaultAsset=parseInt(DefaultAsset);
	DefaultTopic=parseInt(DefaultTopic);
	DefaultAction=parseInt(DefaultAction);
	HideFW=parseInt(HideFW);
	HideAppBar=parseInt(HideAppBar);
	HideAppButtons=parseInt(HideAppButtons);
	CollapseLeft=parseInt(CollapseLeft);
	CollapseTop=parseInt(CollapseTop);
	
	if (UseCookie == true){
		if (ValidCookie == false){
			cookiePrompt();
			return;		
		}
	}
	
	if (!(isNaN(HideAppBar)) && HideAppBar != 0){
		trHead.style.display='none';
	}
	
	if (!(isNaN(HideAppButtons)) && HideAppButtons != 0){
		tdActions.style.visibility='hidden';
	}
	
	if (!(isNaN(HideFW)) && HideFW != 0){			
		ShowHideAsset(false);
		ShowHideTopic(false);
		
		if (!(gSecMask&2)){
			trHideAssetTree.style.display='none';
			chkAssetTree.checked=false;
			chkTopic.checked=false;
			trHideTopic.style.display='none';
		}
		//top.fraUser.document.all.aUser.click();
	}else{			
		if (!(isNaN(CollapseLeft)) && CollapseLeft != 0){
			ShowHideAsset(false); //Hide Asset Area
			trHideAssetTree.style.display='none';
		}
		
		if (!(isNaN(CollapseTop)) && CollapseTop != 0){
			ShowHideTopic(false); //Hide Topic Tabs, Actions, Criteria
		}
	}
		
	if (!(isNaN(DefaultAsset)) && DefaultAsset > -1){		
		var oAssetItem=top.fraAsset.document.all(DefaultAsset.toString())				
		if (oAssetItem != null){
			oAssetItem.click();
		}
	}else{		
		var oAssetItem=fraAsset.document.all("1");			
		if (oAssetItem != null){
			oAssetItem.click();
		}		
	}
	
	if (!(isNaN(DefaultAction)) && DefaultAction > -1){
		var bAuto = mbAutoRun;
		mbAutoRun = false;
		if (!(isNaN(DefaultTopic)) && DefaultTopic > -1){		
			var oTopicItem=top.fraTopic.document.all(DefaultTopic.toString())				
			if (oTopicItem != null){			
				oTopicItem.click();
			}		
		}
		
		var oActionItem=top.fraTopic.fraAction.document.all(DefaultAction.toString());
						
		if (oActionItem != null){			
			if (oActionItem != null){				
				top.fraTopic.fraTopicCriteria.RefreshCriteria(DefaultTopic, DefaultAction);
			}
			var aItems=(new VBArray(top.fraTopic.fraTopicCriteria.dicCriteria.Items())).toArray();										
			
			for (var j=0; j<aItems.length; j++){
				for (var i=0; i<DefaultCriteria.length; i++){
					if (DefaultCriteria[i][0] == aItems[j].ReplaceID){
						var sID = aItems[j].ID;
						
						if (top.fraTopic.fraTopicCriteria.dicCriteria.Exists(sID)){
							top.fraTopic.fraTopicCriteria.dicCriteria.Item(sID).Value = DefaultCriteria[i][1];
							top.fraTopic.fraTopicCriteria.dicCriteria.Item(sID).ValDesc = DefaultCriteria[i][1];							
						}						
					}
				}
			}
			
			oActionItem.click();
		}
		mbAutoRun = bAuto;
	}else{
		if (!(isNaN(DefaultTopic)) && DefaultTopic > -1){		
			var oTopicItem=top.fraTopic.document.all(DefaultTopic.toString())				
			if (oTopicItem != null){			
				oTopicItem.click();
			}		
		}	
	}
	
	tblLoading.style.display='none';
	tblMain.style.visibility='visible';
	doResize();	
}

function Config(){
	var iSiteAdmin = (gSecMask & 2);
		
	if (mbConfig == true){		
		mbSiteConfig = false;
		mbConfig = false;
		spanConfig.title ='Click here to enter Configuration Mode';
		//spanConfig.style.color='#aaaaaa';
		spanConfig.style.color='white';		
		spanConfig.parentElement.style.backgroundColor = '';
		//imgConfig.src=imgConfig.getAttribute("DISABLEDIMAGE");
		imgConfig.disabled=true;			
	}else{
		spanConfig.title ='Click here to exit Configuration Mode';
		spanConfig.style.color='white';		
		spanConfig.parentElement.style.backgroundColor = '#aaccff';
		//imgConfig.src=imgConfig.getAttribute("IMAGE");
		imgConfig.disabled=false;								
		mbConfig = true;
		if (iSiteAdmin > 0){
			mbSiteConfig = true;
		}
	}
	var iAsset = top.fraAsset.miSelected;
	if (iAsset != null){		
		if (top.fraAsset.dicAssets.Exists(iAsset.toString()) ){
			var oAssetItem = top.fraAsset.dicAssets(iAsset.toString());
			top.fraTopic.RefreshTopic(oAssetItem);			
		}
	}
}

function Help(){
	var sHelp="Documentation/WebFramework/Default.asp";
	
	var oTopic=null;
	var oAction=null;
	var e;
	
	try{
		if (top.fraTopic.fraAction.moLast.getAttribute('ACTIONID') != ''){
			if (top.fraTopic.dicTopics.Exists(top.fraTopic.fraAction.moLast.getAttribute("TOPICID").toString())){
				oTopic = top.fraTopic.dicTopics.Item(top.fraTopic.fraAction.moLast.getAttribute("TOPICID").toString());						
				if (oTopic.dicActions.Exists(top.fraTopic.fraAction.moLast.id)){
					oAction = oTopic.dicActions.Item(top.fraTopic.fraAction.moLast.id);
								
					if (oAction.HelpURL != ''){
						sHelp=oAction.HelpURL;				
					}
				}						
			}
		}
	}catch(e){}
	
	//window.showHelp(sHelp);
	window.open(sHelp, '_blank', 'width=800, height=600, top=5, left=5, menubar=yes, resizable=yes' );
}

function ShowHideAsset(bShow){
	if (bShow){
		tdAsset.style.display='block';
		tdSlider.style.display='block';
	}else{ //Hide
		tdAsset.style.display='none';
		tdSlider.style.display='none';
	}	
}

function ShowHideTopic(bShow){
	if (bShow){
		fraTopic.trTabs.style.display='block';
		fraTopic.trAction.style.display='block';
		fraTopic.trCriteria.style.display='block';
	}else{ //Hide
		fraTopic.trTabs.style.display='none';
		fraTopic.trAction.style.display='none';
		fraTopic.trCriteria.style.display='none';
	}
}