﻿// JScript File
var sErrMsg;
var sErrIsEmpty = " is required.\n";
var sErrValidateEmail = " is not a valid e-mail address.\n";
function ltrim(sValue) {
    while (1) {
        if (sValue.substring(0, 1) != " ")
            break;
        sValue = sValue.substring(1, sValue.length);
    }
    return sValue;
}

function rtrim(sValue) {
    while (1) {
        if (sValue.substring(sValue.length - 1, sValue.length) != " ")
            break;
        sValue = sValue.substring(0, sValue.length - 1);
    }
    return sValue;
}
function trim(sValue) {
    var sTemp = ltrim(sValue);
    return rtrim(sTemp);
}
function validateEmail(sEmail, sName, bAllowEmpty) {
   /* Notes:
   
    'exclude' checks 5 conditions:
   
    a) characters that should not be in the address
    b) characters that should not be at the start
    c) & d) characters that shouldn't be together
    e) there's not more than one '@'
   
    'check' checks there's at least one '@', later followed by at least one '.'
    'checkend' checks the address ends with a period followed by 2 or 3 alpha characters.
    N.B. Javascript 1.2 only works with version 4 browsers and higher. */

    var exclude = /[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
    var check = /@[\w\-]+\./;
    var checkend = /\.[a-zA-Z]{2,3}$/;
    var sErrorMsg = "";
    sEmail = trim(sEmail);

    if (!bAllowEmpty && sEmail == "") {
        sErrorMsg = sName + sErrIsEmpty;
    }
    else if (sEmail != "") {
        if (((sEmail.search(exclude) != -1) ||
          (sEmail.search(check)) == -1) ||
          (sEmail.search(checkend) == -1)) {
            sErrorMsg = sName + sErrValidateEmail;
        }
    }

    return sErrorMsg;
}

function chkPrevDate(month, day, year) {

    var sErrorMsg = "";
    var strfulldate = new Date();

    //System Dates
    var strMonth;
    if (strfulldate.getMonth() <= 9)
        strMonth = "0" + (parseInt(strfulldate.getMonth())+1).toString();
    else
        strMonth = (parseInt(strfulldate.getMonth()) + 1).toString();

    var strDate = strfulldate.getDate();
    var strYear = strfulldate.getFullYear();

    //User Selected Dates

    intMM = month;
    intDD = day;
    intYr = year;

    if (intYr > strYear) {
        sErrorMsg = "";
    }
    else if (intYr == strYear) {
        if (intMM == strMonth) {
            if (intDD < strDate) {
                sErrorMsg += "Please check the Date, It should be Above the current date \n";
            }
            else {
                sErrorMsg = "";
            }

        }
        else if (intMM < strMonth) {
            sErrorMsg += "Please check the Month, It should be Above the current date \n";
        }
    }
    return sErrorMsg;
}
function setFocusFun(parObjSetFocus, parSSetFocus, parSErrMsg) {
    if (parSSetFocus == false && parSErrMsg != "") {
        parObjSetFocus.focus();
        parObjSetFocus.select();
        sSetFocus = true;
    }
}
function validate() {
    var sErrMsg = "";    
    var objFrm = document.getElementById("frmDialTruck");
    if (objFrm.txtFName.value == '') {
        sErrMsg += 'First Name \n';
    }

    if (objFrm.txtLName.value == '') {
        sErrMsg += 'Last Name \n';
    }

    if (objFrm.txtPhn.value == '') {
        sErrMsg += 'Phone \n';
    }
    else if (isNaN(objFrm.txtPhn.value)) {
        sErrMsg += 'Enter Phone in Numbers \n';
    }
    if (objFrm.txtEmail.value == '') {
        sErrMsg += 'Email \n';
    }
    else {
        sErrMsg += validateEmail(objFrm.txtEmail.value, "Email Address", false, null, 50);
    }
    
    if (objFrm.txtFrmZip.value == '') { sErrMsg += 'From Zip \n'; }
    else if (isNaN(objFrm.txtFrmZip.value)) { sErrMsg += 'Enter From Zip in Numbers \n'; }

    if (objFrm.txtToZip.value == '') { sErrMsg += 'To Zip \n'; }
    else if (isNaN(objFrm.txtToZip.value)) { sErrMsg += 'Enter To Zip in Numbers \n'; }
    var date;
    if (objFrm.ddlDate.value < 9)
        date = "0" + objFrm.ddlDate.value;
    else
        date = objFrm.ddlDate.value;
   
    sErrMsg += chkPrevDate(objFrm.ddlMonth.value,date,objFrm.ddlYear.value);

    if (sErrMsg != "") {
        alert("The form could not be submited because of the following errors:\n\n" + sErrMsg);
        return false;
    }
    else {
        //objFrm.submit();
        return true;                
    }
}

function validateQB() {
    var sErrMsg = "";
    var objFrm = document.getElementById("frmDialTruck");

    if (objFrm.txtFrmZip.value == '') { sErrMsg += 'From Zip \n'; }
    else if (isNaN(objFrm.txtFrmZip.value)) { sErrMsg += 'Enter From Zip in Numbers \n'; }

    if (objFrm.txtToZip.value == '') { sErrMsg += 'To Zip \n'; }
    else if (isNaN(objFrm.txtToZip.value)) { sErrMsg += 'Enter To Zip in Numbers \n'; }

    var date;
    if (objFrm.ddlDate.value <=9) {
        date = "0" + objFrm.ddlDate.value;
    }
    else
        date = objFrm.ddlDate.value;

    sErrMsg += chkPrevDate(objFrm.ddlMonth.value, objFrm.ddlDate.value, objFrm.ddlYear.value);

    if (sErrMsg != "") {
        alert("The form could not be submited because of the following errors:\n\n" + sErrMsg);
        return false;
    }
    else {
        objFrm.submit();
        return true;
    }
}

function validateCont() {
    var sErrMsg = "";
    var objFrm = document.frmdialtruckcnt;

    if (objFrm.ddlSubject.value == '') { sErrMsg += 'I would like to\n'; }
    if (objFrm.txtMessage.value == '') { sErrMsg += 'Message \n'; }
    if (objFrm.txtName.value == '') { sErrMsg += 'Name \n'; }
    if (objFrm.txtEmail.value == '') { sErrMsg += 'Email Address \n'; }
    else{
	sErrMsg += validateEmail(objFrm.txtEmail.value, "Email Address", false, null, 50);
    }

    if (sErrMsg != "") {
        alert("The following fields cannot be left blank.\n\n" + sErrMsg);
        return false;
    }
    else {
        objFrm.submit();
        return true;
    }
}

function ClearField(cntrl, txt) {
    if (cntrl.value == txt)
        cntrl.value = '';
}
function FillDefault(cntrl, txt) {
    if (cntrl.value == '')
        cntrl.value = txt;
}
function phoneValidate(currentField, nextField, maxLen) {
    if (currentField.value.length == maxLen)
        document.frmWhiteGloveLeads[nextField].focus();
}
function FindCtrlPos(obj) { var curleft = 0; var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) { curleft += obj.offsetLeft; curtop += obj.offsetTop; obj = obj.offsetParent; } } else { if (obj.x) { curleft += obj.x; } if (obj.y) { curtop += obj.y; } } return { top: curtop, left: curleft }; }


function findZip(txtId) {
    var pgHeight = 0;

    if (document.getElementById("dvZip") != null) {
        document.getElementById("dvZip").style.display = 'none';
        if(document.body.hasChildNodes(document.getElementById("dvZip")))
        document.body.removeChild(document.getElementById("dvZip"));
    }

   
    if (self.innerHeight) {
        pgHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        pgHeight = document.documentElement.clientHeight;
    } else if (document.body) {
        pgHeight = document.body.clientHeight;
    } if (document.body.offsetHeight > pgHeight) {
        pgHeight = document.body.offsetHeight;
    }


    var divBg = document.createElement("div");
    divBg.id = "dvBG";
    divBg.className = "dvbg";
    divBg.style.width = '100%';
    divBg.style.height = pgHeight + 'px'; divBg.style.position = 'absolute';
    document.body.appendChild(divBg);

    var point = FindCtrlPos(document.getElementById(txtId));
    var dvZip = document.createElement("div");
    dvZip.id = "dvZip";
    dvZip.style.background = "#ffffff";
    dvZip.style.border = "4px solid #cccccc";
    dvZip.innerHTML = '<iframe src="zip-help.aspx?tbox=' + txtId + '" width="400" height="200" frameborder="0" scrolling="auto" bgcolor="#ffffff" />';
    dvZip.className = "dvzip";
    dvZip.style.top = point.top + "px";
    var pX = parseInt(point.left) + 120;
    dvZip.style.left = pX + "px";
    dvZip.style.position = 'absolute';
    document.body.appendChild(dvZip);
}

// Returns the size of the browser window based on the browser and its mode.
 window.size = function () {
     var w = 0; var h = 0;
     if (!window.innerWidth) {
         if (!(document.documentElement.clientWidth == 0)) {
             w = document.documentElement.clientWidth;
             h = document.documentElement.clientHeight;
         }
         else {
             w = document.body.clientWidth; h = document.body.clientHeight;
         }
     }
     else {
         w = window.innerWidth;
         h = window.innerHeight;
     }
     return { width: w, height: h };
 }
// Returns top & left position required to center a div tag in a browser window.
 window.center = function () {
     var hWnd = (arguments[0] != null) ? arguments[0] : { width: 0, height: 0 };
     var _x = 0;
     var _y = 0;
     var offsetX = 0;
     var offsetY = 0;
     if (!window.pageYOffset) {
         if (!(document.documentElement.scrollTop == 0)) {
             offsetY = document.documentElement.scrollTop;
             offsetX = document.documentElement.scrollLeft;
         } 
         else {
             offsetY = document.body.scrollTop; offsetX = document.body.scrollLeft;
         }
     }
     else {
         offsetX = window.pageXOffset; offsetY = window.pageYOffset;
     }
     _x = ((this.size().width - hWnd.width) / 2) + offsetX;
     _y = ((this.size().height - hWnd.height) / 2) + offsetY;
     return { x: _x, y: _y };
 }

 function getDate() {
     var objFrm = document.frmDialTruck;
     var d = new Date();
     if (d.getMonth() < 10)
         objFrm.ddlMonth.value = "0" + (parseInt(d.getMonth())+1).toString();
     else
         objFrm.ddlMonth.value = parseInt(d.getMonth())+1;
     objFrm.ddlYear.value = d.getFullYear();
     objFrm.ddlDate.value = d.getDate();
 }
