
var Nav4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4));
var lastSelection = null;
QueryString.keys = new Array();
QueryString.values = new Array();

function setHeaders() {

	var d = document.getElementById("spnData");
	var h = document.getElementById("spnHeader");
	h.scrollLeft = d.scrollLeft;

}

function getPage(rowid) {
	
	QueryString_Parse();
	var PosX = QueryString("xoff");
	var PosY = QueryString("yoff");			
	
	if(PosY != "") {
		document.getElementById('spnData').scrollTop = parseInt(PosY);
		document.getElementById('spnData').scrollLeft = parseInt(PosX); 
	}
	
	if(rowid != "") {
		var e, r, c;
		try {
			var tbl = document.getElementById("dataTable");
			r = document.getElementById(rowid);
		} catch(e) {
			r = null;
		}
	
		if(r != null) {
			if(lastSelection != null) {
				deselectRowOrCell(lastSelection);
			}
			selectRowOrCell(r);
			lastSelection = r;
		}
	}
		
}

function setPage(cmd, id, sid) {
		
	var tbl = document.getElementById("spnData");
	var scrOfY = tbl.scrollTop;
	var scrOfX = tbl.scrollLeft;
  	
  	var ok;
  	if(cmd == "can") {
  		ok = confirm("Ok to cancel this booking?");
  	} else if(cmd == "del") {
  		ok = confirm("Ok to delete this reservation?");
  	} else {
  		ok = true;
  	}
  	
  	if(ok) {  	
  		var query = "main.php?cmd=" + cmd + "&id=" + id + "&sid=" + sid +
  							"&xoff=" + scrOfX + "&yoff=" + scrOfY;
  		document.location = query;
  	}
  	
}

function QueryString(key)
{
	var value = null;
	for (var i = 0; i < QueryString.keys.length; i++)
	{
		if(QueryString.keys[i] == key)
		{
			value = QueryString.values[i];
			break;
		}
	}
	return value;
}

function QueryString_Parse()
{
	var query = window.location.search.substring(1);
	var pairs = query.split("&");
	
	QueryString.keys = null;
	QueryString.values = null;
	QueryString.keys = new Array();
	QueryString.values = new Array();
	
	for(var i = 0; i < pairs.length; i++)
	{
		var pos = pairs[i].indexOf('=');
		if(pos >= 0)
		{
			var argname = pairs[i].substring(0, pos);
			var value = pairs[i].substring(pos + 1);
			QueryString.keys[QueryString.keys.length] = argname;
			QueryString.values[QueryString.values.length] = value;
		}
	}
}

function select(element) {
	
	var e, r, c, theEvent;

	theEvent = window.event || arguments.callee.caller.arguments[0];
	e = theEvent.srcElement || theEvent.currentTarget || theEvent.target;

	if(e.tagName == "TR") {
		r = e;
	} else {
		r = findRow(e);
	}
	
	if(r != null) {
		if(lastSelection != null) {
			deselectRowOrCell(lastSelection);
		}
		selectRowOrCell(r);
		lastSelection = r;
	}
}

function cancelSelect() {
	
	var theEvent = window.event || arguments.callee.caller.arguments[0];
	var e = theEvent.srcElement || theEvent.currentTarget || theEvent.target;	
	
	if (e.tagName != "BODY") return;
	if (lastSelection != null) {
   		deselectRowOrCell(lastSelection);
    	lastSelection = null;
  	}
}

document.onclick = cancelSelect;

function findRow(e) {
	
	var p;
	
	if (e.tagName == "TR") {
    	p = e.parentElement;
    	while((p.tagName != "TABLE") && (p.tagName != null)) {
    		p = p.parentElement;
    	}
    	
    	if((p.tagName == "TABLE") && (p.id == "dataTable")) {
    		return e;
    	} else {
    		return null;
    	}
  	} else if (e.tagName == "BODY") {
    	return null;
  	} else {
    	return findRow(e.parentElement);
  	}
}

function findCell(e) {
	if (e.tagName == "TD") {
    	return e;
  	} else if (e.tagName == "BODY") {
    	return null;
  	} else {
    	return findCell(e.parentElement);
  	}
}

function deselectRowOrCell(r) {
  	var browser;
  	
  	if(navigator.appName.indexOf("Microsoft Internet Explorer") >= 0) { browser = "IE"; } 
	else { browser = "NS"; }
  	
  	if(browser == "IE") {
  		r.runtimeStyle.backgroundColor = "";
  		r.runtimeStyle.color = "";
  	} else {
  		r.style.backgroundColor = "";
  		r.style.color = "";
  	}
}

function selectRowOrCell(r) {
  	
  	var foreColour = "red";
  	var backColour = "#EFEF99";
	var e, r, browser;
	
 	if(navigator.appName.indexOf("Microsoft Internet Explorer") >= 0) { browser = "IE"; } 
	else { browser = "NS"; }
  	
  	if(browser == "IE") {
  		r.runtimeStyle.backgroundColor = backColour;
  		r.runtimeStyle.color = foreColour;
  	} else {
  		r.style.backgroundColor = backColour;
  		r.style.color = foreColour;
  	}

}

function nothingSelected() {
  	return (lastSelection == null);
}

function rowSelected() {
  	var c;
  	if(lastSelection == null) return false;
  	c = lastSelection;
  	return (c.tagName == "TR");
}

function cellSelected() {
  	var c;
  	if (lastSelection == null) return false;
	c = lastSelection;
	return (c.tagName == "TD");
}

function whatIsSelected() {
  	if(lastSelection == null) 
    	return "Table";
  	if(lastSelection.tagName == "TD") 
    	return "Cell";
  	if(lastSelection.tagName == "TR")
    	return "Row";
}
