// JavaScript Document
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function deleteRecord(filename, id, name) {
	if (confirm("Are you sure you want to delete " + name + "?")) {
		document.location = filename + '?delID=' + id + '&action=delete';
	}
}
/*
function changeClass(obj, toClassName){
	if(document.all) {
		obj.className=toClassName;
	} else if (document.getElementById) {
		obj.className=toClassName;
	}
}
*/

function changeClass(id, toClassName) { 
	found = false;
	if(document.all) {
		if (document.all(id)) {
			document.all(id).className=toClassName;
		} else {
			id.className=toClassName;
		}
	} else if (document.getElementById) {
		if (document.getElementById(id)) {
			document.getElementById(id).className=toClassName;
		} else {
			id.className=toClassName;
		}
	}
}

function changeClassById(id, toClassName) { 
	found = false;
	if(document.all) {
		if (document.all(id)) {
			document.all(id).className=toClassName;
		} else {
			id.className=toClassName;
		}
	} else if (document.getElementById) {
		if (document.getElementById(id)) {
			document.getElementById(id).className=toClassName;
		} else {
			id.className=toClassName;
		}
	}
}


function findParentNode(node, nodeToFind) {
  	var node = node.parentNode;
   	while (node.tagName.toUpperCase() != nodeToFind.toUpperCase()) {
   		node = node.parentNode;
   	}
 	return node;
}


function swapClassById(id, className1, className2){
	obj = getObjectById(id);
	if(obj) {
		if (obj.className == className1) {
			obj.className = className2;
		} else {
			obj.className = className1;
		}
	}
}

function swapImageById(id, imageSrc1, imageSrc2){
	obj = getObjectById(id);
	if(obj) {
		if (obj.src.substring(obj.src.lastIndexOf("/")) == imageSrc1.substring(imageSrc1.lastIndexOf("/"))) {
			obj.src = imageSrc2;
		} else {
			obj.src = imageSrc1;
		}
	}
}


function getObjectById(id){
	if(document.all) {
		return document.all(id);
	} else if (document.getElementById) {
		return document.getElementById(id);
	}
}

// Properly create an object, setting the id of form elements in a proper way for Internet Explorer to understand -Rob Erekson

function createObj(tagName) {
	
	if (arguments.length == 1) {
		var obj = document.createElement(tagName);
	} else if (arguments.length == 2) {
		
		switch (tagName) {
			
			case 'select':
			case 'input':
			case 'textarea':
			case 'form':
				var obj = isIE() ? document.createElement('<' + tagName + ' name="' + arguments[1] + '">') : document.createElement(tagName);
				obj.setAttribute('name', arguments[1]);
				obj.id = arguments[1];
				break;
				
			default:
				var obj = document.createElement(tagName);	
				obj.appendChild(document.createTextNode(arguments[1]));
				break;
				
		}
	}
	
	return obj;
	
}

// Create a text node -Rob Erekson
function createText(str) {
	return document.createTextNode(str);
}

// Set an HTML attribute of an element -Rob Erekson
function setAttr(obj, attr, val) {
	obj.setAttribute(attr, val);	
}

// Check if browser is Internet Explorer -Rob Erekson
function isIE() {
	return (navigator.userAgent.indexOf('MSIE') > -1);	
}

// Stop an event from bubbling -Rob Erekson
function stopEvent(e) {
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
}

// Get target element for an event -Rob Erekson
function getEventTarget(e) {
	return isIE() ? window.event.srcElement : (e == null ? event.target : e.target);
}

// Get value of an object by ID -Rob Erekson
function getValue(objId) {
	return document.getElementById(objId).value;
}

// Get an object by ID -Rob Erekson
function getObj(objId) {
	return document.getElementById(objId);
}

// Get value of a select object -Rob Erekson
function getSelectValue(objID) {
	
	if (getObjTagName(objID) != 'SELECT') return getValue(objID);
	
	return getObj(objID).options[getObj(objID).selectedIndex].value;
	
}

// Get the tag name of an object -Rob Erekson
function getObjTagName(obj) {
	return isObject(obj) ? obj.tagName : getObj(obj).tagName;
}

// Test to see if passed variable is an object -Rob Erekson
function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}

// Test to see if passed variable is a function -Rob Erekson
function isFunction(a) {
    return typeof a == 'function';
}

// Parse the query string into an associative array, similar to PHP's $_GET array -Rob Erekson
function parseQueryString() {

	if (!location.search.length) return;

	var items = location.search.substr(1, location.search.length).split('&');

	var qrys = new Object();
	
	for (i = 0; i < items.length; i++) {
		var tmp = items[i].split('=');
		qrys[tmp[0]] = tmp[1];
	}
	
	return qrys;

}

// Get the value of a particular item in the query string -Rob Erekson
function getQueryStringValue(valName) {
	qrys = parseQueryString();
	return qrys[valName];
}

function wordwrap( str, int_width, str_break, cut ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Nick Callen
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Sakimori
    // *     example 1: wordwrap('Kevin van Zonneveld', 6, '|', true);
    // *     returns 1: 'Kevin |van |Zonnev|eld'
    // *     example 2: wordwrap('The quick brown fox jumped over the lazy dog.', 20, '<br />\n');
    // *     returns 2: 'The quick brown fox <br />\njumped over the lazy<br />\n dog.'
    // *     example 3: wordwrap('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.');
    // *     returns 3: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod \ntempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim \nveniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea \ncommodo consequat.'
 
    // PHP Defaults
    var m = ((arguments.length >= 2) ? arguments[1] : 75   );
    var b = ((arguments.length >= 3) ? arguments[2] : "\n" );
    var c = ((arguments.length >= 4) ? arguments[3] : false);
 
    var i, j, l, s, r;
 
    str += '';
 
    if (m < 1) {
        return str;
    }
 
    for (i = -1, l = (r = str.split("\n")).length; ++i < l; r[i] += s) {
        for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : "")){
            j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
        }
    }
 
    return r.join("\n");
}


//-->
