   // History:
   // 26-Oct-2004 JLM - Portal adaptation.
   
   // Purpose:
   // This script provides all the logic for the control panel of
   // the main kompass.com portal.  It is NOT meant for use in other 
   // portals although it can serve as a model.  It should be included 
   // in all language versions of static/xx/home/top.html.  Note that 
   // any language dependencies should be handled by flags or strings
   // defined in the calling page (tagged for translation if necessary)
   // This file must never be translated!
    
   // variables to store current membership status
//   member_language = "en"; // in config.js
//   member_country  = "";   // in config.js
   member_id = "";       // non-blank means signed in (except special value "in")
   member_name = "";
   member_units = 0;
   txt_sign_in = "Subscriber&nbsp;Login";
   txt_sign_out = "Logout";
   txt_ma_units = '';
   txt_ma_units_lbl = '';
   txt_ma_member = '';
   txt_member_lbl = '';
   page_language = "en";

   // override with cookie values, if present
   setCookie ("KPROV", portal_kprov);
   setCookie ("LANG", member_language);
   setCookie ("TERRITORY", member_country);
	  
	
   var russe;
   var temp;

   temp = getCookie ("NAME");
   if (temp > " ")
      member_name = temp;
	  
	//alert temp;


   temp = getCookie ("CREDITS");
   if (temp > " ")
      member_units = temp;

	//alert temp;
	  
function nomad(chaine)
{
	NbreCar=3;
	if ( ( ( (chaine.indexOf("*") != -1) && (chaine.indexOf("*") < NbreCar) ) || ( (chaine.indexOf("%") != -1) && (chaine.indexOf("%") < NbreCar) ) ) )
	    return true;
	else
	    return false;
}

function sendFormu(formu)
{
	 busy_mark (false);
	 
	//GRB : redimenssionement des frames
   	top.resize(3);
	
   	if (nomad(formu._Keyword.value))
	{
		alert("You must enter at least 3 characters before * or % symbols");
		formu._Keyword.focus();
	}
	else
	{
		formu.submit();
	}
}

function ki_eid(id) {
   // returns the DOM local element id for various browsers. It assumes
   // that browser detection code (browser_detect.js) has been included.
   // NB elements are found by id="" or by name="".  If the element is
   // not found using the id, the name space is searched instead.  The 
   // name search will find the first element with the name.

   // alert ("ki_eid:id="+id+"  browser: "+navigator.family);

   var eid;

   switch (navigator.family ) {

      case "ie3":
      case "ie4":  // includes ie5 and ie6
         eid = eval("document.all."+id);    // node id in IE 5, 6
         if (!eid) {
            // search the forms for this value
            var i = -1;
            while (!eid && document.forms[++i] ) {
		       eid = eval("document.forms["+i+"]."+id);
            }
         }

         break;

      case "aol":
      case "nn3":
      case "nn4":
	     // element must have name="ïd" in Netscape V4
	     eid = eval("document."+id);
		 if (!eid) {
            // search the forms for this value
		    var i = -1;
		    while (!eid && document.forms[++i] ) {
		       eid = eval("document.forms["+i+"]."+id);
			   }
			}
         break;
      case "opera":
	  case "gecko": // Mozilla, Netscape V6, V7  etc
	     eid = document.getElementById(id); // node id in W3C DOM (NS 6)
         if (!eid) {
   	         eid = document.getElementsByName(id);
 			 if (eid) 
 			    eid = eid.item(0);  // assume only one item with this name 
			} 
         break;

	  case "hotjava":
	  default:
	     alert ("Browser type not recognized: "+navigator.family);
		 break;
    } // switch

  // alert ("ki_eid:eid="+eid);

   if (eid)
      return eid;
   else
      // this is usually a developer error (it really is not there!)
      alert ("Element "+id+" not found in this document");
} // ki_eid()

function busy_mark (visible)
{

   	// alert ("Busy mark called [" + visible + "]");
   	if (visible)
   	{
	   window.status = "Searching...";
	}
	else
	{
		window.status = "";
	}
}

//--------------------------------------------------------------------------------//
//------ Function to display a banner ad from kompass.com or a local source ------//
//--------------------------------------------------------------------------------//
function MajPub(url,version)
{
    // function called by pages sent from kompass.com.  This function MUST be
	// present even if it performs no action.

    // leave url and version blank to call up an ad from kompass.com
	// give a url with version blank to display an ad from elsewhere
    
	var first=0;

	busy_mark (false);

	complement="";
	if(member_name!="")
	{
		complement="&ED=ID&UC="+member_country;
	}

	if(version=="")
	{
		date = new Date();
		version=date.getFullYear()+""+date.getMonth()+""+date.getDate()+""+date.getHours()+""+date.getMinutes()+""+date.getSeconds();
	}


	/*if(url=="")
	{
		url=url_adserver+"T=FP&LG="+page_language+"&S="+version+"&loc="+location.hostname+complement;
		first=1;
	}*/


	if(url=="")
	{
		url=url_adserver+"T=FP&LG="+page_language+"&S="+version+"&loc="+location.hostname+complement;
		first=1;

	}
	else if(url.substring(0,22) != "http://www.kompass.com")
		url = "http://www.kompass.com"+url;

	/*else
	{
		// added by Guillaume Rabelle November 30, 2006 (strange that not needed before)
		//url = "http://portal.kompass.com"+url;

		//changed for the Kompass SEO changes - August 2007 (Tracker #7494)
		url = "http://www.kompass.com"+url;
	
	}*/


	ki_eid ("_Version").value = version;
	ki_eid ("sb_banner").src = url;
	return;
}

// this function test is the object is a link (<a href="">)
function isLink(obj)
{
	return (typeof(obj.href) == "string")?true:false;
}
 
function set_member_data (id, name, units, language, country) {

   // This function stores and acts on the values passed as arguments. It must
   // NEVER act on an empty value because that indicates no change in the status 
   // of the value.

   var temp = "";
   busy_mark (false);

   // the id arg contains "out" when the user has just signed-in and "in" when just signed-out!
   // do nothing if there is no change in sign-in status.
   
   if ((id > "") && (id != 'in'))    // ID should be changed from "in/out" to real member ID
   {
		// user is signed in, change button to sign out!
		/* GRB 28/06/2004 ki_eid("ma_sign_in").value = ma_entity(txt_sign_out);*/
		if (isLink(ki_eid("ma_sign_in"))){ki_eid("ma_sign_in").innerHTML = txt_sign_out;}
		ki_eid("login").value = "yes";
		member_id = id;
		setCookie ("MBRID", id);

		if (name > " "){
			//alert ("NAME=|"+name+"|");
			/* GRB 28/06/2004 ki_eid("ma_member").value = ma_entity(name);*/
			if (isLink(ki_eid("ma_member"))){ki_eid("ma_member_lbl").innerHTML = 'Hello '; ki_eid("ma_member").innerHTML = name;}

			if (units != -1) { sCred = units }
			//Create a cookie on .co.uk and pass user info
			parent.invisibleFrame.location.href = home_url + "loggedInCookie.asp?mem=" + member_name + "&units=" + sCred
			
	
			member_name = name;
			setCookie("NAME", member_name);			
		}

    }
    else if (id == "in")
    {
		// change button to sign-in and clear cookie
		/* GRB 28/06/2004 ki_eid("ma_sign_in").value = ma_entity(txt_sign_in);*/
		if (isLink(ki_eid("ma_sign_in"))){ki_eid("ma_sign_in").innerHTML = txt_sign_in;}
		ki_eid("login").value = "no";
		
		/* GRB 28/06/2004 ki_eid("ma_member").value = ma_entity(txt_ma_member);*/
		if (isLink(ki_eid("ma_member"))){ki_eid("ma_member_lbl").innerHTML = txt_member_lbl; ki_eid("ma_member").innerHTML = txt_ma_member;}
		
		/* GRB 28/06/2004 ki_eid("ma_units").value = ma_entity(txt_ma_units);*/
		if (isLink(ki_eid("ma_units"))){ki_eid("ma_units_lbl").innerHTML = txt_ma_units_lbl; ki_eid("ma_units").innerHTML = txt_ma_units;}
		
		member_id = "";
		member_name = "";
		
		setCookie("NAME", "");
		setCookie("TERRITORY", "");
		setCookie("CREDITS", "");
		setCookie("LANG", "");
		//if (language != '-1')
			//top.location = url_staticserver + member_language + "/home";
			
		//update user info cookie on .co.uk
		parent.invisibleFrame.location.href = home_url + "loggedInCookie.asp?mem=&units="
   }

   if ((units > 0) && ( units < 100))
   {
	member_units = units;
	/* GRB 28/06/2004 ki_eid("ma_units").value = units;*/
	if (isLink(ki_eid("ma_units"))){ki_eid("ma_units_lbl").innerHTML = ', Credits: '; ki_eid("ma_units").innerHTML = units;}
	//ki_eid("ma_units").class = "credit_meter_low";
   }
   else
   {
   	if (units >= 100)
   	{
      		member_units = units;
      		/* GRB 28/06/2004 ki_eid("ma_units").value = units;*/
			if (isLink(ki_eid("ma_units"))){ki_eid("ma_units_lbl").innerHTML = ', Credits: '; ki_eid("ma_units").innerHTML = units;}
	}
   	else
   	{
   		if (units < 0)
	   	{
		     	member_units = 0;
                /* GRB 28/06/2004 ki_eid("ma_units").value = txt_ma_units;*/
				if (isLink(ki_eid("ma_units"))){ki_eid("ma_units_lbl").innerHTML = txt_ma_units_lbl; ki_eid("ma_units").innerHTML = txt_ma_units;}       
		}
	   	else
   		{
      		      //alert("2");	
		      member_units = 0;
      		  /* GRB 28/06/2004 ki_eid("ma_units").value = txt_ma_units;*/
			  if (isLink(ki_eid("ma_units"))){ki_eid("ma_units_lbl").innerHTML = txt_ma_units_lbl; ki_eid("ma_units").innerHTML = txt_ma_units;}

		}
	}
   }
   setCookie ("CREDITS", member_units);


   if (country > " ")
   {
      member_country = country;
      setCookie ("TERRITORY", member_country);
   }
}

//---------------------------------------------------------------------------

function ClickLien()
{
        date = new Date();
        uniq=date.getFullYear()+""+date.getMonth()+""+date.getDate()+""+date.getHours()+""+date.getMinutes()+""+date.getSeconds();

	    //url=url_adserver+"jgi/kinl_pub_clic.jgi?S="+ki_eid("_Version").value+"&x="+uniq;
	    url=url_adclickserver+"S="+ki_eid("_Version").value+"&x="+uniq;
        MM_openBrWindow(url,"ki_pub","resizable=yes,scrollbars=yes,width=800,height=600");
}
 
function MM_openBrWindow(theURL,winName,features) 
{ 
   window.open(theURL,winName,features); 
}


// Here is the function ChargeFrameBas()

function ChargeFrameBas(name)
{ 
var frame_bool=0;

   if(name=="ma_sign_in")
   {

      if(ki_eid("login").value=="no")
        url="/login.asp";
      else
        url=url_kiserver+"cgi-bin/KINL_ENRaction.cgi?_Action=98";
   }
   if(name=="ma_member")
   {
      //url="/login.asp";
	  if(ki_eid("login").value=="no")
	  	url=url_staticserver+page_language+"/membership/index_sign-in_new_member.htm";
      else
      {
        url=url_kiserver+"cgi-bin/KINL_ENRaction.cgi?_Action=131";
        frame_bool=1;
      }
   }
   if(name=="ma_units")
   {
      if(ki_eid("login").value=="no")
//	 	url=url_staticserver+"static/"+page_language+"/membership/index_sign-in_auto.htm";
         url=url_kiserver+"cgi-bin/KINL_PAIaction.cgi?_Action=50";
      else
      {
         url=url_kiserver+"cgi-bin/KINL_ENRaction.cgi?_Action=130";
         frame_bool=1;
      }
   }
   if(name=="ma_language")
   {
      if(ki_eid("login").value=="no")
         url=url_staticserver+page_language+"/membership/index_sign-in_auto.htm";
      else
      {
         url="/login.asp";
      }
   }
   if(name=="ma_country")
   {
      if(ki_eid("login").value=="no")
          url=url_staticserver+page_language+"/membership/index_sign-in_auto.htm";
      else
      {
         url="/login.asp";
      }
   }
   if(frame_bool==1)
   {
        top.kiDisplayFrame.location=url;
   }
   else
   {
        top.kiDisplayFrame.location=url;
   }
}

function getCookie(name) {
  var search = name + "=";
  var setStr = 0;
  var offSet = 0;
  var end = 0;
  if (document.cookie.length > 0) {
   offset = document.cookie.indexOf(search);
   if (offset != -1) {
    offset += search.length;
    end = document.cookie.indexOf(";",offset);
    if (end == -1) {
     end = document.cookie.length;
    }
    setStr = unescape(document.cookie.substring(offset, end));
   }
  }
  return(setStr);
}

function setCookie(name, value) {
  // 16-Jul-2002 JR - set path to allow cookies to be shared between all pages
   document.cookie = name + "=" + escape(value) + '; path=/; domain=kompass.com;' ;
}

function shadeCell (cell) {

  cell.color = "#FF0000";
  }

// shorten the current document domain to avoid security problem
function initialise () {

	adjust_domain_name ();

    // call the set_member_data() to change the page to the required language
	set_member_data (member_id, member_name, member_units, member_language, member_country);
	setCookie ("KPROV", portal_kprov);
	document.SearchBox._Kprov.value = portal_kprov;
	document.getElementById("SearchBox").action = url_kiserver+"static/index_portal.php";
	
}


// 21-May-2003 JLM - Add choice to russe language to go to the russian site
function fnRusse(location){
	russe.close();
	top.location=location;
}

function setPortal(language, country)
{
//	alert ("setPortal():" + language + " - " + country);
	setCookie ("LANG", language);
		switch (country )
	{

//	case "dk": //da
	case "cz": //cs
	case "fr": //fr
//	case "se": //sv
//	case "hu":
//	case "fi":
//	case "no":
		top.location = "http://www.kompass." + country;
		break;

//	case "kr":
//	case "nz":
//	case "uk":
//		top.location = "http://www.kompass.co." + country;
//		break;

//	case "ru":
//		url=url_staticserver+"static/ru/home/kompass_ru.html";
//		russe=window.open(url, 'Russian','resizable=no,scrollbars=yes,width=370,height=270');
//		break;

//	case "de":
//		top.location = "http://www.kompass-deutschland.de";
//		break;

//	case "pl":
//		top.location = "http://www.kompass.com.pl";
//		break;

//	21/10/2004 JLM
//	Pour les pays dont la langue est le chinois, on redirige vers l'interface anglaise la première fois
//	Les fois suivantes (changement de langue depuis l'interface) country = "" ... on ne passe pas dans ce cas
//	case "cn":
//	case "sg":
//	case "tw":
//	case "mo":
//	case "hk":
//		top.location = url_kiserver + "en";
//		break;

		
	default:
		// must be set before moving to another language or a loop results
		setCookie ("LANG", language);
		/*if( language=="ru") {
			url=url_staticserver+"static/ru/home/kompass_ru.html";
			russe=window.open(url, 'Russian','resizable=no,scrollbars=yes,width=370,height=270');
		}
		else 
		{*/
		
			// 25-Jul-2002 JR - set the LANG cookie because it is used by the server, occasionally!
			top.location = url_kiserver + language;
		/*}*/
		break;

	}// end switch
}

//redimmensionne les frames GRB 07/06/2004
function resize(m)
{
  if(m == 2)
{
      m = "136,50,*";
}
else
{
     m = "136,*,50";
}
      document.getElementById("bb").rows=m;
      return false;
}

function setLanguage (f) {

   var language, country, temp;
   // tell the control panel which language to set (it will change the page if necessary)

   temp  = f;
   language = temp.substr(0,2);
   country  = "";	// Default value
   if (temp.substr(2,1) == "-")
       country  = temp.substr(3,2);
   //alert ("setLanguage():"+language + "-" + country);
   window.top.kiTopFrame.setPortal(language,country);

}
function setUserData() {
	if (getCookie("NAME") != "") {
		set_member_data(getCookie("MBRID"), getCookie("NAME"), getCookie("CREDITS"), getCookie("LANG"), getCookie("TERRITORY"));
	}
}