/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  *
  * Title : 		Javascript actions for all pages
  * Author : 		Ryan Campbell
  * URL : 		http://particletree.com
  *
  * Description :	Includes functions and classes used by every page - listed below:
  *				- 	addEvent
  *				-	cAjax
  *
  * Created : 	8/18/2005
  * Modified : 	8/22/2005
  *
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
 
/*
  * Summary:	Attaches an event to the object passed in
  *			Script written by Christian Heilmann at http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
  * Parameters: 	Object to attach event to | type of event to attach | function call
  * Return: 		Boolean indicating success or failure
  */
function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} 
	else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	}
	else { 
		return false; 
	} 
}

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 {
    alert("Handler could not be removed");
  }
}

/*
  * Summary:	Find out what function to process based on classname
  */
 function getAction(name) {
	if(name == "") return "";
	allNames = name.split(" ");
	for(x = 0; x < allNames.length; x++) {
		if(left(allNames[x], 8) == "function") {
			return right(allNames[x], allNames[x].length - 8);
		}
	}
	return "";
 }

/*
  * Summary:	Copy of vbscripts left function
  *			 http://www.devx.com/tips/Tip/15222
  */
function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

/*
  * Summary:	Copy of vbscripts right function
  *			 http://www.devx.com/tips/Tip/15222
  */
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);
    }
}


