function popup( windowWidth, windowHeight, windowName, windowUri, windowscroll)
{
    var centerWidth = (window.screen.width - windowWidth) / 2;
    var centerHeight = (window.screen.height - windowHeight) / 2;
   newWindow = window.open(windowUri, windowName, 'resizable=no,width=' + windowWidth + 
        ',height=' + windowHeight + 
        ',left=' + centerWidth + 
        ',top=' + centerHeight +
		',scrollbars='+windowscroll);
    newWindow.focus();
    return newWindow.name;
	
}
// ****************************************************************
// *    Author: Minh Hung         Date:   17/03/2010
// *    Description: Set current date auto for object Date, Month, Year 
// *	Para id date, id month, id year, flag 0 month is number: 1 month char
// ****************************************************************
function SetCurrDateAuto(idD, idM, idY, Flag){
	var Today= new Date();
	var Day = Today.getDate() ;
	var Month = Today.getMonth()+1;
	var Year = Today.getFullYear();
	var aryM = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
	var arrMonth = ['January','February','March','April','May','June','July','August','September','October','November','December'];
	var choose=0;
	// set date
	var objD = document.getElementById(idD);
	while (objD.options.length) {
		objD.remove(0);
	}
	if (objD.nodeName == "SELECT"){
		var i;
		var itemCount =0;// objM.childNodes.length - 1;//number of item in the combobox
		for (i = 1; i <= 31; i++){
			opt = new Option(i);
			opt.value =  i;
			objD.options[itemCount] = opt;
			if(i==Day) choose=i-1;
			itemCount++;
		}
		objD.options.selectedIndex=choose;
	}

	//set month
	var objM = document.getElementById(idM);
	while (objM.options.length) {
		objM.remove(0);
	}
	if (objM.nodeName == "SELECT"){
		var i;
		var itemCount =0;// objM.childNodes.length - 1;//number of item in the combobox
		for (i = 1; i <= 12; i++){
			if(i==Month) choose=i-1;
			opt = new Option(Flag==1?arrMonth[i-1]:i);
			opt.value =  i;
			objM.options[itemCount] = opt;
			itemCount++;
		}
		objM.options.selectedIndex=choose;
	}
	
	//set year
	var objY = document.getElementById(idY);
	while (objY.options.length) {
		objY.remove(0);
	}
	
	if (objY.nodeName == "SELECT"){
		var i;
		var itemCount =0;// objM.childNodes.length - 1;//number of item in the combobox
		for (i = Year; i < (Year+2); i++){
			opt = new Option(i);
			opt.value =  i;
			objY.options[itemCount] = opt;
			if(i==Year) choose=itemCount;
			itemCount++;
		}
		objY.options.selectedIndex=choose;
	}
}	
function Isdate(datevalue){// mm/dd/yyyy
	var mo, day, yr;
    var entry = datevalue;
    var reLong = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
    var reShort = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{2}\b/;
    var valid = (reLong.test(entry)) || (reShort.test(entry));
    if (valid) {
        var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
        var delim1 = entry.indexOf(delimChar);
        var delim2 = entry.lastIndexOf(delimChar);
        mo = parseInt(entry.substring(0, delim1), 10);
        day = parseInt(entry.substring(delim1+1, delim2), 10);
        yr = parseInt(entry.substring(delim2+1), 10);
        // handle two-digit year
        if (yr < 100) {
            var today = new Date();
            // get current century floor (e.g., 2000)
            var currCent = parseInt(today.getFullYear() / 100) * 100;
            // two digits up to this year + 15 expands to current century
            var threshold = (today.getFullYear() + 15) - currCent;
            if (yr > threshold) {
                yr += currCent - 100;
            } else {
                yr += currCent;
            }
        }
        var testDate = new Date(yr, mo-1, day);
        if (testDate.getDate() == day) {
            if (testDate.getMonth() + 1 == mo) {
                if (testDate.getFullYear() == yr) {
                    // fill field with database-friendly format
                    //fld.value = mo + "/" + day + "/" + yr;
                    return true;
                } else {
                    alert("There is a problem with the year.");
                }
            } else {
                alert("There is a problem with the month.");
            }
        } else {
            alert("There is a problem with the date.");
        }
    } else {
        alert("Incorrect date format as mm/dd/yyyy.");
    }
    return false;
	
}
function CheckCurrentDate(datevalue){ // mm/dd/yyyy
	//month date, year
	var inD = new Date(datevalue);
	var d = new Date();
	var TodayDate = d.getDate();
	var ThisMonth = d.getMonth()+1;
	var ThisYear = d.getFullYear();
	var currentdate = (d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear();
	var curD = new Date(currentdate);
	if(inD<curD) {
		return false;
	}else{
		return true;
	}
}

function CompareDate(indate, outdate, numday){
	var ONE_DAY = 1000 * 60 * 60 * 24;
	var inD = new Date(indate);
	var outD = new Date(outdate);
	var difference = ((outD - inD)/ONE_DAY);
	if(difference>=numday){
		return true;
	}else{
		return false;	
	}
}
function CheckLandTourDateValue(){
		var date=document.getElementById('DepartMonth').value+'/'+document.getElementById('DepartDate').value+'/'+document.getElementById('DepartYear').value;
		if (!CheckCurrentDate(date)){
			alert('Departure date is incomplete');
			return false;
		}
		if (!Isdate(date)){
			return false;
		}
		var dateout=document.getElementById('ReturnMonth').value+'/'+document.getElementById('ReturnDate').value+'/'+document.getElementById('ReturnYear').value;
		if (!CompareDate(date, dateout, 0)){
			alert('Return date is incomplete');
			return false;
		}
	}
function CheckDateValue(){
		var date=document.getElementById('DepartMonth').value+'/'+document.getElementById('DepartDate').value+'/'+document.getElementById('DepartYear').value;
		if (!CheckCurrentDate(date)){
			alert('Check-in is incomplete');
			return false;
		}
		if (!Isdate(date)){
			return false;
		}
		var dateout=document.getElementById('ReturnMonth').value+'/'+document.getElementById('ReturnDate').value+'/'+document.getElementById('ReturnYear').value;
		if (!CompareDate(date, dateout, 1)){
			alert('Selected Check-out must be at least 1 day from the Check-in');
			return false;
		}
	}
function Trim(iStr)
{
	while (iStr.charCodeAt(0) <= 32)
	{
		iStr=iStr.substr(1);
	}

	while (iStr.charCodeAt(iStr.length - 1) <= 32)
	{
		iStr=iStr.substr(0, iStr.length - 1);
	}

	return iStr;
}	
function CheckKeyNumber(obj)
{
	var nums="0123456789,.";
	o=obj;//document.getElementById(obj);
	if(o.value.length==0) return;
	char = o.value.substr(o.value.length-1,1)
	if(nums.indexOf(char)==-1) o.value = o.value.substr(0,o.value.length-1);
}
function IsNumeric(sText)
{
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
function check_isInt(myString)
{
	var reg= /^(\+|-)?\d+$/;
	return (reg.test(myString));
}
function check_isFloat(myString)
{
	var reg= /^(\+|-)?((\d+(\.\d+)?)|(\[0].\d+))$/;
	return (reg.test(myString));
}   
function isAlphanumeric(obj){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(obj.value.match(alphaExp)){
		return true;
	}else{
		return false;
	}
}

function alltrim(str) {
	return str.replace(/^\s+|\s+$/g, '');
}

function ChkCurrency(str) {
	str = alltrim(str);
	if (/^\$?[1-9][0-9]{0,2}(,[0-9]{3})*(\.[0-9]{0,2})?$/.test(str) ) {
		if (/\.[0-9]$/.test(str) ) {
			str += "0";
		}
		else if (/\.$/.test(str)) {
			str += "00";
		}
		else if (!/\.[0-9]{2}$/.test(str) ) {
			str += ".00";
		}
		return str;
	}
	else {
		return "";
	}
}
 function check_email(emailvalue){
	emailRegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$/;
	if(emailRegExp.test(emailvalue)){
		return true;
	}else{
		return false;
	}
}
   function isDate(txtDate) {  
       var objDate,  // date object initialized from the txtDate string  
           mSeconds, // txtDate in milliseconds  
            day,      // day  
            month,    // month  
            year;     // year  
        // date length should be 10 characters (no more no less)  
        if (txtDate.length !== 10) {  
            return false;  
       }  
       // third and sixth character should be '/'  
       if (txtDate.substring(2, 3) !== '/' || txtDate.substring(5, 6) !== '/') {  
           return false;  
       }  
       // extract month, day and year from the txtDate (expected format is mm/dd/yyyy)  
       // subtraction will cast variables to integer implicitly  
       month = txtDate.substring(0, 2) - 1; // because months in JS start from 0  
       day = txtDate.substring(3, 5) - 0;  
       year = txtDate.substring(6, 10) - 0;  
       // test year range  
       if (year < 1000 || year > 3000) {  
           return false;  
       }  
       // convert txtDate to milliseconds  
       mSeconds = (new Date(year, month, day)).getTime();  
       // initialize Date() object from calculated milliseconds  
       objDate = new Date();  
       objDate.setTime(mSeconds);  
       // compare input date and parts from Date() object  
       // if difference exists then date isn't valid  
       if (objDate.getFullYear() !== year ||  
           objDate.getMonth() !== month ||  
           objDate.getDate() !== day) {  
           return false;  
       }  
       // otherwise return true  
       return true;  
   }  

function print_tour(value) {
	var flag=false;
  if (window.print){
		for(i=1; i<30; i++){
			$("#package_tour_"+i).addClass('noprint');
			if(i==parseInt(value))	{
				$("#package_tour_"+i).removeClass('noprint');
				//alert(i);
				flag=true;
			}
		}
    if (flag) window.print();
		//window.print();
		
  }else
    alert("Sorry, your browser doesn't support this feature.");
}
