function submitForm(fun,evt){
	var e=(evt)?evt:(window.event?window.event:"");
	var keyCode= e.keyCode ? e.keyCode : e.which;
	if(keyCode==13){
		eval(fun);
	}
}
//-----------------------------------------------------------------------------------------
// Global paramenters
//-----------------------------------------------------------------------------------------
var daysOfMonth = new Object();
daysOfMonth ['Jan'] = daysOfMonth ['January']  = daysOfMonth [1]  = 31;
daysOfMonth ['Feb'] = daysOfMonth ['February']  =  daysOfMonth [2] = 28;
daysOfMonth ['Mar'] = daysOfMonth ['March']  = daysOfMonth [3] = 31;
daysOfMonth ['Apr'] = daysOfMonth ['April']  = daysOfMonth [4] = 30;
daysOfMonth ['May'] = daysOfMonth ['May']  = daysOfMonth [5] = 31;
daysOfMonth ['Jun'] = daysOfMonth ['June']  = daysOfMonth [6] = 30;
daysOfMonth ['Jul'] = daysOfMonth ['July']  = daysOfMonth [7] = 31;
daysOfMonth ['Aug'] = daysOfMonth ['August']  = daysOfMonth [8] = 31;
daysOfMonth ['Sep'] = daysOfMonth ['September'] = daysOfMonth [9] = 30;
daysOfMonth ['Oct'] = daysOfMonth ['October']  = daysOfMonth [10] = 31;
daysOfMonth ['Nov'] = daysOfMonth ['November']  = daysOfMonth [11] = 30;
daysOfMonth ['Dec'] = daysOfMonth ['December']  = daysOfMonth [12] = 31;

//-----------------------------------------------------------------------------------------
// Validate the date (Generic function)
// (Where the syear, smonth, sday are in values !!)
//-----------------------------------------------------------------------------------------
function validDate(year, month, day) {
	if (month == 0)
		return false;
	if (day == 0)
		return false;
	if (year == 0)
		return false;

	if (month < 1 || month > 12)
		return false;
	if (day < 1)
		return false;
	if (month == 2 && isLeapYear(year))
		var dayLimit = 29;
	else
		var dayLimit = daysOfMonth[month];
	if (day > dayLimit)
		return false;
	if (year < 2008)
		return false;

	return true;
}
//-----------------------------------------------------------------------------------------
// Validate the date (yyyy-MM-dd)
//-----------------------------------------------------------------------------------------
function gjfValidfulldate2(testdate)
{ 
	if (testdate.length != 10) {
		return false;
	}
	if (!((testdate.charAt(4) == "-") && (testdate.charAt(7) == "-"))) {
		return false;
	}
	else{
		var datearray = testdate.split("-");
		if ((!isNumeric(datearray[2])) || (!isNumeric(datearray[1])) || (!isNumeric(datearray[0]))) {
			return false;
		}
		return validDate(parseInt(datearray[0],10),parseInt(datearray[1],10),parseInt(datearray[2],10));				
	}
	return true;
}

//-----------------------------------------------------------------------------------------
// Check for leap year
//-----------------------------------------------------------------------------------------
function isLeapYear(y) {
	return (y % 4 == 0  && (y % 400 == 0 || y % 100 != 0))
}

//-----------------------------------------------------------------------------------------
//display error message ('field name', 'err msg')
//-----------------------------------------------------------------------------------------
function error(elem, text) {
	if (errfound) return;
		window.alert (text);
		elem.focus();
		errfound=true;
}

//-----------------------------------------------------------------------------------------
// Check for valid email
//-----------------------------------------------------------------------------------------
function validEmail(item) {
	var emailreg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,6})$/;

	if (emailreg.test(item) == false)
		return false;

	return true;
}

//-----------------------------------------------------------------------------------------
// Check for phone no
//-----------------------------------------------------------------------------------------
function validMoby(item) {
	var mobyreg = /^((\(?[\d]{2,4}\)?\-)?[\d]{2,11})$|^[\d]{15}$/
	
	if (mobyreg.test(item) == false)
		return false;

	return true;
}
//-----------------------------------------------------------------------------------------
// Check for text length of a textfield
//-----------------------------------------------------------------------------------------
function validLength(item, len) {
	return (item.length >= len);
}

//-----------------------------------------------------------------------------------------
// Check only numeric 0, 1, 2,.......9
//-----------------------------------------------------------------------------------------
function isNumeric(str) {
	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
	if (!((temp=="0") || (temp=="1") || (temp=="2") || (temp=="3") || (temp=="4") || (temp=="5") || (temp=="6") || (temp=="7") || (temp=="8") || (temp=="9"))){
		return false;
		break;
	}
	// if j = last term, it means true - all char are digits!! Great!!
	// str.length-1 since j starts from 0!
	if(j == str.length-1)
		return true;
	}
}

//-----------------------------------------------------------------------------------------
// Validate the date when the inputs are from the Textfields
// (Where the syear, smonth, sday are in document.form_name.field_name !!)
//-----------------------------------------------------------------------------------------
function validTextDate(syear, smonth, sday) {
	var year = Number(syear.value);
	var month = Number(smonth.value);
	var day = Number(sday.value);
	if ((!Number(syear.value))||(!Number(smonth.value))||(!Number(sday.value)))
		return false;
	else
		return validDate(year, month, day);
}

function validTextDate2(syear, smonth, sday) {
	var year = Number(syear);
	var month = Number(smonth);
	var day = Number(sday);
	if ((!Number(syear))||(!Number(smonth))||(!Number(sday)))
		return false;
	else
		return validDate(year, month, day);
}

function isValidIdNumber(val) {
	var coeff = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
	var sum = 0;

	if (val.length == 15) {
		var tmpyear1 = '19' + val.charAt(6) + val.charAt(7);
		var tmpyear2 = '20' + val.charAt(6) + val.charAt(7);
		var tmpmth = val.charAt(8) + val.charAt(9);
		var tmpday = val.charAt(10) + val.charAt(11);

		if (!isNumeric(val))
			return false;
		if ((validTextDate2(tmpyear1,tmpmth,tmpday)) || (validTextDate2(tmpyear2,tmpmth,tmpday)))
			return true;
		else
			return false;
	}
	else if (val.length == 18) {
		var i;
		var sum;
		var tmpyear = val.charAt(6) + val.charAt(7) + val.charAt(8) + val.charAt(9);
		var tmpmth = val.charAt(10) + val.charAt(11);
		var tmpday = val.charAt(12) + val.charAt(13);

		if (!isNumeric(val.charAt(0) + val.charAt(1) + val.charAt(2) + val.charAt(3) + val.charAt(4) + val.charAt(5) + val.charAt(6) + val.charAt(7) + val.charAt(8) + val.charAt(9) + val.charAt(10) + val.charAt(11) + val.charAt(12) + val.charAt(13) + val.charAt(14) + val.charAt(15) + val.charAt(16)))
			return false;
		
		if (!validTextDate2(tmpyear,tmpmth,tmpday))
			return false;

		for (i=0;i<17;i++) {
			var digit = Number(val.charAt(i));
			sum += coeff[i] * digit;
		}
		
		var lastIdChar = val.charAt(17);
		var checksum = "";
		var remainder = sum % 11;

		switch(remainder) {
            case 0:
                checksum = "1";
                break;
            case 1:
                checksum = "0";
                break;
            case 2:
                checksum = "X";
                break;
            case 3:
                checksum = "9";
                break;
            case 4:
                checksum = "8";
                break;
            case 5:
                checksum = "7";
                break;
            case 6:
                checksum = "6";
                break;
            case 7:
                checksum = "5";
                break;
            case 8:
                checksum = "4";
                break;
            case 9:
                checksum = "3";
                break;
            case 10:
                checksum = "2";
                break;
		}
		
		if (checksum.toUpperCase() == lastIdChar.toUpperCase())
			return true;
		else
			return false;
	}
	else {
		return false;
	}
	
	return true;
}


function MM_openBrWindow(theURL,winName,features) { 
	window.open(theURL,winName,features);
}

String.prototype.trim=function() {  
	return this.replace(/(^[\s]*)|([\s]*$)/g,"");
}

String.prototype.Ltrim=function() {  
	return this.replace(/\s*((\S+\s*)*)/,"");
}

String.prototype.Rtrim=function() {  
	return this.replace(/((\s*\S+)*)\s*/,"");
}

function checkChinaMobile(phone,phonealert) {
	var phone=document.getElementById(phone).value.trim();
	var filter=/^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
	if(!filter.test(phone)) {
	   document.getElementById(phonealert).style.display="";
	} else {
		document.getElementById(phonealert).style.display="none";
	}
	if(phone=="") {
		document.getElementById(phonealert).style.display="none";
	}
}


//// i_common.js //////////////////////////////////////////////////////////////////////////////////////////

var i_errfound; //for function error()
var isCheckAll = false;

String.prototype.trim=function()
{
   return this.replace(/^\s*(.*?)[\s\n]*$/g,   '$1');
   
} 

/*
function mouseOver(msg)
{
   alert(msg);
}
function mouseOut()
{
//document.b1.src ="b_pink.gif";
}
*/


function popup(val_1, val_2) {
	window.open('select_city.php?field=' + val_1 + '&field2=' + val_2,'','width=300,height=150,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=yes,left=100,top=50')
}

function gjftrim(argvalue) {
	var tmpstr = gjfltrim(argvalue);
	
	return gjfrtrim(tmpstr);
}

function gjfltrim(argvalue) {
	while (1) {
		if (argvalue.substring(0, 1) != ' ')
			break;
			
		argvalue = argvalue.substring(1, argvalue.length);
	}
	
	return argvalue;
}

function gjfrtrim(argvalue) {
	while (1) {
		if (argvalue.substring(argvalue.length - 1, argvalue.length)!= ' ')
			break;
		argvalue = argvalue.substring(0, argvalue.length - 1);
	}
	
	return argvalue;
}

/*
function gjferror(elem, text) {
	if (i_errfound) return;	
	window.alert (text);
	elem.focus();
	i_errfound=true;
}

*/
function gjfValidLength(item, len) {
	return (item.length >= len);
}

function gjfIsNum(str) {
	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
		
		if (!((temp=="0") || (temp=="1") || (temp=="2") || (temp=="3") || (temp=="4") || (temp=="5") || (temp=="6") || (temp=="7") || (temp=="8") || (temp=="9") )){
			return false;
			break;
		}
	}
	
	return true;
}


//-----------------------------------------------------------------------------------------
// Validate the date (Generic function)
// (Where the syear, smonth, sday are in values !!)
//-----------------------------------------------------------------------------------------
function gjfValidDate(syear, smonth, sday) {
	var year = syear * 1;
	var month = smonth * 1;
	var day = sday * 1;

	if (isNaN(year))
		return false;
	if (isNaN(month))
		return false;
	if (isNaN(day))
		return false;
	if (month == 0)
		return false;
	if (day == 0)
		return false;
	if (year == 0)
		return false;
	if (year < 1900)
		return false;
	if (month < 1 || month > 12)
		return false;
	if (day < 1)
		return false;
	if (month == 2 && gjfIsLeapYear(year))
		var dayLimit = 29;
	else
		var dayLimit = daysOfMonth[month];

	if (day > dayLimit)
		return false;

	return true;
}

//-----------------------------------------------------------------------------------------
// Check for leap year
//-----------------------------------------------------------------------------------------
function gjfIsLeapYear(y) {
	return (y % 4 == 0  && (y % 400 == 0 || y % 100 != 0))
}

function gjfValidfulldate(testdate)
{
	if (testdate.length != 10) {
		return false;
	}
	
	if (!((testdate.charAt(2) == "/") && (testdate.charAt(5) == "/"))) {
		return false;
	}
	else {
		var datearray = testdate.split("/");
		
		if ((!gjfIsNum(datearray[2])) || (!gjfIsNum(datearray[1])) || (!gjfIsNum(datearray[0]))) {
			return false;
		};
		
		return gjfValidDate(parseInt(datearray[2],10),parseInt(datearray[1],10),parseInt(datearray[0],10));				
	}
	
	return true;
}

function gjfIsLetterOrDigit(c) {
	return (gjfIsLetter(c) || gjfIsNum(c))
}

function gjfIsLetter(c) {
	return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) );
}

function wordcount(string) {
	var a = string.split(/\s+/g); // split the sentence into an array of words
	return a.length;
}

function gjfIsTelephone(str) {
	if (gjftrim(str) == "") { 
		return false;
	}

	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
		
		if (!((temp=="0") || (temp=="1") || (temp=="2") || (temp=="3") || (temp=="4") || (temp=="5") || (temp=="6") || (temp=="7") || (temp=="8") || (temp=="9") || (temp=="(") || (temp==")") || (temp=="+") || (temp=="-") || (temp==" "))) {
			return false;
			break;
		}
		
		if(j == str.length-1)
			return true;
	}
}

function gjfIsNotEnglishChar(c){
	return (((c >= " ") && (c <= "~")) || (escape(c) == "%0D")  || (escape(c) == "%0A"));
}
 
function Compare2Days(testdate1, testdate2){
	//testdate1 should be the earlier date
	datearray1 = testdate1.split("-");
	datearray2 = testdate2.split("-");
    targetDate1 = new Date(parseInt(datearray1[0],10),parseInt(datearray1[1]-1,10),parseInt(datearray1[2],10));
    targetDate2 = new Date(parseInt(datearray2[0],10),parseInt(datearray2[1]-1,10),parseInt(datearray2[2],10));	    	    
    
   
    if ((targetDate1 - targetDate2) == 0) {
		return 0;
	}else if ((targetDate1 - targetDate2)> 0) {	
		return -1;
    }else{
		return 1;
    }
	
}


function isAlphabetAndNumeric(value)
{
	var len=value.length;
	var pattern=new RegExp("^[A-Za-z0-9]+$");
	var patternNum=new RegExp("[0-9]");
	var patternChar=new RegExp("[A-Za-z]");
	if(pattern.test(value)){
		if(patternNum.test(value) && patternChar.test(value)) 
			return true;
		else 
			return false;
	}else
		return false;
}

function isAlphabet2(str){
	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
		if (!(isLetter(temp)) && !(isSpace(temp)) && (temp != "/")){
			return false;
			break;
		}

		// if j = last term, it means true - all char are ok!! Great
		if(j == str.length-1)
			return true;
	}
}

function validChinaMobile(item) {
	var phonereg = /^13[0-9]{9}$|^15[0-9]{9}$|^18[0-9]{9}$/
	
	if (phonereg.test(item) == false)
		return false;

	return true;
}

function validTaiwanMobile(item) {
	var phonereg = /^09[0-9]{8}$/
	
	if (phonereg.test(item) == false)
		return false;

	return true;
}

function containSlash(str) {
	var noOfSlash;
	noOfSlash = 0;

	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
		if (temp == "/") {
			noOfSlash++;
		}
	}
	
	return noOfSlash;
}

function charOnKeyboard(str) {
	var charlist = '`1234567890-=qwertyuiop[]\asdfghjkl;\'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>? ';

	for (var j=0; j<str.length; j++) {
		if (charlist.indexOf(str.charAt(j)) != -1) {
			return true;
			break;
		}
	}

	return false;
}

var xmlHttp;
var typestr;

function createXMLHttpRequest(){
	if(window.ActiveXObject){
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}else if(window.XMLHttpRequest){
		xmlHttp=new XMLHttpRequest();
	}
}

String.prototype.getElementsByName = function(name){
	var re = new RegExp("[\w\W]*<" + name + ">[^<]*</" + name + ">[\w\W]*","ig"),
	r,
	re2 = new RegExp("<" + name + ">"),
	re3 = new RegExp("</" + name + ">");
	if(r=this.match(re)){
  		return unescape((r[0].trin(re2)).trin(re3));
 	}
 	return null;
};

String.prototype.trin = function(re){ 
  return this.replace(re, "");
};

function doTripLoad(root,type){
	typestr=type
	var url=root+"tripInfomation.php";
	$.ajax({
	 type: "GET",
	 url: url,	 
	 success: function(msg){ doTripStatusChange(msg)}
	}); 
}

function doTripStatusChange(xmlDoc){

			var departCity=xmlDoc.getElementsByName("DepartCity");			
			document.getElementById("departCity").innerHTML=departCity;
			var returnCity=xmlDoc.getElementsByName("ReturnCity");
			document.getElementById("returnCity").innerHTML=returnCity;
			var departDate=xmlDoc.getElementsByName("DepartDate");
			document.getElementById("departDate").innerHTML=departDate;			
			if (typestr== "RT"){
				var returnDate=xmlDoc.getElementsByName("ReturnDate");
				document.getElementById("returnDate").innerHTML=returnDate;
			}
			var language=xmlDoc.getElementsByName("Language");
			var totalAmount=xmlDoc.getElementsByName("TotalAmount");
			var currency=xmlDoc.getElementsByName("Currency");
			//if(language == "sc"){
				//var totalAdult=xmlDoc.getElementsByName("TotalAdult");
				//document.getElementById("totalAdult").innerHTML=totalAdult+document.getElementById("totalAdult").innerHTML;
				//var totalCost_adult=xmlDoc.getElementsByName("TotalCostAdult");
				
				//document.getElementById("totalCost_adult").innerHTML=currency+" "+totalCost_adult;
				//var totalTax_adult=xmlDoc.getElementsByName("TotalTaxAdult");
				//document.getElementById("totalTax_adult").innerHTML=currency+" "+totalTax_adult;
				
				//var totalChild=xmlDoc.getElementsByName("TotalChild");
				//if (totalChild.length){
				//	document.getElementById("child").style.display='block';
				//	document.getElementById("tax_child").style.display='block';
				//	document.getElementById("totalChild").innerHTML=totalChild+document.getElementById("totalChild").innerHTML;
				//	var totalCost_child=xmlDoc.getElementsByName("TotalCostChild");
				//	document.getElementById("totalCost_child").innerHTML=currency+" "+totalCost_child;
				//	var totalTax_child=xmlDoc.getElementsByName("TotalTaxChild");
				//	document.getElementById("totalTax_child").innerHTML=currency+" "+totalTax_child;
				//}else{
				//	document.getElementById("child").style.display='none';	
				//	document.getElementById("tax_child").style.display='none';
				//}
			//}else if(language == "en"){
				document.getElementById("total_Amount").innerHTML=currency+" "+totalAmount;
			//}	
			
			document.getElementById("totalAmount").innerHTML=currency+" "+totalAmount;
			document.getElementById("next").style.display="block";
			document.getElementById("startover").style.display="block";
}

function openFAQwindow(target)
{
	window.open(target,"","menubar=1,resizable=1,location=1,status=1,scrollbars=1,width=1010,height=600");
}

var SelectId="";
function SelectHighLight(id) {
	if(SelectId!=id){
		if(document.getElementById(id).value!=""){
		    document.getElementById(id).focus();
		    document.getElementById(id).select();
		    SelectId=id;
		}
	}else{
		 document.getElementById(id).focus();
		 SelectId="";
	}
}

function formatNumber (tmpnum) {
     //decimal  - the number of decimals after the digit from 0 to 3
     //-- Returns the passed number as a string in the xxx,xxx.xx format.
       anynum=eval(tmpnum);
       divider =10;
       decimal = 3 ;
       switch(decimal){
            case 0:
                divider =1;
                break;
            case 1:
                divider =10;
                break;
            case 2:
                divider =100;
                break;
            default:       //for 3 decimal places
                divider =1000;
        } 

       workNum=Math.abs((Math.round(anynum*divider)/divider)); 

       workStr=""+workNum 

       if (workStr.indexOf(".")==-1){workStr+="."} 

       dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
       //pStr=workStr.substr(workStr.indexOf(".")) 

       //while (pStr.length-1< decimal){pStr+="0"} 

       //if(pStr =='.') pStr =''; 

       //--- Adds a comma in the thousands place.    
       if (dNum>=1000) {
          dLen=dStr.length
          dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
       } 

       //-- Adds a comma in the millions place.
       if (dNum>=1000000) {
          dLen=dStr.length
          dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
       }
       retval = dStr ; //+ pStr
       //-- Put numbers in parentheses if negative.
       if (anynum<0) {retval="("+retval+")";} 

    //You could include a dollar sign in the return value.
      //retval =  "$"+retval
      //obj.value = retval;
      return retval;
}


//////////i_common_mem.js////////////////////////////////////////////////////////////////////////////////

//-----------------------------------------------------------------------------------------
// get input value or object 
//-----------------------------------------------------------------------------------------
function v($){
	return document.getElementById($).value;	
}
function vo($){
	return document.getElementById($);	
}


/*[chekDate]"YYYY-MM-DD".*/
function checkDate(theDate){
  var reg = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;  
  var result=true;
  if(!reg.test(theDate))
    result = false;
  else{
    var arr_hd=theDate.split("-");
    var dateTmp;
    if(arr_hd[0]<1753) return false;
    dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));
    if(dateTmp.getFullYear()!=parseFloat(arr_hd[0])
       || dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1 
        || dateTmp.getDate()!=parseFloat(arr_hd[2])){
        result = false
    }
  }
  return result;
}
function gjferror_div(elem,msg_pix,text) {	
    window.document.getElementById(elem+msg_pix).style.display="block"	
	window.document.getElementById(elem+msg_pix).innerText=text;	
	if(!i_errfound){
		var obj =window.document.getElementById(elem);
		if(obj!=undefined){
			if(obj.disabled)
			window.document.getElementById(elem).focus();
		}
	}
	i_errfound=true;
}
function gjferror(elem,msg_pix,text) {	
    window.document.getElementById(elem+msg_pix).style.display="block"	
	window.document.getElementById(elem+msg_pix).innerText=text;	
}

function validate_init(className)
{
     i_errfound = false;
     $('.'+className).each(function(i){ 
    	this.innerHtml = "&nbsp;";
     	this.style.display="block" 
     }); 
}
String.prototype.trim=function()
{
   return   this.replace(/^\s*(.*?)[\s\n]*$/g,   '$1');
   
}

var strid;
var strmsg;

function doOnblur_username(id,root,msg){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"doMemberValidate.php?validateType=ID&validateData="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange(states)}
				}); 
	}else{
		document.getElementById("userName_err").style.display="none";	
	}
}

function doOnblur_nickname(id,root,msg){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"doMemberValidate.php?validateType=NM&validateData="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange(states)}
				});
	}else{
		document.getElementById("nickname_err").style.visibility="hidden";	
		document.getElementById("nickname_err").innerHtml = "&nbsp;";
	}
}

function doOnblur_email(id,root,msg,failmsg){
    var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
	   if(!validEmail(str)){
	   		document.getElementById("email_err").style.visibility="visible";
	   		document.getElementById("email_err").innerText=failmsg;
			document.getElementById(id).focus();
		}else{
		   var url=root+"doMemberValidate.php?validateType=ID&validateData="+str;
			$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange(states)}
				});
		}
	}else{
		//document.getElementById("email_err").style.display="block";	
		document.getElementById("email_err").visibility="hidden";
		document.getElementById("email_err").innerHtml = "&nbsp;";
	}
}

function doOnblur_captcha(id,root,msg){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"doValidateCaptcha.php?securityCode="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange(states)}
				}); 
	}else{
		document.getElementById("securityCode_err").style.display="block";	
		document.getElementById("securityCode_err").innerHtml = "&nbsp;";
	}
}

function doStatusChange(states){
	var states=states.replace(/(^\s*)|(\s*$)/g,"");
	if(states=='2003'){
//		document.getElementById(strid+"_err").style.display="block";
//		document.getElementById(strid+"_err1").style.display="none";
		document.getElementById(strid).focus();
		document.getElementById(strid+"_err").style.visibility="visible";
		if(strid == "userName"){			
			document.getElementById("userName_err").innerText=strmsg;			
		}else if(strid == "email"){
			document.getElementById("email_err").innerText=strmsg;
		}else if(strid == "securityCode"){
			document.getElementById("securityCode_err").innerText=strmsg;
		}else if(strid == "nickname"){
			document.getElementById("nickname_err").innerText=strmsg;	
		}
	}else if(states=='0000'){
		document.getElementById(strid+"_err").innerHtml = "&nbsp;";
		document.getElementById(strid+"_err").style.visibility="hidden";		
	}
}

function isIE(){ 
	if (window.navigator.userAgent.toString().toLowerCase().indexOf("msie") >=1)
		return true;
	else
		return false;
}

if(!isIE()){ //firefox innerText define
	HTMLElement.prototype.__defineGetter__("innerText",
		function(){
			var anyString = "";
			var childS = this.childNodes;
			for(var i=0; i <childS.length; i++) {
				if(childS[i].nodeType==1)
					anyString += childS[i].tagName=="BR" ? '\n' : childS[i].innerText;
				else if(childS[i].nodeType==3)
					anyString += childS[i].nodeValue;
			}
			return anyString;
		}
	);
	HTMLElement.prototype.__defineSetter__("innerText",
		function(sText){this.textContent=sText;}
	);
}


function isSpace(c) {
	return (c == " ");
}

function isLetter(c) {
	return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) );
}

function isNumber(c) {
	return ((c >= "0") && (c <= "9"));
}

function isAlphabetNumeric(str){
	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
		if (!(isLetter(temp)) && !(isSpace(temp)) && !(isNumber(temp))){
			return false;
			break;
		}

		// if j = last term, it means true - all char are ok!! Great
		if(j == str.length-1)
			return true;
	}
}

function isAlphabet(str){
	for (var j=0; j<str.length; j++) {
		var temp = str.charAt(j);
		if (!(isLetter(temp)) && !(isSpace(temp))){
			return false;
			break;
		}

		// if j = last term, it means true - all char are ok!! Great
		if(j == str.length-1)
			return true;
	}
}

function initDocumentSelObj(){
	var selDocumentObj=(document.getElementById("idvalue"))?(document.getElementById("idvalue")):(document.all.idvalue);
	if(selDocumentObj.options.length>1)
		selDocumentObj.options[0].selected=true;
	showidtype();
}

//////////////////////////////image/////////////////////////////////////////////
	function getImgUrl(zoneid){
		var imgUrl="";
		var m3_r = Math.floor(Math.random()*99999999999);
		
		if (!document.MAX_used) document.MAX_used = ',';
		
		imgUrl= "/openx/www/delivery/ajs.php";
		imgUrl+="?zoneid="+zoneid;
		imgUrl+='&amp;cb=' + m3_r;
		
		if (document.MAX_used != ',') imgUrl+="&amp;exclude=" + document.MAX_used;
		
		imgUrl+="&amp;loc=" + escape(window.location);
		
		if (document.referrer) imgUrl+="&amp;referer=" + escape(document.referrer);
		
		if (document.context) imgUrl+="&context=" + escape(document.context);
		
		if (document.mmm_fo) imgUrl+="&amp;mmm_fo=1";
		
		return imgUrl
	}

	function loadImage1(zoneid){	
		var imgUrl = getImgUrl(zoneid);
		$.ajax({
				type: "GET",
				url: "webservice/imgService.php",
				data: "imgurl="+imgUrl,	 
				success: function(data){eval(data);$("#load_img1").html(imgData)}
		});		
	}

	function loadImage2(zoneid){	 
		var imgUrl=getImgUrl(zoneid);
		$.ajax({
				type: "GET",
				url: "webservice/imgService.php",
				data: "imgurl="+imgUrl,	 
				success: function(data){eval(data);$("#load_img2").html(imgData)}
		});		
	}

function sendMobileActivationCode(root,msg){
	var memberID=document.getElementById('memberID').value;
	var mobileNumber=document.getElementById('mobileNumber').value;
	var mobileCountryCode=document.getElementById('mobileCountryCode').value;

	if(memberID!="" && mobileNumber !=""){
		strid='mobileNumber';
		strmsg=msg;
		var url=root+"memberMobileActivation.php?memberID="+memberID+"&CountryCode="+mobileCountryCode+"&MobileNo="+mobileNumber;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange(states)}
				}); 
	}else{
		document.getElementById("smscode_err").style.display="none";	
	}
}
function isAlphabetAndNumeric3(value) {
	var len=value.length;
	var pattern=new RegExp("^[A-Za-z0-9]+$");
	if(pattern.test(value)){
		return true;
	}else
		return false;
}
function onlyEng()
{
	if(event.keyCode!=9){
		if(event.keyCode!=8){
			if(event.keyCode!=32){
				if(!(event.keyCode>=65&&event.keyCode<=90))
				{
					event.returnValue=false;
					gjferror_div("wrongname","_err",error_addtraveler_wrong_eng);
				}
			}
		}
	}
}
function changeEnName(obj,content,value){
	if(obj.value==content) {
		obj.value="";
		obj.className ="txt_dark_s align_middle";
	}else if(obj.value==""){
		if(value=="1"){
			obj.value=content;
			obj.className ="txt_darklight_s align_middle cleardefault";
		}
	}
}
function checkNum(e) {
	var KeyCode =window.event ? e.keyCode:e.which; 
    //如果输入的字符是在0-9之间，或者是backspace、DEL键
   	var KeyCode =window.event ? e.keyCode:e.which;
	var isCtrlKey =window.event ? false:e.ctrlKey;
	//alert(isCtrlKey);
	if(isCtrlKey || ((KeyCode>47)&&(KeyCode<58)) || (KeyCode==8)||(KeyCode==46)) {
          return true;
    }else {
          return false;
    }
    /*if(((KeyCode>47)&&(KeyCode<58))||(KeyCode==8)||(KeyCode==46)) {
          return true;
    }else {
          return false;
    }*/
}
function changeObject(id,value){
	var obj = document.getElementById(id);
	if(obj.value==value) {
		obj.value="";
		obj.style.color = "#222222";
	}else if(obj.value==""){
		obj.value=value;
		obj.style.color = "#999999";
	}
}

<!-- advance selection cookie by cate start-->
function returnempty()
{
	if(window.ActiveXObject){
		var KeyCode =window.event ? event.keyCode:event.which;
		if(KeyCode==13){
			return false;
		}
	}
}
function setcookies(root,divname,flag,flag1,flag2)
{
	var url=root+"setcookie.php";
	$.ajax({
	type: "POST",
	url: url,
	data: 'divname='+divname+'&flag='+flag+'&flag1='+flag1+'&flag2='+flag2,
	success: function(states){getstate(states)}
	});
}
function getstate(states){
	//alert(states);
	var states=states.replace(/(^\s*)|(\s*$)/g,"");
	if(states=='error'){
	//alert("can not get cookie")
	}
}
<!-- advance selection cookie by cate start-->

<!-- instrucion by cate start-->
function goprint()
{
window.print();
}
<!-- instrucion by cate end-->

<!--error msg display by cate start-->
function validate_init_div(className)
{
     i_errfound = false;
     $('.'+className).each(function(i){ 
    	this.innerHtml = "&nbsp;";
     	this.style.display="none" 
     }); 
}
function doOnblur_captcha_div(id,root,msg){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"doValidateCaptcha.php?securityCode="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange_display(states,strid)}
				}); 
	}else{
		document.getElementById("securityCode_err").style.display="block";	
		document.getElementById("securityCode_err").innerHtml = "&nbsp;";
	}
}
function doStatusChange_display(states,strid){
	var states=states.replace(/(^\s*)|(\s*$)/g,"");
	if(states.indexOf('2003')>=0){
//		document.getElementById(strid+"_err").style.display="block";
//		document.getElementById(strid+"_err1").style.display="none";
		document.getElementById(strid).focus();
		document.getElementById(strid+"_err").style.display="";		
		
		if(strid == "userName"){			
			document.getElementById("userName_err").innerText=strmsg;			
		}else if(strid == "email"){
			document.getElementById("email_err").innerText=strmsg;
		}else if(strid == "securityCode"){
			document.getElementById("securityCode_err").innerText=strmsg;
		}else if(strid == "nickname"){
			document.getElementById("nickname_err").innerText=strmsg;	
		}
	}else if(states.indexOf('0000')>=0){
		document.getElementById(strid+"_err").innerHtml = "&nbsp;";
		document.getElementById(strid+"_err").style.display="none";		
	}
}
function doOnblur_email_div(id,root,msg,failmsg){
    var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
	   if(!validEmail(str)){
	   		document.getElementById("email_err").style.display="";
	   		document.getElementById("email_err").innerText=failmsg;
			document.getElementById(id).focus();
		}else{
		   var url=root+"doMemberValidate.php?validateType=ID&validateData="+str;
			$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange_display(states,strid)}
				});
		}
	}else{
		//document.getElementById("email_err").style.display="block";	
		document.getElementById("email_err").display="none";
		document.getElementById("email_err").innerHtml = "&nbsp;";
	}
}
function doOnblur_nickname_div(id,root,msg){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"doMemberValidate.php?validateType=NM&validateData="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange_display(states,strid)}
				});
	}else{
		document.getElementById("nickname_err").style.display="none";	
		document.getElementById("nickname_err").innerHtml = "&nbsp;";
	}
}
<!--error msg display by cate end-->

<!-- submit icon replace by cate start-->
function activesubmit(obj)
 {
 if(obj.checked)
 {
 $("#active").show();
 $("#disable").hide();
 }
 else
 {
 $("#active").hide();
 $("#disable").show();
 }
 }
<!-- submit icon replace by cate end-->

<!-- flightresult show weekday by cate start-->
function getweekstr(obj,lang){
	if(lang.toUpperCase()!="EN"){
		showweek('Deweekday','leftdate','leftmonth');
		if(obj!="1"){
			showweek('Reweekday','backdate','backmonth');
		}	
	}else{
		showweek('Deweekday','leftdate','leftmonth','en');
		if(obj!="1")	{
			showweek('Reweekday','backdate','backmonth','en');	
		}
	}
}
function getWeek(date,lang){
	var x=new Date(date);
	var week;
	if(lang!="en"){
		week=["日","一","二","三","四","五","六"];  
	}else{
		week=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];  	
	}
	return week[x.getDay()];
}
function showweek(obj,date,year,lang)
{
	var yeararr=$("#"+year).val().split("-");
	var weekdate=new Date(yeararr[0],yeararr[1]-1,$("#"+date).val());
	$("#"+obj).html(getWeek(weekdate,lang));
}
<!-- flightresult show weekday by cate start-->

<!-- blog Comp by cate start-->
function IsChinese(str)     
{     
        if(str.length!=0){    
        reg=/^[\u0391-\uFFE5]+$/;    
        if(!reg.test(str)){    
			 return false;
			} 
			else
			{
			  return true;	
			}
        }    
} 

function IsRightStr(str)     
{     
        if(str.length!=0){
        if(str.indexOf('>')>=0&&str.indexOf('<')>=0){    
			 return false;
			} 
			else
			{
			  return true;	
			}
        }    
}

function IsURL(str_url){
    var strRegex = "^((https|http|ftp|rtsp|mms)?://)" 
    + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@ 
          + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184 
          + "|" // 允许IP和DOMAIN（域名）
          + "([0-9a-z_!~*'()-]+\.)*" // 域名- www. 
          + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名 
          + "[a-z]{2,6})" // first level domain- .com or .museum 
          + "(:[0-9]{1,4})?" // 端口- :80 
          + "((/?)|" // a slash isn't required if there is no file name 
          + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; 
          var re=new RegExp(strRegex); 
          if (re.test(str_url)){
              return (true); 
          }else{ 
              return (false); 
          }
      }
function doOnblur_captcha_div_blog(id,root,msg,formname){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"doValidateCaptcha.php?securityCode="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange_display_blog(states,strid,formname)}
				}); 
	}	
}
function doStatusChange_display_blog(states,strid,formname){
	var states=states.replace(/(^\s*)|(\s*$)/g,"");
	if(states.indexOf('2003')>=0){
		document.getElementById(strid+"_err").style.display="";	
		document.getElementById(strid+"_err").innerHTML=strmsg;
		document.getElementById(strid).focus();
    }else if(states.indexOf('0000')>=0){
		if(formname!="")
		{
		eval("document."+formname+".submit();")
		}
		else
		{
		document.getElementById(strid+"_err").style.display="none";	
		}
	}	
}
function doOnblur_email_div_blog(id,root,msg,formname){
	var str=document.getElementById(id).value;
	if(str!=""){
		strid=id;
		strmsg=msg;
		var url=root+"blogCheckEmail.php?email="+str;
		$.ajax({
				 type: "GET",
				 url: url,	 
				 success: function(states){doStatusChange_display_blog(states,strid,formname)}
				}); 
		
	}
}
<!-- blog Comp by cate end-->
