var set;
var i=0;

var sdates; 
var callref;
var callprog;
var m_parameters;
var room = 0;
var bdays = 400;

function getdata(){
   callprog = "./scripts/bookings.php";   
//   callprog = "http://localhost:8080/wheeldale/web_update.brl"; 
   m_parameters = "?room_no=" + room;
   callref = callprog + m_parameters;
   handlecall(callref);
}

function handlecall(callref) {
	if( document.layers && document.layers['datadiv'].load ) {
		document.layers['datadiv'].load(callref,0);
	} else if( window.frames && window.frames.length ) {
		window.frames['dataframe'].window.location.replace(callref);
	} else {
		alert( 'Communications problem' );
	}
}

function online_off() {
_$('#details').show();
_$('#payment').hide();
}

function online_on() {
_$('#details').hide();
_$('#payment').show();
}

function setoff(sdates) {
set.addRenderer(sdates, set.renderBodyCellRestricted)
}

function callme(sdates) {
set.addRenderer(sdates, set.renderCellStyleHighlight1);
}

function resetcal() {
	var ms = document.getElementById("monthID").value;
	var ys = document.getElementById("yearID").value;
	if (ms < 2) ys = ys - 1;
    ms = ms - 2; 
	set.setMonth(ms);
	set.setYear(ys);
	set.render();
}

function calset(bookData) {
    var minD = YAHOO.widget.DateMath.add(new Date(), YAHOO.widget.DateMath.DAY, 1);
    var maxD = YAHOO.widget.DateMath.add(new Date(), YAHOO.widget.DateMath.DAY, bdays);
	set = new YAHOO.widget.CalendarGroup("cal1","cal1Container");
	
	set.cfg.setProperty("PAGES", 3);
	set.cfg.setProperty("MULTI_SELECT", true);
//	set.cfg.setProperty("minDate", minD);
//	set.cfg.setProperty("maxDate", maxD);

	callme(bookData[0]); 
	for (i=1; i<bookData.length; i++) { setoff(bookData[i]);}	
	set.render();

}

function doselection() {
    callprog = "./scripts/roomprices.php"; 
//    callprog = "http://localhost:8080/wheeldale/get_prices.brl";  
	var rdates = set.getSelectedDates();
	if (rdates.length == 0) { alert("Please Select Dates!!"); }
	else {
	var simpled = new Date(rdates[0]);
	var rday = simpled.getDate();
	var rmonth = simpled.getMonth() + 1;
	var ryear = takeYear(simpled);
	var brekkers = "0";
	var flowers = "0";
	var champers = "0";
	if (document.getElementById("champers").checked == true) {
		champers = "1";}
	if (document.getElementById("flowers").checked == true) {
		flowers = "1";}
	if (document.getElementById("brekkers").checked == true) {
		brekkers = "1";}
	m_parameters = "?room=" + room;
	m_parameters = m_parameters + "&start=" + ryear + "-" + rmonth + "-" + rday;
	m_parameters = m_parameters + "&nites=" + rdates.length;
	m_parameters = m_parameters + "&single=" + champers;	
	m_parameters = m_parameters + "&brekkers=" + brekkers;
	m_parameters = m_parameters + "&enhanced=" + flowers;	
    callref = callprog + m_parameters;	
	window.location.replace(callref);
	}
}

function PriceCalc(priceData) {

    var bookref = priceData[0];
	var arrd = priceData[1];
	var depd = priceData[2];	
	var nights = priceData[4];
	
    var dep = priceData[3];
	var tot = parseFloat(dep) * parseFloat(nights);
	
	document.getElementById("reference").value = bookref;
	document.getElementById("arrival").value = "Your Arrival date is " + arrd;
	document.getElementById("departure").value = "Your Departure is on " + depd; 
	document.getElementById("occupants").value = "The room is for 2 occupants";
	document.getElementById("nights").value = "staying " + nights + " night(s)";
	
	document.getElementById("dep").value = "A deposit of £" + dep + " is required";
	document.getElementById("tprice").value = "The Room price is £" + tot;
	document.getElementById("Amount").value = dep;
	
//	document.getElementById("vtx").value = bookref;
//	document.getElementById("deposit").value = dep;
//	document.getElementById("stay").value = nights;
	
// set paycodes as cookies
	var brekkers = "0";
	var flowers = "0";
	var champers = "0";
	var paycode = "0:0:0";
	if (document.getElementById("champers").checked == true) {
		champers = "1";}
	if (document.getElementById("flowers").checked == true) {
		flowers = "1";}
	if (document.getElementById("brekkers").checked == true) {
		brekkers = "1";}
	paycode = champers + ":";
	paycode = paycode + flowers + ":";
	paycode = paycode + brekkers;
	delCookie("paycode");
    setCookie("paycode",paycode,1); 
}

function clean_up() {
	set.clear();
	document.getElementById("reference").value = "";
	document.getElementById("arrival").value = "";
	document.getElementById("departure").value = ""; 
	document.getElementById("occupants").value = "";
	document.getElementById("nights").value = "";
	
	document.getElementById("dep").value = "";
	document.getElementById("tprice").value = "";
	
	document.getElementById("vtx").value = "";
	document.getElementById("deposit").value = "";
	document.getElementById("stay").value = "";	
	
}

function takeYear(theDate) {
	x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}

function getCookie(NameOfCookie)
{
  if (document.cookie.length > 0) 
    { 
    begin = document.cookie.indexOf(NameOfCookie+"="); 
    if (begin != -1)
      { 
      begin += NameOfCookie.length+1; 
      end = document.cookie.indexOf(";", begin);
      if (end == -1) end = document.cookie.length;
      return unescape(document.cookie.substring(begin, end));
      } 
    }
return null;  
}

function setCookie(NameOfCookie, value, expiredays) 
{
var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());
}

function delCookie (NameOfCookie) 
{
  if (getCookie(NameOfCookie)) 
    {
//    document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
	setCookie(NameOfCookie,"",-1);
    }
}

// linking programs
// new prototype defintion
document.include = function (url) {
 if ('undefined' == typeof(url)) return false;
 var p,rnd;
 if (document.all){
   // For IE, create an ActiveX Object instance 
   p = new ActiveXObject("Microsoft.XMLHTTP");
 } 
 else {
   // For mozilla, create an instance of XMLHttpRequest.
   p = new XMLHttpRequest();
 }
 // Prevent browsers from caching the included page
 // by appending a random  number (optional)
 rnd = Math.random().toString().substring(2);
 url = url.indexOf('?')>-1 ? url+'&rnd='+rnd : url+'?rnd='+rnd;
 // Open the url and write out the response
 p.open("GET",url,false);
 p.send(null);
 document.write( p.responseText );
}

function ahah(url, target) {
  document.getElementById(target).innerHTML = ' Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {ahahDone(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
}  

function ahahDone(url, target) {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
      document.getElementById(target).innerHTML = req.responseText;
    } else {
      document.getElementById(target).innerHTML=" Communications Error:\n"+ req.status + "\n" +req.statusText;
    }
  }
}

function roomload() {
	var single = "0";
	var brekkers = "0";
	var enhanced = "0";
	if (document.getElementById("single").checked == true) {
		single = "1";}
	if (document.getElementById("brekkers").checked == true) {
		brekkers = "1";}
//	if (document.getElementById("enhanced").checked == true) {
//		enhanced = "1";}
	var nites = document.getElementById("noofdays").value;
	var start = document.getElementById("form1").arrivedate.value;
	var gfile = "./scripts/roomupdate.php";
	var getfile = gfile + "?start=" + start + "&nites=" + nites;
	getfile = getfile + "&si=" + single + "&br=" + brekkers + "&en=" + enhanced;
	ahah(getfile,"roomcontainer");
}

function roomload1() {
	var single = "0";
	var brekkers = "0";
	var enhanced = "0";
	if (document.getElementById("single").checked == true) {
		single = "1";}
	if (document.getElementById("brekkers").checked == true) {
		brekkers = "1";}
//	if (document.getElementById("enhanced").checked == true) {
//		enhanced = "1";}
    var dayz1 = document.getElementById("date").value;
	var mthz1 = document.getElementById("month").value;
	var yearz1 = document.getElementById("year").value;
	var start = yearz1.toString() + "-" + mthz1.toString() + "-" + dayz1.toString();
	var nites = document.getElementById("noofdays").value;
	var gfile = "./scripts/roomupdate.php";
	var getfile = gfile + "?start=" + start + "&nites=" + nites;
	getfile = getfile + "&si=" + single + "&br=" + brekkers + "&en=" + enhanced;
	ahah(getfile,"roomcontainer");
}