/* STANDARD STUFF
*************************************************/
function trim(str) {
	str = str.replace(/^\s*|\s*$/,"")
	return str;
}

function isNumeric(strString) {
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;

	for (i = 0; i < strString.length && blnResult == true; i++){
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1){
			blnResult = false;
		}
	}
}

function urldecode(psEncodeString){
  var lsRegExp = /\+/g;
  return unescape(String(psEncodeString).replace(lsRegExp, " "));
}


function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function getOptionText(s,v,form){
	sel = eval("document."+form+"."+s);
	for (x=0;x<sel.options.length;x++){
		if (sel.options[x].value == v){
			return sel.options[x].innerHTML;	
		}
	}
}

/* ELEMENT HIJACKING
*************************************************/

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

/* CURSOR HIJACKING
*************************************************/
function getLoc(event){
	xc = event.clientX;
	yc = event.clientY;
	document.planner.x.value = xc;
	document.planner.y.value = yc;
}


/* STYLESHEET HIJACKING
*************************************************/

function setStyle(title) {
   var i, a, main;
   for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
     if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && a.getAttribute("title") !='main') {
       a.disabled = true;
       if(a.getAttribute("title") == title) a.disabled = false;
     }
   }

	/*
	if ($('u').value == 0){
		$('saveLog').style.display = 'block';
		$('saveBut').style.display = 'none';
	} else {
		$('saveLog').style.display = 'none';
		$('saveBut').style.display = 'block';
	}
	*/
}

function altRow(bg){
	if (bg == ''){
		bg = '#E9E9E9';
	} else {
		bg = '';	
	}
	
	return bg;
}
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}
