function validatePlannerData(){
	var frmControls = document.getElementsByTagName("input");
	var TravelDate, ReturnDate, Origination, Destination, Adults, Childs, Roomnumber;
	var ErrorMsg = "The following errors are occured :\n\n";
	var OK = true;
	Destination = null;
	
	for(i=0; i<frmControls.length; i++){
		if(frmControls[i].name.indexOf("date_from")>=0){
			TravelDate = frmControls[i];
		}else if(frmControls[i].name.indexOf("date_to")>=0){
			ReturnDate = frmControls[i];			
		}else if(frmControls[i].id.indexOf("childs")>=0){
			Childs = frmControls[i];			
		}else if(frmControls[i].id.indexOf("adults")>=0){
			Adults = frmControls[i];			
		}else if(frmControls[i].id.indexOf("room_number")>=0){
			Roomnumber = frmControls[i];			
		}	
	}
	
	frmControls = document.getElementsByTagName("select");
	for(i=0; i<frmControls.length; i++){
		if(frmControls[i].name.indexOf("from_city")>=0){
			Origination = frmControls[i];			
		}else if(frmControls[i].name.indexOf("to_city")>=0){
			Destination = frmControls[i];			
		}	
	}
	
	if(Origination.selectedIndex==0){
		ErrorMsg+="Please select from where are you travelling\n";
		OK = false;
	}
	if(Destination!=null){
		if(Destination.selectedIndex==0){
			ErrorMsg+="Please select the location where you want to go\n";
			OK = false;
		}
	}
	if(Destination!=null){
		if((Origination.value==Destination.value) && Origination.value!="0"){
			ErrorMsg+="Deperture Location and Travel Destination can not be same\n";
			OK = false;
		}
	}else{
		if((Origination.value==document.getElementById('to_city').value) && Origination.value!="0"){
			ErrorMsg+="Deperture Location and Travel Destination can not be same\n";
			OK = false;
		}
	}
	if(TravelDate.value==""){
		ErrorMsg+="Please select the travelling date\n";
		OK = false;
	}
	if(ReturnDate.value==""){
		ErrorMsg+="Please select the returning date\n";
		OK = false;
	}
	if(Childs.value!=""){
			if(isNaN(Childs.value)){
					ErrorMsg+="Please enter a number for the No. Of Childs\n";
					OK = false;
			}
	}
	if(Adults.value!=""){
			if(isNaN(Adults.value)){
					ErrorMsg+="Please enter a number for the No. Of Adults\n";
					OK = false;
			}
	}
	if(Roomnumber.value!=""){
			if(isNaN(Roomnumber.value)){
					ErrorMsg+="Please enter a number for Required Rooms\n";
					OK = false;
			}
	}
	var tmpArrFromDate = TravelDate.value.split("-");
	var tmpArrToDate = ReturnDate.value.split("-");
	var FromDate = new Date(tmpArrFromDate[2], (tmpArrFromDate[1])-1, tmpArrFromDate[0]);
	var ToDate = new Date(tmpArrToDate[2], (tmpArrToDate[1])-1, tmpArrToDate[0]);	
	var ToDay = new Date();
	if(((FromDate-ToDay)/(1000*60*60*24))<3){
		ErrorMsg+="You must plan your travel before atleast 3 days of travelling !!\n";
		OK = false;
	}else if(ToDate<=FromDate){
		ErrorMsg+="Returning date must be greater than travelling date\n";
		OK = false;
	}else if(((ToDate-FromDate)/(1000*60*60*24))<3){
		ErrorMsg+="You must travel for at least 3 days !!\n";
		OK = false;
	}	
	if (!OK){
		alert(ErrorMsg);
	}
	
	return OK;
}

function showLuckyDrawRegister(){
	$("NEWSLETTERREGISTERDIV").style.left = (Screen.getViewportWidth()/2 - (500/2))+"px";
	$("NEWSLETTERREGISTERDIV").style.top = (Screen.getScrollTop()+(Screen.getViewportHeight()/2)-150)+"px";
	$("NEWSLETTERREGISTERDIV").style.display = '';
	$("COVER").style.display = '';
	$("COVER").style.height = Screen.getDocumentHeight()+'px';
}

function showTravelInfoInput(ToCityID, ToCityName){
	document.getElementById("to_city_name").innerHTML = ToCityName;
	document.getElementById("to_city").value = ToCityID;
	document.getElementById("TRAVELINFO").style.left = (Screen.getViewportWidth()/2 - (320/2))+"px";
	document.getElementById("TRAVELINFO").style.top = (Screen.getScrollTop()+(Screen.getViewportHeight()/2)-200)+"px";
	document.getElementById("TRAVELINFO").style.display = '';
	document.getElementById("COVER").style.display = '';
	document.getElementById("COVER").style.height = Screen.getDocumentHeight()+'px';
}

function hideTravelInfoInput(){
	document.getElementById("TRAVELINFO").style.display = 'none';
	document.getElementById("COVER").style.display = 'none';
}

function getCityProfileData(CityID, CityProfileCategoryID, DataDIV){
	new ajax ('ajax.php', {postBody: 'method=city_profile_data&city_id='+CityID+'&category_id='+CityProfileCategoryID, onComplete: getCityProfileData_callback, userVariable: DataDIV});
	document.getElementById("WAIT").style.left = (Screen.getViewportWidth()/2 - (300/2))+"px";
	document.getElementById("WAIT").style.top = (Screen.getScrollTop()+(Screen.getViewportHeight()/2)-50)+"px";
	document.getElementById("WAIT").style.display = '';
	document.getElementById("COVER").style.display = '';
	document.getElementById("COVER").style.height = Screen.getDocumentHeight()+'px';
}

function getCityProfileData_callback(request, uservar){
	document.getElementById("WAIT").style.display = 'none';
	document.getElementById("COVER").style.display = 'none';
	if(request!=null){
		document.getElementById(uservar).innerHTML = request.responseText;
		scroller.init();
		try{
			loadMap(16, document.getElementById("long").value, document.getElementById("lat").value);
		}catch (err){
		}
	}else{
		alert("There was a problem communicating with the server\n\nPlease try later on");
	}
}

function validate_captcha(captcha_value, frm){
	new ajax ('ajax.php', {postBody: 'method=validate_captcha&captcha_value='+captcha_value, onComplete: validate_captcha_callback, userVariable: frm});
	document.getElementById("WAIT").style.left = (Screen.getViewportWidth()/2 - (300/2))+"px";
	document.getElementById("WAIT").style.top = (Screen.getScrollTop()+(Screen.getViewportHeight()/2)-50)+"px";
	document.getElementById("WAIT").style.display = '';
	document.getElementById("COVER").style.display = '';
	document.getElementById("COVER").style.height = Screen.getDocumentHeight()+'px';
}

function validate_captcha_callback(request, uservar){
	document.getElementById("WAIT").style.display = 'none';
	document.getElementById("COVER").style.display = 'none';
	if(request!=null){
		if(request.responseText=="OK"){
			uservar.submit();
		}else if(request.responseText=="INVALID"){
			alert("Invalid Verification Code !!");
			captchaNew();
		}else{
			captchaNew();
			alert("There was a problem communicating with the server\n\nPlease try later on");
		}
	}else{
		captchaNew();
		alert("There was a problem communicating with the server\n\nPlease try later on");
	}
}

function toggleExpandCollapse(RouteID){
	if(document.getElementById("img_route_"+RouteID).src.indexOf("plus")>=0){
		document.getElementById("img_route_"+RouteID).src = "images/minus.jpg";
		document.getElementById("tr_route_"+RouteID).style.display = '';
	}else{
		document.getElementById("img_route_"+RouteID).src = "images/plus.jpg";
		document.getElementById("tr_route_"+RouteID).style.display = 'none';
	}
}

function toggleExpandCollapseImage(img){
	if(img.src.indexOf("plus")>=0){
		img.src = "../images/minus.jpg";
	}else{
		img.src = "../images/plus.jpg";
	}
}

function openFareWindow(TrainNumber, FlightNumber, FromCityID, ToCityID){
    window.open("index.php?view=routefare&train_number="+TrainNumber+"&flight_number="+FlightNumber+"&from_city_id="+FromCityID+"&to_city_id="+ToCityID,"route_fare","height=140,width=330,status=0,toolbar=0,location=0,menubar=0,resizable=0,scrollbars=1");
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

/*================== Functions for Pacckage Page ====================*/
function filterPackageList(){
	minPrice = document.getElementById("minprice").value;
	maxPrice = document.getElementById("maxprice").value;
	topPrice = document.getElementById("top_price").value;
	
	prev_package_count = filtered_packages.length;
	filtered_packages = Array();

	minPrice = Math.round((topPrice / 180) * minPrice);
	maxPrice = Math.round((topPrice / 180) * maxPrice);
	
	document.getElementById('price_range_from').innerHTML = minPrice.toFixed(2);
	document.getElementById('price_range_to').innerHTML = maxPrice.toFixed(2);
	
	if(document.frm_package_filter.elements["chk_by_direction"].checked){
		direction_radios = document.frm_package_filter.elements["chk_directions"];
		for(i=0; i<direction_radios.length; i++){
			if(direction_radios[i].checked){
				for(j=0; j<packages.length; j++){
					package_price = parseFloat(packages[j][7]-packages[j][8]);
					if((packages[j][3]==direction_radios[i].value) && (package_price>=minPrice && package_price<=maxPrice)){
						filtered_packages.push(packages[j]);
					}
				}
			}
		}
	}else if(document.frm_package_filter.elements["chk_by_theme"].checked){
		theme_radios = document.frm_package_filter.elements["chk_themes"];
		for(i=0; i<theme_radios.length; i++){
			if(theme_radios[i].checked){
				for(j=0; j<packages.length; j++){
					package_price = parseFloat(packages[j][7]-packages[j][8]);
					if(packages[j][2]==theme_radios[i].value && (package_price>=minPrice && package_price<=maxPrice)){
						filtered_packages.push(packages[j]);
					}
				}
			}
		}
	}else{
		city_chekboxes = document.frm_package_filter.elements["chk_cities"];
		for(i=0; i<city_chekboxes.length; i++){
			if(city_chekboxes[i].checked){
				for(j=0; j<packages.length; j++){
					package_price = parseFloat(packages[j][7]-packages[j][8]);
					if(packages[j][1]==city_chekboxes[i].value){
						if(package_price>=minPrice && package_price<=maxPrice){
							filtered_packages.push(packages[j]);
						}
					}
				}
			}
		}
	}
	
	var main_table = document.getElementById('package_display');
	var tr;
	rowcount = main_table.rows.length;
	
	for(i=0; i<rowcount; i++){
		tr = main_table.rows[0];
		tr.parentNode.removeChild(tr);
	}
	
	if(filtered_packages.length==0){
		if(prev_package_count!=0){
			alert("No matching package");
		}
	}else{
		var package_table;
		var td;
		var img;
		var eachrow;
		var button;
		var frm;
		var hdn;
		for(i=0; i<filtered_packages.length; i++){
			
			if(i%3==0){
				eachrow = main_table.insertRow(main_table.rows.length);
			}
			
			package_table = document.createElement('table');
			package_table.setAttribute("border", "0");
			package_table.setAttribute("cellspacing", "0");
			package_table.setAttribute("cellpadding", "0");
			
			tr = package_table.insertRow(package_table.rows.length);
			td = tr.insertCell(tr.cells.length);
			td.setAttribute("height", "25");
			td.style.paddingLeft = "5px";
			td.className = "inrfont";
			td.innerHTML = filtered_packages[i][4];
			td.setAttribute("colSpan", "2");
			
			tr = package_table.insertRow(package_table.rows.length);
			td = tr.insertCell(tr.cells.length);
			td.setAttribute("height", "100");
			td.setAttribute("width", "105");
			td.setAttribute("vAlign", "top");
			td.style.paddingLeft = "5px";
			img = document.createElement("img");
			img.src = filtered_packages[i][6];
			img.setAttribute("height", "80");
			img.setAttribute("width", "100");
			td.appendChild(img);
			
			td = tr.insertCell(tr.cells.length);
			td.setAttribute("width", "130");
			td.setAttribute("vAlign", "top");
			td.className = "smallfont";
			td.innerHTML = filtered_packages[i][5];
			
			
			tr = package_table.insertRow(package_table.rows.length);
			td = tr.insertCell(tr.cells.length);
			td.style.paddingLeft = "5px";
			td.setAttribute("height", "25");
			td.className = "greenfont";
			td.innerHTML = "INR "+(filtered_packages[i][7]-filtered_packages[i][8]).toFixed(2);
			
			frm = document.createElement("form");
			frm.name = "frm"+i;
			frm.action = "index.php?view=packagedetail";
			frm.method = "POST";
			
			button = document.createElement('input');
			button.type = "submit";
			button.value = "Detail >>";
			button.className = "NewButtonRed";
			
			frm.appendChild(button);
			
			hdn = document.createElement('input');
			hdn.type = "hidden";
			hdn.name = "package_id";
			hdn.value = filtered_packages[i][0];

			frm.appendChild(hdn);
			
			td = tr.insertCell(tr.cells.length);
			td.style.paddingRight = "5px";
			td.setAttribute("align", "right");
			td.appendChild(frm);
			
			eachrow.insertCell(eachrow.cells.length);
			eachrow.cells[eachrow.cells.length-1].setAttribute("width", 250);
			eachrow.cells[eachrow.cells.length-1].className="orangetable";
			eachrow.cells[eachrow.cells.length-1].appendChild(package_table);
			
			if((i+1)%3!=0){
				eachrow.insertCell(eachrow.cells.length);
				eachrow.cells[eachrow.cells.length-1].setAttribute("width", 5);
			}else{
				eachrow = main_table.insertRow(main_table.rows.length);
				td = eachrow.insertCell(eachrow.cells.length);
				td.setAttribute("colspan", "5");
				td.setAttribute("height", "10");
			}
		}		
	}
}

function toggleThemeEnable(enable, enablecity){
	if(enable){
		document.frm_package_filter.elements["chk_by_direction"].checked = false;
		toggleDirectionEnable(false, false);
		toggleCitiesEnable(false);
	}else if(enablecity){
		toggleCitiesEnable(true);
	}
	theme_radios = document.frm_package_filter.elements["chk_themes"];
	for(i=0; i<theme_radios.length; i++){
		theme_radios[i].checked = enable;
		if(!enable){
			theme_radios[i].disabled = "disabled";
		}else{
			theme_radios[i].disabled = "";
		}
	}
	if(enable){
		filterPackageList();
	}
}

function toggleDirectionEnable(enable, enablecity){
	if(enable){
		document.frm_package_filter.elements["chk_by_theme"].checked = false;
		toggleThemeEnable(false, false);
		toggleCitiesEnable(false);
	}else if(enablecity){
		toggleCitiesEnable(true);
	}
	direction_radios = document.frm_package_filter.elements["chk_directions"];
	for(i=0; i<direction_radios.length; i++){
		direction_radios[i].checked = enable;
		if(!enable){
			direction_radios[i].disabled = "disabled";
		}else{
			direction_radios[i].disabled = "";
		}
	}
	if(enable){
		filterPackageList();
	}
}

function toggleCitiesEnable(enable){
	cities = document.frm_package_filter.elements["chk_cities"];
	for(i=0; i<cities.length; i++){
		cities[i].checked = enable;
		if(!enable){
			cities[i].disabled = "disabled";
		}else{
			cities[i].disabled = "";
		}
	}
	if(enable){
		filterPackageList();
	}
}
/*====================================================================*/

/*============== Functions for package booking form ==================*/
function updateReturnDate(frm){
	var tmpArr = frm.travel_date.value.split("-");
	var travel_date = new Date(tmpArr[2], tmpArr[1], tmpArr[0], 0, 0, 0);
	travel_date.setDate(travel_date.getDate()+ parseFloat(frm.hdn_days.value));
	document.getElementById('div_return_date').innerHTML = travel_date.getDate()+"-"+travel_date.getMonth()+"-"+travel_date.getFullYear();
	document.getElementById('return_date').value = travel_date.getDate()+"-"+travel_date.getMonth()+"-"+travel_date.getFullYear();
}
/*====================================================================*/

/*=========== Function to open hotel videos window ===================*/
function showHotelVideos(HotelID){
	window.open("index.php?view=hotelvideos&hotel_id="+HotelID,"hotel_video","height=300,width=550,status=0,toolbar=0,location=0,menubar=0,resizable=0,scrollbars=0");
}
/*====================================================================*/

/*=========== Function to open hotel room fare window ================*/
function showHotelRoomFares(HotelID){
	window.open("index.php?view=roomfare&hotel_id="+HotelID,"room_fare","height=150,width=380,status=0,toolbar=0,location=0,menubar=0,resizable=0,scrollbars=0");
}
/*====================================================================*/

/*=========== Function to open hotel images window ================*/
function showHotelImages(HotelID){
	window.open("index.php?view=hotelimages&hotel_id="+HotelID,"room_fare","height=540,width=740,status=0,toolbar=0,location=0,menubar=0,resizable=0,scrollbars=0");
}
/*====================================================================*/

/*=========== Function for video player window (play video) =========*/
function PlayVideo(vid_file){
	if(vid_file==""){
		alert("This video is not available. Sorry for the inconvenience");
	}else{
		var so = new SWFObject('3rdparty/jwflv/player.swf','mpl','400','300','9');
		so.addParam('allowscriptaccess','always');
		so.addParam('allowfullscreen','true');
		so.addParam('flashvars','&file='+vid_file+'&fullscreen=true&author=getasexpartner.com&logo=images/player_preview.png&autostart=true');
		so.write('player');
	}
}
/*====================================================================*/

/*============== Function for Image Gallery Pagination ===============*/
function showNewPaging(id,total){
	for(var i=0;i<total;i+=2){
		if(i==id){
			document.getElementById("paginglink_"+id).className="leftfont";
		}else{
			document.getElementById("paginglink_"+i).className="adtext";
		}
	}
	for(i=0; i<total; i++){
		if(i==parseFloat(id) || i==parseFloat(id+1)){
			document.getElementById("page_"+i).style["display"]="";
		}else{
			document.getElementById("page_"+i).style["display"]="none";
		}
	}
}
/*====================================================================*/

/*================== Functions for newsletter registration ====================*/
function validateNewsletterRegister(){
	var Name = document.getElementById("news_name").value;
	var Email = document.getElementById("news_email").value;
	var Phone = document.getElementById("news_phone").value;
	if(Name==""){
	alert("Please enter a value of Name:");
	}
	else if(Email=="")
	{
		alert("Please enter a value of Email:");
	}
	else if(Phone==""){
	alert("Please enter a value of Phone:");
	}else{
	insertNewsletterUserData();
	}

}

function hideNewsletterRegisInput(){
	document.getElementById("NEWSLETTERREGISTERDIV").style.display = 'none';
	document.getElementById("COVER").style.display = 'none';
}

function showThankYou(){
	
	document.getElementById("THANKYOUDIV").style.left = (Screen.getViewportWidth()/2 - (320/2))+"px";
	document.getElementById("THANKYOUDIV").style.top = (Screen.getScrollTop()+(Screen.getViewportHeight()/2)-200)+"px";
	document.getElementById("THANKYOUDIV").style.display = '';
	document.getElementById("COVER").style.display = '';
	document.getElementById("COVER").style.height = Screen.getDocumentHeight()+'px';
}

function hideThankYou(){
	document.getElementById("THANKYOUDIV").style.display = 'none';
	document.getElementById("COVER").style.display = 'none';
}

function insertNewsletterUserData(){
	var Name = document.getElementById("news_name").value;
	var Email = document.getElementById("news_email").value;
	var Phone = document.getElementById("news_phone").value;
	new ajax ('ajax.php', {postBody: 'method=newsletteruser&name='+Name+'&email='+Email+'&phone='+Phone, onComplete: insertNewsletterUserData_callback});
}

function insertNewsletterUserData_callback(request){
	if(request!=null){	
		if(request.responseText=="OK"){							
			hideNewsletterRegisInput();						
			alert("Thank you for your participation.\nWe'll contact you in case if you win in the lucky draw!!");
		}else{
			alert("We were not able to process your request\n\nPlease try later on");
		}
	}else{
		alert("We were not able to process your request\n\nPlease try later on");
	}
}
/*=====================================================================*/


function opn_friend_inviter(){
	var popwindow = window.open('index.php?view=invite','InviteFriend','width=500,height=545,status=0,address=0,resize=0');
	if(!popwindow){
		alert("Your POP UP Blocker blocking a new window\n\nPlease disable any POP UP Blocker,\nor hold down CNTRL key while clicking on button/link");
	}
}
