/*
 * (c) 2006-7 Ghost(TM) Inc. (http://G.ho.st/home) . All rights reserved.
 * G.ho.st licenses this software to you under the terms of the Common Public
 * License Version 1.0 http://www.opensource.org/licenses/cpl.php
 */

/*******************************************************************************
 * ====================================================================================== /*
 * Creator: Ragheb Khaseeb
 * date: 2009-03-01 
 * Authors: Ragheb Khaseeb... ** /* **
 * /**======================================================================================
 */
 
 
 /***************************************************************************************
  * notifications area messages
  * 1)view use recommeded browser
  * 2)view update flash version 
  ***************************************************************************************/
  
 /**
  * view the notification if there is needing to be viewed
  */
 function viewNotifications(){
	var isSup = isSupportedBrowser();
 	if(isSup && isSup == "true"){
 		getRecommededBrowserNote();
 	}
 	try{
 		getUpdateFlashNote();
 	}catch(e){}
 	viewNotSupportedBrowserNot();
 }

 /**
  * view the notification message if the user uses not recommeded browser
  */
 function getRecommededBrowserNote(){
 	if(!isRecommededBrowser()){
 		document.getElementById("changeBrowser").style.display = "";
 	}
 }
 
 function viewNotSupportedBrowserNot(){
 	if(!isSupportedBrowser() || isSupportedBrowser() == "false"){
 		document.getElementById("notSupportedBrowser").style.display = "";
 	}
 }
 
 /**
  * if the user uses supported flash but not the latest version
  */
 function getUpdateFlashNote(){
	 var latestVersionInt = parseInt(getLatestSupportedFlash());
 	if(isSupportedFlash() && (flashVersion < latestVersionInt)){
 		var txtCntnt = document.createTextNode(flashVersion+"");
 		document.getElementById("currentFlashVersion").appendChild(txtCntnt);
 		document.getElementById("upgradeFlashNotification").style.display = "";
 	}
 }
 
 /**********************************************
  * warning messages area
  * 1)install flash or update the flash version in case of the flash is not supported
  * 2)enable cookie
  * 3)enable popup
  *********************************************/
 
 /**
  * the table that contains all the warning messages
  */
 function viewWarningTable(){
 	var viewWarning = false;
 	if(getEnableCookieWarn()){
 		viewWarning = true;
 	}
 	if(getInstallFlashWarn()){
 		viewWarning = true;
 	}
 	try{
	 	if(getUpgradeFlashWarn()){
	 		viewWarning = true;
	 	}
 	}catch(e){}
 	if(viewWarning){
 		document.getElementById("LoginRegBackgroundArea").style.display = "";
		document.getElementById("loginBtns").style.display = "none";
 		document.getElementById("WarningMessageTable").style.display = "";
 	}
 }
 
 /**
  * view enable cookie warning message
  * @return true if the message will appear
  */
 function getEnableCookieWarn(){
 	if(!isCookieEnabled()){
 		document.getElementById("EnableCookies").style.display = "";
 		return true;	
 	}
 	return false;
 }
 
 /**
  * if the browser does not contains flash
  * @return true if the message will appear
  */
 function getInstallFlashWarn(){
 	if(!isFlashInstalled()){
	 	document.getElementById("InstallFlash").style.display = "";
		return true;
 	}
 	return false;
 	
 }
 
 /**
  * this message will appear the user uses old flash version
  * @return {Boolean}
  */
 function getUpgradeFlashWarn(){
 	if(isFlashInstalled() && !isSupportedFlash()){
 		document.getElementById("UpgradeFlash").style.display = "";
 		return true;
 	}
 	return false;
 }
 
 /*************************************************
 * parse home page url and view the co-branding logo
 **************************************************/
function getCoBrandingLogo() {
	var loc = document.location + "";
	try {
		var imgSrc = getParamValue("promotionURL");
		if(imgSrc){
			var _table = document.getElementById("CoBrandingLogoTable");
			_table.style.display = "";
			var logo = document.getElementById("CoBrandingLogo");
			logo.src = imgSrc;
		}
	} catch (e) {
	}
}

/*****************************************
 * hide the top internal green button 
 ****************************************/
function viewHideInternalBtn() {
	var doc = document.location + "";
	if(doc == VCURL || doc.indexOf(VCURL+"/main.jsp") >=0 || doc.indexOf(VCURL+"/?")>=0  || doc == VCURL+"/" || doc.indexOf(VCURL+"/icafe.jsp") >=0 || doc.indexOf(VCURL+"/icafe_tl.jsp") >=0){
		document.getElementById("InternalGreenButton").style.display = "none";
	}
}
 
 /**********************comboBox languages************************************
  * 
  * fill the languages in the combobox of id lanuagesCombobox
  ****************************************************************************/
 function viewLanguages(){
	var langArray = getLangDoc().getElementsByTagName("language");
	var langCombo = document.getElementById("lanuagesCombobox");
	var option;
	var optionLabel;
	var textNodeContent;
	var textChild;
	var lang = getParamValue("language");
	if (lang == null || lang == "null") {
		lang = "en";
	}
	for (var i = 0; i < langArray.length; i++) {
		option = document.createElement("option");
		textNodeContent = getTextTagContent(langArray[i]
				.getElementsByTagName("value")[0]);
		option.setAttribute("value", textNodeContent);
		optionLabel = getTextTagContent(langArray[i]
				.getElementsByTagName("label")[0]);
		textChild = document.createTextNode(optionLabel);
		if (lang) {
			if (lang.toLowerCase() == textNodeContent.toLowerCase()) {
				option.setAttribute("selected", "selected")
			}
		}
		option.appendChild(textChild);
		langCombo.appendChild(option)
	}
 }
 
 
 /*********************
  *Embed widget function
  ***********************************/
function box (boxname,menustate){
	if (document.getElementById){
		document.getElementById(boxname).style.visibility = menustate;
	}else {
	document[boxname].visibility = menustate;
	} 
}

/****************************************
 * view referral message
 */
function viewReferralMessage(){
	if(!oralInfo || oralInfo == null || oralInfo == "null"){
		document.getElementById("ScreenShotsArea").style.display = "";
		return ;
	}
	if(getParamValue("referral")){
		document.getElementById("ScreenShotsArea").style.display = "none";
		document.getElementById("Referral").style.display = "";
		var tempOral = oralInfo.split("<--->");
		var message1 = document.createTextNode(tempOral[0]+"  "+tempOral[1]);
		var message2 = document.createTextNode(getParamValue("referral")+"@g.ho.st");
		document.getElementById("referral_id").appendChild(message2);
		document.getElementById("referral_email").appendChild(message1);
		return true;
	}else{
		document.getElementById("ScreenShotsArea").style.display = "";
	}
	return false;
}

/****************************************
 * view promotionCode message 
 */
function viewpromotionCode(){
	if(getParamValue("promotionCode") && getParamValue("promotionCode").toLowerCase() == "survey"){
		document.getElementById("promotionCodeTable").style.display = "";
		ghaction="registration";
	}
}

/*********************
  *Swap Images Functions, running on mouse over
  ***********************************/
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; 
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++){
  	x.src=x.oSrc;
  }
}

function MM_preloadImages() { 
  	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  
  if(!d)d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
  d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


/**
 * top menu functions
 */

/////////////////////////////////////////////////////////////////////////////////////
/////// Header tool bar (show and hide menus)
function onFunction(bg2){
obj=document.getElementById(bg2);
obj.style.backgroundImage ='url(/images/menubar_slice_on.gif)';}
function showSubMenu(id4){
hideAll()
if(id4 == "vc"){
document.getElementById("vc").style.backgroundImage ='url(/images/menubar_slice_on.gif)';
document.getElementById("virtualcomputer").style.display = "";}
else
if(id4 == "mainLink"){
document.getElementById("mainLink").style.backgroundImage ='url(/images/menubar_slice_on.gif)';
document.getElementById("mainLink").style.display = "";}
else
if(id4 == "part"){
document.getElementById("part").style.backgroundImage ='url(/images/menubar_slice_on.gif)';
document.getElementById("Partners").style.display = "";}
else
if(id4 == "comm"){
document.getElementById("comm").style.backgroundImage ='url(/images/menubar_slice_on.gif)';
document.getElementById("community").style.display = "";}
else
if(id4 == "buzz"){
document.getElementById("buzz").style.backgroundImage ='url(/images/menubar_slice_on.gif)';
document.getElementById("Buzz_").style.display = "";}
else
if(id4 == "about"){
document.getElementById("about").style.backgroundImage ='url(/images/menubar_slice_on.gif)';
document.getElementById("AboutUs").style.display = "";}
}
function hideAll(){
document.getElementById("mainLink").style.backgroundImage ='none';
document.getElementById("vc").style.backgroundImage ='none';
document.getElementById("virtualcomputer").style.display = "none";
document.getElementById("comm").style.backgroundImage ='none';
document.getElementById("community").style.display = "none";
document.getElementById("part").style.backgroundImage ='none';
document.getElementById("Partners").style.display = "none";
document.getElementById("buzz").style.backgroundImage ='none';
document.getElementById("Buzz_").style.display = "none";
document.getElementById("about").style.backgroundImage ='none';
document.getElementById("AboutUs").style.display = "none";}

/**
 * ToolTip functions
 * 
 */

var disappeardelay=100  
var verticaloffset=-3 
var enablearrowhead=1 
var arrowheadimg=["/images/arrowdown.gif", "/images/arrowup.gif"] 
var arrowheadheight=11 //height of arrow image (amount to reveal)

var ie=document.all 
var ns6=document.getElementById&&!document.all
verticaloffset=(enablearrowhead)? verticaloffset+arrowheadheight : verticaloffset

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function showhide(obj, e){
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (e.type=="mouseover")
obj.visibility="visible"
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
if (whichedge=="rightedge"){
edgeoffsetx=0
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-30
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffsetx=dropmenuobj.contentmeasure-obj.offsetWidth
return edgeoffsetx
}
else{
edgeoffsety=0
var topedge=ie && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-3000 : window.pageYOffset+window.innerHeight-3000
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure) //move up?
edgeoffsety=dropmenuobj.contentmeasure+obj.offsetHeight+(verticaloffset*2)
return edgeoffsety
}
}

function displayballoontip(obj, e){ //main ballooon tooltip function
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
if (typeof dropmenuobj!="undefined") //hide previous tooltip?
dropmenuobj.style.visibility="hidden"
clearhidemenu()
//obj.onmouseout=delayhidemenu
dropmenuobj=document.getElementById(obj.getAttribute("rel"))
showhide(dropmenuobj.style, e)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")+verticaloffset
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
if (enablearrowhead)
displaytiparrow()
}

function displaytiparrow(){ //function to display optional arrow image associated with tooltip
tiparrow=document.getElementById("arrowhead")
tiparrow.src=(edgeoffsety!=0)? arrowheadimg[0] : arrowheadimg[1]
var ieshadowwidth=(dropmenuobj.filters && dropmenuobj.filters[0])? dropmenuobj.filters[0].Strength-1 : 0
//modify "left" value depending on whether there's no room on right edge of browser to display it, respectively
tiparrow.style.left=(edgeoffsetx!=0)? parseInt(dropmenuobj.style.left)+dropmenuobj.offsetWidth-tiparrow.offsetWidth-13+"px" : parseInt(dropmenuobj.style.left)+13+"px"
//modify "top" value depending on whether there's no room on right edge of browser to display it, respectively
tiparrow.style.top=(edgeoffsety!=0)? parseInt(dropmenuobj.style.top)+dropmenuobj.offsetHeight-tiparrow.offsetHeight-ieshadowwidth+arrowheadheight+"px" : parseInt(dropmenuobj.style.top)-arrowheadheight+"px"
tiparrow.style.visibility="visible"
}
function delayhidemenu(){
delayhide=setTimeout("dropmenuobj.style.visibility='hidden'; dropmenuobj.style.left=0; if (enablearrowhead) tiparrow.style.visibility='hidden'",disappeardelay)
}
function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}
function reltoelement(linkobj){ //tests if a link has "rel" defined and it's the ID of an element on page
var relvalue=linkobj.getAttribute("rel")
return (relvalue!=null && relvalue!="" && document.getElementById(relvalue)!=null && document.getElementById(relvalue).className=="balloonstyle")? true : false
}
function initalizetooltip(){
var all_links=document.getElementsByTagName("a")
if (enablearrowhead){
tiparrow=document.createElement("img")
tiparrow.setAttribute("src", arrowheadimg[0])
tiparrow.setAttribute("id", "arrowhead")
document.body.appendChild(tiparrow)
}
for (var i=0; i<all_links.length; i++){
if (reltoelement(all_links[i])){ //if link has "rel" defined and it's the ID of an element on page
all_links[i].onmouseover=function(e){
var evtobj=window.event? window.event : e
displayballoontip(this, evtobj)
}
all_links[i].onmouseout=delayhidemenu
} } }
if (window.addEventListener)
window.addEventListener("load", initalizetooltip, false)
else if (window.attachEvent)
window.attachEvent("onload", initalizetooltip)
else if (document.getElementById)
window.onload=initalizetooltip
/////////////////////

