﻿//<SCRIPT>jsAW3FramesManager.js

/* CHANGE HISTORY
**************
DATE               Marker                 CR#                      Description
****               ******                 ***                      ***********
09/04/07           [001]                 150794                 Browser Compatibility
**************
*/


	<!--	
		
		//Functions for the Module State
		function getStateObject() {
			var oState;
			
			if (parent.objState) {
				oState = parent.objState;
			} else {
				if(parent.parent.objState){
					oState = parent.parent.objState;
				}else{
					oState = objState;
				}
			}

			return oState;
		}
		
		function setModuleVar(sName, vValue) {
			return getStateObject().SetVariable(sName,vValue);
		}
		
		function getModuleVar(sName) {
			return getStateObject().GetVariable(sName);
		}
		
		function clearModuleVars() {
			getStateObject().ClearVariables();
		}		
		
		//Functions for Global Aw3 Variables
		
		function setGlobalVar(sName, vValue) {
			return getStateObject().SetVariable(sName,vValue);
		}

		function getGlobalVar(sName) {
			return getStateObject().GetVariable(sName);
		}
 		
 		function clearGlobalVars() {
			getStateObject().ClearVariables();
		}
		
		
		//Function for navigate
		
		function getFrameObject(sFrameName) {
			var oFrame;
			if (parent.parent.frames[sFrameName]) {
				oFrame = parent.parent.frames[sFrameName];
			} else {
				if(parent.frames[sFrameName]){
					oFrame = parent.frames[sFrameName];
				}else{
					oFrame = getObject(sFrameName);
				}
			}
			if (!oFrame){
				oFrame = parent.frames['fraMainContent'].frames[sFrameName];
			}
			return oFrame;			
		}
		
		function getDifferentFrameObject(sObjectId,sFrameName){
			
			var oFrame;
			oFrame = getFrameObject(sFrameName);
			return getObject(sObjectId,null,oFrame);
		}
		
		function navigateToModule(sURL,sPageName,sReturnPage){//To change the module but mantaining the globalState
			var bDotNet;
			var sUrlTest;
			
			try
			{
			   clearModuleVars();
			}
			catch(e){}
			
			sUrlTest = sURL.toLowerCase();
			bDotNet = (sUrlTest.indexOf('ifb') > 0) || (sUrlTest.indexOf('irm') > 0);
			
			if (bDotNet) {
				parent.parent.location.href = sURL + sPageName  // "/datapages/default.htm"
			} else {
			   if((sUrlTest.indexOf('iad') > 0)||(sUrlTest.indexOf('iem') > 0))
			   {
				   parent.parent.location.href = sURL + "/_general/datapages/default.asp?Page=" + escape(sPageName) + "&ReturnPage=" + escape(sReturnPage) ;
				}
				else
				{
				   parent.parent.location.href = sURL + "/_general/datapages/content.asp?Page=" + escape(sPageName) + "&ReturnPage=" + escape(sReturnPage) ;
				}
			}
		}
				
		function navigateToNetModule(sURL,sPageName,sReturnPage){//To change the module but mantaining the globalState
			clearModuleVars();
			parent.parent.location.href = sURL + "/datapages/defaultpage.aspx?Page=" + escape(sPageName) + "&ReturnPage=" + escape(sReturnPage);
		}
				
		function navigateFrame(sFrameName,sTarget){
			var oFrame = getFrameObject(sFrameName);
			
			if (oBrowser.ie) {
				
				if (oFrame.location) {
					oFrame.location.href = sTarget;
					
				} else {
					oFrame.src = sTarget;
				}
				
			} else {
				if (sTarget.indexOf(location.host) > 0) {
					
					if (oFrame.location) {
						oFrame.location.href = sTarget;
					} else {
						oFrame.src = sTarget;
					}
					
				} else {
					//-----------------------------------------------
					// Mozilla cannot open a relative url
					// This functionallity tries to open desired page
					//
					// Author: OOM 21/11/2003
					//
					
					var sUrl = location.href.replace("http://", "").split(".asp")[0];
					var oUrl = sTarget.split("/");
					var sFirstFolder;
					var i=0;
					var bContinue=true;
					var sNewUrl = "";
					var bHTTPS = false;
					var sHTTPHeader = "";
					
					if (sUrl.indexOf("https://",0)>=0){
						sUrl = sUrl.replace("https:", "");
						bHTTPS=true;
					}
					var oData = sUrl.split("/");
					
					if (oUrl.length > 1) {

						// [001]  Start

						if (sTarget.indexOf("/") > 0)
						{
							sFirstFolder = oUrl[0].toLowerCase();
						}
						else
						{
							sFirstFolder = oUrl[1].toLowerCase();	
						}
		
						// [001] End

						//i < oData.length -1 to avoid asp page name
						while ((i < oData.length -1) && (bContinue)) {
							bContinue= (oData[i].toLowerCase() != sFirstFolder);
							if (bContinue) sNewUrl = sNewUrl + oData[i] + "/";
							i++;
						}
						sNewUrl = sNewUrl + sTarget;

			
					} else {
						sNewUrl = sUrl.substring(0, sUrl.lastIndexOf("/")) + "/" + sTarget;
					}
			
					if (bHTTPS){
						sHTTPHeader = "https://";
					}else{
						sHTTPHeader = "http://";
					}
			
					if (oFrame.location) {
						oFrame.location.href = sHTTPHeader + sNewUrl;
					} else {
						oFrame.src = sHTTPHeader + sNewUrl;
					}
					
					
					//-----------------------------------------------
				}	
			}
		}
		
		function executeFunctionFrame(sFrameName, sFunction){
			getFrameObject(sFrameName).eval(sFunction);
		}
		
		function showFrame(sFrameName){
			var oIFrame;
			
			oIFrame = getDifferentFrameObject(sFrameName,'fraMainContent');
			oIFrame.style.display="";
		}
		
		function hideFrame(sFrameName){
			var oIFrame;
			
			oIFrame = getDifferentFrameObject(sFrameName,'fraMainContent');
			oIFrame.style.display = "none";
		}
		
		function switchFrame(sHiddeFrame,sShowFrame){
			
			hideFrame(sHiddeFrame);
			showFrame(sShowFrame);
			
		}
		
		//KP Bug 975 Starts Function to hide overlapping frames
		function HideOverlappingFrame()
		{
			hideFrame('fraMasterTable'); 
			hideFrame('fraSecondMasterTable'); 
			hideFrame('fraThirdMasterTable');
		}	
		//KP Bug 975 Ends
		function hideFrameBody(sFrameName){
			var oFrame;
			var oBody;
			oFrame = getFrameObject(sFrameName);
			
			oBody=oFrame.document.body;
			if (oBody) {
				oBody.innerHTML=""
			}
		}		
	//-->
//</SCRIPT>

