// GLOBALS
var tE;
var isMac;
var elHeight = 22;
// Stop editing


if (navigator.userAgent.indexOf("Mac") != -1) {
	isMac = true;
	elHeight += 16; // mac workaround
} else {
	isMac = false;		
}

function trace(x) {
	alert("[trace]\n\n "+x);	
}
function gX(evt) {
	var osLeft;
	if(document.all) {
		if (isMac) {
			osLeft = getOffSetLeft(window.event.target);
			return osLeft;
			//return window.event.offsetX + document.body.scrollLeft;
		} else {
			osLeft = getOffSetLeft(window.event.srcElement);
			return osLeft;
//			return window.event.clientX - window.event.offsetX + document.body.scrollLeft;
		}
	} else if(document.getElementById){ 
		var osLeft;
		//return evt.target.offsetLeft + window.scrollX;
		osLeft = getOffSetLeft(evt.target);
		return osLeft;
		//return evt.pageX - evt.target.offsetLeft + window.scrollX;

	}
	return null;
}

function gY(evt) {
	var osTop;
	if(document.all) {
		if (isMac) {
			osTop = getOffSetTop(window.event.target);
			return osTop;
			//return  window.event.offsetY + document.body.scrollTop;//+ window.event.srcElement.offsetTop; // + elHeight;
		} else {
			osTop = getOffSetTop(window.event.srcElement);
			return osTop;
//			return window.event.clientY - window.event.offsetY + document.body.scrollTop; // + elHeight;
		}
	} else if(document.getElementById){
		osTop = getOffSetTop(evt.target);
		return osTop;
		//return evt.target.offsetTop + window.scrollY; // + elHeight;
		//return evt.pageY + window.scrollY;
	}
	return null;
}

function fSE(target) {
	if(document.all) {
			do {
				if (target.id) {
					if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
						return target.id.charAt(target.id.length-1)+"select";
					}
				}
			}
			while((target=target.parentElement));
		return null;
	} else if(document.getElementById) { 
		do {
			if (target.id) {
				if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
					return target.id.charAt(target.id.length-1)+"select";
				}
			}
		}
		while((target=target.parentNode));
		return null;
	}
}
function getHeight(target) {
	if(document.all) {
			do {
				if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
					return parseInt(document.all[target.id].style.height);
				}
			}
			while((target=target.parentElement));
		return null;
	} else if(document.getElementById) { 
		do {
			if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
				return parseInt(document.getElementById(target.id).style.height);
			}
		}
		while((target=target.parentNode));
		return null;
	}
}
// Netscape 6
function getOffSetLeft(target) {
	if(document.all) {
			do {
				if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
					return parseInt(document.all[target.id].offsetLeft);
				}
			}
			while((target=target.parentElement));
		return null;
	} else if(document.getElementById) { 
		do {
			if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
				return parseInt(document.getElementById(target.id).offsetLeft);
			}
		}
		while((target=target.parentNode));
		return null;
	}
}
function getOffSetTop(target) {
	if(document.all) {
			do {
				if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
					return parseInt(document.all[target.id].offsetTop);
				}
			}
			while((target=target.parentElement));
		return null;
	} else if(document.getElementById) { 
		do {
			if((target.id.indexOf("select") == 0) && (target.id.length == 13)) {
				return parseInt(document.getElementById(target.id).offsetTop);
			}
		}
		while((target=target.parentNode));
		return null;
	}
}


function cS(evt) {
	if (navigator.userAgent.indexOf("Mac") != -1) {
	 return true;	
	}
	if (isOpen) {
		// anything already open - return null
		return null;
	} else {
		var tmpX = 0;
		var tmpY = 0;
		var elHeight = 0;
		if(document.all) {
			target=fSE(event.srcElement);
			if (target) {
				elHeight = getHeight(event.srcElement);
				tmp = gE(target);
				tmpa = gE(target+"contentClip");
				// visible the elements
				sE(tmp);
				sE(tmpa);
				isOpen = true;
					tmpX = gX(evt);
				if (target== "Aselect") {
					tmpX = tmpX - 56 - 82;
				}
				tmpY = gY(evt) + elHeight;
				sX(tmp, tmpX);
				sY(tmp, tmpY);
			}
		} else if(document.getElementById) {
			target=fSE(evt.target);
			if (target) {
				elHeight = getHeight(evt.target);
				tmp = gE(target);
				tmpa = gE(target+"contentClip");
				sE(tmp);
				sE(tmpa);
				isOpen = true;
				tmpX = gX(evt);
				if (target == "Aselect") {
					tmpX = tmpX - 56;
				}
				tmpY = gY(evt) + elHeight;
				sX(tmp, tmpX);
				sY(tmp, tmpY);
			}
		}
		if (target) {
			setScrollObject(target);
		}		
	}
}




//function fE(target){ if(document.layers){if(target.constructor==Document){for(var l=0;l<document.layers.length;l++)if(target==document.layers[l].document)return document.layers[l];}else if(target.constructor==Image){for(var l=0;l<document.layers.length;l++) for(var i=0;i<document.layers[l].document.images.length;i++)if(target==document.layers[l].document.images[i])return document.layers[l];}return null;}else if(document.all){do if (target.className=='moveable')return target;while((target=target.parentElement));return null;}else if(document.getElementById){do if(target.className=='moveable')return target;while((target=target.parentNode));return null;}}
//function cS(evt){if(document.layers){tE=fE(evt.target);if(tE){document.captureEvents(Event.MOUtEMOVE|Event.MOUtEUP);document.onmoutEmove=dR;document.onmoutEup=sD;}}else if(document.all){tE=fE(event.srcElement);if(tE){document.onmoutEmove=dR;document.onmoutEup=sD;}}else if(document.getElementById){tE=fE(evt.target);if(tE){document.onmoutEmove=dR;document.onmoutEup=sD;}}}
//function dR(evt){if(document.layers){tE.left=evt.pageX;tE.top=evt.pageY;}else if(document.all){tE.style.posLeft=event.clientX;tE.style.posTop=event.clientY;}else if(document.getElementById){tE.style.left=evt.clientX+'px';tE.style.top=evt.clientY+'px';}}
//function sD(evt){if(document.layers){document.releatEEvents(Event.MOUtEMOVE|Event.MOUtEUP);document.onmoutEmove=null;document.onmoutEup=null;tE=null;}else if(document.all||document.getElementById){document.onmoutEmove=null;document.onmoutEup=null;tE=null;}}
//if(document.layers)document.captureEvents(Event.MOUSEDOWN);
//document.onmousedown = cS;
//if(document.all)document.ontElectstart=document.ondragstart=function(){return faltE;}
