/* JAVASCRIPT -global methods- ***********************************
/* SUFFIXES ******************************************************
 	W- wrapper, L- label, S- submit, R- reset, F- field row, I- indicator
	hvr- hover, acv- active, vtd- visited, lnk- link, err- error
/* DEPENDANCIES **************************************************

/* EVENTS ********************************************************/
/* objects/methods ***********************************************/

/* EVENTS ********************************************************/
var eventArray = new Array(); //event tracking
/* objects/methods ***********************************************/
function addEvent(objObject, strEventName, fnHandler){ //add an event, append event to events array
	eventArray.push([objObject.id, strEventName, getFnHandler(fnHandler)]); //event tracking //adds event instance to array
 	if (objObject.addEventListener){ objObject.addEventListener(strEventName, fnHandler, false); }
	else if (objObject.attachEvent){ objObject.attachEvent('on' + strEventName, fnHandler); }
}
function removeEvent(objObject, strEventName, fnHandler){ //remove event, remove event from events array.
	var parseEvent = true; 
	while(parseEvent == true){
		parseEvent = false;
		for(var i=0; i<eventArray.length; i++){
			if((eventArray[i][0] == objObject.id) && (eventArray[i][1] == strEventName) && (eventArray[i][2] == getFnHandler(fnHandler))){
				eventArray.splice(i, 1); //event tracking //removes event instance from array
		 		if (objObject.removeEventListener) { objObject.removeEventListener(strEventName, fnHandler, false); }
				else if (objObject.detachEvent) { objObject.detachEvent('on' + strEventName, fnHandler); }
				parseEvent = true;
			}
		}
	}
}
function getFnHandler(fnHandler){ //parses 1st characters of function code, VERY messy. //returns the string after 'function' and before the '('. 
	var i = 9 //1st character after the word 'function'.
	var str = new Array();
	while(fnHandler.toString().charCodeAt(i) != 40){ //char code for '(' is 40.
		str[i] = fnHandler.toString().charAt(i);
		i++; 
	}
	return(str.toString().replace(/,/g, ''));
}
function getEventId(e){ //returns the element id from which event took place.
	var elmntSrc;
	if(!e) var e = window.event;	
	if(e.target) elmntSrc = e.target;	
	else if(e.srcElement) elmntSrc = e.srcElement;	
	if(elmntSrc.nodeType == 3) elmntSrc = elmntSrc.parentNode; //Safari workaround.
	var idArray = elmntSrc.id.split('_'); //  (_!_) FAT ASS!
	return(idArray[0]);
}

/* IMAGES ********************************************************/
/* objects/methods ***********************************************/
function pngStyleFilter(elmntId, imgSrc){
	if(document.getElementById(elmntId) && (returnDOM() == 'ie6dom')){
		var elmnt = document.getElementById(elmntId)
      	elmnt.style.backgroundImage = 'image';
			elmnt.removeAttribute('src');
      	elmnt.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" 
								+ imgSrc 
								+ "', sizingMethod='scale')";
	}
}
function pause(pauseTime){
	var now = new Date();
	var exitTime = now.getTime() + pauseTime;
	while(true){
		now = new Date();
		if(now.getTime() > exitTime) return;
	}
}
function initSlide(refArray, arrayIndex){
	if(refArray[arrayIndex][4] == false){
		childId = refArray[arrayIndex][0];
		childElmnt = document.getElementById(childId);
		isMoving = refArray[arrayIndex][4];
		pause = refArray[arrayIndex][6];
		step = refArray[arrayIndex][5];
		sign = (refArray[arrayIndex][3] = refArray[arrayIndex][3] * -1);
		isMoving = true;
		slide();
	}
}
function slide(){
	if (step >= 0){
		var currentTop = parseInt(childElmnt.style.top);
		currentTop = (step * sign) + currentTop;
		childElmnt.style.top = currentTop + 'px';
		step = step - 1;
		var slideTimer = setTimeout("slide()", pause);  
	}
	else{
		isMoving = false;
		clearTimeout(slideTimer);
	}
}

/* FORMS *********************************************************/
/* objects/methods ***********************************************/	

function submitForm(formID) {
	if (document.getElementById) { 
    	document.getElementById(formID).submit();
	}
}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	






















