//	In setLayers you can setup as many layers as you want.
//	w = width, loc = object the tooltip is positioned relative to,
//	top = top offset, left = left offset, m = margin between the tooltip and its locator element,
//	s1 = trigger object class when the layer is open, s2 = class when layer is closed.
//	
//	Kicker adjusts the top margin of an object if it would otherwise be overlapped with another.
//		kicker(obj1,obj2,margin,additional margin)
//	It determines the hight of obj1 to see if it would overlap obj2 and adjusts obj2 marginTop
//	to margin + add. margin. Otherwise it sets obj2 marginTop to margin.
//	Set a default marginTop in CSS if needed.
//
//	If obj1 contains images it's best to define their height in the tag as some browsers
//	won't determine the object height correctly otherwise.

function layererEvents() {
	var triggers = document.getElementsByTagName("a");
	var buttons = document.getElementsByTagName("input");
	for (var i=0; i < triggers.length; i++) {
		if (triggers[i].getAttribute("name") == "advsearch") {
			triggers[i].onclick = function() { layerer(this,1); return false; }
		}
		if (triggers[i].getAttribute("name") == "calendar") {
			triggers[i].onclick = function() { layerer(this,2); return false; }
		}
		if (triggers[i].getAttribute("name") == "forgotpassword") {
			triggers[i].onclick = function() {
				layerer(this,3);
				document.getElementById("bottomtodotted").className = "dotted";
				return false;
			}
		}
		if (triggers[i].getAttribute("name") == "advsearchclose") {
			triggers[i].onclick = function() { hideParent(this,"layeradvsearch",1); return false; }
		}
		if (triggers[i].getAttribute("name") == "calendarclose") {
			triggers[i].onclick = function() { hideParent(this,"layercalendar",2); return false; }
		}
		if (triggers[i].getAttribute("name") == "forgotpasswordclose") {
			triggers[i].onclick = function() { 
				for (var i=0; i < triggers.length; i++) {
					if (triggers[i].getAttribute("name") == "forgotpassword") {
						layerer(triggers[i],3);
						document.getElementById("bottomtodotted").className = "bottom";
						return false;
					}
				}
			}
		}
	}
	for (var i=0; i < buttons.length; i++) {
		if (buttons[i].getAttribute("name") == "advsearchbutton") {
			buttons[i].onclick = function() { 
				for (var i=0; i < triggers.length; i++) {
					if (triggers[i].getAttribute("name") == "advsearch") {
						editAdv = this.getAttribute("id");
						if (typeof(editAdv)!='undefined' && editAdv!=null)
							if (editAdv=="editadv")
								SetCriteria();
						layerer(triggers[i],1); 
						return false; 
					}
				}
			}
		}
	}
	kicker("basket","rightcontentbox",155,10);
	kicker("basket","rightcontent",165,10);
	kicker("rightcol","footer",0,30);
}

function setLayers(obj,x) {
	if (x == 1) { var w = 655, loc = obj.parentNode.parentNode, top = 28, left = 0, m = 0, s1 = "adv", s2 = "advclosed"; }
	if (x == 2) { var w = 210, loc = obj, top = 0, left = 20, m = 0; }
	if (x == 3) { var w = 300, loc = obj, top = 10, left = -9, m = 0, s1 = "forgot", s2 = "notforgot"; }
	if (s1 && s2) {
		return [w,loc,top,left,m,s1,s2];
	} else {
		return [w,loc,top,left,m];
	}
}

function layerer(obj,x) {
	vars = null;
	var vars = setLayers(obj,x);
	var layerid = "layer" + obj.getAttribute("name");
	layer = document.getElementById(layerid);
	layer.style.width = vars[0] + 'px';
	var coors = findPos(vars[1]);
	var pwidth = vars[1].offsetWidth;
	layer.style.top = coors[1] + vars[2] + 'px';
	layer.style.left = coors[0] + vars[3] + 'px';
	if (layer.style.display == "none") {
		layer.style.display = "block";
	} else {
		layer.style.display = "none";
	}
	if (vars[5] && vars[6]) switchLink(obj,vars[5],vars[6]);
}

function switchLink(obj,a,b) {
	if (obj.parentNode.getAttribute("id") == a) {
		obj.parentNode.setAttribute("id",b);
	} else {
		obj.parentNode.setAttribute("id",a);
	}
}

function kicker(obj1,obj2,margin,add) {
	if (document.getElementById(obj1) && document.getElementById(obj2)) {
		var objheight = document.getElementById(obj1).offsetHeight;
		var obj = document.getElementById(obj2);
		var coors = findPos(obj);
		if (document.getElementById("banner")) extra = 130; else extra = 0;
		if (coors[1] < (objheight + extra)) {
			obj.style.marginTop = objheight - coors[1] + margin + extra + add + 'px';
		} else {
			obj.style.marginTop = margin + 'px';
		}
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function hideParent(obj,name,x) {
	var vars = setLayers(obj,x);
	var layerid = "layer" + name;
	layer = window.parent.document.getElementById(layerid);
	window.parent.layer.style.display = 'none';
	var triggers = window.parent.document.getElementsByTagName("a");
	for (var i=0; i < triggers.length; i++) {
		if (triggers[i].getAttribute("name") == "advsearch") {
			switchLink(triggers[i],vars[5],vars[6]);
		}
	}
}

