/*------------------------------------------------------------------------------------------------------------\
	Date Created: uknown
	Modified Date: 02-08-07
/-------------------------------------------------------------------------------------------------------------*/

var _jslib_isIE=document.all?true:false;
var _jslib_isNS=document.layers?true:false;
var _jslib_isNS6=document.getElementById&&!document.all?true:false;
var _jslib_isSafari=(navigator.platform.indexOf("Mac") >= 0)?true:false;



function jsGetObject(name){
	if(_jslib_isIE){
		return document.all[name];
	}else if(_jslib_isNS){
		return eval("document.layers."+name)
	}else if (_jslib_isNS6){
		return document.getElementById(name);
	}
	return null;
}


function jsIsObject(obj){
	return typeof obj=='object' && !jsIsFunction(obj)
}

function jsIsArray(obj){
	return jsIsObject(obj) && obj.constructor==Array;
}

function jsIsFunction(obj){
	return typeof obj=='function'
}

function jsIsString(obj){
	return typeof obj=='string';
}

function jsAddEvent(obj,evname,func) {
	try {
		obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
		
		if(jsIsObject(obj)){
			if(_jslib_isIE){
				obj.attachEvent("on" + evname, func);
			}else{
				obj.addEventListener(evname, func, true);
			}
		}
	} catch(err) {
		jsShowErrors("jsAddEvent", err);
	}
}

function jsGetParent(obj){
	try {
		obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
		
		if(jsIsObject(obj)){
			if(_jslib_isIE){
				return obj.parentElement;
			}else{
				return obj.parentNode;
			}
		}
	} catch(err) {
		jsShowErrors("jsGetParent", err);
	}
}

function jsGetStyle(obj,style){
	try {
		obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
		
		var stl;
		if(jsIsObject(obj)){
			if((_jslib_isIE==true)||(_jslib_isNS6==true)){
				stl=eval("obj.style."+style);
			}else if(_jslib_isNS){
				stl=eval("obj."+style);
			}
			if(stl!=null){
				return stl;
			}
			_jsErrorMsg="Invalid Style";
			return null;
		}
		return null;
	} catch(err) {
		jsShowErrors("jsGetStyle", err);
	}
}

function jsGetStyles(obj,styles){
	try {
		obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
		
		if(jsIsObject(obj)){
			var res=new Array();
			for(i=0;i<styles.length;i++){
				res[i]=jsGetStyle(obj,styles[i]);
			}		
			return res;
		}
		return null;
	} catch(err) {
		jsShowErrors("jsGetStyles", err);
	}
}

function jsSetStyle(obj,style,value){
	///try {
		obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
		
		if(jsIsObject(obj)){
			if(jsGetStyle(obj,style)!=null){
				if((_jslib_isIE==true)||(_jslib_isNS6==true)){
					eval("obj.style."+style+"='"+value+"'");
				}else if(_jslib_isNS){
					eval("obj."+style+"='"+value+"'");
				}else{
					return false;
				}
				return true;
			}
			return false;
		}
		return null;
	/*} catch(err) {
		jsShowErrors("jsSetStyle", err);
	}*/
}

function jsSetStyles(obj,styles,values){
	try {
		obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
		
		if(jsIsObject(obj)){
			for(i=0;i<styles.length,i<values.length;i++){
				jsSetStyle(obj,styles[i],values[i]);
			}
		}
	} catch(err) {
		jsShowErrors("jsSetStyles", err);
	}
}

function jsGetTags(parentobj, tag) {
	try {
		if (parentobj == null) {
			return new Array();
		} else if (typeof parentobj.getElementsByTagName != 'undefined') {
			return parentobj.getElementsByTagName(tag);
		} else if (parentobj.all && parentobj.all.tags) {
			return parentobj.all.tags(tag);
		} else {
			return new Array();
		}
	} catch(err) {
		jsShowErrors("jsGetTags", err);
	}
}

function findPosY(obj) {
	obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
	var iTop = 0;
    while(obj.tagName != "BODY") {
       	iTop += obj.offsetTop;
    	obj = obj.offsetParent;
 	}
	return iTop;
}
function findPosX(obj) {
	obj = (!jsGetObject(obj)) ? obj : jsGetObject(obj);
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	curleft += obj.x;
	return curleft;
}
