function getHTTPObject(){
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}
 
// Change the value of the outputText field
function setOutput(){
	if(httpObject.readyState == 4){	
		document.getElementById('info-card'+target).innerHTML = httpObject.responseText;
		target = null;
		disable =  null;
		defaultevent = null;
	}
	else {
		document.getElementById('loader'+target).style.display = "inline";		
		}
}
 
// Implement business logic
function loadHotelInfo(hotel, count){
	target = count;
	var name_trigger = document.getElementById('name-trigger'+count);
	var toggie = document.getElementById('moreinfo'+count);
	var hotel_name = name_trigger.innerHTML;
	hotel_name = hotel_name.replace(/^\s*/, "").replace(/\s*$/, "");
	
	var defaultText = toggie.innerHTML;
	var defaultevent = toggie.onclick;
	
	//tracker
	pageTracker._trackPageview('/action/travel/moreinfo');
	pageTracker._trackEvent('Travel - Hotels', 'More Info', hotel_name);
	
	toggie.innerHTML = "Close X";
	
	toggie.onclick = null;
	name_trigger.onclick = null;
	
	toggie.onclick = function () {
		document.getElementById('info-card'+count).innerHTML = "<img src='./images/ajax-loader.gif' id='loader"+count+"' class='loader' title='Loading...' /><span id='loader-msg"+count+"'></span>";
		this.innerHTML = defaultText;
		this.onclick = function() {
			loadHotelInfo(hotel, count);
			return false;
		}
		
		document.getElementById('name-trigger'+count).onclick = function() {
			loadHotelInfo(hotel, count);
			return false;
		}
		return false;
	}
	
	name_trigger.onclick = function () {
		document.getElementById('info-card'+count).innerHTML = "<img src='./images/ajax-loader.gif' id='loader"+count+"' class='loader' title='Loading...' /><span id='loader-msg"+count+"'></span>";
		document.getElementById('moreinfo'+count).innerHTML = defaultText;
		this.onclick = function() {
			loadHotelInfo(hotel, count);
			return false;
		}
		document.getElementById('moreinfo'+count).onclick = function() {
			loadHotelInfo(hotel, count);
			return false;
		}
		return false;
		}
	
	httpObject = getHTTPObject();
	
	if (httpObject != null) {
		httpObject.open("GET", "getInfo.php?hotel_id="+hotel+"&count="+count, true);
		httpObject.onreadystatechange = setOutput;
		httpObject.send(null);
	}
}

var httpObject = null;
var target = null;
var disable =  null;
var defaultevent = null;

function toggleInfoCard(info, count)
{
	var name_trigger = document.getElementById('name-trigger'+count);
	var hotel_name = name_trigger.innerHTML;
	
	hotel_name = hotel_name.replace(/^\s*/, "").replace(/\s*$/, "");
	
		switch(info)
		{
			case "info-overview":
				pageTracker._trackEvent('Travel - Hotels', 'Overview', hotel_name);
				pageTracker._trackPageview('/action/travel/overview');
				document.getElementById("info-overview"+count).style.display = "block";
				//document.getElementById("info-room"+count).style.display = "none";
				document.getElementById("info-facilities"+count).style.display = "none";
				document.getElementById("info-location"+count).style.display = "none";
				document.getElementById("info-gallery"+count).style.display = "none";
				document.getElementById("info-rate"+count).style.display = "none";
			
				document.getElementById("info-overview"+count+"-tab").className = "info-active";
				//document.getElementById("info-room"+count+"-tab").className = "info-inactive";
				document.getElementById("info-facilities"+count+"-tab").className = "info-inactive";
				document.getElementById("info-location"+count+"-tab").className = "info-inactive";
				document.getElementById("info-gallery"+count+"-tab").className = "info-inactive";
				document.getElementById("info-rate"+count+"-tab").className = "info-inactive";
				break;
			case "info-facilities":
				pageTracker._trackEvent('Travel - Hotels', 'Facilities', hotel_name);
				pageTracker._trackPageview('/action/travel/facilities');
				document.getElementById("info-overview"+count).style.display = "none";
				//document.getElementById("info-room"+count).style.display = "none";
				document.getElementById("info-facilities"+count).style.display = "block";
				document.getElementById("info-location"+count).style.display = "none";
				document.getElementById("info-gallery"+count).style.display = "none";
				document.getElementById("info-rate"+count).style.display = "none";
				
				document.getElementById("info-overview"+count+"-tab").className = "info-inactive";
				//document.getElementById("info-room"+count+"-tab").className = "info-inactive";
				document.getElementById("info-facilities"+count+"-tab").className = "info-active";
				document.getElementById("info-location"+count+"-tab").className = "info-inactive";
				document.getElementById("info-gallery"+count+"-tab").className = "info-inactive";
				document.getElementById("info-rate"+count+"-tab").className = "info-inactive";
				break;
			case "info-location":
				pageTracker._trackEvent('Travel - Hotels', 'Location', hotel_name);
				pageTracker._trackPageview('/action/travel/location');
				document.getElementById("info-overview"+count).style.display = "none";
				//document.getElementById("info-room"+count).style.display = "none";
				document.getElementById("info-facilities"+count).style.display = "none";
				document.getElementById("info-location"+count).style.display = "block";
				document.getElementById("info-gallery"+count).style.display = "none";
				document.getElementById("info-rate"+count).style.display = "none";
				
				document.getElementById("info-overview"+count+"-tab").className = "info-inactive";
				//document.getElementById("info-room"+count+"-tab").className = "info-inactive";
				document.getElementById("info-facilities"+count+"-tab").className = "info-inactive";
				document.getElementById("info-location"+count+"-tab").className = "info-active";
				document.getElementById("info-gallery"+count+"-tab").className = "info-inactive";
				document.getElementById("info-rate"+count+"-tab").className = "info-inactive";
				break;
			case "info-gallery":
				pageTracker._trackEvent('Travel - Hotels', 'Gallery', hotel_name);
				pageTracker._trackPageview('/action/travel/gallery');
				document.getElementById("info-overview"+count).style.display = "none";
				//document.getElementById("info-room"+count).style.display = "none";
				document.getElementById("info-facilities"+count).style.display = "none";
				document.getElementById("info-location"+count).style.display = "none";
				document.getElementById("info-gallery"+count).style.display = "block";
				document.getElementById("info-rate"+count).style.display = "none";
				
				document.getElementById("info-overview"+count+"-tab").className = "info-inactive";
				//document.getElementById("info-room"+count+"-tab").className = "info-inactive";
				document.getElementById("info-facilities"+count+"-tab").className = "info-inactive";
				document.getElementById("info-location"+count+"-tab").className = "info-inactive";
				document.getElementById("info-gallery"+count+"-tab").className = "info-active";
				document.getElementById("info-rate"+count+"-tab").className = "info-inactive";
				break;
			case "info-rate":
				pageTracker._trackEvent('Travel - Hotels', 'Room & Rates', hotel_name);
				pageTracker._trackPageview('/action/travel/room&rates');
				document.getElementById("info-overview"+count).style.display = "none";
				//document.getElementById("info-room"+count).style.display = "none";
				document.getElementById("info-facilities"+count).style.display = "none";
				document.getElementById("info-location"+count).style.display = "none";
				document.getElementById("info-gallery"+count).style.display = "none";
				document.getElementById("info-rate"+count).style.display = "block";
				
				document.getElementById("info-overview"+count+"-tab").className = "info-inactive";
				//document.getElementById("info-room"+count+"-tab").className = "info-inactive";
				document.getElementById("info-facilities"+count+"-tab").className = "info-inactive";
				document.getElementById("info-location"+count+"-tab").className = "info-inactive";
				document.getElementById("info-gallery"+count+"-tab").className = "info-inactive";
				document.getElementById("info-rate"+count+"-tab").className = "info-active";
				break;
			}
		}

function submitSearch(page)
{
	document.getElementById('page').value = page;
	document.forms['searchform'].submit();
}

function sort(target) {
	var index = target.selectedIndex;
	var temp = document.getElementById('limit');
	var limit = temp.selectedIndex;

	var base = document.getElementById('base_url').value;
	if (target.options[index].value != "0") {
		if (temp.options[limit].value != "0")
			location.href =base+"&sort="+target.options[index].value + "&limit="+temp.options[limit].value;
		else
			location.href =base+"&sort="+target.options[index].value;
	}
}

function checkCompare()
{
	var total=0;
	if(document.getElementById("totalhotel").innerHTML > 1)
	{
		window.open("","myNewWin","width=900,height=750,toolbar=0, resizable=1, scrollbars=1"); 
		return true;
	}else{
		alert("Please select at least 2 hotels!");
		return false;
	}
}

function toggleRate(target, caller, hotel_num) {
	var name_trigger = document.getElementById('name-trigger'+hotel_num);
	var hotel_name = name_trigger.innerHTML;
	
	
	hotel_name = hotel_name.replace(/^\s*/, "").replace(/\s*$/, "");
	
	
	var str = caller.innerHTML;
	
	if(document.getElementById(target).style.display == "block")
	{	
		caller.innerHTML = "+ "+str.substring(2, str.length)
		document.getElementById(target).style.display = "none";
		
		
	}
	else
	{
		caller.innerHTML = "- "+str.substring(2, str.length)
		document.getElementById(target).style.display = "block";
		
		if(str.substring(2, str.length) == "Room Details")
		{
			var name_trigger = document.getElementById('package-name'+target.substring(9, target.length));
			var package_name = name_trigger.innerHTML;
			package_name = package_name.replace(/^\s*/, "").replace(/\s*$/, "");
			
			pageTracker._trackEvent('Travel - Hotels', 'Room & Rates', hotel_name ,package_name + " - Room Details");
			pageTracker._trackPageview('/action/travel/roomdetails');
			
		}
	}
}

function getSelectedHotel(target) {
	document.getElementById('selectedhotel').innerHTML = "Please wait...";
	
	if(target.checked)
	{
		var action = 1;
	}else
	{
		var action = 0;
	}
	
	httpObject = getHTTPObject();

	if (httpObject != null) {
		httpObject.open("GET", "selectHotel.php?hotel_id="+ target.value + "&action="+action+"&name="+target.getAttribute("rel"), true);
		httpObject.onreadystatechange = setOutput2;
		httpObject.send(null);
	}
	
	/*
	var count = 0;
	
	if(document.forms['compare-form'])
	{
		var input = document.forms['compare-form'].getElementsByTagName("input");
		for(var i=0; i < input.length; i++)
		{
			var a = input[i];
			if(a.getAttribute("type") == 'checkbox') {
				if(a.checked == true) {
					count++;
				}
			}
		}
	}
	
	document.getElementById('totalhotel').innerHTML = count; */
}

function clearHotel(){
	for(var i=0; i < document.forms['compare-form'].elements.length; i++){
	if(document.forms['compare-form'].elements[i].checked)
	document.forms['compare-form'].elements[i].checked = false;
	}
	
	httpObject = getHTTPObject();
	
	if (httpObject != null) {
		httpObject.open("GET", "selectHotel.php?clear=1", true);
		httpObject.onreadystatechange = setOutput2;
		httpObject.send(null);
	}
}

function setOutput2(){
	if(httpObject.readyState == 4){	
		document.getElementById('selectedhotel').innerHTML = httpObject.responseText;
		document.getElementById('compare-btn').disabled = false;
	}else{
		document.getElementById('selectedhotel').innerHTML = "Please wait...";
		document.getElementById('compare-btn').disabled = true;
	}
}

function checkUsername() {
	if(checkUsernameFormat())
	{
		var username = document.getElementById("username").value;
			httpObject = getHTTPObject();
			
			if (httpObject != null) {
				var url = "checkusername.php";
				var params = "username="+username;
				httpObject.open("POST", url, true);
				httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				httpObject.setRequestHeader("Content-length", params.length);
				httpObject.setRequestHeader("Connection", "close");
				httpObject.onreadystatechange = setOutput3;
				httpObject.send(params);
			}
	}
}
function setOutput3(){
	if(httpObject.readyState == 4){	
		if(document.getElementById('username').value == httpObject.responseText)
		{
			document.getElementById('username_status').innerHTML = "<span style='color:#00FF00;'>"+httpObject.responseText+ "</span> is available!!";
		}
		else
		{
			document.getElementById('username_status').innerHTML = "<span style='color:#FF0000;'>"+document.getElementById("username").value+ "</span> is taken!";
		}
	}
}

var destinations_rules = new Array();
destinations_rules[0] = 'region|required|Please select a Region';
destinations_rules[1] = 'country_name|required|Please select a Country';

function checkDestinationsForm(){
		if(performCheck('destinationsform', destinations_rules, 'classic'))
		{
			var input = document.destinationsform.getElementsByTagName("select");
		
			for(var count = 0; count < input.length; count++)
			{
				var a = input[count];
				if(a.selectedIndex == 0)
				{
					a.disabled = true;
				}
				if(a.name == "region")
				{
					a.disabled = true;
				}
			}
			var input = document.destinationsform.getElementsByTagName("input");
		
			for(var count = 0; count < input.length; count++)
			{
				var a = input[count];
				if(a.value == "")
				{
					a.disabled = true;
				}
			}
			return true;
		}
		else{
			return false;
		}
}
var win = null;
function pop(mypage){
	settings = 'scrollbars=1,resizable, toolbar=1, menubar=1, directories=1';
	myname = 'pop';
	//settings = '';
	win = window.open(mypage,myname,settings)
}
function pop_tour(mypage){
	settings = 'scrollbars=1,resizable, toolbar=1, menubar=1, directories=1, width=1010, height=880';
	myname = 'pop';
	//settings = '';
	win = window.open(mypage,myname,settings)
}