	var bvIE = (document.all && document.getElementById ? true : false);
	var bvNS4 = (document.layers ? true : false);
	var bvNS6 = (document.getElementById && !document.all ? true : false);
	var cszWording1 =  'Calls&nbsp;To&nbsp;:&nbsp;';     
	var cszWording2 =  '&nbsp;<input type=text name=txtMins size=6 maxlength=6">&nbsp;minutes<br>';     
	var cszWording1CH =  '<span style="font-size:11pt;FONT-FAMILY: Verdana">撥打&nbsp;:&nbsp;</span>';     
	var cszWording2CH=  '&nbsp;<input type=text name=txtMins size=6 maxlength=6">&nbsp;<span style="font-size:11pt;FONT-FAMILY: Verdana">分鐘</span><br>';     
	var cszErrLastBill = 'Please enter the total amount of your last month\'s long-distance phone bill (including monthly fee and other recurring charges) .';
	var cszErrAeraCode = 'Sorry, the area code you have entered is invalid, please re-enter your area code.';
	var cszErrPhoneCode = 'Sorry, the number you have entered is invalid, please re-enter the first three digits of your telephone number.';
	var cszErrLastBillCH = '請輸入您最近一個月長途電話帳單的應繳總額 (含月費及其他費用)。';
	var cszErrAeraCodeCH = '抱歉，您所輸入的區域碼不正確，請您重新輸入一遍。';
	var cszErrPhoneCodeCH = '抱歉，您所輸入的電話號碼不正確，請您重新輸入前三位數電話號碼。';
	var mszLanguage = getUserLang();
	
	function cancelEventResponse(event) { 
		if(event.preventDefault) event.preventDefault();
		else event.returnValue=false;
	}
	
	function getUserLang() {
		var szPath = (window.document.location.pathname).toUpperCase();
		if (szPath.indexOf('CH/') > 0)
			return 'CH';
		return '';
	}
	
	function reserveSelectOptions() {
		try {
			if (document.getElementById('hidSelectedValue')) {
				var szSelectValue = document.getElementById('hidSelectedValue').value;	
				if(szSelectValue.length>0) {
					var objSelCountry = document.getElementsByName('selCountry');
					var objtxtMins = document.getElementsByName('txtMins');
					var szarSelect = szSelectValue.split(';');
					var szarSubSelect ;
					if(objSelCountry && objtxtMins) {
						for(var dwPos=0; dwPos<szarSelect.length;dwPos++) {
							szarSubSelect = szarSelect[dwPos].split(',');
							if(szarSubSelect[1]) objSelCountry[szarSubSelect[0]].selectedIndex = isNaN(szarSubSelect[1])?0:szarSubSelect[1];
							if(szarSubSelect[2]) objtxtMins[szarSubSelect[0]].value = isNaN(szarSubSelect[2])?'':szarSubSelect[2];
						}
					}
				}
			} 
		}
		catch(e) {
			alert('Function : reserveSelectOptions()\n\r Error number : ' + (e.number & 0xFFFF) + '\n\r\n\r Message : ' + e.message + '\n\r Description : ' + e.description);		
		}
		finally {
			return;
		}
	}
		
		
	function addCountryOption(event) {
		try {
			var objDivSelCountry = document.getElementById('divSelectCountry');
			if(objDivSelCountry) {
				var szSelect = document.getElementById('hidCountryList').value;
				var dwCount = (arguments.length ? (isNaN(arguments[0]) ? 1 : arguments[0]) : 1);
				if(!bvIE && dwCount==1) setSelectValue();
				for(var dwPos=0;dwPos<dwCount;dwPos++) 
					objDivSelCountry.innerHTML = objDivSelCountry.innerHTML + eval('cszWording1' + mszLanguage) + szSelect + eval('cszWording2' + mszLanguage);
			}
		}
		catch(e) {
			if (!e.message) 
				alert('Function : addCountryOption()\n\r' + e);
			else
				alert('Function : addCountryOption()\n\r Error number : ' + (e.number & 0xFFFF) + '\n\r\n\r Message : ' + e.message + '\n\r Description : ' + e.description);		
		}
		finally {
			if(!bvIE && dwCount==1) reserveSelectOptions();
			cancelEventResponse(event);
		}
	}
	
	
	function setSelectValue() {
		try {
			var objselCountrys = document.getElementsByName('selCountry');
			var objtxtMins = document.getElementsByName('txtMins');
			var dwSelectCnt = objselCountrys.length;
			var dzTemp = '';
			var dwSelIndex = 0; 
			
			for(var dwPos=0;dwPos<dwSelectCnt;dwPos++) {
				dwSelIndex = objselCountrys[dwPos].selectedIndex;
				dzTemp = dzTemp + dwPos + "," + dwSelIndex + ',' + (objtxtMins[dwPos]?(isNaN(objtxtMins[dwPos].value)?'':objtxtMins[dwPos].value):'') + ";";
				//dzTemp = dzTemp + dwPos + "," + objselCountrys(dwPos).options(dwSelIndex).value + (objtxtMins(dwPos)?(objtxtMins(dwPos).value?objtxtMins(dwPos).value:0):0) + "&";
			}
		}
		catch(e) {
			alert('Function : setSelectValue()\n\r Error number : ' + (e.number & 0xFFFF) + '\n\r\n\r Message : ' + e.message + '\n\r Description : ' + e.description);		
		}
		finally {
			if(dzTemp.length) dzTemp = dzTemp.substr(0, dzTemp.length - 1);
			document.getElementById('hidSelectedValue').value = dzTemp;
			return;
		}
	}
	
	
	function resetEntry(event) {
		document.getElementById('divResult').style.display = 'none';
		document.getElementById('divSelectCountry').innerHTML = '';
		document.getElementById('txtIntramin').value = '';
		document.getElementById('txtIntermin').value = '';
		addCountryOption(3);
		cancelEventResponse(event);
	}
	
	
	function verifyData(event) {
		try {
			if(document.getElementById('divResult')) document.getElementById('divResult').style.display = 'none';
			var objForm = document.frmRate;
			var szBillAmount = objForm.txtBill.value;
			var szPhone1 = objForm.txtPhone1.value;
			var szPhone2 = objForm.txtPhone2.value;
			
			if (szBillAmount.length > 0 && !isNaN(szBillAmount) && (szBillAmount > 0)) {
				if ((szPhone1.length < 3) || isNaN(szPhone1)) {
					alert(eval('cszErrAeraCode' + mszLanguage));
				}
				else if((szPhone2.length < 3) || isNaN(szPhone2)) {
					alert(eval('cszErrPhoneCode' + mszLanguage));
				}
				else {
					setSelectValue();
					objForm.submit();
					return true;
				}
			} 
			else 
				alert(eval('cszErrLastBill' + mszLanguage));
		}
		catch(e) {
			alert('Function : setSelectValue()\n\r Error number : ' + (e.number & 0xFFFF) + '\n\r\n\r Message : ' + e.message + '\n\r Description : ' + e.description);		
		}
		finally {
			cancelEventResponse(event);
		}
	}
	
	
	function prepareBodyOnload() {
		var dwhidSelectedValue= document.getElementById('hidSelectedValue').value;
		var dwDefault = (dwhidSelectedValue.indexOf(";")>0)?dwhidSelectedValue.split(";").length:3;
		
		addCountryOption(dwDefault);
		reserveSelectOptions();
		if(bvIE) document.body.scrollIntoView(true);
		if(dwhidSelectedValue.length > 0) document.location.href = '#pageBottom';
		
		if(bvIE) {
			with(document.all) {
				cmdAddCountry.attachEvent('onclick', addCountryOption);
				cmdReset.attachEvent('onclick', resetEntry);
				cmdCalculate.attachEvent('onclick', verifyData); //Or document.frmRate.attachEvent('onsubmit', verifyData);
				cmdCalculate.focus();
			}
		} 
		else {			
			document.getElementById('cmdAddCountry').addEventListener('click', addCountryOption, false);
			document.getElementById('cmdReset').addEventListener('click', resetEntry, false);
			document.getElementById('cmdCalculate').addEventListener('click', verifyData, false);
		}
	}


	if(bvIE) {
		document.attachEvent('oncontextmenu',cancelEventResponse);
		window.attachEvent('onload',prepareBodyOnload)
	}
	else {
		document.addEventListener('contextmenu', cancelEventResponse, false);
		window.addEventListener('load', prepareBodyOnload, false);
	}
