/* Close popin */
function popinFadeOut()
{
	var element = window.parent.document.getElementById("comparisonMask");
	doMyFadeWithElement(element, 'out', 50);

	element = window.parent.document.getElementById("SymantecIFrameDiv");
	doMyFadeWithElement(element, 'out', 100);

	setTimeout("clearIFrameContents()", 1000);
}

/* Clear popin IFrame contents */
function clearIFrameContents() {
	var element = window.parent.document.getElementById("SymantecIFrame");
	element.src = '';
}
/**
ALL THE CODE IN THIS DOCUMENT IS FOR SHOWING/HIDING LAYERS USING TIMED FADES
**/
var fadeElementCount =0;
var fadeElementVisibilityTimeoutId = null;

var fadeElementTimeoutID_1 = null;
var fadeElementTimeoutID_2 = null;
var fadeElementTimeoutID_3 = null;
var fadeElementTimeoutID_4 = null;
var fadeElementTimeoutID_5 = null;
var fadeElementTimeoutID_6 = null;
var fadeElementTimeoutID_7 = null;
var fadeElementTimeoutID_8 = null;
var fadeElementTimeoutID_9 = null;

function clearTimeouts(){

	if(fadeElementTimeoutID_1) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_2) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_3) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_4) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_5) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_6) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_7) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_8) {
		clearTimeout(fadeElementTimeoutID_1);
	}
	if(fadeElementTimeoutID_9) {
		clearTimeout(fadeElementTimeoutID_1);
	}
}
var fadeElementOpacityLevel = 0;
function setElementAlpha(element, fadeElementCount) {
	fadeElementOpacityLevel = fadeElementCount;
	if(document.all){
		element.style.filter = "alpha(opacity=" + ( 100 * fadeElementCount ) + ")";
	} else if(document.getElementById){
			element.style.opacity = fadeElementCount;
	}
}

function doMyFade(itemname, fadeaction, targetalpha) {
	var element = document.getElementById(itemname);
	doMyFadeWithElement(element, fadeaction, targetalpha);
}

function doMyFadeWithElement(element, fadeaction, targetalpha) {		
		var targetAlpha = targetalpha/100;
		if (fadeaction == 'in') {
			element.style.visibility = "visible";
			setElementAlpha(element, .01);	
			fadeElementTimeoutID_1 = setTimeout(function() { setElementAlpha(element, (targetAlpha/9)); }, 40 );
			fadeElementTimeoutID_2 = setTimeout(function() { setElementAlpha(element, (targetAlpha/8)); }, 80 );
			fadeElementTimeoutID_3 = setTimeout(function() { setElementAlpha(element, (targetAlpha/7)); }, 120 );
			fadeElementTimeoutID_4 = setTimeout(function() { setElementAlpha(element, (targetAlpha/6)); }, 160 );
			fadeElementTimeoutID_5 = setTimeout(function() { setElementAlpha(element, (targetAlpha/5)); }, 200 );
			fadeElementTimeoutID_6 = setTimeout(function() { setElementAlpha(element, (targetAlpha/4)); }, 240 );
			fadeElementTimeoutID_7 = setTimeout(function() { setElementAlpha(element, (targetAlpha/3)); }, 280 );
			fadeElementTimeoutID_8 = setTimeout(function() { setElementAlpha(element, (targetAlpha/2)); }, 320 );
			fadeElementTimeoutID_9 = setTimeout(function() { setElementAlpha(element, targetAlpha); }, 360 );
			setTimeout(function() {clearTimeouts();}, 380);
		} else if (fadeaction == 'out') {
			fadeElementTimeoutID_9 = setTimeout(function() { setElementAlpha(element, targetAlpha); }, 40 );
			fadeElementTimeoutID_8 = setTimeout(function() { setElementAlpha(element, (targetAlpha/1.1)); }, 80 );
			fadeElementTimeoutID_7 = setTimeout(function() { setElementAlpha(element, (targetAlpha/1.3)); }, 120 );
			fadeElementTimeoutID_6 = setTimeout(function() { setElementAlpha(element, (targetAlpha/1.6)); }, 160 );
			fadeElementTimeoutID_5 = setTimeout(function() { setElementAlpha(element, (targetAlpha/2)); }, 200 );
			fadeElementTimeoutID_4 = setTimeout(function() { setElementAlpha(element, (targetAlpha/4)); }, 240 );
			fadeElementTimeoutID_3 = setTimeout(function() { setElementAlpha(element, (targetAlpha/6)); }, 280 );
			fadeElementTimeoutID_2 = setTimeout(function() { setElementAlpha(element, (targetAlpha/8)); }, 320 );
			fadeElementTimeoutID_1 = setTimeout(function() { setElementAlpha(element, (targetAlpha/9)); }, 360 );
			setTimeout(function() { element.style.visibility = "hidden"; clearTimeouts();}, 380);
		}
}


function compareFadeIn() 
{
	/* AM 11/26/2007 - Integrated CSS changes - Start */
	/* added for page mask height */
	 changeOisCSS('.pageMask','height',document.body.scrollHeight + 'px');
	/* AM 11/26/2007 - Integrated CSS changes - End */
	var element = window.parent.document.getElementById("comparisonMask");
	doMyFadeWithElement(element, 'in', 50);
	element = window.parent.document.getElementById("SymantecIFrameDiv");
	doMyFadeWithElement(element, 'in', 100);
}

function compareFadeOut(){
	doMyFade('comparisonMask', 'out', 50);
	doMyFade('SymantecIFrameDiv', 'out', 100);
}

function configFadeIn() {
	doMyFade('comparisonMask', 'in', 50); 
	doMyFade('oisDescribe', 'in', 100);
}
function configFadeOut() {
	doMyFade('comparisonMask', 'out', 50); 
	doMyFade('oisDescribe', 'out', 100);
}
/* AM 11/26/2007 - Integrated CSS changes - Start */
/* added for page mask height */
function changeOisCSS(theClass,element,value) 
{   
	 var cssrules;
	 if (document.all) 
	 {
			cssrules = 'rules';          // ie
	 }
	 else if (document.getElementById) 
	 {
			cssrules = 'cssRules';       // firefox
	 }
	 try
	 {
		 for (var S = 0; S < document.styleSheets.length; S++)
		 {
				 try
				 {
					 var len=document.styleSheets[S][cssrules].length;
				 }catch(err)
				 {
					 // If styles error out pick next one.
					 continue;
				 }
			 
			 for (var R = 0; R < document.styleSheets[S][cssrules].length; R++) 
			 {
				 if (document.styleSheets[S][cssrules][R].selectorText == theClass) 
				{
				document.styleSheets[S][cssrules][R].style[element] = value;
				break;
				}
			 }
		}
	}
	catch(err)
	{
		//Error: caught exception: [Exception... "Access to restricted URI denied"  code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)"]
		// TODO: need to Fix it in firefox. 
	}

}
/* AM 11/26/2007 - Integrated CSS changes - End */
var lastMsg = "DEFAULT";
function openPage(pageUrl)
{
	window.location=pageUrl;
}
// ois
function checkForMessages(){
			var msg = location.hash;
			if (!(msg == null) && (msg.length > 0)) {
				if (lastMsg != msg) {
					lastMsg = msg;
					if (msg == '#FADEOUT') {
						//First clear the hash
						location.hash="";
						popinFadeOut();
					}
					
				}
		 }
}
setInterval(checkForMessages, 200);
function loadIframe(iframeName, url, pUrl) {
	var newURL = url + '&parent_url=' + pUrl;
	document.getElementById('SymantecIFrameDiv').style.visibility='visible';
	document.getElementById(iframeName).src=newURL;
	compareFadeIn();
}
function CheckIsIE() 
{ 
if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') { return true;} 
else { return false; } 
} 
function unloadIframe() {
	document.getElementById('SymantecIFrameDiv').style.visibility='hidden';
	popinFadeOut();
}
function transitionToExternalURL(url) {
	window.location=url;
}
function transitionAwayFromPopin(URLToTransitionTo) {
	popinFadeOut();
	setTimeout(function() {transitionToExternalURL(URLToTransitionTo);}, 500);
}					
/**bubble functions**/
function showBubble(bubbleId) {
	document.getElementById(bubbleId).style.visibility = 'visible';
}
function hideBubble(bubbleId) {	
	document.getElementById(bubbleId).style.visibility = 'hidden';
}

