function changeStyle(oElement, sPropertyName, sNewValue)
{
	if (oElement) {
		var oStyle = oElement.style;
		if (isArray(sPropertyName) && isArray(sNewValue) && sPropertyName.length == sNewValue.length) {
			for (var i = 0; i < sPropertyName.length; i++) {
				eval("oStyle." + sPropertyName[i] + " = '" + sNewValue[i] + "'");
			}
		} else {
			eval("oStyle." + sPropertyName + " = '" + sNewValue + "'");
		}
	}
}

function getStyle(oElement, sPropertyName)
{
	var sReturn = false;
	
	if (oElement) {
		oStyle = oElement.style;
		sReturn = eval("oStyle." + sPropertyName);
	}
	
	return sReturn;
}

function isArray() 
{
	if (typeof arguments[0] == 'object') {  
		var criterion = arguments[0].constructor.toString().match(/array/i);
 		return (criterion != null);
	}
	return false;
}

// event attacher
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    //alert("Sorry, your browser does not supported this functionality.");
  }
}

function removeEvent(obj, evType, fn, useCapture){
	if (obj.removeEventListener){
    	obj.removeEventListener(evType, fn, useCapture);
  		return true;
  } else if (obj.detachEvent){
  		var r = obj.detachEvent("on"+evType, fn);
    	return r;
  } else {
    	//debugInfo("Handler could not be removed");
  }
}