/*---------------------------------------------------------------------------------------------------------------------------
' @file xcontrols.js
' @description
' Diverse Javascript-Hilfsfunktionen fuer interaktive Seitenfunktionen.
' $Header: /cvsroot/cpecom/code/PresentationLayer/i/xcontrols.js,v 1.14 2008/04/10 09:22:30 payer Exp $
' ---------------------------------------------------------------------------------------------------------------------------
*/

/*---------------------------------------------------------------------------------------------------------------------------
' @function setActiveStyleSheet
' @description
' diese Funktion wechselt zwischen Normalansicht und Druckansicht durch aktivieren des
' entsprechenden (CSS) Stylesheets.
' 
' @example
' setActiveStyleSheet('print')
'
' @param title: Gibt an, welche Ansicht aktiviert werden soll ('print', 'default').
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/

function setActiveStyleSheet(title) {
	var i, a, main;
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1
				&& a.getAttribute("title")) {
			a.disabled = true;
			if((a.getAttribute("title") == title) || (a.getAttribute("media") == "print")) a.disabled = false;
			}
		}
	}

/*---------------------------------------------------------------------------------------------------------------------------
' @function startPopup
' @description
' Oeffnet die uebergebene URI in einem neuen Browserfenster ohne toolbar, mit menubar.
' 
' @example
' startPopup('www.news.at','300','350','no')
'
' @param p: URI, der Seite die in dem Popupfenster geoeffnet wird.
' @param w: Breite des Popupfensters.
' @param h: Hoehe des Popupfensters.
' @param s: Scrollbars ('yes', 'no')
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function startPopup(p,w,h,s) {
		window.open(p,'cppopup','width='+w+',height='+h+',toolbar=no,scrollbars='+s+',directories=no,menubar=no');
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function ctlCheck
' @description
' Prueft einen Wert anhand eines regulaeren Ausdrucks.
' 
' @example
' ctlCheck(this.value,/^[A-Za-z]{2}$/,this,'yes')
'
' @param ctlValue: Wert, der ueberprueft wird.
' @param ctlFormat: Regulaerer Ausdruck.
' @param n: Objekt, dessen Wert ('value') geprueft wird.
' @param req: Gibt an, ob der Wert "required" ist.
' 
' @return Das Ergebnis des regulaeren Ausdrucks (true/false).
' @returntype boolean
' ---------------------------------------------------------------------------------------------------------------------------
*/
function ctlCheck(ctlValue,ctlFormat,n,req) {		
  if (req=='no' && ctlValue=='') {
	  n.nok=0;				
		return true;
	}
	if (!ctlFormat.test(ctlValue)) {
	  if(n.nok==0) { 
		  n.nok = 1;
		}			
		return false;
	}
	else {
		n.nok=0;						
		return true;
	}
}

var errF = null;

/*---------------------------------------------------------------------------------------------------------------------------
' @function chF
' @description
' Nicht in Verwendung.
' ---------------------------------------------------------------------------------------------------------------------------
*/
function chF(f) {
		return true;
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function chF2
' @description
' Ueberprueft, ob alle notwendigen Felder einer Form richtig ausgefuellt sind.
' 
' @example
' chF2(document.getElementById('f_orderform')
'
' @param f: Das Formobjekt, das ueberprueft wird.
' 
' @return Das Ergebnis der Ueberpruefung (true/false).
' @returntype boolean
' ---------------------------------------------------------------------------------------------------------------------------
*/
function chF2(f) {
		f.errC = 0;
		myall = (f.all?f.all:f.getElementsByTagName("*")); //IE5 bruacht .all		
		for (i = 0; i < myall.length; i++) {
			if (myall[i].tagName=='INPUT' || myall[i].tagName=='TEXTAREA') {
				if (myall[i].format) {
				  ctlCheck(myall[i].value, myall[i].format, myall[i], myall[i].required);
				}
				if (myall[i].nok) {
					f.errC+=myall[i].nok;					
					myall[i].style.border = '2px solid red';
				}
			}
		}				
		if (f.errC > 0) {
			errF=document.getElementById('warning-'+f.name.slice(2));			
			if (errF != null) {
				errF.style.display = '';
			}
		}
		else {
			errF=document.getElementById('warning-'+f.name.slice(2));
			if (errF != null) {
					errF.style.display = 'none';
			}
		}		
		return (f.errC==0);
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function ctlCheckDate
' @description
' Prueft, ob ein Datumswert gueltig ist.
' 
' @example
' ctlCheckDate('15.11.2002',this,'no')
'
' @param strValue: Wert, der ueberprueft wird.
' @param n: Objekt, dessen Wert ('value') geprueft wird.
' @param req: Gibt an, ob der Wert "required" ist.
' 
' @return Das Ergebnis der Ueberpruefung (true/false).
' @returntype boolean
' ---------------------------------------------------------------------------------------------------------------------------
*/
function ctlCheckDate(strValue,n,req) {
		if(req=='no' && strValue=='') {return true;}
		var objRegExp = /^\d{4}-\d{2}-\d{2}$/;
		if(!objRegExp.test(strValue)) {
			n.nok=1; return false;
		};
		strSeparator = "-";
		arrayDate = strValue.split(strSeparator);
		arrayLookup = { '01' : 31, '03' : 31, '04' : 30, '05' : 31, '06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
		var intDay = parseInt(arrayDate[2],10);
		if((parseInt(arrayLookup[arrayDate[1]],10)!= 'NaN') && (intDay <= arrayLookup[arrayDate[1]]) && (intDay!=0)) 
		{
			n.nok=0; return true;
		};
		intYear = parseInt(arrayDate[0],10);
		intMonth = parseInt(arrayDate[1],10);
		if(intMonth==2){
			if(((intYear%4==0 && intDay<=29)||(intYear%4!=0 && intDay<=28))&& intDay!=0) {
				n.nok=0; return true;
			}; 
		}
		n.nok=1; return false;  
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function ctlCheckDateOld
' @description
' Nicht in Verwendung.
' ---------------------------------------------------------------------------------------------------------------------------
*/
function ctlCheckDateOld(strValue,n,req) {
		if(req=='no' && strValue=='') {n.nok=0;chF(n.form);return true;}
		var objRegExp = /^\d{4}-\d{2}-\d{2}$/;
		if(!objRegExp.test(strValue)) {
			if(n.nok==0 && req!='no'){n.form.errC = n.form.errC+1}  
			n.nok=1; chF(n.form); return false;
		};
		strSeparator = "-";
		arrayDate = strValue.split(strSeparator);
		arrayLookup = { '01' : 31, '03' : 31, '04' : 30, '05' : 31, '06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
		var intDay = parseInt(arrayDate[2],10);
		if((parseInt(arrayLookup[arrayDate[1]],10)!= 'NaN') && (intDay <= arrayLookup[arrayDate[1]]) && (intDay!=0)) {
			if(n.nok==1 && req!='no'){n.form.errC = n.form.errC-1}
			n.nok=0; chF(n.form); return true;
		};
		intYear = parseInt(arrayDate[0],10);
		intMonth = parseInt(arrayDate[1],10);
		if(intMonth==2){
			if(((intYear%4==0 && intDay<=29)||(intYear%4!=0 && intDay<=28))&& intDay!=0) {
				if(n.nok==1 && req!='no'){n.form.errC = n.form.errC-1}
				n.nok=0; chF(n.form); return true;
			}; 
		}
		if(n.nok==0 && req!='no'){n.form.errC = n.form.errC+1}
		n.nok=1; chF(n.form); return false;  
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function cuF
' @description
' Nicht in Verwendung.
' ---------------------------------------------------------------------------------------------------------------------------
*/
function cuF(f) {			
			myall = (f.all?f.all:f.getElementsByTagName("*"));	
			for(i = 0; i < myall.length; i++){
					if(myall[i].tagName=='INPUT') {
					if(myall[i].style.color=='#7f7f7f')	myall[i].value='';
					}
				}
			return true;
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function eEB
' @description
' Aktiviert "editable-block" Element, sodass dessen Felder editiert werden koennen.
' 
' @example
' eEB('id123',document.getElementById('id123'))
'
' @param id: Id, des "editable-block" Elements.
' @param n: <div/> Element des "editable-block".
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function eEB(id,n) {
  state = eval("st"+id);		
  myall = (n.all?n.all:n.getElementsByTagName("*"));				
  for(i = 0; i < myall.length; i++){
  // RQ# 10078
  //  || tagName == 'TEXTAREA'
  // added to use editable-block also for textareas, not only for INPUT tags
    if((myall[i].tagName=='INPUT' || myall[i].tagName=='TEXTAREA') && myall[i].id.substring(0,7)!='selhid-') {      if(state=='inactive') {
        if (myall[i].type=="submit") {
          myall[i].style.visibility="";
        }
        else {
          myall[i].readOnly = false;
          myall[i].disabled = false;
          myall[i].style.border = myall[i].styleinit ? myall[i].styleinit : "2px inset white";
        }
      }
    }
    if(myall[i].tagName=='IMG' || myall[i].tagName=='SPAN') {
      if(state=='inactive') {
        myall[i].style.display="";
        myall[i].style.visibility="";
      }			
    }
    if(myall[i].tagName=='SELECT') {
      if(state=='inactive') {
        nhid='selhid-'+myall[i].name;
        nhobj=document.getElementById(nhid);
        if (nhobj!=null)
          nhobj.style.display="none";
        myall[i].style.display="";
      } 
    }
  }
  document.getElementById(id+"ex").style.visibility='hidden';
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function cat
' @description
' Aktiviert/Deaktiviert Countrypicker im Browser.
' 
' @example
' cat(this,document.getElementById('form_order-shipper-country'),'cbIDASUSXB()')
'
' @param n: <img/> Objekt des Countrypickers.
' @param ctl: Formelement mit Countrypicker.
' @param cpcb: Funktionsname der (vom Stylesheet) dynamisch generierten Funktion.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
var cpObj = null;
var mcpcb;
function cat(n,ctl,cpcb) {
		var elemx1 = document.getElementById("x1");
		var xIframe = document.getElementById("x1-iframe");
		if(elemx1.style.visibility=="") {
			elemx1.style.visibility = "hidden";
			if (xIframe != null)
			    xIframe.style.visibility = "hidden";
			cpObj = null;
		} 
		else {
			aTag = ctl;
			mcpcb = cpcb;
			leftpos = 0;
			toppos = 0;
			do { 
				aTag = aTag.offsetParent; 
				leftpos += aTag.offsetLeft; 
				toppos += aTag.offsetTop; 
			} while(aTag.tagName!="BODY");
			elemx1.style.left = (n.offsetLeft + leftpos) + "px";
			elemx1.style.top = (n.offsetTop + n.offsetHeight + 2 + toppos) + "px";
			elemx1.style.visibility = "";
            if (xIframe != null) {
                xIframe.style.left = elemx1.style.left;
    			xIframe.style.top = elemx1.style.top;
    			xIframe.style.visibility = "";
    		}
			cpObj = ctl;
		}
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function cpr
' @description
' Fuehrt Auswahl im Countrypicker durch. Das Eingabefeld wird mit dem ausgewaehlten Wert befuellt
' und der Countrypicker unsichtbar gemacht.
' 
' @example
' cpr('AT')
'
' @param c: Wert des ausgewaehlten Eintrags.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function cpr(c) {
  var elemx1 = document.getElementById("x1");
	elemx1.style.visibility = "hidden";
	var xIframe = document.getElementById("x1-iframe");
	if (xIframe != null)
        xIframe.style.visibility = "hidden";
	cpObj.value=c;
	eval(mcpcb);
	cpObj = null;
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function catOnChangeDelete
' @description
' Aktiviert/Deaktiviert 2.Countrypicker im Browser.
' 
' @example
' catOnChangeDelete(this,document.getElementById('form_order-shipper-country'),'cbIDASUSXB()')
'
' @param n: <img/> Objekt des Countrypickers.
' @param ctl: Formelement mit Countrypicker.
' @param cpcb: Funktionsname der (vom Stylesheet) dynamisch generierten Funktion.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
var cpObj = null;
var mcpcb;
function catOnChangeDelete(n,ctl,cpcb) {
elemx12 = document.getElementById("x12");
		if(elemx12.style.visibility=="") {
			elemx12.style.visibility = "hidden";
			cpObj = null;
			} else {
			elemx12.style.width = "230px"
			elemx12.style.height = "200px"
			aTag = ctl;
			mcpcb = cpcb;
			leftpos = 0;
			toppos = 0;
			do { aTag = aTag.offsetParent; leftpos += aTag.offsetLeft; toppos += aTag.offsetTop; } while(aTag.tagName!="BODY");
			elemx122.style.left = n.offsetLeft + leftpos;
			elemx12.style.top = n.offsetTop + n.offsetHeight + 2 + toppos;
			elemx12.style.visibility = "";
			cpObj = ctl;
		}
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function cprOnChangeDelete
' @description
' Fuehrt Auswahl im 2.Countrypicker durch. Das Eingabefeld wird mit dem ausgewaehlten Wert befuellt
' und der Countrypicker unsichtbar gemacht.
' 
' @example
' cprOnChangeDelete('AT')
'
' @param c: Wert des ausgewaehlten Eintrags.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function cprOnChangeDelete(c) {
			elemx12 = document.getElementById("x12");
			elemx12.style.visibility = "hidden";
			cpObj.value=c;
			eval(mcpcb);
			cpObj = null;
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function catCur
' @description
' Aktiviert/Deaktiviert Currencypicker im Browser.
' 
' @example
' cat(this,document.getElementById('form_order-shipper-country'),'cbIDASUSXB()')
'
' @param n: <img/> Objekt des Currencypickers.
' @param ctl: Formelement mit Currencypicker.
' @param curpcb: Funktionsname der (vom Stylesheet) dynamisch generierten Funktion.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
var curpObj = null;
var mcurpcb;
function catCur(n,ctl,curpcb) {		
		elemx2 = document.getElementById("x2");
		if(elemx2.style.visibility=="") {		
			elemx2.style.visibility = "hidden";			
			curpObj = null;			
			} else {			
			elemx2.style.width = "230px"
			elemx2.style.height = "200px"			
			aTag = ctl;
			mcurpcb = curpcb;
			leftpos = 0;
			toppos = 0;			
			do { 
				  aTag = aTag.offsetParent;
				  leftpos += aTag.offsetLeft;
				  toppos += aTag.offsetTop; 			
				} while(aTag.tagName!="BODY");			
			elemx2.style.left = (n.offsetLeft + leftpos) + "px";		
			elemx2.style.top = (n.offsetTop + n.offsetHeight + 2 + toppos) + "px";						
			elemx2.style.visibility = "";
			curpObj = ctl;
		}
}

/*---------------------------------------------------------------------------------------------------------------------------
' @function curpr
' @description
' Fuehrt Auswahl im Currencypicker durch. Das Eingabefeld wird mit dem ausgewaehlten Wert befuellt
' und der Currencypicker unsichtbar gemacht.
' 
' @example
' curpr('EUR')
'
' @param c: Wert des ausgewaehlten Eintrags.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/function curpr(c) {
			elemx2 = document.getElementById("x2");
			elemx2.style.visibility = "hidden";
			curpObj.value=c;
			eval(mcurpcb);
			curpObj = null;
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function deleteFormFields
' @description
' Loescht Formfelder.
' 
' @example
' deleteFormFields('form_order-agent-name|order-agent-address|order-agent-zipcode|order-agent-city')
'
' @param fieldnames: Die Formfelder, die geloescht werden sollen, getrennt durch vertikale
' Trennzeichen.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function deleteFormFields(fieldnames){
	var fieldnameArray = fieldnames.split("|");
	for (var i = 0; i < fieldnameArray.length; i++){
		var currentFieldname = fieldnameArray[i];
		if (document.getElementsByName(currentFieldname)[0] != null){
			document.getElementsByName(currentFieldname)[0].value = "";
		}
		if (document.getElementById(currentFieldname) != null){
			if (document.getElementById(currentFieldname).id != 0){
			document.getElementById(currentFieldname).style.display = "none";
			}
		}
	}
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function srbctrl
' @description
' Funktion zum Aktivieren/Deaktivieren von Radiobuttongroups.
' Nicht in Verwendung.
' ---------------------------------------------------------------------------------------------------------------------------
*/
var srbparentdiv = null;
function srbctrl(srbparentid,srbchildid) {
	srbparentdiv = document.getElementById(srbparentid);
	myall = srbparentdiv.getElementsByTagName("*");
	for(i = 0; i < myall.length; i++){
		if(myall.all[i].tagName=='DIV') {
			if(myall.all[i].id.substring(0,3)=='srb'){
				myall.all[i].style.display = 'none';
			}
		}
	}
	document.getElementById(srbchildid).style.display='';
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function writeCurrencyPickerTable
' @description
' Erzeugt Waehrungsauswahl im Browser.
' 
' @example
' writeCurrencyPickerTable()
'
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function writeCurrencyPickerTable() {
var curC = new Array("AED","AFA","ALL","AMD","ANG","AON","ARP","ATS","AUD","AWF","AZM","BAK","BBD","BDT","BEF","BGL","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTR","BWP","BYR","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUP","CVE","CYP","CZK","DEM","DJF","DKK","DOP","DZD","ECS","EEK","EGP","ERN","ESP","ETB","EUR","FIM","FJD","FKP","FRF","GBP","GEL","GHC","GIP","GMD","GNF","GRD","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","IEP","ILS","INR","IQD","IRR","ISK","ITL","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LUF","LVL","LYD","MAD","MDL","MGF","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXP","MYR","MZM","NAD","NGN","NIO","NLG","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLZ","PTE","PYG","QAR","ROL","RUR","RWF","SAR","SBD","SBL","SCR","SDD","SEK","SGD","SHP","SIT","SKK","SLL","SOS","SRG","STD","SVC","SYP","SZL","THB","TJR","TMM","TND","TOP","TRL","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEB","VND","VUV","WST","XAF","YER","YUN","ZAR","ZMK","ZWD");
var curNM = new Array("Dirham","Afghani","Lek","Dram","Guilder","New Kwanza","Peso","Schilling","Dollar","Florin","Manat","Convertible Mark","Dollar","Taka","Franc","Lev","Dinar","Burundi Franc","Dollar","Dollar","Boliviano","Brazilian Real","Dollar","Rupee","Pula","Ruble","Dollar","Dollar","Congolese Franc","Franc","Peso","Yuan Renminbi","Peso","Colon","Peso","Escudo","Pound","Koruna","Deutsche Mark","Franc","Krone","Peso","Algerian Dinar","Sucre","Kroon","Pound","Nakfa","Peseta","Birr","Euro","Markka","Dollar","Pound","Franc","Pound Sterling","Lari","Cedi","Pound","Dalasi","Franc","Drachma","Quetzal","Dollar","Dollar","Lempira","Kuna","Gourde","Forint","Rupiah","Punt","Shekel","Rupee","Dinar","Rial","Krona","Lira","Dollar","Dinar","Yen","Shilling","Som","Riel","Franc","Won","Won","Dinar","Dollar","Tenge","Kip","Pound","Rupee","Dollar","Loti","Lita","Franc","Lat","Dinar","Dirham","Leu","Malagasy Franc","Denar","Kyat","Tugrik","Pataca","Ouguiya","Lira","Rupee","Rufiyaa","Kwacha","Peso","Ringgit","Metical","Dollar","Naira","Cordoba Oro","Guilder","Krone","Nepalese Rupee","Dollar","Sul Rial","Balboa","Nuevo Sol","Kina","Peso","Rupee","Zloty","Escudo","Guarani","Rial","Leu","Ruble","Rwanda Franc","Riyal","Dollar","Luigino","Rupee","Dinar","Krona","Dollar","Pound","Tolar","Koruna","Leone","Shilling","Guilder","Dobra","Colon","Pound","Lilangeni","Baht","Ruble","Manat","Dinar","Pa'anga","Lira","Dollar","Dollar","Shilling","Hryvnia","Shilling","US Dollar","Peso","Som","Bolivar","Dong","Vatu","Tala","Franc","Rial","New Dinar","Rand","Kwacha","Zimbabwe Dollar");
document.write('<table class="curpicker">');
for	(i=0;i<curC.length;i++)
{
	document.write("<tr style=\"cursor:hand;\" onmouseover=\"this.style.backgroundColor='#fffff0'\" onmouseout=\"this.style.backgroundColor='#ffffff'\" onclick=\"curpr('"+curC[i]+"')\"><td>"+curC[i]+"</td><td>"+curNM[i]+"</td></tr>");
}
document.write("</table>");
}


/*---------------------------------------------------------------------------------------------------------------------------
' @function writeCountryPickerTable
' @description
' Erzeugt Laenderauswahl im Browser
' 
' @example
' writeCountryPickerTable('yes', 'form_order-agent-name|order-agent-address|order-agent-zipcode')
'
' @param checkOnChangeDelete: Gibt an, ob bei einer Auswahl bestimmte Formfeder geloescht werden
' sollen.
' @param fieldnames: Die Formfelder, die geloescht werden sollen, getrennt durch vertikale
' Trennzeichen.
' 
' @return Null
' ---------------------------------------------------------------------------------------------------------------------------
*/
function writeCountryPickerTable (checkOnChangeDelete, fieldnames){
				  var cpIC = new Array("AF","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","TP","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IL","IT","JM","JP","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","SH","KN","LC","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW");
				  var cpNM = new Array("Afghanistan","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua And Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia And Herzegovina","Botswana","Bouvet Island","Brazil","British Indian Ocean Territory","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Congo, Democratic Republic","Cook Islands","Costa Rica","Cote D'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","East Timor","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Falkland Islands (Malvinas)","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Heard Mcdonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran, Islamic Republic Of","Iraq","Ireland","Israel","Italy","Jamaica","Japan","Jordan","Kazakstan","Kenya","Kiribati","Korea, Democratic People'S Rep.","Korea, Republic Of","Kuwait","Kyrgyzstan","Lao People'S Democratic Rep","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia, Former Yugoslav Rep","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia, Federated States","Moldova, Republic Of","Monaco","Mongolia","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territory, Occ.","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Helena","Saint Kitts And Nevis","Saint Lucia","Saint Pierre And Miquelon","Saint Vincent","Samoa","San Marino","Sao Tome And Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia And Islands","Spain","Sri Lanka","Sudan","Suriname","Svalbard And Jan Mayen","Swaziland","Sweden","Switzerland","Syrian Arab Republic","Taiwan","Tajikistan","Tanzania, United Republic Of","Thailand","Togo","Tokelau","Tonga","Trinidad And Tobago","Tunisia","Turkey","Turkmenistan","Turks And Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","United States Minor Outl. Isl.","Uruguay","Uzbekistan","Vanuatu","Venezuela","Viet Nam","Virgin Islands, British","Virgin Islands, U.S.","Wallis And Futuna","Western Sahara","Yemen","Zambia","Zimbabwe");
				  document.write('<table class="cpicker">');
				  if (checkOnChangeDelete == 'no'){
					for (i=0; i<cpIC.length; i++){
					  document.write("<tr style=\"cursor:pointer;\" onmouseover=\"this.style.backgroundColor='#fffff0'\" onmouseout=\"this.style.backgroundColor='#ffffff'\" onclick=\"cpr('"+cpIC[i]+"')\"><td>"+cpIC[i]+"</td><td>"+cpNM[i]+"</td></tr>");
					}
				  }
				  else
					for (i=0;i<cpIC.length;i++)
					{
					  document.write("<tr style=\"cursor:pointer;\" onmouseover=\"this.style.backgroundColor='#fffff0'\" onmouseout=\"this.style.backgroundColor='#ffffff'\" onclick=\"cprOnChangeDelete('"+cpIC[i]+"');deleteFormFields(' "+fieldnames+"');\"><td>"+cpIC[i]+"</td><td>"+cpNM[i]+"</td></tr>");
					}
				document.write('</table>');
}
			

var isIE=navigator.userAgent.toUpperCase().indexOf("MSIE")!=-1;
			
function adjustHeightOnResize() {
  if (adjustHeightOldOnResize) 
    adjustHeightOldOnResize();
  adjustHeight();
}

function adjustHeightOnLoad() {
  if (adjustHeightOldOnLoad) 
    adjustHeightOldOnLoad();
  adjustHeight();
}

function adjustHeight() {
  var targetElement=document.getElementById("main"),
      elementOffset=110+34 /* header + footer */, documentHeight, totalOffset, styleOffset=-4;

  if (targetElement && document.documentElement.offsetHeight
    && targetElement.offsetHeight) {
    documentHeight=document.documentElement.offsetHeight;
    if (targetElement.offsetHeight<documentHeight-elementOffset) {
      if (isIE) 
        totalOffset=elementOffset;
      else 
        totalOffset=elementOffset+styleOffset;
      targetElement.style.height=String(documentHeight-totalOffset)+'px';
    }
  }
}

function hideLangSelector() {
  document.getElementById("select-lang").style.visibility="hidden";
}

function showLangSelector() {
  document.getElementById("select-lang").style.visibility="";
}

