// GLOBAL JAVASCRIPT USED THROUGHOUT THE WEBSITE

	var hide = false;
	
	function toggleTransDisplay(){		
	
		if(document.all){
			var tableTransTemp = document.all.tableTrans
		}
		else {
			var tableTransTemp = document.getElementById('tableTrans')			
		}
		var rows = tableTransTemp.rows;
		
		for (i=1;i<=rows.length-1;i++){
			//alert(i + " - " + rows[i].id)
			if (rows[i].id == 'transHide'){
				if (hide){
					rows[i].style.visibility = 'hidden';
					rows[i].style.display = 'none';
				}
				else{
					rows[i].style.visibility = 'visible';					
					rows[i].style.display = '';
				}
			}
		}
		if (hide){
			hide = false;
			document.getElementById('expandButton').innerHTML = "<img id='expandImage' src='images/essentials/icon_expand.gif' style='margin-right: 5px;' align='absbottom' border='0'>Show More Transactions";

		}
		else if (!hide){
			hide = true;
			document.getElementById('expandButton').innerHTML = "<img id='expandImage' src='images/essentials/icon_collapse.gif' style='margin-right: 5px;' align='absbottom' border='0'>Hide";			
		}
		
	}

	function passwordStrength(password){
		var desc = new Array();
		desc[0] = ""
		desc[1] = "Very Weak";
		desc[2] = "Weak";
		desc[3] = "Better";
		desc[4] = "Medium";
		desc[5] = "Strong";
		desc[6] = "Strongest";
	
		var score = 1;
	
		//if password bigger than 6 give 1 point
		if (password.length > 6) score++;
	
		//if password has both lower and uppercase characters give 1 point	
		if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++;
	
		//if password has at least one number give 1 point
		if (password.match(/\d+/)) score++;
	
		//if password has at least one special caracther give 1 point
		if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) )	score++;
	
		//if password bigger than 12 give another 1 point
		if (password.length > 12) score++;
		
		if (password.length > 0){
			document.getElementById("passwordDescription").innerHTML = desc[score];
			document.getElementById("passwordStrength").className = "strength" + score;
		}
	}

	function openMoreInfo(){
		//OPENS THE CAPTCHA MORE INFO WINDOW
		openPopup('../includes/captcha_moreinfo.asp','Captcha','width=300,height=220,status=no,scrollbars=yes,resizable=no,toolbar=no,menubar=no');
	}

	function checkNum(oObj){
		//ENSURE ONLY DECIMALS ARE ALLOWED IN A TEXTBOX
		//Only aLlows one decimal separator (. or ,). Doesn't allow decimal separator as the first char.
		// use via onKeyPress="checkNum(this)" on the textbox

		var bHasDecimal = false;
		if (oObj.value.indexOf('.') > 0 || oObj.value.indexOf(',') > 0 || oObj.value == ''){
			bHasDecimal = true
		}
		var carCode = event.keyCode;
		if ((carCode < 48) || (carCode > 57)){
			if ((carCode != 44) && (carCode != 46)){
				//44 = COMMA; 46 = FULLSTOP
				event.cancelBubble = true;
				event.returnValue = false;
			}
			else if (bHasDecimal){
				event.cancelBubble = true;
				event.returnValue = false;
			}
		}
	}
	
	function checkNumInt(oObj){
		//ENSURE ONLY NUMBERS ARE ALLOWED IN A TEXTBOX
		var carCode = event.keyCode;
		if (((carCode < 48) || (carCode > 57))){
			event.cancelBubble = true;
			event.returnValue = false;
		}
	}
	
	function checkNumException(oObj, intKeyCode){
		//ENSURE ONLY NUMBERS PLUS ONE EXCEPTIONAL KEYCODE ARE ALLOWED IN A TEXTBOX
		var carCode = event.keyCode;
		if (((carCode < 48) || (carCode > 57)) && (carCode != intKeyCode)){
			event.cancelBubble = true;
			event.returnValue = false;
		}
	}
	
	function limitText(limitField, limitNum) {
		//LIMITS A FIELD TO CERTAIN LENGTH. USED FOR TEXTAREAS
    	if (limitField.value.length > limitNum) {
        	limitField.value = limitField.value.substring(0, limitNum);
	    } 
	}


	function validateLogin(){
	//VALIDATES LOGIN FORMS
		if(document.LoginForm.username){
			if(document.LoginForm.username.value == ""){
			
				document.getElementById("lblUsername").style.display = "inline";
				return(false);
			}
			if(document.LoginForm.password.value == ""){
				document.getElementById("lblPassword").style.display = "inline";
				return(false);
			}
			if(document.LoginForm.txtCaptcha.value == ""){
				document.getElementById("lblCaptcha").style.display = "inline";
				return(false);
			}
			
		}
		else {
			return(true);
		}
	}

	function validateSearch() {
	//ENSURE A KEYWORD IS ENTERED
		if(document.searchform.keywords.value == "Enter keyword" || document.searchform.keywords.value == ""){
			alert("Please enter a keyword");
			return (false);
		}
		else{
			return (true);
		}
	}

	function openPopup(popURL,popTitle,popProperties) {
		//OPEN A POP-UP WINDOW
		myPopUp = window.open(popURL,popTitle,popProperties);
		if (!myPopUp.opener) {
			myPopUp.opener = self;
		}
	}


	function openChat(varUrl) {
		//OPENS CHAT WINDOW FOR LIVE HELP MODULE
		var winleft=(screen.width-700)/2;
		var wintop=(screen.height-450)/2;
		openPopup(varUrl,'LiveHelp','toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=700,height=480,top='+wintop+',left='+winleft)
	}


	function writeStatus(text) {
		//WRITE MESSAGE TO THE STATUS BAR
		window.status = text;
		return(true);
	}

	function clearStatus() {
		//CLEAR THE STATUS BAR MESSAGE
		window.status = "";
	}

	function findPosX(obj) {
		//FIND THE X POSITION OF AN OBJECT
		var curleft = 0;
		if (document.getElementById || document.all) {
			while (obj.offsetParent) {
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (document.layers) {
			curleft += obj.x;
		}
		return curleft;
	}

	function findPosY(obj) {
		//FIND THE Y POSITION OF AN OBJECT
		var curtop = 0;
		var printstring = '';
		if (document.getElementById || document.all) {
			while (obj.offsetParent) {
				printstring += ' element ' + obj.tagName + ' has ' + obj.offsetTop;
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (document.layers) {
			curtop += obj.y;
		}
		//window.status = printstring;
		return curtop;
	}

	function getObj(name) {
		//GET THE BROWSER-COMPATIBLE REFERENCE FOR AN OBJECT
		 if (document.getElementById) {
			this.obj = document.getElementById(name);
			this.style = document.getElementById(name).style;
		}
		else if (document.all) {
			this.obj = document.all[name];
			this.style = document.all[name].style;
		}
		else if (document.layers) {
			if (document.layers[name]) {
				this.obj = document.layers[name];
				this.style = document.layers[name];
			}
		}
	}

	function fadeLayer(lyr,dir,arr,item,start) {
		//FADES A LAYER IN AND OUT
		var objLyr = document.getElementById(lyr);
		if(start == true){
			objLyr.innerHTML = arr[item];
			item += 1;
		}
		else if(item >= arr.length){
			item = 0;
		}
		if(dir > 0) {
			//FADE IN
			opac+=incr;
			if(ie5) objLyr.filters.alpha.opacity = opac; 
			if(ns6) objLyr.style.MozOpacity = opac/100;
			if (opac >= 100) {
				if(arr.length == 1){
					//HALT FADING IF THERE IS ONLY ONE ITEM IN THE ARRAY
					return false;
				}
				else {
					setTimeout(function () { fadeLayer(lyr,-1,arr,item,false); }, wait);
				}
			}
			else {
				setTimeout(function () { fadeLayer(lyr,dir,arr,item,false); }, intvl);
			}
		}
		else if (dir < 0) {
			//FADE OUT
			opac-=incr;
			if(ie5) objLyr.filters.alpha.opacity = opac; 
			if(ns6) objLyr.style.MozOpacity = opac/100;
			if (opac <= 0) {
				//UPDATE THE LAYER'S TEXT
				objLyr.innerHTML = arr[item];
				item += 1;
				setTimeout(function () { fadeLayer(lyr,1,arr,item,false); }, intvl);
			}
			else {
				setTimeout(function () { fadeLayer(lyr,dir,arr,item,false); }, intvl);
			}
		}
	}
	var ie5 = (document.all && document.getElementById); 
	var ns6 = (!document.all && document.getElementById); 
	var opac = 0;
	var incr = 4;
	var intvl = 50;
	var wait = 4000;


	function showLayer(lyrID){
		//SHOW A HIDDEN LAYER

		//CANCEL ANY PENDING TIMER FUNCTIONS
		clearLayerTimeout();

		//ENSURE LAYER IS ALREADY HIDDEN
		if(hiddenLayer){
			hiddenLayer.style.visibility = 'hidden';
		}
		//SHOW THE LAYER
		hiddenLayer = new getObj(lyrID);
		hiddenLayer.style.visibility = 'visible';
	}

	function hideLayer(){
		//HIDES A LAYER
		if(hiddenLayer){
			hiddenLayer.style.visibility = 'hidden';
		}
	}

	function waitAndHideLayer(){
		//HIDE LAYER AFTER TIMER INTERVAL
		objTimer = window.setTimeout(hideLayer, timeoutValue);
	}

	function clearLayerTimeout(){
		//CLEAR LAYER TIMEOUT
		if(objTimer){
			window.clearTimeout(objTimer);
			objTimer = null;
		}
	}
	var timeoutValue = 200;
	var objTimer = 0;
	var hiddenLayer = 0;
	
	//HIDE LAYER IF CLICKING OUTSIDE THE DIV
	//document.onclick = hideLayer; 

