﻿// JavaScript Document

function hidediv(q) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(q).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			eval("document." + q + ".display = 'none'");
		}
		else { // IE 4
			eval("document.all." + q + ".style.display = 'none'");
		}
	}
}

function showdiv(q) {
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(q).style.display = 'inline';
	}
	else {
		if (document.layers) { // Netscape 4
			eval("document." + q + ".display = 'inline'");
		}
		else { // IE 4
			eval("document.all." + q + ".style.display = 'inline'");
		}
	}
}

//To limit textarea input characters
function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}


//Right Trim Whitespace from textbox's value
//If textbox uses regularexpressionvalidator, it should add "\s*" to the regular expression 
//exp. for email: ValidationExpression="^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})\s*$"
function TrimText(txtbox)
{
    txtbox.value = txtbox.value.replace(/\s+$/,"");
} 

       
//Phone fields
function PhoneFieldAutoFocusAC(acID, preID){
    var letters = document.getElementById(acID).value.length +1;
    if (letters <= 3)
    {document.getElementById(acID).focus()}
    else
    {document.getElementById(preID).focus()}
}

function PhoneFieldAutoFocusPre(preID, numID){
    var letters = document.getElementById(preID).value.length +1;
    if (letters <= 3)
    {document.getElementById(preID).focus()}
    else
    {document.getElementById(numID).focus()}
}

function valPhone_ClientValidate(acID, preID, numID, imgIncorrect){
    var validPhone = true;
    var ac = document.getElementById(acID);
    var pre = document.getElementById(preID);
    var num = document.getElementById(numID);
    if( ac.value.length != 0 || pre.value.length != 0 || num.value.length != 0){           
        if(ac.value.length != 3 || isNaN(ac.value)) {
            validPhone = false;
        }
        else if(pre.value.length != 3 || isNaN(pre.value)){
            validPhone = false;
        }
        else if(num.value.length != 4  || isNaN(num.value)){
            validPhone = false;
        }
    }
    if(validPhone){
        document.getElementById(imgIncorrect).style.display = "none";
    }
    else{
        document.getElementById(imgIncorrect).style.display = "inline";
    }
    return validPhone;            
}       

function GetObj(name) {
    if (document.getElementById) {
	    return document.getElementById(name);
    }
    else if (document.all) {
	    return document.all[name];
    }
    else if (document.layers) {
   	    return document.layers[name];
    }
}

function showTooltip(helpName, element) //optional arguments(adjustTop, adjustLeft)
{
    //alert('showHelp');

    if(arguments[2] != null) adjustTop = arguments[2];
    else adjustTop = 0;//-152;
    if(arguments[3] != null) adjustLeft = arguments[3];
    else adjustLeft = -70;
    
    baloon = GetObj(helpName);
    baloon.style.display='inline';
    baloon.style.position='absolute';
    var offsetTop = 0;
    var offsetLeft = 0;
    
//    alert(baloon.offsetWidth);
//    alert(baloon.offsetHeight);
    //alert(element.offsetParent.nodeName); 
    offsetTop = calcOffsetTop(element, offsetTop) - baloon.offsetHeight;// + element.offsetHeight;
    offsetLeft = calcOffsetLeft(element, offsetLeft) + element.offsetWidth;
    newTop = (offsetTop + adjustTop);
    newLeft = (offsetLeft + adjustLeft);
    if (newTop < 0) newTop = 0;
    if (newLeft < 0) newLeft = 0;

    //alert("newTop = " + newTop);
    baloon.style.top = newTop + 'px';
    baloon.style.left = newLeft + 'px';
}

function hideTooltip(helpName, element)
{
    //alert('hideHelp');

    GetObj(helpName).style.display='none';
}

function calcOffsetTop(element)
{
//    if(document.all)
//    {
//        alert("document.all");
//    }
//    else
//    {
//        alert("NOT document.all");
//    }
    if(element.offsetParent != null)
    {
//        retVal = calcOffsetTop(element.offsetParent);
//        alert(element.nodeName + ".offsetTop(" + element.offsetTop + ") + parents(" + retVal + ") = " + (retVal + element.offsetTop));
        retVal = calcOffsetTop(element.offsetParent);
        //alert(element.nodeName + ".offsetTop(" + element.offsetTop + ") + parents(" + retVal + ") = " + (retVal + element.offsetTop));
        retVal = retVal + element.offsetTop;
        return retVal
    }
    else
    {
        retVal = element.offsetTop;
        //alert(element.nodeName + ".offsetTop = " + retVal);
        return retVal
    }
}

function calcOffsetLeft(element)
{
    if(element.offsetParent != null)
    {
        return element.offsetLeft + calcOffsetLeft(element.offsetParent);
    }
    else
    {
        return element.offsetLeft;
    }
}
