﻿function SetImage(imageUrl, imageObject)
{  
    imageObject.src = imageUrl;
}

function HandleEnterKey(id)
{  
    if (window.event.keyCode)
    {
        if (window.event.keyCode == 13)
        {
            var searchImage = document.getElementsByName(id)[0];
            searchImage.focus();
        }
    }
}

function IsTextBoxValueEmpty(control, messageControl, message)
{
    var result;
    if (control.value == "")
    {
        messageControl.innerHTML = "Please enter " + message;
        //SetFocus(control);
        result = true;
    }
    else
    {
        messageControl.innerHTML = "";
        result = false;
    }
    
    return result;
}

function ValidateDropdownSelection(control, messageControl, message)
{

    if (control.selectedIndex == 0)
    {
        messageControl.innerHTML = "Please select " + message;
        SetFocus(control);
        return false;
    }
    else
    {
        messageControl.innerHTML = "";
        return true;
    }
}

function ValidateEmail(email)
{
    // a very simple email validation checking. 
    // you can add more complex email checking if it helps 
    if (email.length <= 0)
    {
        return true;
    }
    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (email.match(emailRegEx)) 
    {
        return true;
    }
    return false;
}

function ValidateNames(names)
{

    if (names.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[a-zA-Z]+([\s.,-]*[a-zA-Z]*)*$/;
        if (names.match(regexp_ip) == null) return false;
    }

    return true;

}
function ValidateAmount(amt)
{

    if (amt.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[0-9]+([,][0-9]+)*([.][0-9]+)*([-][0-9]+)*([\s][0-9]+)*$/;
        if (amt.match(regexp_ip) == null) return false;
    }

    return true;

}

function ValidatePhone(ph)
{

    if (ph.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[0-9]+([-][0-9]+)*$/;
        if (ph.match(regexp_ip) == null) return false;
    }

    return true;

}
function ValidateAddress(adds)
{

    if (adds.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[a-zA-Z0-9]+([\s]*[a-zA-Z]*[0-9]*[#-_.,]*)*$/;
        if (adds.match(regexp_ip) == null) return false;
    }

    return true;

}
function ValidateZIPCode(adds)
{

    if (adds.length <= 0)
    {
        return true;
    }

    else
    {
        var regexp_ip = /^[a-zA-Z0-9]+([\s]*[a-zA-Z]*[0-9]*[#-_:]*)*$/;
        if (adds.match(regexp_ip) == null) return false;
    }

    return true;

}


function ClearAll() {

    var form, elements, i, elm;

    if (document.forms[0].getElementsByTagName) {
        if (document[0].getElementsByTagName('div') && document[0].getElementsByTagName('div').value == 'PDFSource') {
            document[0].getElementsByTagName('div').style.display = 'none';
        }

        elements = document.forms[0].getElementsByTagName('input');
        for (i = 0, elm; elm = elements.item(i++); ) {
            if (elm.getAttribute('type') == "text") {
                elm.value = '';
            } else if (elm.getAttribute('type') == "checkbox" || elm.getAttribute('type') == "radio") {
                elm.checked = false;
            }
        }

        elements = document.forms[0].getElementsByTagName('select');
        for (i = 0, elm; elm = elements.item(i++); ) {
            elm.options.selectedIndex = 0;
        }

        elements = document.forms[0].getElementsByTagName('textarea');
        for (i = 0, elm; elm = elements.item(i++); ) {
            elm.value = '';
        }

    } else {
        elements = document.forms[0].elements;

        for (i = 0, elm; elm = elements[i++]; ) {
            if (elm.type == "text") {
                elm.value = '';
            } else if (elm.type == "checkbox" || elm.type == "radio") {
                elm.checked = false;
            }
        }
    }

    return false;
}


function KeyPressDecimal()
{
    var KeyID = event.keyCode;
    if ((KeyID >= 48 && KeyID <= 57) || (KeyID == 46))
    {

    }
    else
    {
        alert('Only Decimals are accepted');
        event.keyCode = 0;
    }
}

function validateDateFormat(Date)
{   
if (Date.trim().length >0 )
{
 	var regexp_ip =/^(0[1-9]|[1-9]|1[012])([/])(0[1-9]|[1-9]|[12][0-9]|3[01])([/])((19|20)\d\d)$/;
	if(Date.match(regexp_ip) == null) 
	    return false;
}	    
    return true;
}

function ValidateDateMinimumOneYear(enteredDate)
{
    if (enteredDate.trim().length > 0)
    {
       enteredDate = new Date(enteredDate);
      var today = new Date();
      var dd = today.getDate();
      var mm = today.getMonth()+1;//January is 0
      var yyyy = today.getFullYear()-1;
      var lastYearDate = mm+'/'+dd+'/'+yyyy;
      lastYearDate  = new Date(lastYearDate);   
      if(enteredDate <= lastYearDate)     
       {
        return true;
       }
       else
       { 
        return false;         
       }
    }
    return true;
}


function ValidateData(control, errorLabel, message, command, required) {
    var isValid = true;

    if (required && IsTextBoxValueEmpty(control, errorLabel, message)) {
        isValid = false;
        errorLabel.innerHTML = "Please enter " + message;
    }
    else {
        switch (command) {
            case "name":
                isValid = ValidateNames(control.value);
                break;

            case "phone":
                isValid = ValidatePhone(control.value);
                break;

            case "amount":
                isValid = ValidateAmount(control.value);
                break;

            case "address":
                isValid = ValidateAddress(control.value);
                break;

            case "zip":
                isValid = ValidateZIPCode(control.value);
                break;

            case "email":
                isValid = ValidateEmail(control.value);
                break;

            case "date":
                isValid = validateDateFormat(control.value);
                break;

            case "dob":
                isValid = ValidateDateMinimumOneYear(control.value);
                break;
        }

        if (!isValid) {
            errorLabel.innerHTML = "Please enter valid " + message;
        }
    }

    if (!isValid) {
        SetFocus(control);
    }
    else {
        errorLabel.innerHTML = "";
    }

    return isValid;
}