
// --------------------------- SELECT COUNTRY STUFF ---------------------
var debug_layers = false;

var CCLClayer=[
"dzfr-pk",
"asen-pk",
"ades-l3es",
"aopt-africa",
"aien-pk",
"aqen-l0",
"agen-l2",
"ares-ar",
"amru-pk",
"awen-l2",
"auen-pk",
"atde-at",
"azru-pk",
"bsen-pk",
"bhen-pk",
"bden-pk",
"bben-l2",
"byru-rus",
"benl-pk",
"been-be",
"befr-befr",
"bzen-l2",
"bjfr-fr",
"bmen-l2",
"bten-ap2",
"boes-bo",
"baen-l3",
"bwen-africa",
"bven-l3",
"brpt-br",
"ioen-l4",
"bnen-ap2",
"bgbg-l3",
"bffr-fr",
"bifr-africa",
"khen-ap2",
"cmfr-fr",
"caen-l1",
"cafr-ca",
"cvpt-l3",
"kyen-l1",
"cffr-fr",
"tdfr-fr",
"cles-cl",
"cnzh-cn",
"cxen-ap2",
"ccen-ap2",
"coes-co",
"kmfr-l3fr",
"cgfr-fr",
"cken-ap2",
"cres-ph",
"cdfr-fr",
"hren-l3",
"hrhr-l2fr",
"cyen-l3",
"csen-l3",
"czen-cz",
"czcs-cz",
"dken-dk",
"dkda-dk",
"djfr-fr",
"dmen-l2",
"does-ph",
"tpen-ap2",
"eces-ec",
"egen-l3",
"sves-ph",
"gqes-fr",
"eren-africa",
"eeen-l3",
"eeet-l3",
"eten-africa",
"fken-l2",
"foen-l3",
"fjen-fj",
"fien-fi",
"fifi-fi",
"frfr-fr",
"gffr-l2fr",
"pffr-l4fr",
"tffr-l3fr",
"gafr-fr",
"gmen-l3",
"geru-rus",
"dede-de",
"ghen-africa",
"gien-l3",
"gren-gr",
"grel-gr",
"glen-l3",
"gden-l2",
"gpfr-l2fr",
"guen-l4",
"gtes-ph",
"gnfr-fr",
"gwpt-fr",
"gyen-l2",
"htfr-l2fr",
"vait-fr",
"hnes-ph",
"hken-hk",
"huen-hu",
"huhu-hu",
"isen-l3",
"inen-in",
"iden-id",
"ieen-pk",
"ilen-il",
"ilhe-il",
"itit-it",
"cifr-fr",
"jmen-ap1",
"jpjp-jp",
"jpja-jp",
"joen-l3",
"kzru-rus",
"keen-l2es",
"kien-ap2",
"krkr-kr",
"krko-kr",
"kwen-l3",
"kgru-rus",
"laen-ap2",
"lven-l3",
"lvlv-l3",
"lben-l3",
"lyen-l3",
"lsen-l3",
"lren-l3",
"lide-l3de",
"lten-l3",
"ltlt-l3",
"lufr-befr",
"moen-mo",
"mken-l3",
"mgfr-l3fr",
"mwen-africa",
"myen-my",
"mven-gr",
"mlfr-fr",
"mten-africa",
"mhen-ap2",
"mqfr-l2fr",
"mren-fr",
"muen-l3",
"ytfr-l3fr",
"mxes-mx",
"fmen-ap2",
"mden-l3",
"mcfr-l3fr",
"mnen-ap2",
"msen-l2",
"mafr-fr",
"mzpt-africa",
"mmen-ap2",
"naen-l3",
"nren-ap2",
"npen-ap2",
"nlen-layernl",
"nlnl-layernl",
"anen-l2",
"ncfr-l3fr",
"nzen-my",
"nies-ph",
"nefr-fr",
"ngen-africa",
"nuen-ap2",
"nfen-ap2",
"mpen-l4",
"noen-no",
"nono-no",
"omen-l3",
"pken-pk",
"pwen-l4",
"psen-l3",
"paes-l2es",
"pgen-ap2",
"pyes-py",
"pees-pe",
"phen-ph",
"pnen-ap2",
"plen-po",
"plpl-po",
"pten-pt",
"ptpt-pt",
"pres-l1",
"qaen-l3",
"refr-l3fr",
"roen-ro",
"roro-ro",
"ruen-rus",
"ruru-rus",
"rwen-africa",
"shen-l3",
"knen-l2",
"lcen-l2",
"wsen-ap2",
"smit-l3it",
"stpt-ie",
"saen-l3",
"snfr-fr",
"scen-l3",
"slen-l3",
"sgen-sg1",
"sken-sk",
"sksk-sk",
"sien-si",
"sisl-si",
"sben-ap2",
"soen-l3",
"zaen-za",
"eses-es",
"lken-ap2",
"vcen-l1",
"sren-l3",
"szen-ca",
"sesv-se1",
"chde-ch",
"chen-ch",
"chfr-ch",
"chit-ch",
"syen-l3",
"twzh-tw",
"tjru-rus",
"tzen-africa",
"then-th",
"tgfr-fr",
"tken-ap2",
"toen-l3",
"tten-l2",
"tnen-l01",
"tren-anz",
"trtr-tr",
"tmru-rus",
"tcen-l1",
"tven-ap2",
"ugen-africa",
"uaru-rus",
"aeen-l3",
"uken-gb",
"gben-gb",
"usen-l1",
"uyes-uy",
"uzru-rus",
"vuen-l4",
"vees-ve",
"vnen-ap2",
"vgen-l2",
"vien-l2",
"wffr-ap2",
"ehen-l3",
"yeen-l3",
"yuen-l3",
"zmen-africa",
"zwen-l3it",
"00en-anz"];

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

// returns the filename component of a path; ignores everything beginning w. '?'
// e.g. if ref = "http://www.ibm.com/xxy/aab/mypage.html", it returns "mypage.html"
function getFilename(ref) {
  var rslt;
  var q = ref.indexOf("?");
  if (q == -1) {
    rslt = ref;
  } else {
    rslt = ref.substr(0, q);
  }
  var s = rslt.lastIndexOf("/");
  if (s == -1) {
    rslt = ref;
  } else {
    rslt = ref.substr(s+1);
  }
  return rslt;
}

var refpage = "";
var filename;
var emailtarget;
// show the sentence about questions/comments unless coming from PartnerInfo page:
var show_email_sentence = true;
var currentlayer = "";

if (document.referrer == "") {
  filename = "";
} else {
  filename = getFilename(document.referrer);
}

if (refpage.indexOf("developer.ibm")!=-1) {
  emailtarget = "pwd@us.ibm.com";
} else if (refpage.indexOf("partners.boulder")!=-1 || refpage.indexOf("partner.boulder")!=-1) {
  show_email_sentence = false;
  emailtarget = "partnerinfo@us.ibm.com";
} else if (filename.indexOf("pi_")!=-1) {
  show_email_sentence = false;
  emailtarget = "partnerinfo@us.ibm.com";
} else {
  emailtarget = "pwg@us.ibm.com";
}

// shows the specified layer, hides all others
function toggleLayer(layer){
	if (debug_layers) alert("toggleLayer -- " + layer);
	var layers =  ["l0","l1","l2","l2es","l2fr","l3","l3de","l3es","l3fr","l3it","l4","l4fr","africa","anz","ar","at","be","befr","bo","br","ca","cl","hk","cn","co","ec","fi","fj","fr","de","in","id","ie","il","it","jp","kr","my","mx","layernl","no","py","pe","ph","pt","sg1","za","es","se1","ch","tw","th","gb","uy","ve","dk","pk","rus","si","sk","cz","hu","po","pk","gr","tr","ap1","ap2","ro"]; 
	for(i=0;i<layers.length;i++) {
		MM_showHideLayers(layers[i],'','hide');
	}
	MM_showHideLayers(layer,'','show');
	currentlayer = layer;
}

// this function uses CCLClayer[] to determine the layer name for the given cc/lc
function getCountryLayer(cclc) {
  for (i=0;i<CCLClayer.length; i++) {
    var layer_i = CCLClayer[i];
    if (cclc==layer_i.substring(0,4)) {
      //alert("cclc " + cclc + " matches cclc-layer " + layer_i);
      return layer_i.substr(5);
    }
  }
  return "";
}

// returns true iff the specified location is the same as the current location
function isCurrentLocation(loc) {
	return (loc==window.location.href || loc==getFilename(window.location.href));
}

// this function reads cc/lc from the selected option and toggles the layers to show that country
function changeCountry(f) {
	var s = f.country;
	var r = f.remember.checked;
	var i = s.selectedIndex;
	var cclc = s.options[i].value;
	changeCountry2(cclc, r);
}

// same as changeCountry() but takes cclc as parameter
// NOT USED
function changeCountry1(cclc) {
	var layer = getCountryLayer(cclc);
	if (debug_layers) alert("changeCountry1("+cclc+"): layer="+layer);
	if (currentlayer!="" && currentlayer==layer) {
		if (debug_layers) alert("currentlayer="+currentlayer+"; layer="+layer);
		alert("The information for the selected country is already displayed.");
	}
	if (currentlayer!=layer) {
		toggleLayer(layer);
	}
}

// same as changeCountry() but takes cclc as parameter
function changeCountry2(cclc, remember) {
	var region="";
	if (cclc!="")
	{
		region = getRegionalPageName(cclc, "cpw_index");
	}
	var layer = getCountryLayer(cclc);
	if (debug_layers) alert("changeCountry2("+cclc+", "+remember+"): regional page="+region+"; layer="+layer);

	if (remember) {
		setCookieStuff();
	}
	if (remember && region!="" && !isCurrentLocation(region)) {
		// redirect to another page
		goToOrPopupPage(region,false);
	} else {
		if (currentlayer!="" && currentlayer==layer) {
			if (debug_layers) alert("currentlayer="+currentlayer+"; layer="+layer+"; region="+region);
			alert("The information for the selected country is already displayed.");
		}
		if (currentlayer!=layer) {
			toggleLayer(layer);
		}
	}
}

// sets the country selector (and layers) based on the given cc/lc
function preselectCCLC(cclc) {
  if (cclc=="") return;
  s=document.ccform.country;
  r=document.ccform.remember.checked;
  for(i=0; i<s.options.length; i++) {
    if (s.options[i].value==cclc) {
	  //if (debug_layers) alert("found matching option at index " + i);
	  country_selection = i;
	  changeCountry2(cclc, r);
	  //alert("selecting country index "+country_selection);
	  s.selectedIndex=country_selection;
	  break;
    }
  }
}

// sets the country selector, layers, and 'remember' checkbox based on the cookie
function setInitialDisplay() {
	var cclc = getCookieCCLC();
	if (cclc=="") cclc="usen";
	preselectCCLC(cclc);
	c=getCookie();
	if (c.indexOf("cc=")>=0) {
		//document.ccform.remember.checked = true;
	}
}

// sets a cookie for the chosen country -- uses "cc" and "lc" in the cookie value
// if it's a remembered setting, uses "pwc" and "pwl" in the cookie value otherwise
function setCookieStuff() {
  s=document.ccform.country;
  i=s.selectedIndex;
  v=s.options[i].value;
  if (i==0) return;
  cc=v.substring(0,2);
  lc=v.substring(2,4);
  //alert("setCookieStuff(): cc="+cc+"; lc="+lc);
  if (cc=="00") {
    deleteCookie();
    //document.ccform.remember.checked=false;
  } else {
    if (true) { // (document.ccform.remember.checked) {
      //alert("setting cookie (permanent)");
      setCookie("cc="+cc+";lc="+lc+";ac=all");
    } else {
      //alert("setting cookie (session)");
      setSessionCookie("cc="+cc+";lc="+lc+";ac=all");
    }
  }
}
