var ie=document.all;
var ns6=document.getElementById&&!document.all;
var opera=(window.opera);

if (opera)
{
	browserleftcorrection=-5;
	browserwidthcorrection=0;
}
else
if (ie)
{
	browserleftcorrection=0;
	browserwidthcorrection=0;
}
else
if (ns6)
{
	browserleftcorrection=-5;
	browserwidthcorrection=0;
}

function iecompattest()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(dropmenuobj,obj, whichedge){
	var edgeoffset='';
	if (whichedge=="rightedge"){
		var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40;
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth;
	}
	else{
		var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight;
	}
	return edgeoffset;
}


function getpageoffset(offset)
{
	if (offset=='left')
	{
		var offset=ie && !window.opera ? iecompattest().scrollLeft : window.pageXOffset;
		return offset;
	}else{
		offset=ie && !window.opera ? iecompattest().scrollTop : window.pageYOffset;
		return offset;
	}
}


function getposOffset(what, offsettype)
{
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function getpageheight()
{
	return (ie && !window.opera) ? iecompattest().clientHeight : window.innerHeight;
}

function load_script(name)
{
	var pth='/scripts/'+name+'.js';
	var head = document.getElementsByTagName("head")[0];
	script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = pth;
	head.appendChild(script);
}

function add_options(obj,data)
{
	  var groups,option,group,i,count=0;
	  var gr=new Array();
		do
		{
			groups=(/<optgroup[^>]*?label="(.*?)"[^>]*?>(.*?)<\/optgroup>/gi).exec(data);
			if(groups!=null)
			{
				gr[count]=new Array(groups[1]);
				do
				{
					option=(/<option[^>]*?value="(.+?)"[^>]*?>(.+?)<\/option>/gi).exec(groups[2]);
					if(option!=null)
					{
						gr[count].push(option[2]);
						gr[count].push(option[1]);
						groups[2]=groups[2].replace(option[0],'');
					}
				}while(option!=null);
				data=data.replace(groups[0],'');
				count++;
			}
		}while(groups!=null);
		i=0;
		do
		{
			option=(/<option[^>]*?value="(.+?)"[^>]*?>(.+?)<\/option>/gi).exec(data);
			if(option!=null)
			{
				obj.options.add(new Option(option[2],option[1]));
				if(option[0].indexOf('selected')!=-1) obj.options[obj.options.length-1].selected=true;
				data=data.replace(option[0],'');
			}
			i++;
		}while(option!=null);
		for(i=0;i<count;i++)
		{
			group=document.createElement('optgroup');
			group.label=gr[i][0];
			obj.appendChild(group);
			for(j=1;j<gr[i].length;j+=2)
			{
				obj.options.add(new Option(gr[i][j],gr[i][j+1]));
			}
		}
}

var loads=new Array();
function add_load(func)
{
	for(i=0;i<loads.length;i++)
	{
		if(loads[i]==func) return;
	}
	loads.push(func);
}

function global_load()
{
	var cur;
	for(i=0;i<loads.length;i++)
	{
		loads[i]();
	}
}
function show_gray_bg()
{
	greyscr=document.getElementById('greyscreen');
	greyscr.style.width=document.body.clientWidth;
	greyscr.style.height=document.body.scrollHeight;
	greyscr.style.visibility="visible";
}
function hide_gray_bg()
{
	document.getElementById('greyscreen').style.visibility="hidden";
}
function center_element(obj,offsetTop,offsetLeft)
{
	obj.style.top=document.body.scrollTop+document.body.clientHeight/2-offsetTop;
	obj.style.left=document.body.clientWidth/2-offsetLeft;
	obj.style.visibility="visible";
}
function $(id)
{
	return document.getElementById(id);
}
function select_text(target)
{
	if(target)
	{
		 if ( document.createRange ) 
		 {
			rng = document.createRange();
			rng.selectNode( target )
			sel = window.getSelection();
			sel.removeAllRanges();
			sel.addRange( rng );
		}else{
			var rng = document.body.createTextRange();
			rng.moveToElementText( target );
			rng.select();
		}
	}
}
function addEvent(elm, evType, fn, useCapture) {
    if (elm.addEventListener) {
        elm.addEventListener(evType, fn, useCapture);
        return true;
    }
    else if (elm.attachEvent) {
        var r = elm.attachEvent('on' + evType, fn);
        return r;
    }
    else {
        elm['on' + evType] = fn;
    }
}
function offsetTop(obj)
{
	var ret = 0;
	while(obj!=null)
	{
		ret += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return ret;
}
function offsetLeft(obj)
{
	var ret = 0;
	while(obj!=null)
	{
		ret += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return ret;
}