// JScript source code
/* Visit http://www.yaldex.com/ for full source code
and get more free JavaScript, CSS and DHTML scripts! */
function addUpSt(myName, myForm)
{
    var myArray;
    var totalName='';
    var els = myForm.elements;
    var el, i = els.length;
    while ( i-- ) {
        el = els[i];
        if ( el.name
        && 'text' == el.type
        && el.name.match('_' + myName + '_') ) {
        totalName=el.name;
        myArray=el.name.split('_')
        }
    }
    if (totalName.length != 0) {
        var part_num=1;
        var total=0;
        var currentVal=0;
        while (part_num < myArray.length-1)
        {
        if(theForm.elements[myArray[part_num]]!= null)
            {
            	currentVal = (theForm.elements[myArray[part_num]].value != '') ? Number(theForm.elements[myArray[part_num]].value) : 0;
              total += currentVal;
          }
          part_num+=1;
        }  
        myForm.elements[totalName].value=total;
        if (total!=100) {myForm.elements[totalName].style.color='red';}
        else {myForm.elements[totalName].style.color='black';}
    }
}
function addUpValue(myInput,Value) {
    var myName = myInput.name;
    var myForm = myInput.form;
    var myArray;
    var totalName = '';
    var els = myForm.elements;
    var el, i = els.length;
    while (i--) {
        el = els[i];
        if (el.name
        && ('text' == el.type || 'hidden' == el.type ) 
        && el.name.match('_' + myName + '_')) {
            totalName = el.name;
            myArray = el.name.split('_')
        }
    }
    if (totalName.length != 0) {
        var part_num = 1;
        var total = 0;
        var currentVal = 0;
        while (part_num < myArray.length - 1) {
            if (myForm.elements[myArray[part_num]] != null) {
                currentVal = (myForm.elements[myArray[part_num]].value != '') ? eval(myForm.elements[myArray[part_num]].value) : 0;
                total += currentVal;
            }
            part_num += 1;
        }
        myForm.elements[totalName].value = total;
        if (Value.length != 0) {
            if (total != Value) {
                myForm.elements[totalName].style.color = 'red';
                if (document.getElementById) {
                    document.getElementById("err" + totalName).style.visibility = "visible";
                }
                else if (document.layers) {
                    document.layers["err" + totalName].visibility = "visible";
                }
            }
            else {
                myForm.elements[totalName].style.color = 'black';
                if (document.getElementById) {
                    document.getElementById("err" + totalName).style.visibility = "hidden";
                }
                else if (document.layers) {
                    document.layers["err" + totalName].visibility = "hidden";
                }
            }
        }
        
    }

}
function addUpMax(myInput, Value) {
    var myName = myInput.name;
    var myForm = myInput.form;
    var myArray;
    var totalName = '';
    var els = myForm.elements;
    var el, i = els.length;
    while (i--) {
        el = els[i];
        if (el.name
        && 'text' == el.type
        && el.name.match('_' + myName + '_')) {
            totalName = el.name;
            myArray = el.name.split('_')
        }
    }
    if (totalName.length != 0) {
        var part_num = 1;
        var total = 0;
        var currentVal = 0;
        while (part_num < myArray.length - 1) {
            if (myForm.elements[myArray[part_num]] != null) {
                currentVal = (myForm.elements[myArray[part_num]].value != '') ? eval(myForm.elements[myArray[part_num]].value) : 0;
                total += currentVal;
            }
            part_num += 1;
        }
        myForm.elements[totalName].value = total;
        if (total > Value) {
            myForm.elements[totalName].style.color = 'red';
            if (document.getElementById) {
                document.getElementById("err" + totalName).style.visibility = "visible";
            }
            else if (document.layers) {
                document.layers["err" + totalName].visibility = "visible";
            }
        }
        else {
            myForm.elements[totalName].style.color = 'black';
            if (document.getElementById) {
                document.getElementById("err" + totalName).style.visibility = "hidden";
            }
            else if (document.layers) {
                document.layers["err" + totalName].visibility = "hidden";
            }
        }

    }

}
function addUp(myInput) {
    addUpValue(myInput, 100);    
}
ie = (document.all) ? 1 : 0;
n = !ie;
Comment = false;
Email = false;
PostalCode = false;

function Any(){
document.onkeypress = allDown;
}

function Numeric(){
document.onkeypress = keyDown;
if (n) {
    document.captureEvents(Event.KEYPRESS);
}
}
function allDown(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

//    if (keycode < 45 || keycode > 57)
//    {
//        return false;
//    }
//else return true;
}

function validfloat(txt, ev)
{
ev.returnValue = ((ev.keyCode>=48 && ev.keyCode<=57) || (ev.keyCode==46 && txt.value.indexOf('.') == -1)); }

function keyDown(e) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if ((keycode < 44 || keycode > 57) && keycode > 10 && keycode != 127)
    {
        return false;
    }
    else return true;
}

function FormatNumber(num)
{
    var sVal='';
    var Whole='';
    var Decimal='';
    num = FormatClean(num);
    if (num.indexOf(".") != -1)
    {
        Decimal=num.substring(num.indexOf(".")+1);
        Whole=num.substring(0,num.indexOf("."));
    }
    else
    {
        Whole=num;
    }
    Whole = FormatDollar(Whole,",");
    sVal = Whole 
    if (Decimal.length != 0) {
        Decimal = Decimal.replace(".", "").replace(".", "").replace(".", "")
        ///microsoft/gi, "W3Schools"
    sVal += '.' + Decimal;}
    return sVal;
}

function FormatDollar(amount,CommaDelimiter)
{
   try 
   {
        if (amount.length < 1) { return ''; }
        amount = parseInt(amount);

        var samount = new String(amount);

          

        //samount =  samount.substring(0,samount.length -2);
             
        for (var i = 0; i < Math.floor((samount.length-(1+i))/3); i++)
        {
           samount = samount.substring(0,samount.length-(4*i+3)) + CommaDelimiter + samount.substring(samount.length-(4*i+3));
         }

   }
    catch (e) { AlertError("Format Comma",e); }
    return samount;
}


function FormatClean(num)
{
     var sVal='';
     var nVal = num.length;
     var sChar='';
     
   try
   {
       for(i=0;i<nVal;i++)
      {
         sChar = num.charAt(i);
         nChar = sChar.charCodeAt(0);
         if (((nChar >=48) && (nChar <=57)) || (nChar == 46) )  
        { 
            sVal += num.charAt(i);   
        }
        else if (nChar != 44)
        {
            if (sVal=='.') {sVal='' }
            if ((sVal != null) && (sVal.length != 0)) {break;}
        }
      }
   }
    catch (e) { AlertError("Format Clean",e); }
    return sVal;
}
function AlertError(MethodName,e)
{
        if (e.description == null) { alert(MethodName + " Exception: " + e.message); }
        else {  alert(MethodName + " Exception: " + e.description); }
}
function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
