
// ON & Off
function objOn(objectID) {
	var object = document.getElementById(objectID);
	object.style.display='block';
	return false;
}

function objOff(objectID) {
	var object = document.getElementById(objectID);
	object.style.display='none';
	return false;
}


function objTog(objectID) {
	var object = document.getElementById(objectID);
	
	if (object.style.display =='block')  {object.style.display='none';
	} else {object.style.display='block';
	
	}
	return false;
}



// DYNAMIC VERTICAL NAV
function arrowTog(xThis) {	
	
	var ulElem = xThis.parentNode.getElementsByTagName('ul')[0];
	
	// necessary to set state the first time a event is fired
	if (xThis.parentNode.className == 'on' && ulElem.style.display == '') {
		ulElem.style.display = 'block'}
	
	if (ulElem.style.display == 'block') {
		ulElem.style.display = 'none';
		xThis.style.backgroundPosition = '2px -21px';
		} else {ulElem.style.display = 'block';
		xThis.style.backgroundPosition = '2px -106px';
		}
}



// DYNAMIC PANEL
function headingTog(object) {

	var panelObj = object.parentNode.parentNode.parentNode;
	var x = document.createAttribute('class');
	
	if (panelObj.className == 'panel') {
	
		panelObj.removeAttribute('class');
		x.nodeValue = 'panel off';
		panelObj.setAttributeNode(x);
	}
	
	else {
	
		panelObj.removeAttribute('class');
		x.nodeValue = 'panel';
		panelObj.setAttributeNode(x);}
}


// MODULAR TABS

// tabs Off
function togTabs(objectID,tabID) {

	var sampleLi = document.getElementById(tabID).getElementsByTagName('li');
	
	for	(i=0; i<sampleLi.length; i++) {
	
		//alert(sampleLi[i].className);
			
		var x = sampleLi[i];
		
		var xFirst = document.createAttribute('class');
		xFirst.nodeValue = 'first';
		
		var xOnNext = document.createAttribute('class');
		xOnNext.nodeValue = 'on_next';
		
		var xLast = document.createAttribute('class');
		xLast.nodeValue = 'last';
		
		var xEmpty = document.createAttribute('class');
		xEmpty.nodeValue = '';
		
	
		switch(x.className) {
			
		case 'first on':
			x.removeAttribute('class');
			x.setAttributeNode(xFirst);
			break	
			
		case 'on_next':
			x.removeAttribute('class');
			x.setAttributeNode(xEmpty);
			break
		
		case 'on':
			x.removeAttribute('class');
			x.setAttributeNode(xEmpty);
			break
			
		case 'last on_last':
			x.removeAttribute('class');
			x.setAttributeNode(xLast);
			break
			
		case 'last on_next':
			x.removeAttribute('class');
			x.setAttributeNode(xLast);
			break

		default:
		}
		
	}
	
	togTabsONstate(objectID); 
}


// tabs on state
function togTabsONstate(objectID) {

	var parentLi = objectID.parentNode.parentNode;
	//var parentSibLi = objectID.parentNode.parentNode.nextSibling.nextSibling;
	
	//alert('class name:' + parentLi.className);
	
	var xFirst = document.createAttribute('class');
	xFirst.nodeValue = 'first on';
		
	var xLast = document.createAttribute('class');
	xLast.nodeValue = 'last on_last';
		
	var xEmpty = document.createAttribute('class');
	xEmpty.nodeValue = 'on';
	
	switch(parentLi.className) {
	
		case 'first':
			parentLi.removeAttribute('class');
			parentLi.setAttributeNode(xFirst);
			//togtogTabsLast(objectID);
			break
			
		case 'last':
			parentLi.removeAttribute('class');
			parentLi.setAttributeNode(xLast);
			//togtogTabsLast(objectID);
			break
		
		case '':
			parentLi.removeAttribute('class');
			parentLi.setAttributeNode(xEmpty);
			//togtogTabsLast(objectID);
			break	
		
		default:
	}	
	
	togTabsLast(objectID);
}


// last tab
function togTabsLast(objectID) {

	var nxtSib = objectID.parentNode.parentNode.nextSibling; // locates next adjacent li
	var nxtSib2 = nxtSib.nextSibling;
		
	if ((nxtSib && nxtSib.nodeType == 1) || (nxtSib2 && nxtSib2.nodeType == 1)) {
		
			switch(nxtSib.nodeType) {
		
				case 1: // element node
					setlastLi(nxtSib);
					break
				case 3: // text node
					
					setlastLi(nxtSib2);
					break
				default:
			}		
	}
}


function setlastLi(elemLi) {

	var xOnNext = document.createAttribute('class');
	xOnNext.nodeValue = 'on_next';
		
	var xOnNextLast = document.createAttribute('class');
	xOnNextLast.nodeValue = 'last on_next';

	if (elemLi.className == 'last') {
	
		elemLi.removeAttribute('class');
		elemLi.setAttributeNode(xOnNextLast);
	
	} else {
	
		elemLi.removeAttribute('class');
		elemLi.setAttributeNode(xOnNext);
	
	}

}



// collapse prim nav
function hideNav() {
	var x = document.getElementById('nav_col');
	var y = document.getElementById('main');
	var z = document.getElementById('show_nav');

	if ((z.style.display =='none') || (z.style.display =='')) {
		x.style.marginLeft = '-160px';
		y.style.marginLeft = '30px';
		z.style.display = 'block';
	}
	
	else {
		x.style.marginLeft = '0px';
		y.style.marginLeft = '160px';
		z.style.display = 'none';
	}
}


// AUTO TAB
function autotab(original,destination) {
	if (original.getAttribute && original.value.length == original.getAttribute("maxlength")) {
		destination.focus()
	}
}


// hilite row
function hiLiteRow(objectID) {
	var xRow = objectID.parentNode.parentNode;
	
	if (xRow.style.backgroundColor != 'yellow') {
	
		xRow.style.backgroundColor = 'yellow';
	
	} else {xRow.style.backgroundColor = 'white';}
}


