function getChildNodes(node){ 
	var childArray = new Array(); 
	for(var i=0; i<node.childNodes.length; i++){ 
		if(node.childNodes[i].nodeName.substr(0,1) != "#"){ 
			childArray[childArray.length] = node.childNodes[i]; 
		} 
	} 
	return childArray; 
}

function getTmpTime () {
	var tDate=new Date();
//	return tDate.getMinutes()+""+tDate.getSeconds()+""+tDate.getMilliseconds();
	return tDate.getTime();
}

function getNodeById(node, id){ 
	for(var i=0; i<node.childNodes.length; i++){ 
		if(node.childNodes[i].id && node.childNodes[i].id == id){ 
			return node.childNodes[i];
		} 
		if (node.childNodes[i].childNodes.length>0) {
			var ret=getNodeById(node.childNodes[i], id);
			if (ret!=null) return ret;
		}
	} 
	return null; 
}

function getObj (id) {
	return document.getElementById(id);
}

function checkUrl (url) {
	var $check_url=url.split("?");
	if ($check_url.length>1) { url+='&';}
	else{ url+='?';}
	return url;
}

function findPosX(obj) { 
	var curleft=0; 
	if (obj.offsetParent) { 
		while (obj.offsetParent) { 
			curleft+=getOffsets(obj).x;
			obj=obj.offsetParent;
		} 
	} else if (obj.x) curleft += obj.x; //NETSCAPE 4 ONLY 
	return curleft; 
}

function getOffsets(obj) {
	var offsetLeft=0, offsetTop=0;
	if (document.getBoxObjectFor) {
		var box=document.getBoxObjectFor(obj);
		offsetLeft=box.x;
		offsetTop=box.y;
	} else if (obj.getBoundingClientRect) {
		var rect=obj.getBoundingClientRect();
		offsetLeft=rect.left;
		offsetTop=rect.top;
	} else {
		do {
			offsetLeft+=obj.offsetLeft||0;
			offsetTop+=obj.offsetTop||0;
			obj=obj.offsetParent;
		} while (obj);
	}
	return {'x':offsetLeft, 'y':offsetTop};
}

function getPos(obj, useOwnPadding) {
	var offsetLeft=0;
	var offsetTop=0;
	var el=obj;
	if (el)
	{
		var w=getPadding(el, "l");
		var h=getPadding(el, "t");
		offsetLeft+=el.offsetLeft;
		offsetTop+=el.offsetTop;
		if (useOwnPadding) {
			offsetLeft+=w;
			offsetTop+=h;
		}
		el=el.offsetParent;
		while (el) {
			w=getPadding(el, "l");
			h=getPadding(el, "t");
			if (detectBrowser()=="IE")
			{
				if (getStyle(el, "position")!="absolute")
				{
					offsetLeft+=w;
					offsetTop+=h;
				}
			} else {
				if (getStyle(el, "position")=="absolute")
				{
					offsetLeft+=w;
					offsetTop+=h;
				}
			}
			offsetLeft+=el.offsetLeft;
			offsetTop+=el.offsetTop;
			el=el.offsetParent;
		}
	}
	el=obj;

	var offset;
	while (el.tagName!="BODY") {
		var offsetL=el.scrollLeft;
		if (offsetL) offsetLeft-=el.scrollLeft;
		var offsetT=el.scrollTop;
		if (offsetT) offsetTop-=el.scrollTop;
		el=el.parentNode;
	}
	return {'x':offsetLeft, 'y':offsetTop};
}

function getPadding(o, type) {
	var p={
		"l": Array("border-left-width"),
		"r": Array("border-right-width"),
		"t": Array("border-top-width"),
		"b": Array("border-bottom-width")
	};
	var res=getStyle(o, p[type][0]);
	var units=res.substr(res.length-2, 2);
	var val=parseFloat(res);
	if (isNaN(val)) val=0;
	if ( units=="em" ) {
		return Math.floor(val*16+0.5);
	} else if (units=="ex") {
		return Math.floor(val*7+0.5);
	} else if (units=="pt") {
		return Math.floor(val*4/3+0.5);
	} else if (units=="pc") {
		return Math.floor(val*16+0.5);
	} else if (units=="cm") {
		return Math.floor(val*37795/1000+0.5);
	} else if (units=="mm") {
		return Math.floor(val*37795/10000+0.5);
	} else if (units=="in") {
		return Math.floor(val*96+0.5);
	}
	return Math.floor(val);
}

function getStyle(o, name) {
	var ret="";
	if (name>"") {
		if (detectBrowser()=="IE")
		{
			var words=name.split("-");
			var out=words[0];
			for (var i=1; i<words.length; i++)
			{
				out+=words[i].substr(0, 1).toUpperCase()+words[i].substr(1, words[i].length);
			}
			ret=o.currentStyle[out];
		} else {
			ret=document.defaultView.getComputedStyle(o, '').getPropertyValue(name);
		}
	}
	return ret;
}

function detectBrowser() {
	if (navigator.userAgent.toLowerCase().indexOf('opera')>=0) {
		return "OP";
	} else if ( navigator.userAgent.indexOf('MSIE')>=0 ) {
		return "IE";
	} else if (navigator.userAgent.indexOf('Firefox')) {
		return "FF";
	} else if (navigator.userAgent.indexOf('safari')>=0){
		return "SA";
	}else {
		return "IE";
	}
}

function getLeftTop(el){
	if((el===null||el.parentNode===null||el.offsetParent===null||getStyle(el,'display')=='none')&&el!=document.body){
		return {'x':0, 'y':0};
	}
	var top=0,left=0;
    var o;

    if (el.getBoundingClientRect){
		var box=el.getBoundingClientRect();
		var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
		var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
		return {'x':box.left+scrollLeft, 'y':box.top+scrollTop};
    }
	else {
	    var browser=detectBrowser();
		top=el.offsetTop, left=el.offsetLeft;
		var o=el.offsetParent;
		var abs=getStyle(el,'position')=='absolute';
		while(o) {
			top+=o.offsetTop;
			left+=o.offsetLeft;
			if (browser=='SA'&&!abs&&getStyle(o,'position')=='absolute') abs=true;
			o=o.offsetParent;
		}
		if (browser=='SA'&&abs)	top-=document.body.offsetTop, left-=document.body.offsetLeft;
	}
	o=el.parentNode;
	while(o.tagName){
		if (getStyle(o,'display')!='inline'){
			top-=o.scrollTop;
			left-=o.scrollLeft;
		}
		o=o.parentNode;
	}
	return {'x':left, 'y':top};
}

function setLeftTop(el,left,top,corr){
	var oldPos=getLeftTop(el);
	var delta={'x':parseInt(getStyle(el,'left')),'y':parseInt(getStyle(el,'top'))};
	if (isNaN(delta.x))	delta.x=el.offsetLeft;
	if (isNaN(delta.y))	delta.y=el.offsetTop;
	el.style.left=left-oldPos.x+delta.x+'px';
	el.style.top=top-oldPos.y+delta.y+'px';
	if (!corr) {
		var newPos=getLeftTop(el);
		if (newPos.x!=left||newPos.y!=top) setLeftTop(el,left,top,true);
	}        
	
}

function centerObject(o){
	var clientHeight, clientWidth;
	o.style.position='absolute';	
	if (detectBrowser()=="IE") {
		clientHeight=document.body.clientHeight;
		clientWidth=document.body.clientWidth;
	} else {
		clientHeight=window.innerHeight;
		clientWidth=window.innerWidth;
	}
	var y=Math.floor((clientHeight-o.offsetHeight)/2);
	var x=Math.floor((clientWidth-o.offsetWidth)/2);
	o.style.top=y+"px";
	o.style.left=x+"px";
}

function centerObjectInScreen1(o){
	var clientHeight, clientWidth;
	alert(document.documentElement.scrollTop+'='+document.body.scrollTop+'='+document.body.clientHeight);
	o.style.position='absolute';	
	if (detectBrowser()=="IE") {
		clientHeight=document.body.clientHeight;
		clientWidth=document.body.clientWidth;
	} else {
		clientHeight=window.innerHeight;
		clientWidth=window.innerWidth;
	}
	var y=Math.floor((clientHeight-o.offsetHeight)/2);
	var x=Math.floor((clientWidth-o.offsetWidth)/2);
	o.style.top=y+"px";
	o.style.left=x+"px";
}

function centerObjectInScreen(o){
	var clientHeight, clientWidth;
	o.style.position='absolute';
	var y=Math.floor((document.documentElement.clientHeight-o.offsetHeight)/2)+document.documentElement.scrollTop;
	var x=Math.floor((document.documentElement.clientWidth-o.offsetWidth)/2)+document.documentElement.scrollLeft;
	o.style.top=y+"px";
	o.style.left=x+"px";
}

function getWindowSize() {
	var w=0;
	var h=0;
	if( document.documentElement && ( document.documentElement.scrollWidth || document.documentElement.scrollHeight )) {
		return {w:document.documentElement.scrollWidth, h:document.documentElement.scrollHeight};
	} else if( typeof( window.innerWidth ) == 'number' ) {
		return {w:window.innerWidth, h:window.innerHeight};
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		return {w:document.body.clientWidth, h:document.body.clientHeight};
	}
	return {w:0, h:0};
}

function getInt(val){
	var num=0;
	var dec='';
	var reg=/\d/;
	var float_=false;
	for (var i=0; i<val.length; i++) {
		if (!float_&&val.charAt(i)=='.') {float_=true;}
		if (reg.test(val.charAt(i))) {
			if (!float_) {num=num*10+parseInt(val.charAt(i));}
			else {dec+=val.charAt(i);}
		}
	}
	if (float_&&dec>'') {
		num=Math.round(num+parseFloat('0.'+dec));
	}
	return num;
}

function copyToClipboard(text) {
	if( window.clipboardData && clipboardData.setData ) {
		clipboardData.setData("Text", text);
	} else {

		var c, t, o, i;
		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
		try {
			c=Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard)
		} catch(e){return false}
		try {
			t=Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable)
		} catch(e){return false}
		
		t.addDataFlavor("text/unicode");
		o=Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		o.data=text;
		t.setTransferData("text/unicode",o,text.length*2);
		try {
			i=Components.interfaces.nsIClipboard
		} catch(e){return false}
		c.setData(t,null,i.kGlobalClipboard);
	
	}
}

var ToolsLoaded=true;