function getRef(id) {
	if (document.getElementById) return document.getElementById(id);
	if (document.all) return document.all[id];
	if (document.layers) return document.layers[id];
}

function getSty(id) {
	return (document.layers) ? getRef(id) : getRef(id).style;
} 

function resizeColumns(id) {
	var elm = document.getElementById(id);
	elm.style.height = 'auto';
	var x = elm.offsetHeight;
	elm.style.height = x + "px";
}

function changeDisplay(id) {
if(document.getElementById(id).style.display == 'none') {
	document.getElementById(id).style.display = 'block';
}
else
	document.getElementById(id).style.display = 'none';
}

function openDialogWindow( url, name, width, height )
{
        var iLeft = (screen.width  - width) / 2 ;
        var iTop  = (screen.height - height) / 2 ;
        var s = "toolbar=no,status=no,resizable=yes,dependent=no,scrollbars=yes" ;
        s += ",width=" + width ;
        s += ",height=" + height ;
        s += ",left=" + iLeft ;
        s += ",top=" + iTop ;
		name = (name) ? name : "_blank";
        var oWindow = window.open( url, name, s ) ;
		oWindow.focus();
}

function openDialogImageWindow( url, width, height )
{
	var img = new Image();
	img.src = url;
	var w = img.width;
	var h = img.height;
	openDialogWindow( url, 'img', w, h );
}

function openDialogDiv(id, _class, content, width, height)
{
    var iLeft = (screen.width  - width) / 2 ;
    var iTop  = (screen.height - height) / 2 ;
	var s = '<div style="position: absolute; display:block;';
	s += 'width=' + width;
	s += ';height=' + height;
	s += ';" class=' + _class;
	s += ' id=' + id + '>';
	s += '<div onclick="document.getElementById(' + id + ').style.display=\'none\'; return false;" style="float:right; background:blue; color:white;">[x]</div>';
	s += content;
	s += '</div>';
	document.write(s);
}

function setCheckboxes(form, state)
{
	var ele = document.getElementById(form).getElementsByTagName("input");
	for (var i = 0; i < ele.length; i++) 
		if(ele[i].type == 'checkbox') 
			ele[i].checked = state;
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function addEvent(target, func, event)
{
var event=(window.addEventListener) ? event : "on"+event;
if (target.addEventListener)
	target.addEventListener(event, func, false);
else if (target.attachEvent)
	target.attachEvent(event, func);
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function findMousePos(e) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft	+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop	+ document.documentElement.scrollTop;
	}
	return [posx,posy];
}

function prepareInputsForHints() 
{
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++){
	if(inputs[i].getAttribute("alt")) {
		inputs[i].onmouseover = function () {
			document.getElementById("status").innerHTML = this.getAttribute("alt");
			if(!document.all)
			{
				var hint = document.getElementById("hint");
				var pos = findPos(this);
				hint.innerHTML = this.getAttribute("alt");
				hint.style.left = pos[0] + "px";
				hint.style.top = pos[1] + "px";
				hint.style.display = "block";
			}
		}
		inputs[i].onmouseout = function () {
			document.getElementById("status").innerHTML = '';
			document.getElementById("hint").style.display = "none";
		}
	}
}
}

function getCookie(name) 
{ 
	var s=document.cookie.match(new RegExp(name+"=[^;]+", "i"));
	if (s)
		return s[0].split("=")[1];
	return ""
}

function setCookie(name, value, expires, ms)
{ 
	var expireDate = new Date();
	if(ms) {
		expireDate.setTime(expireDate.getTime()+parseInt(expires))
	} else {
		expireDate.setDate(expireDate.getDate()+parseInt(expires))
	}
	document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}

function eraseCookie(name) {
	setCookie(name,"",-1);
}

function resizer(id, div, persist, days)
{
	this.change = function (width)
	{
		document.getElementById(this.div).style.width = width;
		if(this.persist==true)
			setCookie(this.id, width, this.days);
	}
		
	this.id = id;
	this.div = div;
	this.persist = persist;
	this.days = (days) ? days : 1;

	if(persist==true && getCookie(this.id)!='') 
	{
		this.change(getCookie(this.id));
	}
}