
/** Author: Daniel Stephenson // Jumpstart Designs
  *  Date: --/--/2008
  *  Filename: jsFuncs.js
  *  Function: various js functions for design/functionality
  *  History: 
*/

// check textbox is numbers only..  usage: onkeypress="return isNumberKey(event)"

function isNumberKey(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57)){
		return false;	
	}
	return true;
}
	
function stripSpecialChars( newString ) {
     newString=filterNum(newString);
	 return newString;

     function filterNum(str) {
          re = /\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$|\./g;
          // remove special characters like "$" and "," etc...
          return str.replace(re, "");
     }
}

function checkSpecialChars( newString )
{
   var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";

   for (var i = 0; i < newString.length; i++) {
  	  if (iChars.indexOf(newString.charAt(i)) != -1) {
  	     return false;
      }
   }
   
   return true;
}

function changeInnerHTML( element, html )
{
   document.getElementById( element ).innerHTML = html;
}

function hideLayer( id1 )
{
   var layer1 = document.getElementById( id1 );     //  current layer
   layer1.style.display = 'none';
}

function showLayer( id1 )
{
   var layer1 = document.getElementById( id1 );     //  current layer
   layer1.style.display = 'block';
}

function toggleLayer( id1 )
{
   var layer1 = document.getElementById( id1 );     //  current layer
	
   if(layer1.style.display == 'none') {
      layer1.style.display = 'block';
   } else {
      layer1.style.display = 'none';
   }
}

function toggle2Layers( id1, id2 )
{
   var layer1 = document.getElementById( id1 );     //  current layer
   var layer2 = document.getElementById( id2 );     //  new layer

   if(layer1.style.display == 'none') {
      layer1.style.display = 'block';
      layer2.style.display = 'none';
   } else {
      layer1.style.display = 'none';
      layer2.style.display = 'block';
   }

}

function toggleVisibility( id1 )
{
   var layer1 = document.getElementById( id1 );     //  current layer
	
   if(layer1.style.visibility == "hidden") {
      layer1.style.visibility = "visible";
   } else {
      layer1.style.visibility = "hidden";
   }
}

function toggle2Visibility( id1, id2 )
{
   var layer1 = document.getElementById( id1 );     //  current layer
   var layer2 = document.getElementById( id2 );     //  new layer

   if(layer1.style.display == 'none') {
      layer1.style.visibility = "visible";
      layer2.style.visibility = "hidden";
   } else {
      layer1.style.visibility = "hidden";
      layer2.style.visibility = "visible";
   }

}

function getElementHeight(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) { 
			xPos = elem.style.pixelHeight;
		} else {
			xPos = elem.offsetHeight;
		}
		return xPos;
	} 
}

function getElementWidth(Elem) {
	if (ns4) {
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} else {
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;
	}
}


function togglefun()
{
	var id1 = document.getElementById('id1');

	if (id1.style.display == 'none') {
		id1.style.display = 'block'
	} else {
		id1.style.display = 'none'
	}
}

function toggleout()
{
var id1 = document.getElementById('id1');
id1.style.display = 'none';
}


var menuids=["suckertree1"] //Enter id(s) of SuckerTree UL menus, separated by commas

function buildsubmenus(){
for (var i=0; i<menuids.length; i++){
  var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
    for (var t=0; t<ultags.length; t++){
    ultags[t].parentNode.getElementsByTagName("a")[0].className="subfolderstyle"
		if (ultags[t].parentNode.parentNode.id==menuids[i]) //if this is a first level submenu
			ultags[t].style.left=ultags[t].parentNode.offsetWidth+"px" //dynamically position first level submenus to be width of main menu item
		else //else if this is a sub level submenu (ul)
		  ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
    ultags[t].parentNode.onmouseover=function(){
    this.getElementsByTagName("ul")[0].style.display="block"
    }
    ultags[t].parentNode.onmouseout=function(){
    this.getElementsByTagName("ul")[0].style.display="none"
    }
    }
		for (var t=ultags.length-1; t>-1; t--){ //loop through all sub menus again, and use "display:none" to hide menus (to prevent possible page scrollbars
		ultags[t].style.visibility="visible"
		ultags[t].style.display="none"
		}
  }
}

if (window.addEventListener)
window.addEventListener("load", buildsubmenus, false)
else if (window.attachEvent)
window.attachEvent("onload", buildsubmenus)