var JS = new JavaScriptFramework();
var browser="";
var sDemoName = "";
var bIsTabWu = false;
var bScrollStarted = false;
var bSupressFirstTabAutoWriteUp= false;
var sRedirectorPage = "PortalRedirect.aspx";
var oWuCalls = new Array();
var sPageId;
var sElementId;
var IsDemoShow = false ;
var demoPageID ;
var demoElementID ;
var sClientName = "" ;
var sClientEmail = "" ;

var PageId;
var ElementId
var Source;
//Commented by Urvesh to Resolve Issue ID-20010115
//var bShowingDemo = false;

//MMD_08Sep2005 Flag added to decide to allow run the script for the remote script.
var bIsAllowRemoteScript = true ;

//var http://demo.actlportal.com

//var bFirstTabClicked = false;

function callRs(bNoStack, iPageId,iElementId, sSuccess,sFailure,sAspxName, sMethodName)
{

	if (! bIsAllowRemoteScript )
	{
		//alert('Flag false');
		return false;	
	}
		
	bIsAllowRemoteScript = false ;

	var sMethod = sMethodName;
	var sAspx = sAspxName;
	var sFailureMethod = sFailure;
	sPageId = iPageId;
	sElementId = iElementId;
	if(String(sAspx) == "undefined"){
		sAspx ="WebForm1.aspx";
	}
	
	if(String(sMethod) == "undefined"){
		sMethod ="GetWriteUp";
	}
	
	if(String(sFailureMethod) == "undefined"){
		sFailureMethod = fnErrorCallback;
	}
	

	if(bNoStack == false || String(bNoStack) == "undefined")
	{	
		oWuCalls[oWuCalls.length]= "callRs(true,"+iPageId+","+iElementId+", "+sSuccess+","+sFailure+",'"+sAspxName+"','"+sMethodName+"')";
	}		
	
	RS.Execute(sAspx, sMethod, iPageId,iElementId , sSuccess, sFailure);				
}

function openPortal(sPageType, sPageDesc)
{
	eval("window.open('"+sRedirectorPage+"?PageType='+sPageType,sPageType,'',false)");			
}

var oClickByNameSource;
var sClickByNameAspxName;
var bClickByNameNoStack;
var bClickByNamePageReset;
var sClickByNameiPageId;


function fnClickByName(iPageId,sElementName,oSource, sAspxName,bNoStack,bPageReset){	
	oClickByNameSource = oSource;
	sClickByNameAspxName = sAspxName;
	bClickByNameNoStack = bNoStack;
	bClickByNamePageReset = bPageReset;
	sClickByNameiPageId = iPageId;
	RS.Execute("WebForm1.aspx", "GetElementId", sElementName , fnGetElementContent, fnErrorCallback);
}

function fnGetElementContent(sElementId){	
	fnClick("SHOWELEMENTCONTENT",sClickByNameiPageId,sElementId,oClickByNameSource,sClickByNameAspxName,bClickByNameNoStack,bClickByNamePageReset);	
	oClickByNameSource ='';
	sClickByNameAspxName = '';
	bClickByNameNoStack = false;
	bClickByNamePageReset = false;
	sClickByNameiPageId ="";
}

function fnClick(eventObj,sActionType,iPageId,iElementId,oSource, sAspxName,bNoStack,bPageReset){	


	if (! bIsAllowRemoteScript )
	{
			//alert('blocked at fnClick');
			//event.returnValue = false ;			
			JS.cancelEvent( eventObj );
			return false ;
	}
	//variable to make sure that only one element is being displayed. This variable remains false
	//until callback methods are called
	//alert( sActionType );

	//Commented by Urvesh to Resolve Issue ID-20010115
	/*if (bShowingDemo)
	{
		
		return false;
	}
	else
	{
		bShowingDemo = true
	}*/

	//alert (iElementId);
	
	if(String(bNoStack) == "undefined")
	{
		bNoStack = false;
	}
	
	if(String(bPageReset) == "undefined")
	{
		bPageReset = false;
	}
	
	
	switch ( String(sActionType).toUpperCase() )
	{	
		
		case "SHOWDEMO":
			{
				//alert (RefreshDivForDemo);
				callRs( bNoStack,iPageId,iElementId , RefreshDivForDemo);					
			}	
			break;
		case "OPENPORTAL-RM":			
			{						
				openPortal("RM", "RMPortal");
			}
			break;
		case "OPENPORTAL-TESTING":			
			{						
				openPortal("AT", "TestingPortal");				
			}
			break;	
		case "OPENPORTAL-CUSTOMSVC":			
			{						
				openPortal("CP", "CustomProgrammingPortal");
			}
			break;	
		case "OPENPORTAL-INSURANCE":			
			{						
				openPortal("IN", "InsurancePortal");				
			}
			break;		
		case "SHOWDEMO-ISYNC":
			{
				///window.open("http://216.176.190.175/actlsite/demos/NewDataSync/Login.asp")
				/*
				sDemoName = "iTrak";
				callRs( bNoStack, iPageId,iElementId , RefreshDivForDemo);									
				*/
			}			
			break;
		case "SHOWDEMO-ITRAK":
			{
				sDemoName = "iTrak";
				callRs( bNoStack, iPageId,iElementId , RefreshDivForDemo);									
				///window.open("http://216.176.190.175/actlsite/demos/NewDataSync/Login.asp")
				/*
				sDemoName = "iTrak";
				callRs( bNoStack, iPageId,iElementId , RefreshDivForDemo);									
				*/
			}			
			break;
		case "SHOWDEMO-BOM":
		case "SHOWDEMO-CM":
		case "SHOWDEMO-BUGTRACK":
		case "SHOWDEMO-FILEUPLOAD":
		case "SHOWDEMO-DATAUTIL":
		case "SHOWDEMO-CCS":
		case "SHOWDEMO-ANALYTICS":
		case "SHOWUTIL-MG":
		case "SHOWUTIL-EDITOR":		
		case "SHOWUTIL-EXTFEEDS":
		case "SHOWUTIL-INCAL":
		case "SHOWUTIL-INSTMSG":
		case "SHOWUTIL-ITOO":
		case "SHOWUTIL-DISCFORUM":
		case "SHOWUTIL-BULKES":
		case "SHOWUTIL-SCHEDULER":
		case "SHOWUTIL-COMPLIANCE":
		case "SHOWUTIL-SCRIPTING":
		case "SHOWUTIL-CALCONT":
		case "SHOWUTIL-DYNAIMG":
		case "SHOWUTIL-ONHELP":
		case "SHOWUTIL-LSTPOP":
		case "SHOWUTIL-COMBO":
		case "SHOWUTIL-TREE":
			{
				sDemoName = "ACTLTree";
				callRs( bNoStack, iPageId,iElementId , RefreshDivForDemo);					
			}
			break;
		case "SHOWWU":
			{
				callRs( bNoStack, iPageId,iElementId , RefreshDiv);		
				
			}		
			break;					
		case "SHOWMENUCONTENT":
			{			
				 oWuCalls = new Array();				 
				 callRs(false,iPageId,iElementId, RefreshDiv, fnErrorCallback,"webform1.aspx", "GetElementContent");
			}
			break;							
		case "SHOWELEMENTCONTENT":
			{						
				 callRs(bNoStack,iPageId,iElementId, RefreshDiv, fnErrorCallback,sAspxName, "GetElementContent");
			}
			break;	
	}

	//fnChageStyleRightTd('none');
	
	/*if(typeof(window.event) == "object" && window.event != null){	
		window.event.returnValue = false;
		window.event.cancelBubble = true;
	}		*/
	
	if(typeof(eventObj)=="object" && eventObj!=null)
	{
		JS.cancelEvent( eventObj );
		JS.cancelBubble( eventObj );			
	}
	
	return false;
}

function fnComingSoon(eventObj,sLink)
{
	alert("Coming Soon");
	JS.cancelEvent( eventObj );
	//window.event.returnValue = false;
	JS.cancelBubble( eventObj );
	//window.event.cancelBubble = true;
	return false;
}

function fnBack()
{		
	//if(oCurrentActiveTab!= null && typeof(oCurrentActiveTab) == "object")
	//{
	//	oCurrentActiveTab.click();	
	//}		
	
	
	/*if(oCurrentActiveTab!= null && typeof(oCurrentActiveTab) == "object")
	{
		if(bFirstTabClicked == true)
		{
			oCurrentActiveTab.click();	
		}	
	}*/		

	var oTemp = oWuCalls;
	oWuCalls = null;

	//fnChageStyleRightTd('block')	;
	var sLastCall  = oTemp[oTemp.length - 2];
	
	oWuCalls = new Array();
	for(var iCtr=0;iCtr <(oTemp.length-1);iCtr++)
	{
		oWuCalls[iCtr] = oTemp[iCtr];	
	}
	oTemp = null;
	
	
	
	if(String(sLastCall) == "undefined"){
	
		if(oCurrentActiveTab!= null && typeof(oCurrentActiveTab) == "object")
		{
		//	oCurrentActiveTab.click();	
		}		
	
		
		fnPageReset();

	}
	else
	{	
		eval(String(sLastCall));	

	}
}


function RefreshDiv(sWriteUp)
{		
	
	//Commented by Urvesh to Resolve Issue ID-20010115
	//bShowingDemo = false;

	var sBack = "";	
	
	if(bIsTabWu == false && oWuCalls.length >1)
	{	
		sBack = "<br /><div id='divback' name='divback' align='right'><a class='actlmore' href='#' onclick='fnBack();'> &lt;&lt;Back&nbsp;&nbsp;&nbsp;</a></div>";		
		//sBack = "<br /><div id='divback' name='divback' align='right'><a href='#' onclick='fnBack();'> &lt;&lt;Back&nbsp;&nbsp;&nbsp;</a></div>";		
	}
	else {
		bIsTabWu = false;
	}	
	sWriteUp = sWriteUp + sBack;
	
	sWriteUp   = String( sWriteUp ).replace(new RegExp("##ClientName1##","gi"), fnGetHCValue("ClientName") )   ; 
	sWriteUp  = String( sWriteUp ).replace(new RegExp("##ClientEmail1##","gi"), fnGetHCValue("ClientEmail") )   ; 

	
	document.getElementById("centerarea").innerHTML = sWriteUp;			
	
	fnChageStyleRightTd('none');	
	bScrollStarted = false;	
	bIsAllowRemoteScript = true ;
}

function fnShowDemo(sDemo)
{
	window.open("demo.aspx",'Demo',"",false);
}

var sUserInfoElement="";
var sDemoWu = "";
function fnUserInfo(sUserInfoElementSrc)
{
//alert("THIS IS THE ALERT: " + sUserInfoElementSrc);
	sUserInfoElement = sUserInfoElementSrc;
	sDemoWu = sUserInfoElement +"<br />"+sDemoWu + "<br /><div id='divback' name='divback' align='right'><a class='actlmore' href='#' onclick='fnBack();'> &lt;&lt;Back&nbsp;&nbsp;&nbsp;</a></div>";		
	

	sDemoWu  = String( sDemoWu  ).replace(new RegExp("##ClientName1##","gi"), fnGetHCValue("ClientName") )   ; 
	sDemoWu  = String( sDemoWu  ).replace(new RegExp("##ClientEmail1##","gi"), fnGetHCValue("ClientEmail") )   ; 

	document.getElementById("centerarea").innerHTML = "<br />"+sDemoWu;

	bIsAllowRemoteScript = true  ;
}

function RefreshDivForDemo( sWriteUp )
{		
	//Commented by Urvesh to Resolve Issue ID-20010115
	//bShowingDemo = false;
	//alert (sWriteUp) ;
	sDemoWu = sWriteUp;	
	//get the user info element	
	bIsAllowRemoteScript = true  ;
	callRs(true, sPageId,sElementId, fnUserInfo,fnErrorCallback,"webform1.aspx", "GetUserInfoElement");
	fnChageStyleRightTd('none');

	bScrollStarted = false;
	
	//sWriteUp = sUserInfoElement +"<br />"+sWriteUp + "<br /><div id='divback' name='divback' align='right'><a href='#' onclick='fnBack();'> &lt;&lt;Back&nbsp;&nbsp;&nbsp;</a></div>";	
	//window.centerarea.innerHTML = "<br />"+sWriteUp;
}

function fnErrorCallback(tstrError)
{
	//alert("Error occured : " + tstrError);
	alert("Error occured on the page.Please try again.");
}


//////////////////////////////////////////////////////////////////
// This function is uesd to Pop-Up the Inquiry window in the 
// center of the screen.
//////////////////////////////////////////////////////////////////
function launchCenter(url, name, height, width) {	
  var str = "height=" + height + ",innerHeight=" + height;
  str = str + ",width=" + width + ",innerWidth=" + width;
  if (window.screen) {
    var ah = screen.availHeight - 30;
    var aw = screen.availWidth - 10;
	
	//( ( screen.availHeight - 30 ) - 600 ) / 2
	//( ( screen.availWidth -  10 ) - 360 ) / 2

    var xc = (aw - width) / 2;
    var yc = (ah - height) / 2;

    str += ",left=" + xc + ",screenX=" + xc;
    str += ",top=" + yc + ",screenY=" + yc;
    str += ",toolbar=0,status=0,menubar=0,scrollbars=0";
  }
  return window.open(url, name, str);
}

var sActiveFirstTopCurve = "actltab-1st-t-act";
var sInActiveFirstTopCurve = "actltab-1st-t-inact";
var sActiveCenterPartAll = "actlfliptext actltab-1st-m-act";
//var sActiveCenterPartAll = "";
var sInActiveCenterPartAll ="actlfliptext-inact actltab-1st-m-inact";

var sActiveSecondPartNotLast =  "actltab-1st-b-act";//actltab-2nd-b-act;
var sInActiveSecondPartNotLast = "actltab-2nd-b-inact";

var sActiveSecondPartLast =  "actltab-3rd-b-act";//actltab-2nd-b-act;
var sInActiveSecondPartLast = "actltab-3rd-b-inact";
var oCurrentActiveTab;
// = window.document.getElementById("TABU");
var oPreviousInActiveTabTd;
var sPreviousInActiveClass ="actltab-1st-b-inact";

function getFirstTab()
{
	var sMainTable = "VERT-TAB";
	var oMainTable = window.document.getElementById(sMainTable);

	var oFirstTab;
	
	if(typeof(oMainTable) != "object" || oMainTable==null)
	{	
		return;
	}
	
	var oTabTables= oMainTable.getElementsByTagName("TABLE");
	
	if(oTabTables.length > 0)
	{
		var oTab = oTabTables[0];
		oFirstTab = oTab;		
	}	
	else 
	{
		return null;
	}
	var oTr = oFirstTab.rows;
	if(oTr.length < 3)
	{
		//add top curve
		var oCurveRow =oFirstTab.insertRow(0);
		var oCurveCell = oCurveRow.insertCell(0);
		oCurveCell.align="right";
		oCurveCell.vAlign="top";
		oCurveCell.className = sActiveFirstTopCurve;		
	}	
	
	return oFirstTab;
}


function fnTabNavigation(oSource, iPageId, iElementId)
{	
	/*
	//get the location
	//fnChageStyleRightTd('block');
	var sMainTable = "VERT-TAB";
	var oMainTable = window.document.getElementById(sMainTable);
	var bIsFirst = false;
	var bIsLast = false;
	if(typeof(oMainTable) != "object")
	{
		return;
	}
	var oTabTables= oMainTable.getElementsByTagName("TABLE");
	var oActiveTab;
	var bActiveIsFirst=false;
	var bActiveIsLast=false;
	for(var iTabs=0;iTabs<oTabTables.length;iTabs++)
	{
		var bIsFirst = false;
		var bIsLast = false;		
		var oTab = oTabTables[iTabs];
		if(iTabs==0)
		{
			oPreviousInActiveTabTd = null;
			bIsFirst = true;
		}
		if(iTabs== (oTabTables.length -1))
		{
			bIsLast = true;
		}		
		if(oTab == oSource)
		{
			oActiveTab = oTab;
			bActiveIsFirst = bIsFirst;
			bActiveIsLast = bIsLast;			
			//set as active
			setActive(oTab,bIsFirst,bIsLast);
			if(oPreviousInActiveTabTd != null)
			{
				oPreviousInActiveTabTd.className = sPreviousInActiveClass;
			}	
		}
		else
		{
			//set as inactive
			setInActive(oTab,bIsFirst,bIsLast);			
		}
	}*/		
	
	PageId=iPageId;
	ElementId=iElementId;
	Source=oSource;
	if( bSupressFirstTabAutoWriteUp == false )
	{ 
		bIsTabWu = true;
		/*if(bActiveIsFirst == true)
		{
			bFirstTabClicked = true;
		}	
		else
		{
			bFirstTabClicked = false;
		}*/
		
		oWuCalls = new Array();
		oWuCalls[0] = "callRs(true,"+iPageId+","+iElementId +",RefreshDiv,fnErrorCallback,'WebForm1.aspx','GetWriteUp')";
		
		//RS.Execute("WebForm1.aspx", "GetWriteUp", iPageId,iElementId , RefreshDiv, fnErrorCallback);		
		RS.Execute("WebForm1.aspx", "GetWriteUp", iPageId,iElementId , fnClientTabNavigation, fnErrorCallback);		
	}
	else 
	{
		fnClientTabNavigation('');
		//bSupressFirstTabAutoWriteUp = false;		
	}	
}

function fnClientTabNavigation(sWriteup)
{	
	//get the location
	//fnChageStyleRightTd('block');
	var sMainTable = "VERT-TAB";
	var oMainTable = window.document.getElementById(sMainTable);
	var bIsFirst = false;
	var bIsLast = false;
	if(typeof(oMainTable) != "object")
	{
		return;
	}
	
	var oTabTables= oMainTable.getElementsByTagName("TABLE");
	var oActiveTab;
	var bActiveIsFirst=false;
	var bActiveIsLast=false;
	for(var iTabs=0;iTabs<oTabTables.length;iTabs++)
	{
		var bIsFirst = false;
		var bIsLast = false;		
		var oTab = oTabTables[iTabs];
		if(iTabs==0)
		{
			oPreviousInActiveTabTd = null;
			bIsFirst = true;
		}
		if(iTabs== (oTabTables.length -1))
		{
			bIsLast = true;
		}		
		if(oTab == Source)
		{
			oActiveTab = oTab;
			bActiveIsFirst = bIsFirst;
			bActiveIsLast = bIsLast;			
			//set as active
			setActive(oTab,bIsFirst,bIsLast);
			if(oPreviousInActiveTabTd != null)
			{
				oPreviousInActiveTabTd.className = sPreviousInActiveClass;
			}	
		}
		else
		{
			//set as inactive
			setInActive(oTab,bIsFirst,bIsLast);			
		}
	}		
	if( bSupressFirstTabAutoWriteUp == false )
	{
		RefreshDiv(sWriteup);
	}
	else
	{
		bSupressFirstTabAutoWriteUp = false;		
	}
}

function setActive(oSource, bIsFirst, bIsLast)
{
	var sCallPart1="";
	var sCallPart2="";
	var sCallPartTopCurve="";	
	//sCallPart1 = sActiveCenterPartAll;
	if(bIsFirst)
	{		
		sCallPartTopCurve = sActiveFirstTopCurve;
	}
	
	if(bIsLast)
	{
		sCallPart2 = sActiveSecondPartLast;
	}else{	
		sCallPart2 = sActiveSecondPartNotLast;
	}
	
	
	var oTr = oSource.rows;
	
	for(var iRows=0;iRows<oTr.length;iRows++)
	{
		var oTd = oTr[iRows].cells;		
		for(var iCols=0;iCols<oTd.length;iCols++)
		{	
			if(iRows==0)
			{				
				if(bIsFirst) 
				{
					oTd[iCols].className = sCallPartTopCurve;
				}
				else 
				{
					sCallPart1=oTd[iCols].className;										
					sCallPart1=sCallPart1.substring(0,sCallPart1.lastIndexOf("-")+1)+"act";						
					oTd[iCols].className =sCallPart1;
				}	
			}
			if(iRows==1)
			{
				if(bIsFirst) 
				{					
					sCallPart1=oTd[iCols].className;										
					sCallPart1=sCallPart1.substring(0,sCallPart1.lastIndexOf("-")+1)+"act";						
					oTd[iCols].className = sCallPart1;					
				}
				else 
				{
					oTd[iCols].className =sCallPart2;
				}	
			}
			if(iRows==2)
			{
				if(bIsFirst) 
				{
					oTd[iCols].className = sCallPart2;
				}
			}
		}
	}
	oCurrentActiveTab = oSource;
	ShowHideDiv(oSource,"block");
}


function setInActive(oSource, bIsFirst, bIsLast)
{
	var sCallPart1="";
	var sCallPart2="";
	var sCallPartTopCurve="";
	
	//sCallPart1 = sInActiveCenterPartAll;
	if(bIsFirst)
	{		
		sCallPartTopCurve = sInActiveFirstTopCurve;
	}
	
	if(bIsLast)
	{
		sCallPart2 = sInActiveSecondPartLast;
	}else{	
		sCallPart2 = sInActiveSecondPartNotLast;
	}
	
	
	var oTr = oSource.rows;
	for(var iRows=0;iRows<oTr.length;iRows++)
	{	
		var oTd = oTr[iRows].cells;
		for(var iCols=0;iCols<oTd.length;iCols++)
		{
			if(iRows==(oTr.length-1) && (iCols==oTd.length-1))
			{
				oPreviousInActiveTabTd = oTd[iCols];				
			}
			if(iRows==0)
			{
				if(bIsFirst) 
				{
					oTd[iCols].className = sCallPartTopCurve;
				}
				else 
				{
					sCallPart1=oTd[iCols].className;															
					sCallPart1=sCallPart1.substring(0,sCallPart1.lastIndexOf("-")+1)+"inact";						
					oTd[iCols].className =sCallPart1;					
				}	
			}
			if(iRows==1)
			{
				if(bIsFirst) 
				{					
					sCallPart1=oTd[iCols].className;										
					sCallPart1=sCallPart1.substring(0,sCallPart1.lastIndexOf("-")+1)+"inact";						
					oTd[iCols].className = sCallPart1;										
				}
				else 
				{					
					oTd[iCols].className =sCallPart2;					
				}	
			}
			if(iRows==2)
			{
				if(bIsFirst) 
				{
					oTd[iCols].className = sCallPart2;
				}
			}				
		}
	}
	ShowHideDiv(oSource,"none");
}

function ShowHideDiv(oSource, sShowHide)
{
	var sDiv = "DIV"+String(oSource.id).toUpperCase().substr( (String(oSource.id).toUpperCase().indexOf("TAB") + 3) );
	
	switch(sShowHide.toLowerCase())
	{
		case "block":
			//eval("window.document.all."+sDiv+".style.display='block'");
			eval("window.document.getElementById('"+sDiv+"').style.display=''");
			break;
		case "none":
			eval("window.document.getElementById('"+sDiv+"').style.display='none'");
			break;			
	}	
}


function fnReset(){
	fnOnLoad();
}

function fnOnLoad()
{		
	//populate();		
	flashTest();
	if(fnGetHCValue('FlagNameEmail')!="true")
	{
		fnLoadClient();
	}
	var oFirstTab = getFirstTab();	
	
	if(oFirstTab!= null && typeof(oFirstTab) == "object"){			
		oFirstTab.onclick();	
	}	
	fnBrowserTest();
	
}

function fnBrowserTest()
{
	/*var sAgent=navigator.userAgent.toLowerCase();
	alert(sAgent);*/
	/*if (document.layers)
		browser = "NS";
	else if (document.all)
	{
		var agent = navigator.userAgent.toLowerCase();
		if (agent.indexOf("opera") != -1)
			browser = "OPR";
		else if (agent.indexOf("konqueror") != -1)
			browser = "KONQ";
		else
			browser = "IE";
	}
	else if (document.getElementById)
		browser = "MOZ";
	else 
		browser = "OTHER";
		
	*/
	var sAgent=navigator.userAgent.toLowerCase();
	if(sAgent.indexOf("msie")!=-1)
	{
		browser="IE";
	}
	if(sAgent.indexOf("netscape")!=-1)
	{
		browser = "NS";		
	}
	if(navigator.product)
	{
		if(navigator.product.toLowerCase()=="gecko")
		{
			browser="MOZ";
		}
	}
	RS.Execute("WebForm1.aspx"  , "BrowerTypeSettings" , browser);
}


window.onload = fnOnLoad;

function fnHome(eventObj,sPageType,sPath)
{
	bScrollStarted = false;
	fnPageReset();
	//var sCallPage = "PortalRedirect.aspx?PageType="+sPageType;	
	//sCallPage =sPath+"/ACTL/"+sCallPage;	
	JS.cancelEvent( eventObj );
	//window.event.returnValue = false;
	JS.cancelBubble( eventObj );
	//window.event.cancelBubble = true;
	//window.location.href = 	sCallPage;	
	return false;
}


function fnScroll()
{
	//if(window.document.all.actltoolsdiv == '[object]')
	if(typeof(window.document.getElementById("actltoolsdiv") )== 'object')
	{	
		if(bScrollStarted == false)
		{
			oMarqueeTools.populate("actltoolsdiv");		
			bScrollStarted = true;
		}
		else 
		{
			oMarqueeTools.MouseOut();
		}		
	}	
}

function fnToolsMouseOver()
{
	if(typeof(oMarqueeTools) =='object'){oMarqueeTools.MouseOver();} 
}


function fnViewDemo(sDemoName,sPageTypeId,sElementId,sProtalTabLinksId,sPortalTabId)
{	
	var sName = window.document.getElementById("txtName").value;
	var sEmail = window.document.getElementById("txtEmail").value;
	
	if ( sName =="" && sEmail == "" )
	{
		alert ("Please enter the Required Fields: \n\-Name \n-Email");
		document.getElementById("txtName").focus () ;
		//document.all.txtName.focus () ;
		return false ;
	}
	if ( sName == "" )
	{
		alert ("Please enter the required field to continue: \n Name.");
		document.getElementById("txtName").focus () ;
		//document.all.txtName.focus () ;
		return false ;
	}
	if ( sEmail == "" )
	{
		alert ("Please enter the required field to continue: \n Email.")
		document.getElementById("txtEmail").focus () ;
		//document.all.txtEmail.focus () ;
		return false ;
	}
		
	re = new RegExp("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	if(!re.test(sEmail))
	{
		alert ('Invalid Email id');
		document.getElementById("txtEmail").focus () ;
		//document.all.txtEmail.focus () ;
		return false ;	
	}
	
	
	fnAddORUpdateHC("ClientName" , sName );
	fnAddORUpdateHC("ClientEmail" , sEmail );
	
	fnCheckForValidEmail();
	
	
	var width = window.screen.width  ;
	var height = window.screen.height ;
	
	demoPageID = sPageId;
	demoElementID = sElementId ;
	demoName = sName ;
	demoEmail = sEmail ;
	/*window.open (sRedirectorPage+"?ForDemo=Y&PID="+ sPageTypeId + "&EID=" + sElementId + "&txtName="+sName+"&txtEmail="+sEmail , "Demo" , "toolbar=no,scrollbars=yes,location=no,menubar=no,width="+ width +",height=" + height ) ;	
	window.event.returnValue = false;
	window.event.cancelBubble = true;
	return false;
	a
	
	if (GetValueOfHC ("IsDemoShow") == true )
	{}
	else
	{
		alert ("Your domain name is invalid. But if in any case it is valid then please contact at sales@avanicimcon.com");
	}*/
	
	
}
/*function fnAllowAlphaOnly(pbCaseCheck )
	{
		var lsPressedKey;
		//var sKeyCode=JS.getEventKeyCode(eventObj);			
		psAllowChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_. ' ;
		if ( String( pbCaseCheck ) == "false" )
		{
			lsPressedKey	= String.fromCharCode ( event.keyCode ).toLowerCase()
			//lsPressedKey	= String.fromCharCode ( sKeyCode).toLowerCase()			
			psAllowChars	= String( psAllowChars ).toLowerCase()
		}	
		else
		{
			lsPressedKey	= String.fromCharCode ( event.keyCode )
			//lsPressedKey	= String.fromCharCode ( sKeyCode)
			psAllowChars	= String( psAllowChars )
		}

		if ( psAllowChars.indexOf( String( lsPressedKey )  ) != -1 )
		{ 
			return true ;	
		}
		else
		{
			window.returnValue		= false;
			event.keyCode			= 0;			
			return false ;	
		}
	}
*/	
function fnAllowAlphaOnly( eventObj,bIsCaseSensitive )
	{
	
		var nKeyPressed	= new String();
		var sKeyPressed	= new String();
		
		var sCharsToAllow = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_. ' ;
			
		switch( browser )
		{   		
			//Get keycode when web browser is Firefox
			case 'MOZ' :
			{
				nKeyPressed = eventObj.which;
				if (String(bIsCaseSensitive)=="true" )
					sKeyPressed	= String.fromCharCode ( eventObj.which );	
				else			
					sKeyPressed	= String.fromCharCode ( eventObj.which ).toLowerCase();			

				if ( sCharsToAllow.indexOf( String( sKeyPressed )) != -1 || nKeyPressed == 0  || nKeyPressed == 8 )
				{   	
					return true;	
				}    
				else
				{
					_ACTLReturnValue(eventObj);
				}
				break;
			}			
			//Get keycode when web browser is Internet explorer
			case 'IE' :
			{
				nKeyPressed = eventObj.keyCode;			
				if (String(bIsCaseSensitive)=="true" )
					sKeyPressed	= String.fromCharCode ( eventObj.keyCode );	
				else
					sKeyPressed	= String.fromCharCode ( eventObj.keyCode ).toLowerCase();

				if ( sCharsToAllow.indexOf( String( sKeyPressed )) != -1 || nKeyPressed == 0  || nKeyPressed == 8 )
				{   	
					return true;	
				}    
				else
				{   				
					_ACTLReturnValue(window.event);					
				}
				break;
			}
		}		
	
		/*var lsPressedKey;
		var sKeyCode=JS.getEventKeyCode(eventObj);			
		psAllowChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_. ' ;
		if ( String( pbCaseCheck ) == "false" )
		{
			//lsPressedKey	= String.fromCharCode ( event.keyCode ).toLowerCase()
			lsPressedKey	= String.fromCharCode ( sKeyCode).toLowerCase()			
			psAllowChars	= String( psAllowChars ).toLowerCase()
		}	
		else
		{
			//lsPressedKey	= String.fromCharCode ( event.keyCode )
			lsPressedKey	= String.fromCharCode ( sKeyCode)
			psAllowChars	= String( psAllowChars )
		}

		if ( psAllowChars.indexOf( String( lsPressedKey )  ) != -1 )
		{ 
			return true ;	
		}
		else
		{
			//window.returnValue		= false;
			//event.keyCode			= 0;
			sKeyCode=0;
			JS.cancelEvent( eventObj );			
			//return false ;	
		}*/
	}
	function fnAllowOnlyCharsPaste( eventObj,pbCaseCheck )
	{
		var lsData;
		var lbRetVal;
		var liCharCode;

		psAllowChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_. ' ;
		//get the data in the clipboard
		lsData		= String( window.clipboardData.getData( "text" ) );

		if ( String( pbCaseCheck ) == "false" )
		{
			lsData			= lsData.toLowerCase()
			psAllowChars	= psAllowChars.toLowerCase()
		}

		lbRetVal = false; 

		for ( var iCtrj=0; iCtrj < String( lsData ).length; iCtrj++ )
		{
			liCharCode		= String( String( lsData ).substr( iCtrj, 1) ).charCodeAt(0);

			if ( liCharCode == 13 || liCharCode == 10)
			{
				continue;
			}

			if ( psAllowChars.indexOf( String( lsData ).substr( iCtrj, 1 ) ) != -1 )
			{
				lbRetVal	= true;
			}
			else
			{
				lbRetVal	= false;
				JS.cancelEvent( eventObj );
				break ;
			}
			
		}

		//event.returnValue = lbRetVal;		
		return lbRetVal;
	}

	function fnChageStyleRightTd( styleString )
	{
		var RightTable = "RIGHT-MAIN";
		var objRightTbl = window.document.getElementById("RIGHT-MAIN");
			
		//if (  typeof(objRightTbl) == "object")
		if ( typeof(objRightTbl) == "object" && String(objRightTbl) != "null" )
		{				
			//RIGHT-MAINDIV
			if ( String ( objRightTbl.getAttribute("name") ) == "RIGHT-MAIN" )
			{
				
				objRightTbl.style.display = styleString ;				
			}
		}
		
	}


	function fnCheckForValidEmail()
	{
		var sEmail = window.document.getElementById("txtEmail").value;
		
		RS.Execute("WebForm1.aspx"  , "ValidateEmailsDomain" , sEmail , fnGetEmail , fnErrorCallback );
	}

	function fnGetEmail( bVal )
	{
		if ( bVal == "true" )
		{
			//window.open (sRedirectorPage+"?ForDemo=Y&PID="+ demoPageID + "&EID=" + demoElementID + "&txtName="+demoName+"&txtEmail="+demoEmail , "Demo" , "toolbar=no,scrollbars=yes,location=no,menubar=no,resizable=yes" ) ;	
			var width = parseInt((window.screen.width*99)/100 ) ;
			var height =parseInt( (window.screen.height*92)/100 );
			var top=0;
			var left=(window.screen.width - width);												
			//window.open (sRedirectorPage+"?ForDemo=Y&PID="+ demoPageID + "&EID=" + demoElementID + "&txtName="+demoName+"&txtEmail="+demoEmail , "Demo" , "toolbar=no,scrollbars=yes,location=no,menubar=no,resizable=yes,width="+width+",height="+height+",screenY="+top+",screenX="+left ) ;	
			//urvesh uv
			
			var str = "height=" + height + ",innerHeight=" + height;
			str = str + ",width=" + width + ",innerWidth=" + width;
			if (window.screen) {
				var ah = screen.availHeight - 30;
				var aw = screen.availWidth - 10;
				
				//( ( screen.availHeight - 30 ) - 600 ) / 2
				//( ( screen.availWidth -  10 ) - 360 ) / 2

				var xc = (aw - width) / 2;
				var yc = (ah - height) / 2;

				str += ",left=" + xc + ",screenX=" + xc;
				str += ",top=" + yc + ",screenY=" + yc;
				str += ",status=no,toolbar=no,scrollbars=yes,location=no,menubar=no,resizable=yes";
			}
			
			//launchCenter(sRedirectorPage+"?ForDemo=Y&PID="+ demoPageID + "&EID=" + demoElementID + "&txtName="+demoName+"&txtEmail="+demoEmail , "Demo" ,'625','360')
			popwin =window.open (sRedirectorPage+"?ForDemo=Y&PID="+ demoPageID + "&EID=" + demoElementID + "&txtName="+demoName+"&txtEmail="+demoEmail , "Demo",str  ) ;				
			if(popwin==null || typeof(popwin)=="undefined")
			{
				alert("Popups were blocked in this page. Please press the 'Ctrl' key while clicking the 'Continue' button to view the Demo.");
				return true;
			} 
			else 
			{				
				popwin.focus();				
				return false;
			}
			return false;
		}
		else
		{
			alert ("We could not resolve the domain name you provided in your email address. \n Please contact solutions@avanicimcon.com to view the demo.");
			return false ;
		}
	}

	

	function fnShowSnapShot( strQueryString )
	{
		//snapShotDomain is global variable maped from basepage.
		//http://demo.actlportal.com for development
		
		var width=900;
		var height=550;
		var str="";
		if(window.screen) 
		{
			var ah = screen.availHeight - 30;
			var aw = screen.availWidth - 10;
			var xc = (aw - width) / 2;
			var yc = (ah - height) / 2;
			str += ",left=" + xc + ",screenX=" + xc;
			str += ",top=" + yc + ",screenY=" + yc;			
		}
		
		//strWindowStyle = "toolbar=no,scrollbars=yes,location=no,menubar=no,width=900px,height=740px";
		strWindowStyle = "toolbar=no,scrollbars=yes,location=no,menubar=no,width=900px,height=550px"+str;
		window.open( snapShotDomain + "/Snapshots/index.asp?" + strQueryString ,"Window" ,strWindowStyle ); 
	}
	
	function fnOnClientInfoChange ()
	{
		var sName = window.document.getElementById("txtName").value;
		var sEmail = window.document.getElementById("txtEmail").value;
		sClientName =  sName;
		sClientEmail = sEmail ;
		
	}

	function fnCheckKeyCode()
	{
		var sProtalTabLinksId = "" ;
		var sPortalTabId = "" ;
		//if (event.keyCode == 13 )
		{
			//fnViewDemo(sDemoName,demoPageID,sElementId,sProtalTabLinksId,sPortalTabId) ;
			//alert('Enter Click');
			
			//if ( typeof( window.document.all.Submit1 ) == "object"  )
		//	if ( typeof( window.document.getElementById("Submit1") ) == "object"  )
			{
				//window.document.all.Submit1.onclick(); 				
		//		window.document.getElementById("Submit1").onclick(); 
			}
			//window.document..
			
		}
	}
	
	function fnOpenSeparateWin(strURL, strName, bFull )
	{
		//alert('come here');
		var strFeatures = ""
		if (! bFull)
		{
			strFeatures = "status=yes,toolbar=no,menubar=no,location=no";
		}
		window.open(strURL, strName, strFeatures);
	}

	function fnAddORUpdateHC( sKey , sValue )
	{
		if (! ExistsInHC( sKey )  )
		{ 

			AddToHC(sKey, sValue); 
		}
		else
		{
			SetValueOfHC( sKey,sValue ) ;	
		}
	}

	
	function Replace( str , sChar , sWithChar )
	{
		return str.replace(new RegExp("^(" + sChar + ")*|(" + sChar + ")*$", "g"), sWithChar );
	}
	
	function fnGetHCValue( sKey )
	{
		var value = "";
		if ( ExistsInHC( sKey )  )
		{ 
			value = GetValueOfHC( sKey ) ;	
		}
		
		return value ;
	}

	
	//Added by Urvesh Vekariya for maintain Visited User's Info to another window.
	function fnLoadClient()
	{		
		if(String(window.opener)!='undefined')
		{
			try
			{
				var sName="";
				var sEmail="";
				//if(window.opener.parent.document.all["HidClient"])
				if(window.opener.parent.document.getElementById("HidClient"))
				{
					sName=window.opener.fnGetHCValue('ClientName');
					sEmail=window.opener.fnGetHCValue('ClientEmail');
					fnAddORUpdateHC("ClientName" , sName );
					fnAddORUpdateHC("ClientEmail" , sEmail );								
					//alert(window.opener.parent.document.all["HidClient"].value);
					//document.all["HidClient"].value=window.opener.parent.document.all["HidClient"].value;
				}
				fnAddORUpdateHC("FlagNameEmail" , "true" );			
			}			
			catch(e)
			{
				sName="";
				sEmail="";				
			}
		}		
		
		//alert(document.all["HidClient"].value);		
	}
	
	
	//Added by Urvesh Vekariya.
	//To check whether browser supports flash component or not?
	
	function flashTest()
	{
		var flsInst=0;
		var flsVer=0;
		MSDetect="false";
		
		if(navigator.plugins && navigator.plugins.length>0)
		{			
			x=navigator.plugins["Shockwave Flash"];						
			if(x)
			{
				flsInst=2;
				if(x.description)
				{
					y=x.description;
					flsVer=y.charAt(y.indexOf('.')-1);
				}		
			}
			else
				flsInst=1;
			
			if(navigator.plugins["Shockwave Flash 2.0"])
			{
				flsInst=2;
				flsVer=2;
			}
		}
		else if(navigator.mimeTypes && navigator.mimeTypes.length)
		{
			x=navigator.mimeTypes["application/x-shockwave-flash"];
			if(x && x.enabledPlugin)
			{
				flsInst=2;
			}
			else
			{
				flsInst=1;
			}		
		}
		else
			MSDetect="true";
		
		if(MSDetect=="true")
		{		
			for(i=2;i<=6;i++)
			{
				try
				{

					x=new ActiveXObject("ShockwaveFlash.ShockwaveFlash." +i);
					if(x)
					{
						flsInst=2;
						flsVer=i;					
					}
				}
				catch(e)
				{
					continue;
				}
			}		
		}

		if(flsInst==0)
		{
			flsInst=1;
		}
		
		/*if(flsInst==2) //Supports Flash
		{
			//alert("Browser supports Flash Component.");
		}
		else //does not support Flash
		{
			//alert("Browser does not support Flash Component.");
		}*/
		
		var flashObject=0;
		
		
		//For display error on flash object following code is working.
		//Commented by Urvesh Vekariya, for not to display error message for flash object.
		/*	
		for (i=0;i<document.all.length;i++) 
		{
			if (document.all[i].tagName == "OBJECT" || document.all[i].tagName== "EMBED") 
			{
					flashObject=1;
					break;					
			}
		}
		
		if(flsInst!=2 && flashObject==1)
		{
			alert("There is flash object on this page.\nFor better view of this page, flash plugins is required.");
		}*/
		return;
	}
	
	
	//Added by Urvesh Vekariya.
	//For DownLoad Link.
	function fnDownLoad(sPageId,sElementId,sElementName,sLink)
	{			
		fnAddORUpdateHC('ELink',sLink);
		var sName=fnGetHCValue('ClientName');
		var sEmail=fnGetHCValue('ClientEmail');					
		var top=(window.screen.height-140)/2;
		var left=(window.screen.width-315)/2;
		window.open("DownLoadPage.aspx?EID="+ sElementId + "&PID=" + sPageId + "&ENAME=" + sElementName+ "&CNAME=" + sName+ "&CEMAIL=" + sEmail,"DownLoad","toolbar=no,scrollbars=no,location=no,menubar=no,resizable=no,width=315,height=175,left=" + left + ",top=" + top);		
	}
	

	//10/20/2005_MMD  This 	function is to call other portals from any other portal.
	//window name for portals are
	// Testing portal = 'AT' 
	// Marketing Portal = 'RM'
	// Insurance Portal = 'IN'
	// ACTLHome Portal = 'ACTLHOME'
	// Custom Programing Portal = 'CP'

	function fnOpenDemo(eventObj, url , windowName )
	{
		window.open( url , windowName );
		JS.cancelEvent( eventObj );
		//event.returnValue = false ;
	}

	
function _ACTLReturnValue(eventObj)
{   	
	switch( browser )
	{   		
		case 'MOZ' :
			if ( String ( typeof theEvent ) != "undefined" )
			{
				eventObj.stopPropagation();
				eventObj.preventDefault();
				return eventObj;
			}
			else
				return false;
		case 'IE' :
			window.event.returnValue = false;
			return window.event;
	}
}
