function addClass(el,c) { if(!containsClass(el, c)) el.className += " " + c; }
function removeClass(el, c) { el.className = el.className.replace(new RegExp(c,"g"),""); }
function containsClass(el, c) { return el.className.indexOf(c) != -1 }
function $(id) { return document.getElementById(id); }
function $c(name) { return document.createElement(name); }
function setOpacity(el, o)
{
	el.style.opacity = o/100;
	el.style.filter = "alpha(opacity="+o+")";
}

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 myAlert(errorMessage, elementFocus)
{
	alert(errorMessage);
	if(elementFocus)
		elementFocus.focus();
	return false;
}

function changeInvoiceVisiblity(input)
{
	if(input.checked) addClass($("invoice_fields"),"enabled");
	else removeClass($("invoice_fields"),"enabled");
}

/* to del */
function debug(object)
{
	var t = "";
	for(var i in object)
		t+=i+" -> "+object[i]+"<br>";
	document.write(t);
}

function replaceIStatsText(text)
{while(text.lastIndexOf("&") > 0){text = text.replace('&', '[i-Stats]');} return text;}