// TOOLTIP HINT BOX
	var horizontal_offset="10px" //horizontal offset of hint box from anchor link
	
	/////No further editting needed
	
	var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
	var ie=document.all
	var ns6=document.getElementById&&!document.all
	
	function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
	totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
	parentEl=parentEl.offsetParent;
	}
	return totaloffset;
	}
	
	function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}
	
	function clearbrowseredge(obj, whichedge){
	var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
	if (whichedge=="rightedge"){
	var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
	dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
	if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
	edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
	}
	else{
	var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
	dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
	if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
	edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
	}
	return edgeoffset
	}
	
	function showhint(menucontents, obj, e, tipwidth){
	if ((ie||ns6) && document.getElementById("hintbox")){
	dropmenuobj=document.getElementById("hintbox")
	dropmenuobj.innerHTML=menucontents
	dropmenuobj.style.left=dropmenuobj.style.top=-500
	if (tipwidth!=""){
	dropmenuobj.widthobj=dropmenuobj.style
	dropmenuobj.widthobj.width=tipwidth
	}
	dropmenuobj.x=getposOffset(obj, "left")
	dropmenuobj.y=getposOffset(obj, "top")
	dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
	dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
	dropmenuobj.style.visibility="visible"
	obj.onmouseout=hidetip
	}
	}
	
	function hidetip(e){
	dropmenuobj.style.visibility="hidden"
	dropmenuobj.style.left="-500px"
	}
	
	function createhintbox(){
	var divblock=document.createElement("div")
	divblock.setAttribute("id", "hintbox")
	document.body.appendChild(divblock)
	}
	
	if (window.addEventListener)
	window.addEventListener("load", createhintbox, false)
	else if (window.attachEvent)
	window.attachEvent("onload", createhintbox)
	else if (document.getElementById)
	window.onload=createhintbox
	
	function clearValue(field)
	{
	if (field.defaultValue == field.value)
	field.value = ""
	} 

// VERIFY REQUIRED FIELDS - CONTACT FORM

	function echeck(str) {
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if(reg.test(str) == false) {
			document.getElementById("emailError").style.display = "inline";
			document.contact.email.className="required";
			return false;
		}
	}
	
	function formCheck(formobj) {
	
		var fieldRequired = Array("name", "email", "subject", "message");
		var alertMsg = new Array();
		var emailID = document.contact.email;
		var l_Msg = alertMsg.length;
		
		for (var e in fieldRequired){
			document.getElementById(fieldRequired[e] + "Error").style.display = "none";
		}

		for (var i = 0; i < fieldRequired.length; i++){
			var obj = formobj.elements[fieldRequired[i]];
			if (obj){
				switch(obj.type){
				case "select-one":
					if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].value == ""){
						alertMsg.push(fieldRequired[i]);
						obj.className="required";
					}else{
						obj.className="";
					}
					break;
				case "select-multiple":
					if (obj.selectedIndex == -1){
						alertMsg.push(fieldRequired[i]);
						obj.className="required";
					}else{
						obj.className="";
					}
					break;
				case "text":
				case "textarea":
					if (obj.value == "" || obj.value == null){
						alertMsg.push(fieldRequired[i]);
						obj.className="required";
					}else{
						obj.className="";
					}
					break;
				default:
				}
				if (obj.type == undefined){
					var blnchecked = false;
					for (var j = 0; j < obj.length; j++){
						if (obj[j].checked){
							blnchecked = true;
						}
					}
					if (!blnchecked){
						alertMsg.push(fieldRequired[i]);
						obj.className="required";
					}else{
						obj.className="";
					}
				}
			}
		}
	
		if (alertMsg.length == l_Msg){
			if (echeck(emailID.value) == false){
				emailID.focus();
				return false;
			}else{
				return true;
			}
		}else{
			for (var e in alertMsg){
				document.getElementById(alertMsg[e] + "Error").style.display = "inline";
			}
			obj.className="required";
			return false;
		}
	}

// CHANGE TEXT CASE
	function changeCase(frmObj) {
	var index;
	var tmpStr;
	var tmpChar;
	var preString;
	var postString;
	var strlen;
	tmpStr = frmObj.value.toLowerCase();
	strLen = tmpStr.length;
	if (strLen > 0)  {
	for (index = 0; index < strLen; index++)  {
	if (index == 0)  {
	tmpChar = tmpStr.substring(0,1).toUpperCase();
	postString = tmpStr.substring(1,strLen);
	tmpStr = tmpChar + postString;
	}
	else {
	tmpChar = tmpStr.substring(index, index+1);
	if (tmpChar == " " && index < (strLen-1))  {
	tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
	preString = tmpStr.substring(0, index+1);
	postString = tmpStr.substring(index+2,strLen);
	tmpStr = preString + tmpChar + postString;
			 }
		  }
	   }
	}
	frmObj.value = tmpStr;
	}

// CAPITALIZE SENTENCES
	function capitalizeSentences(frmObj) {
	
	var capText = frmObj.value.toLowerCase();
	
	capText = capText.replace(/\.\n/g,".[-<br>-]. ");
	capText = capText.replace(/\.\s\n/g,". [-<br>-]. ");
	
	var wordSplit = '. ';
	
	var wordArray = capText.split(wordSplit);
	
	var numWords = wordArray.length;
	
	for(x=0;x<numWords;x++) {
	
		wordArray[x] = wordArray[x].replace(wordArray[x].charAt(0),wordArray[x].charAt(0).toUpperCase());
		
			if(x==0) {
				capText = wordArray[x]+". ";
			}else if(x != numWords -1) {
				capText = capText+wordArray[x]+". ";
			}else if(x == numWords -1) {
				capText = capText+wordArray[x];
			}
	}
		
	capText = capText.replace(/\[-<br>-\]\.\s/g,"\n");
	capText = capText.replace(/\si\s/g," I ");      
	
	frmObj.value = capText;
	
	}

// AUTOTAB FORM FIELDS

	/* Parameters:	
	'			oElem - this is the text box element that the user is typing into
	'			intElemLength - Length of the text box
	'			oNextElem - the next text box to go to
	'
	' Example:
	'	onkeyup=""AutoTab(this,3,txtPrimeprefix,event);""
	*/
	function AutoTab(oElem, intElemLength, oNextElem, e) {
	
			isIE=document.all;
			isNN=!document.all&&document.getElementById;
	
			//there is an issue that if the phone number is already in the text boxes and you quickly type 123 in the text box it will fire the keyup event for the second text box also.
	
			//var sameElement = (isNN) ? e.target.name : e.srcElement.nodeName;
			
			//if (sameElement = oElem.id)
			//{
				//alert('same element');
			//	document.getElementById("txtEmail").value = document.getElementById("txtEmail").value + ' same ' + sameElement + ' oelem ' + oElem.id + ' || '
	
				//break;
			//}
	
	
			if (oElem) {		
				var keyCode = (isNN) ? e.which : window.event.keyCode; 
				//alert(keyCode);
	
				var filter = (isNN) ? [0,8,9,13,16] : [0,8,9,16,17,18,37,38,39,40,46];
				//16 shift
				// 9 tab
				// 13 enter
		
				if (oElem.value.length == intElemLength && !containsElement(filter,keyCode)) { //see if all digits are entered
	
					if(oNextElem) {	
	//					oElem.style.backgroundColor='#FFFFFF'
	//					oNextElem.style.backgroundColor='#FFFF00';
						oNextElem.select(); //highlight text in box
						oNextElem.focus();
					}
				}
			}
		}
	
		function containsElement(arr, ele) {
			var found = false;
			index = 0;
			while(!found && index < arr.length)
				if(arr[index] == ele)
					found = true;
				else
					index++;
			return found;
		}
