/*
----------------------------------------------------------------------------------
common functions
----------------------------------------------------------------------------------
*/

/* generic */
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

/* set javascript mode on ;) */
document.write('<link rel="stylesheet" type="text/css" href="/styles/javascript.css" media="all">');

/* cross browser get computed style */
function getStyleComputed(el, property) 
{
	var value;
	if (el.currentStyle) {
		value = el.currentStyle[property];
	} else {
		try {
            value = document.defaultView.getComputedStyle(el,null).getPropertyValue(property);
        } catch(e) { 
            // nothing :)
        }
	}
	return value;
}

/* by Scott Andrew (http://www.scottandrew.com/) */
function createCookie(name, value, days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1, c.length);
    if (c.indexOf(nameEQ) == 0) 
    	return c.substring(nameEQ.length, c.length);
  }
  return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/* by ethanak */
function remClass(el,x)
{
	if (!el.className) return;
	if (!arguments.callee.r) arguments.callee.r=new Array();
	var r;
	if (!(r=arguments.callee.r[x])) r=arguments.callee.r[x]=
		new RegExp('\\b'+x+'\\b\\s*|\\s*'+x+'\\b','g');
	var c=el.className.replace(r,'');
	if (c != el.className) el.className=c;
}

function addClass(el,x)
{
	if (!el.className) {
		el.className=x;
		return;
	}
	if (!arguments.callee.r) arguments.callee.r=new Array();
	var r;
	if (!(r=arguments.callee.r[x])) r=arguments.callee.r[x]=
		new RegExp('\\b'+x+'\\b');
	if (!r.test(el.className)) el.className+=' '+x;
}


