<!-- main.js  -->
// A simple AJAX handler courtesy of Rasmus Lerdorf 2005-07-21
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(request) {
	http.open('get', request);
	http.onreadystatechange = handleResponse;
	http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
		if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
        }
    }
}

function changeDropoffDate(DateForm){

	var values = new Array();
	var names = new Array();
	var dropoff_day, dropoff_month, dropoff_year;
	pDay = DateForm.elements['pickup_date[day]'];
	pMonth = DateForm.elements['pickup_date[month]'];
	pYear = DateForm.elements['pickup_date[year]'];

	// Calculate the dropoff values.
	dropoff_day = parseInt(pDay.options[pDay.selectedIndex].value, 10)+1;
	dropoff_month = parseInt(pMonth.options[pMonth.selectedIndex].value, 10);
	if (pYear)
		dropoff_year = pYear.options[pYear.selectedIndex].value;

	// Adjust for overflow.
	if (dropoff_day > 31) {
		dropoff_day -= 31;
		dropoff_month++;
	}
	if (dropoff_month > 12) {
		dropoff_month -= 12;
		if (dropoff_year)
			dropoff_year++;
	}

	// Set the element names and values.
	names['day'] = "dropoff_date[day]";
	names['month'] = "dropoff_date[month]";
	names['year'] = "dropoff_date[year]";
	values['day'] = dropoff_day;
	values['month'] = dropoff_month;
	if (pYear)
		values['year'] = dropoff_year;

	changeDate(DateForm, names, values);
}

// Change the date elements to new values.
function changeDate(DateForm, names, values){
	var right_now=new Date();
	var sub_year = right_now.getYear() + 1900;

	//if (DateForm.elements[names['year']])
		//DateForm.elements[names['year']].selectedIndex = values['year'] - sub_year;
	if (DateForm.elements[names['year']]) {
		//DateForm.elements[names['year']].selectedIndex = values['year'] - sub_year;
		x = DateForm.elements[names['year']];
		for(i=0;i<x.length;i++) {
			if(x.options[i].value == values['year']) {
				//alert(x.options[i].value);
				x.options[i].selected = true;
				break;
			}
		}
	}

	DateForm.elements[names['month']].selectedIndex = values['month'] - 1;
	DateForm.elements[names['day']].selectedIndex = values['day'] - 1;
	// If we are changing the pickup, then update the dropoff.
	if (window.changeDropoffDate && (names['day'].indexOf('pickup') >= 0))
		changeDropoffDate(DateForm);
}

// Javascript for creating div popups

var divwidth='150px';
var divid = 'help';
var divbgcolor='lightyellow';
var disappeardelay=250;
var vertical_offset="-100px";
var horizontal_offset="-290px";

var ie4=document.all;
var ns6=document.getElementById&&!document.all;

function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}


function showhide(obj, e, visible, hidden, divwidth){
	if (ie4||ns6) dropmenuobj.style.left=dropmenuobj.style.top=-500
	if (divwidth!="")	{
		dropmenuobj.widthobj=dropmenuobj.style
		dropmenuobj.widthobj.width=divwidth
	}
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover") {
		obj.visibility=visible;
	} else if (e.type=="click") {
		obj.visibility=hidden;
	}
}

function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
	var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
	if (whichedge=="rightedge"){
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)	{
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
		}
	}
	else{
		var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)	{
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
		}
	}
	return edgeoffset
}

function fixeddiv(menucontents, obj, e, divwidth, x_offset, y_offset, divid){

	if(y_offset != '') {
		vertical_offset = y_offset;
	}
	if(x_offset != '') {
		horizontal_offset = x_offset;
	}

	if (window.event) event.cancelBubble=true
	else if (e.stopPropagation) e.stopPropagation()
	clearhidediv()
	dropmenuobj=document.getElementById ? document.getElementById(divid) : divid
	dropmenuobj.innerHTML=menucontents

	if (ie4||ns6){
		showhide(dropmenuobj.style, e, "visible", "hidden", divwidth)
		dropmenuobj.x=getposOffset(obj, "left")
		dropmenuobj.y=getposOffset(obj, "top")

		dropmenuobj.style.left=(dropmenuobj.x-clearbrowseredge(obj, "rightedge") - 0)+"px"
		dropmenuobj.style.top=(dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight - 0)+"px"

	}
}

function hidediv(e){
	if (typeof dropmenuobj!="undefined"){
		if (ie4||ns6){
			dropmenuobj.style.visibility="hidden";
		}
	}
}

function delayhidediv(){
	if (ie4||ns6) delayhide=setTimeout("hidediv()",disappeardelay)
}

function clearhidediv(){
	if (typeof delayhide!="undefined")
	clearTimeout(delayhide)
}

function couponWindow(info) {
	win = window.open(info, "couponWindow", "toolbar=no,location=no,directories=no,status=yes,menubar=yes,scrollbars=no,resizable=yes,width=250,height=300,left=100,top=100");
	win.focus();
}
