function showDiv(id) {
	if (document.getElementById("mapholder")) {
		if (id=="mapholder") {
			document.getElementById("mapholder").style.display = "inline";
		} else {
			document.getElementById("mapholder").style.display = "none";
		}
	}
	if (document.getElementById("photos")) {
		if (id=="photos") {
			document.getElementById("photos").style.display = "inline";
		} else {
			document.getElementById("photos").style.display = "none";
		}
	}
	if (document.getElementById("video")) {
		if (id=="video") {
			document.getElementById("video").style.display = "inline";
		} else {
			document.getElementById("video").style.display = "none";
		}
	}		
}

function addLeadingZero(val) {
	var strVal = "" + val;
	if (strVal.length < 2) {
		strVal = "0" + strVal;
	}
	return strVal;
}

function checkAvailability(source) {

	var form = document.quickReservations;
	
	var hotel_id = form.hotel_id.value;
	var hotel_name = form.hotel_name.value;
	var hotel_url = form.hotel_url.value;
	var brand = form.brand.value;
	var country = form.country.value;
	var city = form.city.value;
	var url = "";
	
	//pageTracker._trackPageview('/outgoing/reservations/'+hotels[i][3]+'/'+hotels[i][1]+'/'+source);
	//outTrans('', city, '', country, source, hotels[i][3], hotels[i][1]);

	trackOut('', city, '', country, source, brand, hotel_name, '');

	var dy = addLeadingZero(form.daysfrom[form.daysfrom.selectedIndex].value);
	var monYear = form.monthfrom[form.monthfrom.selectedIndex].value;
	var mn = addLeadingZero(parseInt(monYear.substr(0,2),10) + 1);

	var yr = monYear.substr(2,4);
	var nights = form.nights[form.nights.selectedIndex].value;
	if (form.rooms.selectedIndex != null) {
		var rooms = form.rooms[form.rooms.selectedIndex].value;
	} else {
		var rooms = form.rooms.value;
	}
	var ad = new Date(yr + "/" + mn + "/" + dy);
	var dd = new Date((1000*60*60*24*nights) + ad.getTime());
	var arrMonth = parseInt(ad.getMonth(),10)+1;
	var depMonth = parseInt(dd.getMonth(),10)+1;
	var arrival = ad.getFullYear() + "-" + addLeadingZero(arrMonth) + "-" + addLeadingZero(ad.getDate());
	var departure = dd.getFullYear() + "-" + addLeadingZero(depMonth) + "-" + addLeadingZero(dd.getDate());

	if (hotel_url.indexOf("?") > -1) {
		url = hotel_url+"&arrivalDate=" + arrival;
	} else {
		url = hotel_url+"?arrivalDate=" + arrival;
	}

	url += "&departureDate=" + departure;
	url += "&arrival=" + arrival;
	url += "&departure=" + departure;
	url += "&adults=" + form.adults[form.adults.selectedIndex].value;
	url += "&rooms=" + rooms;
	url += "&tunnel=true";
	url += "&hotelName=" + hotel_name;

	url += "&country=" + country;
	url += "&city=" + city;

	if (url.indexOf("luxurytravel.com/lux") > -1 || url.indexOf("worldexecutive.com/lux") > -1) {
		document.location = url;
	} else {
		window.open(url);
	}
	return;
}

function checkQuickAvailability(hotel_id,source,country,city) {

	var form = document.quickReservations;
	
	//alert(hotel_id);
	
	for (var i=0;i<hotels.length;i++) {
		if (hotels[i][0]==hotel_id) {
			hotel_name = hotels[i][1];
			hotel_url = hotels[i][2];
			brand = hotels[i][3];
			
			var url = "";

			trackOut('', city, '', country, source, brand, hotel_name, '');

			if (hotel_url.indexOf("?") > -1) {
				url = hotel_url+"&hotelName=" + hotel_name;
			} else {
				url = hotel_url+"?hotelName=" + hotel_name;
			}

			url += "&country=" + country;
			url += "&city=" + city;
			if (url.indexOf("luxurytravel.com/lux") > -1 || url.indexOf("worldexecutive.com/lux") > -1) {
				document.location = url;
			} else {
				window.open(url);
			}
			return;
			
		}
	}
	
}


function signup(element) {
	if ((element.value=="")||(element.value.indexOf("@")==-1)) {
		alert("Please specify a valid email address");
		return false;
	} else {
		document.getElementById('emailRedirect').src='/signup.php?email=' + element.value;
		alert("You have successfully subscribed to the email newsletter");
	}
}

function updateMap() {
	if (document.mapControls.hotels) {
		if (document.mapControls.hotels.checked) {
			//show hotels
			changecss('.hotelelement','display','block');
		} else {
			//hide hotels
			changecss('.hotelelement','display','none');
		}
	}
	if (document.mapControls.sights) {
		if (document.mapControls.sights.checked) {
			//show sights
			changecss('.sightelement','display','block');
		} else {
			//hide sights
			changecss('.sightelement','display','none');
		}
	}
	if (document.mapControls.shops) {
		if (document.mapControls.shops.checked) {
			//show shops
			changecss('.shopelement','display','block');
		} else {
			//hide shops
			changecss('.shopelement','display','none');
		}
	}
	if (document.mapControls.restaurants) {
		if (document.mapControls.restaurants.checked) {
			//show restaurants
			changecss('.restaurantelement','display','block');
		} else {
			//hide restaurants
			changecss('.restaurantelement','display','none');
		}
	}	
}

function changecss(theClass,element,value) {
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	}
	else if (document.getElementById) {
		cssRules = 'cssRules';
	}
	var added = false;
	for (var S = 0; S < document.styleSheets.length; S++){
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
			if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
				if(document.styleSheets[S][cssRules][R].style[element]){
					document.styleSheets[S][cssRules][R].style[element] = value;
					added=true;
					break;
				}
			}
		}

		if(!added){
			if(document.styleSheets[S].insertRule){
				document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
			} else if (document.styleSheets[S].addRule) {
				document.styleSheets[S].addRule(theClass,element+': '+value+';');
			}
		}
	}
}

function getOrderID(){
	//generate random order id
	var randomnumber = Math.floor(Math.random()*1000);
	var currentTime = new Date();
	var month = currentTime.getMonth()+1;
	var timeStamp = ''+currentTime.getDate()+month+currentTime.getFullYear()+'-'+currentTime.getHours()+'-'+currentTime.getMinutes()+'-'+currentTime.getSeconds()+'-'+randomnumber;
	return timeStamp;
}
function trackOut(sProv, sCity, sState, sCountry, sSource, sBrand, sName, sLocPrim){
	pageTracker._trackPageview('/outgoing/reservations/'+sBrand+'/'+sName+'/'+sSource+sLocPrim);
	ecTracker._trackPageview('/outgoing/reservations/'+sBrand+'/'+sName+'/'+sSource+sLocPrim);
	orderNum = getOrderID();
	ecTracker._addTrans(
		orderNum,	//order ID *
		sProv,		//provider name
		'1',		//total *
		'',			//tax
		'',			//shipping
		sCity,		//property's city
		sState,		//property's state
		sCountry	//property's country
	);
	ecTracker._addItem(
		orderNum,	// order ID *
		'reservations_'+sSource,	//SKU one of: reservations_list, reservations_details
		sBrand,		//product name - hotel brand
		sName,		//product category or variation - hotel name
		'1',		//unit price *
		'1'			//quantity *
	);
	ecTracker._trackTrans();
}
