addClass = function(obj, cName) { 
	if (obj) {
		removeClass(obj,cName); 
		return obj.className += (obj.className.length > 0 ? " " : "") + cName; 
	}
}
removeClass = function(obj, cName) {
	if (obj) {
		return obj.className = obj.className.replace(new RegExp("^" + cName+"\\b\\s*|\\s*\\b" + cName+"\\b",'g'),''); 
	}
}

getElementsByClassName = function(cName, baseElement) {
	var results = new Array;
	var objs = document.getElementsByTagName("*").length > 0 ? baseElement.getElementsByTagName("*") : baseElement.all;
	if(!objs) objs = baseElement.all;
	for(var i = 0; i < objs.length; i++){
		if(objs[i].className.match(cName)) results[results.length] = objs[i]
	}
	return results;
}

Object.prototype.method = function(method) {
	var context = this;
	return function(){
		method.apply(context, arguments);
	}
}

setCookie = function(name, value, expires, path, domain, secure){
	document.cookie = name + "=" + escape(value) + 
		((expires) ? ";expires=" + expires.toGMTString() : "") + 
		((path) ? ";path=" + path : "") + 
		((domain) ? ";domain=" + domain : "") + 
		((secure) ? ";secure" : "");
}

getCookie = function(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;
}

calculateLeft = function(object) {
	if (object) return object.offsetLeft + calculateLeft(object.offsetParent); 
	else return 0;
}
calculateTop = function(object) {
	if (object) return object.offsetTop + calculateTop(object.offsetParent); 
	else return 0;
}

tickle = function(){
	addClass(document.getElementsByTagName("body")[0], "tickle");
}

addEvent = function(obj, evType, fn, ieonly) { 
	if (obj.addEventListener && !ieonly){ /* Mozilla & others */
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ /* IE */
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}

function doSearch(oForm){
	var url = "http://www.google.co.za/search";
	var site = "score.org.za";
	var query = url + "?q=site:" + site + " " + escape(oForm.q.value);
	window.location = query;
	return false;
}