﻿function getXMLHTTPRequest() {
	try {req = new XMLHttpRequest();} 
		catch(err1) {  try {req = new ActiveXObject("Msxml2.XMLHTTP");} 
		catch (err2) { try {req = new ActiveXObject("Microsoft.XMLHTTP");} 
		catch (err3) {req = false;}
	  }
	}
	return req;
}

var vniscAjax = {
	getActiveXObject : function () {
		try {req = new XMLHttpRequest();} 
			catch(err1) {  try {req = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (err2) { try {req = new ActiveXObject("Microsoft.XMLHTTP");} 
			catch (err3) {req = false;}
		  }
		}
		return req;
	},

	request : function (url, param, func){
		var http = vniscAjax.getActiveXObject();
		vniscAjax.response (http, url, param, func);
	},

	response : function (http, url, param, func) { 
		http.onreadystatechange = function (){func (http);};
		http.open("POST", url, true);
		http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		http.send(param);
	},

	requestget : function (url, param, func){
		var http = vniscAjax.getActiveXObject();
		vniscAjax.responseget (http, url, param, func);
	},

	responseget : function (http, url, param, func) { 
		alert(url+"?"+param);
		http.open("GET", url+"?"+param, true);
		http.onreadystatechange = function (){func (http);};
		http.send(null);
	}

};

function load_airport(retAir,depAir, mutilCheck){
	var url="Airport.aspx";
	var param="Dept=" + depAir + "&mutil=";
	var i;
	if(mutilCheck)
	    param += "true";
	else
	    param += "false";
	retAir.options.length=0;
	while (retAir.firstChild) 
	{
        retAir.removeChild(retAir.firstChild);
    }
	var http = new getXMLHTTPRequest();
	http.onreadystatechange = function() {if (http.readyState != 4) { return; }
		var mytext = http.responseXML;
		var obj = mytext.getElementsByTagName("Code");
		var Group ="";
		var dec_group=document.createElement("optgroup");
		for(i=0; i<obj.length; i++)
		{
			var data = obj[i];
			var Code = data.firstChild.nodeValue;
			Code = (Code=="NONE")?"":Code;
			var LongName = mytext.getElementsByTagName("LongName")[i].firstChild.nodeValue;
			if(Code=="")
			{
			    var option_temp = document.createElement('OPTION');			
		        option_temp.value = Code;
		        option_temp.innerHTML = LongName;
		        retAir.appendChild(option_temp);
			}
			else
			{
			    if(Group != mytext.getElementsByTagName("Group")[i].firstChild.nodeValue)
			    {
			        if(dec_group.hasChildNodes())
			        {
			            retAir.appendChild(dec_group);
			        }
			        Group=mytext.getElementsByTagName("Group")[i].firstChild.nodeValue;
			        dec_group = document.createElement("OPTGROUP");
			        dec_group.label = Group;
			    }
			    var option_temp = document.createElement('OPTION');
		        option_temp.value = Code;
		        option_temp.innerHTML = LongName + " (" + Code + ")";
		        dec_group.appendChild(option_temp);
			}
		}
		if(dec_group.hasChildNodes())
        {
            retAir.appendChild(dec_group);
        }
	};
	http.open("POST", url, true); 
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.send(param+"&"+new Date().getTime());
}

function Set_Cookie(name, value, expires, path, domain, secure ) {
    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );
    // if the expires variable is set, make the correct expires time, the
    // current script below will set it for x number of days, to make it
    // for hours, delete * 24, for minutes, delete * 60 * 24
    if ( expires )
    {
        expires = expires * 1000 * 60 * 5;
    }
    //alert( 'today ' + today.toGMTString() );// this is for testing purpose only
    var expires_date = new Date( today.getTime() + (expires) );
    //alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

    document.cookie = name + "=" +escape( value ) +
        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
        ( ( path ) ? ";path=" + path : "" ) + 
        ( ( domain ) ? ";domain=" + domain : "" ) +
        ( ( secure ) ? ";secure" : "" );
}

function weather_forecast(value,retlocation)
{
    var url="Misc.aspx";
	var param="Do=Weather_Forecast&Location=" + value;
	var http = new getXMLHTTPRequest();
	http.onreadystatechange = function() {if (http.readyState != 4) { return; }
		var mytext = http.responseXML;
		var obj = mytext.getElementsByTagName("Temp");
		if(obj.length>0)
		{
			var data = obj[0];
			var Temp = data.firstChild.nodeValue;
			var Desc = mytext.getElementsByTagName("Desc")[0].firstChild.nodeValue;
			var Img = mytext.getElementsByTagName("Image")[0].firstChild.nodeValue;
			retlocation.innerHTML='<img src="' + Img + '" align="absmiddle" width="44" height="44"><font color="blue" size=4><b>' + Temp + '</b></font>';
		}
	};
	http.open("POST", url, true); 
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.send(param+"&"+new Date().getTime());
}

function exchange_rates(retlocation)
{
    var url="Misc.aspx";
	var param="Do=Exchange_Rates";
	var http = new getXMLHTTPRequest();
	http.onreadystatechange = function() {if (http.readyState != 4) { return; }
		var mytext = http.responseText;
		retlocation.innerHTML=mytext;
	};
	http.open("POST", url, true); 
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.send(param+"&"+new Date().getTime());
}

function changeRetDate(deptimeid, rettimeid)
{
    var dep_date = $("#" + deptimeid).datepicker("getDate");
    var ret_date = $("#" + rettimeid).datepicker("getDate");
    if(ret_date <= dep_date)
    {
        $("#" + rettimeid).datepicker("setDate", dep_date.setDate(dep_date.getDate() + 3));
    }
    $("#" + rettimeid).datepicker("option", "minDate", dep_date);
    $("#" + rettimeid).datepicker("option", "minDate", $("#" + deptimeid).datepicker("getDate"));
}

function changeType(typeselect, id, value)
{
    if(value.substring(1,2) == "0")
    {
        $("#" + typeselect + "NN" + id).css("display", "none");
        $("#" + typeselect + "LL" + id).css("display", "");
        $("#" + typeselect + "DS" + id).css("display", "");
        if(($('#' + typeselect + "LL" + id).attr('checked') == false) && ($('#' + typeselect + "DS" + id).attr('checked') == false))
        {
            $('#' + typeselect + "LL" + id).attr('checked', true);
        }
    }
    else
    {
        $("#" + typeselect + "NN" + id).css("display", "");
        $("#" + typeselect + "LL" + id).css("display", "none");
        $("#" + typeselect + "DS" + id).css("display", "none");
        if(!$('#' + typeselect + "NN" + id).attr('checked'))
        {
            $('#' + typeselect + "NN" + id).attr('checked', true);
        }
    }
}

function ChangeCurrency(curr)
{
    Set_Cookie("vniscCurrency", curr);
    var prefix = "";
    if(location.href.indexOf("?") >= 0)
        prefix = "&";
    else
        prefix = "?";
    location.href = location.href + prefix + "cur=" + curr;
}

function ChangeLanguage(language)
{
    Set_Cookie("vniscLang", language);
    if(location.href.indexOf("?") >= 0)
        prefix = "&";
    else
        prefix = "?";
    location.href = location.href + prefix + "lang=" + language;
}

function openETicket(url)
{
    var left = (screen.width / 2) - (800 / 2);
    var top = (screen.height / 2) - (550 / 2);
    window.open(url, "vnisc_ETicket","width=800,height=550,status=yes,scrollbars=yes,resizable=no,toolbar=no,menubar=no,location=no,top=" + top + ", left=" + left);
}

function openWindows(url, width, height)
{
    var left = (screen.width / 2) - (width / 2);
    var top = (screen.height / 2) - (height / 2);
    window.open(url, "vnisc_win","width=" + width + ",height=" + height + ",status=yes,scrollbars=yes,resizable=no,toolbar=no,menubar=no,location=no,top=" + top + ", left=" + left);
}
