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-Z0-9\u4e00-\u9fa5]+)?([\.]{1}[a-zA-Z0-9\u4e00-\u9fa5]{1,}){1,}$/;
    if (!gjfValidLength(item,5)) {
        return false;
    }
    else if (item.search(emailreg) == -1) {
        return false;
    }
    else {
        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}$|^14[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 validHongKongMobile(item) {
    var phonereg = /^5[0-9]{7}$|^6[0-9]{7}$|^9[0-9]{7}$/
    
    if (phonereg.test(item) == false)
        return false;
    
    return true;
    
}

function validMacauMobile(item) {
    var phonereg = /^62[0-9]{6}$|^63[0-9]{6}$|^66[0-9]{6}$/
    
    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 checkBehindSlash(str) {
    var fullname = $.trim(str);
    var checkresult = true;
    var behindslash_array = fullname.split('/');
    if(behindslash_array[1] != ''){
    var behindslash = behindslash_array[1].split(' ');
        if(behindslash[0] == ''){
            checkresult = false;
        }
    }else{
        checkresult = false;
    }
    return checkresult;
}


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");
}

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) {	
    imgURL="<img src='templates/images/icon/icon_error.png'/> ";
    returnHTML="<table><tbody><tr><td valign='top'>"+imgURL+"</td><td style='line-height:16px'>"+text+"</td></tr></tbody></table>";
    $("#"+elem+msg_pix).html(returnHTML);
    $("#"+elem+msg_pix).show();
    if(!i_errfound){
        var destination = $("#"+elem+msg_pix).offset().top - 100;
        $("html:not(:animated),body:not(:animated)").animate({
            scrollTop: destination
        }, 1500 );
        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=NN&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==""){
        obj.className ="txt_dark_s align_middle";
        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).hide();
    });
}
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=NN&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;";
    }
}

function doOnblur_Corporate_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+"doCorporateMemberValidate.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_Corporate_nickname_div(id,root,msg){
    var str=document.getElementById(id).value;
    if(str!=""){
        strid=id;
        strmsg=msg;
		var url=root+"doCorporateMemberValidate.php?validateType=NN&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-->

