// Client Utilities

/*http://www.quirksmode.org/js/findpos.html*/
/*http://blog.firetree.net/2005/07/04/javascript-find-position/*/
function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1)
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
		else if(obj.x)
			curleft += obj.x;
	return curleft;
}
function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

function getMouseCoordinates(e){
	var x=0;
	var y=0;
	if(!e){e = window.event;}
	if(e.pageX||e.pageY){
		x=e.pageX;
		y=e.pageY;
	}else{
		if(e.clientX||e.clientY){
			x=e.clientX+document.body.scrollLeft;
			y=e.clientY+document.body.scrollTop;
		}
	}
	return {x:x,y:y};
}

function getWindowHeight(){
	var h=0;
	if(typeof (window.innerWidth)=="number"){
		h=window.innerHeight;
	}else{
		if(document.documentElement&&document.documentElement.clientHeight){
			h=document.documentElement.clientHeight;
		}else{
			if(document.body&&document.body.clientHeight){
				h=document.body.clientHeight;
			}
		}
	}
	return h;
}

function getWindowDimensions(){
	var x,y;
	if(self.innerHeight){
		x=self.innerWidth;
		y=self.innerHeight;
	}else{
		if(document.documentElement&&document.documentElement.clientHeight){
			x=document.documentElement.clientWidth;
			y=document.documentElement.clientHeight;
		}else{
			if(document.body){
				x=document.body.clientWidth;
				y=document.body.clientHeight;
			}
		}
	}
	return {width:x,height:y};
}

function getDocumentScrollAmount(){
	var x = 0;
	var y = 0;

	if (self.pageYOffset) {
		// browsers other than internet explorer
		x = self.pageXOffset;
		y = self.pageYOffset;
	}else if (document.documentElement && document.documentElement.scrollTop){
		// internet explorer 6
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}else if (document.body){
		// all other internet explorer versions
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	return {top:y, left:x}
}

function setOpacity(el, level)
{
	el.style.opacity = level/10;
	el.style.filter = 'alpha(opacity=' + level*10 + ')';
}

/* Cookie functions */
/*http://www.quirksmode.org/js/cookies.html*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}