//////////////////////////////////////////////
//
//	Developed by Jellywave Software
// 	www.jellywave.com
// 	01/02/2009
//
// 	Developers involved with this file:
//		Christopher Diaper
//
//////////////////////////////////////////////


function getSize(oElm)
{
	return {'width' : oElm.offsetWidth,'height' : oElm.offsetHeight};
}

function getPos(obj) {
	var pos = {
				top : 0,
				left : 0
			}
			
	if (obj.offsetParent) {
		do {
			pos.left += obj.offsetLeft;
			pos.top += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return pos;
}
function getScrollXY(obj) {
	
	var scrOf = {
					X : 0,
					Y : 0
				}
	if(obj)	
	{
		if( obj.scrollLeft || obj.scrollTop ) {
			//DOM compliant
			scrOf.Y = obj.scrollTop;
			scrOf.X = obj.scrollLeft;
	  	} else if( obj.documentElement && ( obj.documentElement.scrollLeft || obj.documentElement.scrollTop ) ) {
			//IE6 standards compliant mode
			scrOf.Y = obj.documentElement.scrollTop;
			scrOf.X = obj.documentElement.scrollLeft;
	  	}
	}
	else
	{
	  	if( typeof( window.pageYOffset ) == 'number' ) {
			//Netscape compliant
			scrOf.Y = window.pageYOffset;
			scrOf.X = window.pageXOffset;
	  	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
			//DOM compliant
			scrOf.Y = document.body.scrollTop;
			scrOf.X = document.body.scrollLeft;
	  	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			//IE6 standards compliant mode
			scrOf.Y = document.documentElement.scrollTop;
			scrOf.X = document.documentElement.scrollLeft;
	  	}
	}
  return scrOf;
}

function getWindowSize() {
	
	var sizeOf = {
					width : 0,
					height : 0
				}

	  if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		sizeOf.width = window.innerWidth;
		sizeOf.height = window.innerHeight;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		sizeOf.width = document.documentElement.clientWidth;
		sizeOf.height = document.documentElement.clientHeight;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		sizeOf.width = document.body.clientWidth;
		sizeOf.height = document.body.clientHeight;
	  }

		
  return sizeOf;
}
function browserCompare( JSON)
{
	// JSON = {platform:"string",client:"string"};
	
	var d=document;
	var n=navigator;
	var nav=n.appVersion;
	var nan=n.appName;
	var nua=n.userAgent;

	var platform = true;
	var client = true;
	var version = true;
	
	if(JSON)
	{
		if(JSON.platform)
		{
			switch(JSON.platform)
			{
				case "mac" 	: platform = (nav.indexOf('Mac')!=-1); break;
				case "win" 	: platform = (((nav.indexOf('Win')!=-1) || (nav.indexOf('NT')!=-1) ) && (nav.indexOf('Mac')==-1))?true:false; break;
				case "lin" 	: platform = (nua.indexOf('Linux')!=-1); break;
				case "old" 	: platform = (nav.substring(0,1)<4); break;
				default 	: platform = false;
			}
		}
		if(JSON.client)
		{
			switch(JSON.client)
			{
				case "op" 	: client = (nua.indexOf('Opera')!=-1); break;
				case "ie" 	: client = ((nua.indexOf('MSIE')!=-1)&&(nua.indexOf('Opera')==-1)); break;
				case "saf" 	: client = (nua.indexOf('Safari')!=-1); break;
				case "konq"	: client = ((nua.indexOf('Safari')==-1) && (nua.indexOf('Konqueror')!=-1) ) ? true : false; break;
				case "moz" 	: client = (((nua.indexOf('Safari')==-1) && (nua.indexOf('Konqueror')==-1) ) && ( nua.indexOf('Gecko')!=-1 ) ) ? true : false; break;
				default 	: client = false;
			}
		}
		if(JSON.version)
		{
			if(JSON.version == parseInt(nav,10))
				version = true;
			else
				version = false;
		}
	}
	return platform && client && version;
}
function browserDetect()
{
	// JSON = {platform:"string",client:"string"};
	var system = {	platform 	: "",
					client		: "",
					version		: ""
					};
	
	var d=document;
	var n=navigator;
	var nav=n.appVersion;
	var nan=n.appName;
	var nua=n.userAgent;
	if((nav.indexOf('Mac')!=-1))
		system.platform = "mac";
	else if(((nav.indexOf('Win')!=-1) || (nav.indexOf('NT')!=-1) ) && (nav.indexOf('Mac')==-1))	
		system.platform = "win";
	else if(nua.indexOf('Linux')!=-1)	
		system.platform = "lin";
	else if(nav.substring(0,1)<4)	
		system.platform = "old";
		
	system.version = parseFloat(nav,10);	
		
	if(nua.indexOf('Opera')!=-1)
		system.client = "op";
	else if((nua.indexOf('MSIE')!=-1)&&(nua.indexOf('Opera')==-1))
	{
		system.client = "ie";
		system.version = parseFloat(nav.substr(nua.indexOf('MSIE')-4),10);
	}
	else if(nua.indexOf('Safari')!=-1)
		system.client = "saf";
	else if((nua.indexOf('Safari')==-1) && (nua.indexOf('Konqueror')!=-1) )
		system.client = "konq";
	else if(((nua.indexOf('Safari')==-1) && (nua.indexOf('Konqueror')==-1) ) && ( nua.indexOf('Gecko')!=-1 ) )
		system.client = "moz";
		
		
	return system;
}

