// a fancy little function that decides what the url they should be going to, basically makes it as short and to-the-point as possible

function validate_quicksearch(pv) {
    f = document.quicksearch;
	params = '';
	if(f.q){
	    q = f.q.value;
	}
	arriving = f.arriving.value;
	
	adults = f.occupancyAdults.value;
	children = f.occupancyChildren.value;
	
	if(f.nights){
	    nights = f.nights[f.nights.selectedIndex].value;
	}
	d_q = "";
	d_range = "";
	d_arriving = f.d_arriving.value;
	d_nights = 1;

	
    if(f.hotelId.value!=''){
	var url = document.location.href;
	var isDev = url.indexOf('dev',url);
	if( isDev == -1 ){
	    url = "http://www.hotels-london.co.uk/" + f.hotelName.value.replace(/ /g, "-") + ".hotel" ;
	}else{
	    url = "http://dev.hotels-london.co.uk/" + f.hotelName.value.replace(/ /g, "-") + ".hotel" ;
	}
	
	if(arriving){
	url= url + "?arriving=" + arriving;
	}
	if(nights && nights != 1){
		if(!arriving){
		url= url + "?";
		}else{
		url= url + "&";
		}
		
		url = url + "nights=" + nights;
	}
	
	url = url.toLowerCase() ;
	self.location.href = encodeURI(url);
	
    }else{
	

	if(f.sortBy){

	    sortBy = f.sortBy.value;
	    if(sortBy != ""){
		params+="&sort="+sortBy ;
		params+="&sortorder=asc" ;
	    }
	    starparams ="";

	    for (var i=0; i < document.quicksearch.stars.length; i++){
		if (document.quicksearch.stars[i].checked){
		    starparams+=document.quicksearch.stars[i].value + ',';
		}
	    }
	    if(starparams != ""){
		params+="&stars=" ;
		params+= starparams  ;  
		params = params.substring(0,params.length-1);
	    }

	    rangeparams = "";

	    for (var j=0; j < document.quicksearch.ranges.length; j++){
		if (document.quicksearch.ranges[j].checked){
		    rangeparams+=document.quicksearch.ranges[j].value + ',';
		}
	    }
	    if(rangeparams != ""){
		params+="&ranges=" ;
		params+= rangeparams ;
		params = params.substring(0,params.length-1);
	    }

	    price = f.pricePerNight.value;

	    switch(price){
		case '0':
		    break;
		case '999':
		    minPrice = 200;
		    params+="&minprice="+ minPrice*nights;
		    break;
		default:
		    params+="&maxprice="+price*nights;
		    break;
	    }

	}else if(f.rangesearchcontainter){
	    //quick fix so this section doesn't get used on home page and break the serach.
	    rangeparam = "";
	    params = "";
	    if(f.amountFrom.value){
		amountFrom = f.amountFrom.value;
	    }
	    amountTo = f.amountTo.value;
	    rangeparam+=document.quicksearch.ranges.value;
	    if(rangeparam != ""){
		params+="&ranges=" ;
		params+= rangeparam ;
	    }
	    params+="&minprice="+ amountFrom*nights;
	    params+="&maxprice="+amountTo*nights;
	}else if(f.lifestylesearch){
	    //quick fix so this section doesn't get used on home page and break the serach.
	    rangeparam = "";
	    params = "";
	    starparams ="";
	    starto = "";
	    for (var i=0; i < document.quicksearch.star1.length; i++){
		if (document.quicksearch.star1[i].checked){
		    starparams+=document.quicksearch.star1[i].value + ',';
		    starfrom = i+1;
		}
	    }
	    for (var i=0; i < document.quicksearch.star2.length; i++){
		if (document.quicksearch.star2[i].checked){
		    starparams+=document.quicksearch.star2[i].value + ',';
		    starto = i+1;
		}else{
		    starto =0;
		}
	    }

	    if(starparams != ""){
		params+="&stars=" ; 
		params+= starfrom + ',';

		for(i=0;i<5;i++){
		    if(i > starfrom && i < starto ){
			if(starto){
			    params+=i + ',';
			}
		    }
		}

		if(starto){
		    params+= starto ;
		}else{
		    strLen = params.length;
		    params = params.slice(0,strLen-1);
		}
	    }
		
	    amountFrom = f.pricePerNight.value;
	    if(rangeparam != ""){
		params+="&ranges=" ;
		params+= rangeparam ;
	    }
	    if(amountFrom == 201){
		params+="&minprice="+amountFrom*nights;
	    }else{
		params+="&maxprice="+ amountFrom*nights;
	    }
	    section = f.section.value;
	    subsection = f.subsection.value;
	    params+="&lifestyle=TRUE&section=" + section + "&subsection=" + subsection;
	}
	url = "hotels.php?available=1";

	if((arriving != d_arriving) || (nights != d_nights)) {
	    params += "&arriving=" + arriving + "&nights=" + nights;
	}
	if(adults != 1){
	    params += "&adults=" + adults;
	}
	if(children != 0){
	    params += "&children=" + children;
	}
	if((q != d_q) && (q != "district, postcode, attraction") && (q != null)) {
	    params += "&search=" + q;
	}
	
	if(pv){
	    params += "&pv=lgpop_list";
	}
	params = encodeURI(params); 
	url += params;
	self.location = url;
	return false;
    }
}
