/*
// $RCSfile: ajax.js,v $
// $Source: /cvs/bedsincyprusweb-live/includes/ajax.js,v $, $Revision: 1.1 $, $Date: 2008/02/28 10:57:13 $, $State: Exp $ 
*/

function doSearch(base) {

  // Obtain an XMLHttpRequest instance
  var req = newXMLHttpRequest();
  
  if(req) { // Can do AJAX: carry on
	  // Set the handler function to receive callback notifications
	  // from the request object
	  var handlerFunction = getReadyStateHandler(req, updateSearch);
	  req.onreadystatechange = handlerFunction;
	  
	  // Open an HTTP POST connection to the shopping cart.
	  // Third parameter specifies request is asynchronous.
	  req.open("POST", base+"ajax.php", true);
	
	  // Specify that the body of the request contains form data
	  req.setRequestHeader("Content-Type", 
						   "application/x-www-form-urlencoded");
	
	  // Send form encoded data stating that I want to add the 
	  // specified item to the cart.
	  var form = document.forms['frmName'];
	  var resort='', country='';
	  
	  if(form) {
		  resort = form.resort.value;
		  country = form.country.value;
	  }
	  var hotel='',catering='',villa='',town='',village='';
	  var hasall='',bar='',gym='',health='',inpool='',outpool='',service='',kids='',squash=''
	  var tennis='',water='',baby='',kidspool='',wedding='';
	  var one='', two='', three='', four='', five='', aa='', bb='', cc='';
		  
	  form = document.forms['frmCategory'];
	  if(form) {
		  resort = form.resort.value;
		  country = form.country.value;
		  
		  if(form.ishotel.checked) hotel = 'Y';
		  if(form.iscatering.checked) catering = 'Y';
		  if(form.isvilla.checked) villa = 'Y';
		  if(form.istown.checked) town = 'Y';
		  if(form.isvillage.checked) village = 'Y';
		  
		  if(form.hasall.checked) var hasall = 'Y';
		  if(form.hasbar.checked) var bar = 'Y';
		  if(form.hasgym.checked) var gym = 'Y';
		  if(form.hashealth.checked) var health = 'Y';
		  if(form.hasinpool.checked) var inpool = 'Y';
		  if(form.hasoutpool.checked) var outpool = 'Y';
		  if(form.hasservice.checked) var service = 'Y';
		  if(form.haskids.checked) var kids = 'Y';
		  if(form.hassquash.checked) var squash = 'Y';
		  if(form.hastennis.checked) var tennis = 'Y';
		  if(form.haswater.checked) var water = 'Y';
		  if(form.hasbaby.checked) var baby = 'Y';
		  if(form.haskidspool.checked) var kidspool = 'Y';
		  
		  if(form.one.checked) var one = 'Y';
		  if(form.two.checked) var two = 'Y';
		  if(form.three.checked) var three = 'Y';
		  if(form.four.checked) var four = 'Y';
		  if(form.five.checked) var five = 'Y';
		  if(form.aa.checked) var aa = 'Y';
		  if(form.bb.checked) var bb = 'Y';
		  if(form.cc.checked) var cc = 'Y';
	  }
	  
	  var query = "country="+country+"&resort="+resort+'&ishotel='+hotel+'&iscatering='+catering+'&isvilla='+villa+'&istown='+town
	  	+'&isvillage='+village+'&hasall='+hasall+'&hasbar='+bar+'&hasgym='+gym+'&hashealth='+health
		+'&hasinpool='+inpool+'&hasoutpool='+outpool+'&hasservice='+service+'&haskids='+kids+'&hassquash='+squash+'&hastennis='+tennis
		+'&haswater='+water+'&hasbaby='+baby+'&haskidspool='+kidspool+'&haswedding'+wedding+'&one='+one+'&two='+two
		+'&three='+three+'&four='+four+'&five='+five+'&aa='+aa+'&bb='+bb+'&cc='+cc;
	//alert(query);
	  req.send(query);
  } else {	 // can't do AJAX; just submit the form*/
	  	//document.forms['fSearch'].submit();
  }
}

function updateSearch(searchXML) {

 // Get the root "cart" element from the document
 var cart = searchXML.getElementsByTagName("search")[0];

	  var form = document.forms['frmName'];
	  if(form) {
		  updateOptions(form.resort, cart.getElementsByTagName("resort")[0]);
	  }


	  form = document.forms['frmCategory'];
	if(form) {
		updateOptions(form.resort, cart.getElementsByTagName("resort")[0]);
		
		updateCheck(form.ishotel, cart.getElementsByTagName("ishotel")[0]);
		updateCheck(form.iscatering, cart.getElementsByTagName("iscatering")[0]);
		updateCheck(form.isvilla, cart.getElementsByTagName("isvilla")[0]);
		updateCheck(form.istown, cart.getElementsByTagName("istown")[0]);
		updateCheck(form.isvillage, cart.getElementsByTagName("isvillage")[0]);
		
		updateCheck(form.hasall, cart.getElementsByTagName("hasall")[0]);
		updateCheck(form.hasbar, cart.getElementsByTagName("hasbar")[0]);
		updateCheck(form.hasgym, cart.getElementsByTagName("hasgym")[0]);
		updateCheck(form.hashealth, cart.getElementsByTagName("hashealth")[0]);
		updateCheck(form.hasinpool, cart.getElementsByTagName("hasinpool")[0]);
		updateCheck(form.hasoutpool, cart.getElementsByTagName("hasoutpool")[0]);
		updateCheck(form.hasservice, cart.getElementsByTagName("hasservice")[0]);
		updateCheck(form.haskids, cart.getElementsByTagName("haskids")[0]);
		updateCheck(form.hassquash, cart.getElementsByTagName("hassquash")[0]);
		updateCheck(form.hastennis, cart.getElementsByTagName("hastennis")[0]);
		updateCheck(form.haswater, cart.getElementsByTagName("haswater")[0]);
		updateCheck(form.hasbaby, cart.getElementsByTagName("hasbaby")[0]);
		updateCheck(form.haskidspool, cart.getElementsByTagName("haskidspool")[0]);
		updateCheck(form.haswedding, cart.getElementsByTagName("haswedding")[0]);
		
		updateCheck(form.three, cart.getElementsByTagName("three")[0]);
		updateCheck(form.four, cart.getElementsByTagName("four")[0]);
		updateCheck(form.five, cart.getElementsByTagName("five")[0]);
		updateCheck(form.aa, cart.getElementsByTagName("aa")[0]);
		updateCheck(form.bb, cart.getElementsByTagName("bb")[0]);
		updateCheck(form.cc, cart.getElementsByTagName("cc")[0]);
	}
}

function updateCheck(elt, box) {
		var num = box.firstChild.nodeValue;
		if(num>0) {
			elt.disabled = false;
			if(elt.parentNode.className.indexOf('starRow')>0){
				elt.parentNode.className = 'advRow starRow';
			}
			if(elt.parentNode.className.indexOf('advRow')>0){
				elt.parentNode.className = 'advRow';
			}
		} else {
			elt.disabled = true;
			elt.checked = false;
			if(elt.parentNode.className.indexOf('starRow')>0){
				elt.parentNode.className = 'advRow starRow disabled';
			}
			if(elt.parentNode.className.indexOf('advRow')>0){
				elt.parentNode.className = 'advRow disabled';
			}
			
			
		}
}

function updateOptions(elt, list) {
		var opt, node, elts, val;
		elt.options.length = 0;
		elts = list.getElementsByTagName("option");
		for(var i=0; i < elts.length; i++) {
			node = elts[i];
			val = node.firstChild.nodeValue;
			val = val.replace('&amp;','&');
//alert(val);		
			opt = new Option(val,
							 node.getAttribute("value"),
							 false,
							 node.getAttribute("selected")=="selected");
			elt.options[elt.options.length] = opt;
		}
}

