/************************************
**	WorldVentures
**	Author :Mukesh P
**	Version:2008.02.09
*************************************/

var query='';
var tType='';
function psCarSearch(btn)
{
	btn.disabled=true;
	var tmpT=btn.value;
	psPuCity=psPuArea=psPuWhere=puCntry=puAddr1=puStat=puCty1=puZp=puPoint=puPoStat='';
	psDrCity=psDrArea=psDrWhere=DrCntry=DrAddr1=DrStat=DrCty1=DrZp=DrPoint=DrPoStat='';
	btn.value='';	
	query='';
	psPuWhere=crObj('cpuwhere').value;
	if(crObj('cpuwhere').value=='airport'){
		cObj=crObj('car_pickup_city');	
		if(cObj.value=="" || cObj.value.length<3)
		{
			alert("Enter atleast 3 Characters");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		psPuCity=cObj.value;
	}
	else if(crObj('cpuwhere').value=='address'){
		puCntry=crObj('puCountry').value;
		cObj=crObj('puAdCity');	
		if(cObj.value=="" || cObj.value.length<3)
		{
			alert("Enter city name");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		puCty1=cObj.value;
		cObj=crObj('puAddress');	
		if(cObj.value=="" || cObj.value.length<3)
		{
			alert("Enter Address");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		puAddr1=cObj.value;
//		puStat=crObj('puState').value;
		
		cObj=crObj('puState');	
		if(cObj.value=="")
		{
			alert("Choose State");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		puStat=cObj.value;
		cObj=crObj('puZip');	
		if(cObj.value=="" || cObj.value.length!=5)
		{
			alert("Enter a Valid Zipcode");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		puZp=cObj.value;
	}
	else{
		cObj=crObj('pu_point');	
		if(cObj.value=="" || cObj.value.length!=5)
		{
			alert("Enter a Valid Zipcode");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		puPoint=cObj.value;
		puPoStat=crObj('pu_postate').value;
	}
	sameLoc='y'
	if(crObj('diff22').checked)
		sameLoc='n';
	else{
		psPuWhere='do'+crObj('cdrwhere').value;
		if(crObj('cdrwhere').value=='airport'){
			cObj=crObj('car_drop_city');	
			if(cObj.value=="" || cObj.value.length<3)
			{
				alert("Enter atleast 3 Characters");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			psDrCity=cObj.value;
		}
		else if(crObj('cdrwhere').value=='address'){
			DrCntry=crObj('drCountry').value;
			cObj=crObj('drAdCity');	
			if(cObj.value=="" || cObj.value.length<3)
			{
				alert("Enter city name");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			DrCty1=cObj.value;
			cObj=crObj('drAddress');	
			if(cObj.value=="" || cObj.value.length<3)
			{
				alert("Enter Address");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			DrAddr1=cObj.value;
//			DrStat=crObj('drState').value;
			cObj=crObj('drState');	
			if(cObj.value=="")
			{
				alert("Choose State");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			DrStat=cObj.value;
			cObj=crObj('drZip');	
			if(cObj.value=="" || cObj.value.length!=5)
			{
				alert("Enter a Valid Zipcode");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			DrZp=cObj.value;
		}
		else{
			cObj=crObj('dr_point');	
			if(cObj.value=="" || cObj.value.length!=5)
			{
				alert("Enter a Valid Zipcode");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			DrPoint=cObj.value;
			DrPoStat=crObj('dr_postate').value;
		}		
	}
	
	
	cObj=crObj('car_pickupdate');
	if(cObj.value=='' || cObj.value=='mm/dd/yy'){
		alert('Select Date');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	today=psTodayCheck('');	
	tripDate=psTodayCheck(cObj.value);
	if(tripDate<today)
	{
		alert('Select a Valid Date');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psPuDate=cObj.value;
	psPuTime=crObj('car_pickuptime').value;
	cObj=crObj('car_dropoffdate');
	if(cObj.value=='' || cObj.value=='mm/dd/yy'){
		alert('Select Date');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	today1=tripDate;
	tripDate=psTodayCheck(cObj.value);
	if(tripDate<today1)
	{
		alert('Select a Valid Date');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psDrDate=cObj.value;
	psDrTime=crObj('car_dropofftime').value;
	psNc=crObj('car_number').value;
	psCarType=crObj('car_type').value;
	psCCompany=crObj('car_company').value;
	psTrans=(crObj('ctrans').checked) ? "A" : "M";
	aircond=(crObj('cair').checked) ? "R" : "N";
	query="puwhere="+psPuWhere+"&puair="+psPuCity+"&pucntry="+puCntry+"&puaddr="+puAddr1+"&pustate="+puStat+"&"
	query+="pucity="+puCty1+"&puzip="+puZp+"&pupoi="+puPoint+"&pupoistate="+puPoStat+"&same="+sameLoc+"&"
	query+="dowhere="+psDrWhere+"&doair="+psDrCity+"&docntry="+DrCntry+"&doaddr="+DrAddr1+"&dostate="+DrStat+"&"
	query+="docity="+DrCty1+"&dizip="+DrZp+"&dupoi="+DrPoint+"&dopoistate="+DrPoStat+"&"
	query+="pudate="+psPuDate+"&putime="+psPuTime+"&drdate="+psDrDate+"&drtime="+psDrTime+"&numberofcars="+psNc+"&carcode="+psCarType+"&"
	query+="vendor="+psCCompany+"&aircon="+aircond+"&trans="+psTrans+"&currency=USD";
	query+="usersession=&closeaftersearch=250&triptype=car";
	request_create(query,'car');
}

function load_shipoptions(o){
	opt='';
	argc=ships[o].length;
//	alert(argc);
	for(i=0;i<argc;i++){
		t=ships[o][i][1];
		v=ships[o][i][0];
		opt+='<option value="'+v+'">'+t+'</option>';	
	}
	crObj('cruise_s_ship').innerHTML=opt;
}

function psCruiseDefault(t)
{
	try{
	switch(t){
		case "cruise_d":
		crObj('cruise_ds_dest').innerHTML='<select name="cruise_d_dest"  id="cruise_d_dest">'+crObj('cruise_s_dest').innerHTML+'</select>';
			
		break;
		case "cruise_l":
//			crObj('cruise_l_line').innerHTML=crObj('cruise_s_line').innerHTML;
			crObj('cruise_ls_line').innerHTML='<select name="cruise_l_line"  id="cruise_l_line">'+crObj('cruise_s_line').innerHTML+'</select>';
		break;
	}
	}catch (e){
		alert(e.message);
	}
}
function psCruiseLineSearch(btn)
{
	btn.disabled=true;
	var tmpT=btn.value;
	btn.value='';	
	cObj=crObj('cruise_l_line');
	if(cObj.value=='')
	{
		alert('Select any Cruise Line');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	query+="VendorID="+cObj.value;
	request_create(query,'cruiseline');
}
function psCruiseDestiSearch(btn)
{
	btn.disabled=true;
	var tmpT=btn.value;
	btn.value='';	
	cObj=crObj('cruise_d_dest');
	if(cObj.value=='')
	{
		alert('Select One Destination');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	query+="DestinationID="+cObj.value;
	request_create(query,'cruisedestini');
}
function psCruiseSearch(btn){
	btn.disabled=true;
	var tmpT=btn.value;
	btn.value='';	
	query="triptype=cruise";
	cObj=crObj('cruise_s_dest');
	if(cObj.value=='')
	{
		alert('Select One Destination');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psDesti=cObj.value;
	cObj=crObj('sail_date');
	if(cObj.value=='' || cObj.value=='mm/dd/yy')
	{
		alert('Select Date of journey');
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psDate=cObj.value;
	psMon=psDate.split('/')[0];
	psYr='20'+psDate.split('/')[2];
	psDays=crObj('cruise_s_dur').value;
	psOper=crObj('cruise_s_line').value;
	psShip=(psOper.value!='') ? crObj('cruise_s_ship').value : "";
	//Location=search_type=cruise_search&
	//DestinationID=45&cruise_month=4&cruise_year=2008&cruise_duration=0-9999&VendorID%5B%5D=2&ShipID=324&rcs=1
	query+="&DestinationID="+psDesti+"&operator="+psOper+"&cruise_month="+parseFloat(psMon)+"&cruise_year="+psYr;
	query+="&cruise_duration="+psDays+"&VendorID%5B%5D="+psOper+"&ShipID="+psShip;
//	alert(query);
	request_create(query,'cruise');
}
function psFlightSearch(btn)
{
	qvalue='air';
	tType='air';
	btn.disabled=true;
	var tmpT=btn.value;
	btn.value='';	
	query='';
	if(crObj('ttr').checked || crObj('tto').checked){	//Roundtrip Selected		
		sfx=(crObj('ttr').checked) ? "r" : "o";
//		alert(sfx);
		cObj=crObj(sfx+'tdep');
		if(cObj.value=='' || cObj.value.length!=3 )
		{
			alert("Enter Departure City Code");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		psFrom=cObj.value;		
		cObj=crObj(sfx+'tret');
		if(crObj(sfx+'tdep').value==cObj.value){
			alert("Departure and Destination city should not be the same");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}
		if(cObj.value=='' || cObj.value.length!=3 )
		{
			alert("Enter Destination Code");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		psTo=cObj.value;
		cObj=crObj(sfx+'tDepD');
		if(cObj.value=='' || cObj.value=="mm/dd/yy")
		{
			alert("Enter Departure Date");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}	
		date1=psTodayCheck(cObj.value);		
		today=psTodayCheck('');
		if(date1<today)
		{
			alert("Invalid Date");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}
		psDepDate=cObj.value;
		psDepTime=crObj(sfx+'tDepT').value;		
//		alert(psDepTime);
//		alert(crObj(sfx+'tDepT'));
//		alert('Testing');
//		return false;
		if(sfx=='r'){
			psStype='round';
			cObj=crObj(sfx+'tRetD');
			if(cObj.value=='' || cObj.value=="mm/dd/yy")
			{
				alert("Enter Return Date");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}	
			date2=cObj.value.split("/");
			date2="20"+date2[2]+date2[0]+date2[1];				
			if(date1>date2)
			{
				alert("Select a different date");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}
			psRetDate=cObj.value;	
			psRetTime=crObj(sfx+'tRetT').value;
		}else{
			psStype='oneway';
			psRetDate='';
			psRetTime='';
		}		
		query="booking=no&";
		query+="depairport="+psFrom+"&city="+psTo+"&bound1date="+psDepDate+"&bound2date="+psRetDate+"&time1="+psDepTime+"&time2="+psRetTime;
//		alert(query);
//		return false;
	}
	else if(crObj('ttm').checked){	//Mulitcity Search
//		alert(tmpT);
		var today=psTodayCheck('');
		psStype='multicity';
		for(i=1;i<5;i++){
			must=(i<3) ? 1 : 0 ;
			cObj=crObj("mDep"+i);
			if(cObj.value.length!=3 && must)
			{
				alert("Departure City["+i+"]");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}
			if(!must){
				if(cObj.value!='')
				{
					must=1;
					if(cObj.value.length!=3){
						alert("Departure City["+i+"] \n Airport Code?");
						cObj.focus();
						return psBtnControl(btn,tmpT);
					}
				}
			}
			psFrom=cObj.value;
			cObj=crObj("mTo"+i);
			if(cObj.value.length!=3 && must)
			{
				alert("Arrival City["+i+"]");
				cObj.focus();
				return psBtnControl(btn,tmpT);
			}
			psTo=cObj.value;
			if(must)			
				if(!crossCheckDate(i,today))
					return psBtnControl(btn,tmpT);
			cObj=crObj("mDt"+i);
			psDate=(cObj.value=='mm/dd/yy') ? '' : cObj.value;
			today=date1;
			if(psFrom.toLowerCase()==psTo.toLowerCase() && must)
			{
				alert("Departure and arrival city Should not be the same.");
				crObj("mTo"+i).focus();
				return psBtnControl(btn,tmpT);
			}			
			query+="&city"+i+"frm="+psFrom+"&city"+i+"to="+psTo;
			query+="&bound"+i+"date="+psDate;			
		}
	}
	query+="&airtype="+psStype
	if(!psPassengerInfo('a'))						//Passenger Count + Query
		return psBtnControl(btn,tmpT);
	
	if(crObj('srch_item')){
		qvalue=crObj('srch_item').value;
		switch (crObj('srch_item').value){				//Selected Flight Combination.
			case 'Flight':
				query+="&triptype=air";
			break;
			case 'FlightHotel':
				query+="&triptype=air";	
				if(crObj('flihot'))		
					if(crObj('flihot').checked)
						query+="&hotel=true";
			break;
			case 'FlightHotelCar':
				query+="&triptype=airhotelcar";
			break;
			case 'FlightCar':
				query+="&triptype=aircar";
			break;
	//		alert(query);
		}
	}
	else
		query+="&triptype=air";
//		alert(query);
//		return false;
	request_create(query,qvalue);	
}
function psHotelSearch(btn)
{
	btn.disabled=true;
	var tmpT=btn.value;
	btn.value='';	
	query='';
	cObj=crObj('location_hotel');
	if(cObj.value=="")
	{
		alert("Enter Destination");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}	
	psTo=cObj.value;
	cObj=crObj('hoteldate_in');
	if(cObj.value=="" || cObj.value=="mm/dd/yy")
	{
		alert("Enter Checkin date");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psCheckIn=cObj.value;
	psFrom='LAS';
	date11=psTodayCheck(cObj.value);	
	cObj=crObj('hoteldate_out');
	if(cObj.value=="" || cObj.value=="mm/dd/yy")
	{
		alert("Enter Checkout date");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psCheckOut=cObj.value;
	date2=psTodayCheck(cObj.value);		
	today1=psTodayCheck('');
//	alert(date11+"\n"+today1);
	if(date11<today1)
	{
		alert("Invalid Date");
		crObj('hoteldate_in').focus();
		return psBtnControl(btn,tmpT);
	}
	if(date11>=date2)
	{
		alert("Select a different date");
		crObj('hoteldate_out').focus();
		return psBtnControl(btn,tmpT);
	}
	query="triptype=hotel&";
	query+="airtype=&depairport="+psFrom+"&destinationarea="+psTo+"&bound1date="+psCheckIn;
	query+="&bound2date="+psCheckOut;
	if(psTo.length==3)
		query+='&city='+psTo;
	else{
		query+='&city='+psTo;
	}
	
//	qs+="&usersession=000000"+"&city="+psTo+"&destinationarea="+psTo+"&redirect=true&search=full";
	if(!psPassengerInfo('h'))						//Passenger Count + Query
		return psBtnControl(btn,tmpT);
//	alert(query);
	request_create(query,'hotel');
}
function psVacationSearch(btn){
//	alert();
	btn.disabled=true;
	var tmpT=btn.value;
	btn.value='';	
	query='';
	psFrom='LAS';
	if(!crObj('shh').checked){
		cObj=crObj('dcity');
		if(cObj.value=="")
		{
			alert("Enter Departure City.");
			cObj.focus();
			return psBtnControl(btn,tmpT);
		}
		psFrom=cObj.value;
	}
	cObj=crObj('destination');
	if(cObj.value=="")
	{
		alert("Enter Destination City.");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psTo=cObj.value;
	if(!psPassengerInfo('v'))						//Passenger Count + Query
		return psBtnControl(btn,tmpT);
	cObj=crObj('vDepD');
	today=psTodayCheck('');
	if(cObj.value=="" || cObj.value=="mm/dd/yy")
	{
		alert("Enter Checkin date");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}	
	date1=psTodayCheck(cObj.value);
	if(date1<today)
	{
		alert("Invalid Date");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}
	psFromDt=cObj.value;
	cObj=crObj('vArvD');
	date2=psTodayCheck(cObj.value);
	if(date1>=date2)
	{
		alert("Select a different date");
		cObj.focus();
		return psBtnControl(btn,tmpT);
	}	
	psToDt=cObj.value;
	if(crObj('shv').checked){
		tType='airhotel';
		query+="&triptype=airhotel&";
	}
	else if(crObj('shc').checked){
		tType='airhotelcar';
		query+="&triptype=airhotelcar&";
	}
	else if(crObj('shh').checked){
		tType='hotelonly';
		query+="&triptype=hotel&";
	}
//	crObj("destination").value.split("_")[0]
	query+="airtype=&depairport="+psFrom+"&bound1date="+psFromDt;
	query+="&bound2date="+psToDt;
	query+="&usersession=000000"+"&city="+psTo.split("_")[0]+"&destinationarea="+escape(psTo.split("_")[1]);
//	alert(query);
//	return psBtnControl(btn,tmpT);
	request_create(query,tType);
}