// Helper functions
function showPopup (page,width,height,resizeable,scrollbars) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open('"+page+"', '" + id + "', 'toolbar=0,scrollbars='+scrollbars+',location=0,statusbar=0,menubar=0,resizable='+resizeable+',width="+width+",height="+height+"');");
}

function getURLParam ( name , defaultValue)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return defaultValue;
  else
    return results[1];
}

function addEvent( obj, type, fn )
{
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
	} 
	else 
	if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener) {
		obj.removeEventListener( type, fn, false );
	} else if (obj.detachEvent) {
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

function setClass(a,o,c1,c2)
{
	switch (a){
		case 'swap':
			o.className=!setClass('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
		case 'add':
			if(!setClass('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
		case 'remove':
			var rep=o.className.match(' '+c1)?' '+c1:c1;
			o.className=o.className.replace(rep,'');
			break;
		case 'check':
			return new RegExp('\\b'+c1+'\\b').test(o.className)
			break;
	}
}

function getMouseCoords (evt)
{
	if (navigator.appName.indexOf("Microsoft")!=-1) {
		return Array (evt.clientX, evt.clientY);
	}
	else {
		return Array (evt.pageX, evt.pageY);
	}
}


function getAbsoluteCoords (obj) {
	var coords = {x: 0, y: 0 };
	while (obj) {
		// obj.currentStyle
		coords.x += obj.offsetLeft;
		coords.y += obj.offsetTop;
		obj = obj.offsetParent;
	};
	return coords;
}

function setTransparency (e, opacity) {
	if (navigator.appName.indexOf("Netscape")!=-1 && parseInt(navigator.appVersion)>=5)
	{
    	e.style.MozOpacity=opacity/100; // Mozilla, Netscape
		e.style.KhtmlOpacity=opacity/100; // Safari, Chrome, KHTML
	}
	else 
	if (navigator.appName.indexOf("Microsoft")!=-1 && parseInt(navigator.appVersion)>=4)
    	e.style.filter="alpha(opacity="+opacity+")"; // IExpl.
	else
		e.style.opacity=opacity/100; // Opera, other
}

function getBorderWidth (obj, side) {
	if (obj.currentStyle["border" + side + "Style"] == "none")
		return 0;
	var n = parseInt(obj.currentStyle["border" + side + "Width"]);
	return n || 0;
}
