//-------------------------------------------------------------------------
//Javascript Objects
//written by: Tom Denham
//date: August 2006
//----------------------------------------------------------------------------

function BenHist(page)
{
    // execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "BenefitHistory.aspx/BHDisplay",
        data: "{startPage : " + page + ", eyedee : " + SISLicense + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function dedhist(page)
{
// execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "DeductionHistory.aspx/DHDisplay",
        data: "{startPage : " + page + ", eyedee : " + SISLicense + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function SelectEdit(page) {
//alert(lastName);
// save the displayed page number
	pageStarts = page;
	lastone = lastName;
	var filler = '';
// execute the ajax method on the server
    if (lastName > '')
    {
        $.ajax({
            type: "POST",
            url: "mgPortal1.aspx/SelectEdit",
            data: "{startPage : " + page + ", lastName : '" + lastName + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                $("#strZap").html(msg.d);
            }
        });
    }else{
        $.ajax({
            type: "POST",
            url: "mgPortal1.aspx/SelectEdit",
            data: "{startPage : " + page + ", lastName : '" + filler + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                $("#strZap").html(msg.d);
            }
        });
    }
}

function SelectNameEdit()
{
// save the name selection value
	lastName = document.getElementById("text1").value;
	pageStarts = 1;
// execute the ajax method on the server
	$.ajax({
	    type: "POST",
	    url: "mgPortal1.aspx/SelectEdit",
	    data: "{startPage : 1, lastName : '" + lastName + "'}",
	    contentType: "application/json; charset=utf-8",
	    dataType: "json",
	    success: function(msg) {
	        // Replace the div's content with the page method's return.
	        $("#strZap").html(msg.d);
	    }
	});
}

function GotoPage()
{
    lastpage = pageEnds;
    if (document.submitt.gotopage.value == 0)
    {
        document.submitt.gotopage.value = 1
    }
    if (!integerCheck(document.submitt.gotopage.value))
    {
        alert("The go to page must be a number.");
        document.submitt.gotopage.focus();
    }
    else
    {
        var gotoPage = 0;
        var theLastPage = 0;
        gotoPage = parseInt(document.submitt.gotopage.value);
        theLastPage = parseInt(lastpage);
        //        if (document.submitt.gotopage.value > lastpage) {
        if (gotoPage > theLastPage) {
            alert("The go to page cannot be\nlarger than the last page.");
            document.submitt.gotopage.focus();
        } else {
    	    lastone = lastName;
    	    if (document.submitt.gotopage.value == 1)
    	    {
    	        pageStarts = 1;
    	    } else {
	            pageStarts = ((10*(document.submitt.gotopage.value)+1)-10);
    	    }
    	    // execute the WebMethod on the server
            if (lastName > '')
            {
                $.ajax({
                    type: "POST",
                    url: "mgPortal1.aspx/SelectEdit",
                    data: "{startPage : " + pageStarts + ", lastName : '" + lastName + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                        // Replace the div's content with the page method's return.
                        $("#strZap").html(msg.d);
                    }
                });
            }else{
                var filler = '';
                $.ajax({
                    type: "POST",
                    url: "mgPortal1.aspx/SelectEdit",
                    data: "{startPage : " + pageStarts + ", lastName : '" + filler + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                        // Replace the div's content with the page method's return.
                        $("#strZap").html(msg.d);
                    }
                });
            }
        }
    }
}

function ResetUserID(portID)
{
  var quest=confirm("Are you SURE you want to reset this UserID?")

// execute the ajax method on the server
    if(quest==true)
    {
        $.ajax({
            type: "POST",
            url: "mgPortal1.aspx/ResetUserID",
            data: "{portalID : " + portID  + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                //$("#strZap").html(msg.d);
            }
        });
        // execute the ajax method on the server with the saved page number
	    SelectEdit(pageStarts)
    }
}

function ResetPassword(portID)
{
  var kwest=confirm("Are you SURE you want to reset the password?")

// execute the ajax method on the server
    if(kwest==true)
    {
        $.ajax({
            type: "POST",
            url: "mgPortal1.aspx/ResetPassword",
            data: "{portalID : " + portID + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                //$("#strZap").html(msg.d);
            }
        });
        // execute the ajax method on the server with the saved page number
	    SelectEdit(pageStarts)
    }
}

function EnableUser(portID)
{

  var kwest=confirm("Are you SURE you want to\nenable this employee?")

// execute the ajax method on the server
    if(kwest==true)
    {
        $.ajax({
            type: "POST",
            url: "mgPortal1.aspx/EnableUser",
            data: "{portalID : " + portID + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                //$("#strZap").html(msg.d);
            }
        });
        // execute the ajax method on the server with the saved page number
	    SelectEdit(pageStarts)
    }
}

function SetFiscalYear() {

    fy = document.getElementById("FiscalYear").value;
    //alert(fy);
    // execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "PayHistory.aspx/SetFiscalYear",
        data: "{fyear: '" + fy + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            //$("#strZap").html(msg.d);
            document.location.href = "PayHistory.aspx";
        }
    });
}

function SetBHFiscalYear() {

    fy = document.getElementById("FiscalYear").value;
    //alert(fy);
    // execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "BenefitHistory.aspx/SetFiscalYear",
        data: "{fyear: '" + fy + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            //$("#strZap").html(msg.d);
            BenHist(1);
        }
    });
}

function SetDHFiscalYear() {
    fy = document.getElementById("FiscalYear").value;
    //alert(fy);
    // execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "DeductionHistory.aspx/SetFiscalYear",
        data: "{fyear: '" + fy + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            //$("#strZap").html(msg.d);
        dedhist(1);
        }
    });
}

function SetLeaveFiscalYear() {

    fy = document.getElementById("FiscalYear").value;
    //alert(fy);
    // execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "leaveBalance.aspx/SetFiscalYear",
        data: "{fyear: '" + fy + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            //$("#strZap").html(msg.d);
            document.location.href = "leaveBalance.aspx";
        }
    });
}

function EditAuth(portID) {
// execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "mgPortal1.aspx/EditUserAuth",
        data: "{portalID: " + portID + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function CancelLeaveReq(ApprovalID, requestID, fromdate, todate) {
  var kwest=confirm("Are you SURE you want to cancel this leave request?")
// execute the ajax method on the server
    if(kwest==true)
    {
    // execute the ajax method on the server
        $.ajax({
            type: "POST",
            url: "ShowPendingLeave.aspx/CancelLeaveRequest",
            data: "{ApprovalID: " + ApprovalID + ", requestID: " + requestID + ", fromdate: '" + fromdate + "' , todate: '" + todate + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                //$("#strZap").html(msg.d);
                ShowLeaveReq();
            }
        });
    }
}

function ShowLeaveReq() {
    $.ajax({
        type: "POST",
        url: "ShowPendingLeave.aspx/DisplayAllLeave",
        data: "{eyedee: " + SISLicense + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function ShowPIReq()
{
    $.ajax({
        type: "POST",
        url: "ShowPendingPI.aspx/DisplayAllPI",
        data: "{eyedee: " + SISLicense + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function UpdateAuth(portID)
{
// set the various parameters to 'true' or 'false'

    if (document.getElementById("mp").checked==true)
    {
        mp = 'true';
    }else{
        mp = 'false';
    }

    if (document.getElementById("pw4").checked == true) {
        pw4 = 'true'
    } else {
        pw4 = 'false'
    }

    if (document.getElementById("pw4").checked == true) {
        pw4 = 'true'
    } else {
        pw4 = 'false'
    }

    if (document.getElementById("lb").checked == true)
    {
        lb = 'true'
    }else{
        lb = 'false'
    }

    if (document.getElementById("ph").checked==true)
    {
        ph = 'true'
    }else{
        ph = 'false'
    }

    if (document.getElementById("bh").checked==true)
    {
        bh = 'true'
    }else{
        bh = 'false'
    }

    if (document.getElementById("dh").checked==true)
    {
        dh = 'true'
    }else{
        dh = 'false'
    }

    if (document.getElementById("lr").checked==true)
    {
        lr = 'true'
    }else{
        lr = 'false'
    }

    if (document.getElementById("pi").checked==true)
    {
        pi = 'true'
    }else{
        pi = 'false'
    }

    if (document.getElementById("un").checked==true)
    {
        un = 'true'
    }else{
        un = 'false'
    }

    if (document.getElementById("im").checked==true)
    {
        im = 'true'
    }else{
        im = 'false'
    }

    if (document.getElementById("ibm").checked==true)
    {
        ibm = 'true'
    }else{
        ibm = 'false'
    }

    if (document.getElementById("iu").checked==true)
    {
        iu = 'true'
    }else{
        iu = 'false'
    }
    if (document.getElementById("at").checked==true)
    {
        at = 'true'
    }else{
        at = 'false'
    }
    if (document.getElementById("fai").checked==true)
    {
        fai = 'true'
    }else{
        fai = 'false'
    }
    if (document.getElementById("ac").checked==true)
    {
        ac = 'true'
    }else{
        ac = 'false'
    }
    if (document.getElementById("re").checked == true) {
        re = 'true'
    } else {
        re = 'false'
    }

    if (document.getElementById("pd").checked == true) {
        pd = 'true'
    } else {
        pd = 'false'
    }
    // execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "mgPortal1.aspx/UpdateAuth",
        data: "{portalID : " + portID + ", mpChecked : '" + mp + "', pw4Checked : '" + pw4 + "', lbChecked : '" + lb + "', phChecked : '" + ph + "', bhChecked : '" + bh + "', dhChecked : '" + dh + "', lrChecked : '" + lr + "', piChecked : '" + pi + "', unChecked : '" + un + "', imChecked : '" + im + "', ibmChecked : '" + ibm + "', iuChecked : '" + iu + "', atChecked : '" + at + "', faiChecked : '" + fai + "', acChecked : '" + ac + "', reChecked : '" + re + "', pdChecked : '" + pd + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            //$("#strZap").html(msg.d);
        }
    });
// execute the ajax method on the server with the saved page number
	SelectEdit(pageStarts);
}

function GlobalUpdate(feature)
{
//alert(document.faarm.pw4.checked)
	document.getElementById("strStat").innerHTML = '<font face="Verdana" size="4">working ...</font>';
//debugger
	// set the various parameters to 'true' or 'false'
    var tilt = false

	if (feature == 'pw4')
	{
	    if (document.getElementById("pw4d").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("pw4h").checked == true) {
    	    access = 'false'
    	}
    	if (document.getElementById("pw4d").checked == true && document.getElementById("pw4h").checked == true) {
	        tilt = true
	    }   
	}

	if (feature == 'lb')
	{
	    if (document.getElementById("lbd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("lbh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("lbd").checked == true && document.getElementById("lbh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'ph')
	{
	    if (document.getElementById("phd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("phh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("phd").checked == true && document.getElementById("phh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'bh')
	{
	    if (document.getElementById("bhd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("bhh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("bhd").checked == true && document.getElementById("bhh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'dh')
	{
	    if (document.getElementById("dhd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("dhh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("dhd").checked == true && document.getElementById("dhh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'lr')
	{
	    if (document.getElementById("lrd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("lrh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("lrd").checked == true && document.getElementById("lrh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'pi') {
	    if (document.getElementById("pid").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("pih").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("pid").checked == true && document.getElementById("pih").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'req') {
	    if (document.getElementById("reqd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("reqh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("reqd").checked == true && document.getElementById("reqh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'pd') {
	    if (document.getElementById("pdd").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("pdh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("pdd").checked == true && document.getElementById("pdh").checked == true) {
	        tilt = true
	    }
	}

	if (feature == 'in') {
	    if (document.getElementById("ind").checked == true) {
	        access = 'true'
	    }
	    if (document.getElementById("inh").checked == true) {
	        access = 'false'
	    }
	    if (document.getElementById("ind").checked == true && document.getElementById("inh").checked == true) {
	        tilt = true
	    }
	}

	// execute the ajax method on the server
	if (tilt == false) {
	    $.ajax({
	        type: "POST",
	        url: "mgPortal2.aspx/GlobalUpdate",
	        data: "{feature: '" + feature + "', access: '" + access + "'}",
	        contentType: "application/json; charset=utf-8",
	        dataType: "json",
	        success: function(msg) {
	            // Replace the div's content with the page method's return.
	            $("#strStat").html('<font face="Verdana" size="4">Update Completed</font>');
	        }
	    });
	} else {
	    document.getElementById("strStat").innerHTML = '<font face="Verdana" size="4">Update Failed. Display and Hide were selected for the same item ...</font>';
	}
}

function UpdatePortalMess()
{
// display working ... for the user
	document.getElementById("strStat").innerHTML = '<font face="Verdana" size="4">working ...</font>';
// execute the ajax method on the server
    var str=document.messageSubmit.instructions.value;
    str=str.replace("'","`");
	$.ajax({
	    type: "POST",
	    url: "mgPortal0.aspx/UpdateMessage",
	    data: "{strPortalMess: '" + str + "'}",
	    contentType: "application/json; charset=utf-8",
	    dataType: "json",
	    success: function(msg) {
	        // Replace the div's content with the page method's return.
	        $("#strStat").html('<font face="Verdana" size="4">Update Completed</font>');
	    }
	});
}

function UpdatePortalTWOMess()
{
// display working ... for the user
	document.getElementById("strStat").innerHTML = '<font face="Verdana" size="4">working ...</font>';
// execute the ajax method on the server
	$.ajax({
	    type: "POST",
	    url: "mgPortal3.aspx/UpdateMessage",
	    data: "{strPortalMess: '" + document.messageSubmit2.instructions.value + "'}",
	    contentType: "application/json; charset=utf-8",
	    dataType: "json",
	    success: function(msg) {
	        // Replace the div's content with the page method's return.
	        $("#strStat").html('<font face="Verdana" size="4">Update Completed</font>');
	    }
	});
}

function UpdatePortalTHREEMess()
{
// display working ... for the user
	document.getElementById("strStat").innerHTML = '<font face="Verdana" size="4">working ...</font>';
// execute the ajax method on the server
	$.ajax({
	    type: "POST",
	    url: "mgPortal4.aspx/UpdateMessage",
	    data: "{strPortalMess: '" + document.messageSubmit3.instructions.value + "'}",
	    contentType: "application/json; charset=utf-8",
	    dataType: "json",
	    success: function(msg) {
	        // Replace the div's content with the page method's return.
	        $("#strStat").html('<font face="Verdana" size="4">Update Completed</font>');
	    }
	});
}

function showac()
{
// execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "ActivityClubDefault.aspx/ACDisplay",
        data: "{eyedee: " + SISLicense + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function showacDetail(item)
{
// execute the ajax method on the server
    $.ajax({
        type: "POST",
        url: "ActivityClubDefault.aspx/ACDisplayDetail",
        data: "{eyedee: " + item + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            // Replace the div's content with the page method's return.
            $("#strZap").html(msg.d);
        }
    });
}

function validate(field) 
{
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Invalid entry! Only uppercase\ncharacters and numbers are accepted!");
		field.focus();
		field.select();
	}
}

function validateULCase(field) 
{
	var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
	    alert("Invalid entry! Only\ncharacters and numbers are accepted!");
	    field.focus();
	    field.select();
	    return false;
	}
	else {
	    return true;
	}
}

function validateULspace(field) 
{
	var valid = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-\"#/\'"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Invalid entry! Only numbers and spaces\nare accepted!");
		field.focus();
		field.select();
	}
}

function validateMonthNum(field)
{
    if ((field.value < 1 || field.value > 12) && field.value.length > 0)
    {
        alert("Invalid entry! Enter values between 1 and 12");
        field.focus();
        field.select();
    }
}

function validateDayNum(field)
{
    if ((field.value < 1 || field.value > 31) && field.value.length > 0)
    {
        alert("Invalid entry! Enter values between 1 and 31");
        field.focus();
        field.select();
    }
}

function validateULdash(field) 
{
	var valid = "abcdefghijklmnopqrstuvwxyz-ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Invalid entry! Only numbers and dashes\nare accepted!");
		field.focus();
		field.select();
	}
}

function validatePassword(field) {
    var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-+={}[]?"
    var ok = "yes";
    var temp;
    for (var i = 0; i < field.value.length; i++) {
        temp = "" + field.value.substring(i, i + 1);
        if (valid.indexOf(temp) == "-1") ok = "no";
    }
    if (ok == "no") {
        alert("Invalid entry! Only\nupper and lower case letters,\n numbers and these special characters\n !@#$%^&*()_-+={}[]? accepted!");
        field.focus();
        field.select();
        return false;
    }
    else {
        return true;
    }
}

function validateNumeric(field) 
{
	var valid = ".0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Invalid entry! Only numbers and\ndecimal points are accepted!");
		field.focus();
		field.select();
	}
}

function validateInteger(field) 
{
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) 
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") 
	{
		alert("Invalid entry! Only numbers are accepted!");
		field.focus();
		field.select();
	}
}

// numeric entry checker
function numericCheck(strField)
{
  nr1=strField;
  if (nr1 == '')
    {
    nr1 = 0
    }
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr1.length;i++){
   cmp = ".0123456789"
   tst = nr1.substring(i, i + 1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    arw+="^";
    }
   else {arw+="_";}
  }
  if (flg!=0){
   if (spc.indexOf(" ")>-1) {
    str+=" and a space";
    }
   return false;
  }
  if (nr1 > 999.99)
  {
    return false;
  }
  else
  {
    return true;
  }
 }

// integer entry checker
function integerCheck(strField)
{
  nr1=strField;
  if (nr1 == '')
    {
    nr1 = 0
    }
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr1.length;i++){
   cmp = "0123456789"
   tst = nr1.substring(i, i + 1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    arw+="^";
    }
   else {arw+="_";}
  }
  if (flg!=0){
   if (spc.indexOf(" ")>-1) {
    str+=" and a space";
    }
   return false;
  }
  if (nr1 > 9999)
  {
    return false;
  }
  else
  {
    return true;
  }
 }

// date entry checker
function checkdate(strField)
{
    err = 0;
    a=strField;
    if (a.length == 0) {
        return true;
    }
        if (a.substring(1, 2) == '/')
          {a = '0' + a.substring(0,10);}
        if (a.substring(4, 5) == '/')
      {a  = a.substring(0 , 3) + '0' + a.substring(3, 10);}
    if (a.length == 8)
      {a = a.substring(0, 6) + "20" + a.substring(6, 10)}
    if (a.length != 10) err=1
    b = a.substring(0, 2)// month
    c = a.substring(2, 3)// '/'
    d = a.substring(3, 5)// day
    e = a.substring(5, 6)// '/'
    f = a.substring(6, 10)// year
    //basic error checking
    if (b<'01' || b>'12') err = 1
    if (err==1){
                return false;
    }
    if (c != '/') err = 1
    if (d<'01' || d>'31') err = 1
    if (err==1){
                return false;
    }
    if (e != '/') err = 1
    if (f<'0000' || f>'9999') err = 1
    if (err==1){
                return false;
    }
    //advanced error checking
    // months with 30 days
    if (b==4 || b==6 || b==9 || b==11){
        if (d==31) err=1
    }
    // february, leap year
    if (b==2){
        // feb
        g = parseInt(f / 4)
        if (isNaN(g)) {
            Err = 1
        }
        if (d>29) err=1
        if (d==29 && ((f/4)!=parseInt(f/4))) err=1
    }
    if (a=='')
      {
        Err = 0
      }
    if (err==1){
               return false;
    }
    else {
        return true;
    }
}

function validateDate() {
    var inServiceDate;
    if (document.forms.frmDemo.elements.InServicemonth.value == "" &&
        document.forms.frmDemo.elements.InServiceday.value == "" &&
        document.forms.frmDemo.elements.InServiceyear.value == "")
    { }
    else {
        inServiceDate = document.forms.frmDemo.elements.InServicemonth.value + '/' + document.forms.frmDemo.elements.InServiceday.value + '/' + document.forms.frmDemo.elements.InServiceyear.value
        if (!checkdate(inServiceDate) ||
                !numericCheck(document.forms.frmDemo.elements.InServicemonth.value) ||
                !numericCheck(document.forms.frmDemo.elements.InServiceday.value) ||
                isNaN(document.forms.frmDemo.elements.InServiceyear.value) ||
                document.forms.frmDemo.elements.InServiceday.value > 31 ||
                document.forms.frmDemo.elements.InServicemonth.value > 12) {
            alert("Date must be in the format MM/DD/YYYY");
            document.forms.frmDemo.elements.InServicemonth.focus();
        }
    }
}

function ExpvalidateDate() {
    var ExpDate;
    if (document.forms.frmDemo.elements.Expmonth.value == "" &&
        document.forms.frmDemo.elements.Expday.value == "" &&
        document.forms.frmDemo.elements.Expyear.value == "")
    { }
    else {
        ExpDate = document.forms.frmDemo.elements.Expmonth.value + '/' + document.forms.frmDemo.elements.Expday.value + '/' + document.forms.frmDemo.elements.Expyear.value
        if (!checkdate(ExpDate) ||
                !numericCheck(document.forms.frmDemo.elements.Expmonth.value) ||
                !numericCheck(document.forms.frmDemo.elements.Expday.value) ||
                isNaN(document.forms.frmDemo.elements.Expyear.value) ||
                document.forms.frmDemo.elements.Expday.value > 31 ||
                document.forms.frmDemo.elements.Expmonth.value > 12) {
            alert("Date must be in the format MM/DD/YYYY");
            document.forms.frmDemo.elements.Expmonth.focus();
        }
    }
}

function doavalidateDate() {
    var doaDate;
    if (document.forms.frmDemo.elements.doamonth.value == "" &&
        document.forms.frmDemo.elements.doaday.value == "" &&
        document.forms.frmDemo.elements.doayear.value == "")
    { }
    else {
        doaDate = document.forms.frmDemo.elements.doamonth.value + '/' + document.forms.frmDemo.elements.doaday.value + '/' + document.forms.frmDemo.elements.doayear.value
        if (!checkdate(doaDate) ||
                !numericCheck(document.forms.frmDemo.elements.doamonth.value) ||
                !numericCheck(document.forms.frmDemo.elements.doaday.value) ||
                isNaN(document.forms.frmDemo.elements.doayear.value) ||
                document.forms.frmDemo.elements.doaday.value > 31 ||
                document.forms.frmDemo.elements.doamonth.value > 12) {
            alert("Date must be in the format MM/DD/YYYY");
            document.forms.frmDemo.elements.doamonth.focus();
        }
    }
}

function PDvalidateDate() {
    var CourseDate;
    if (document.forms.EnterPDReq.elements.Coursemonth.value == "" &&
        document.forms.EnterPDReq.elements.Courseday.value == "" &&
        document.forms.EnterPDReq.elements.Courseyear.value == "")
    { }
    else {
        CourseDate = document.EnterPDReq.elements.Coursemonth.value + '/' + document.forms.EnterPDReq.elements.Courseday.value + '/' + document.forms.EnterPDReq.elements.Courseyear.value
        if (!checkdate(CourseDate) ||
                !numericCheck(document.forms.EnterPDReq.elements.Coursemonth.value) ||
                !numericCheck(document.forms.EnterPDReq.elements.Courseday.value) ||
                isNaN(document.forms.EnterPDReq.elements.Courseyear.value) ||
                document.forms.EnterPDReq.elements.Courseday.value > 31 ||
                document.forms.EnterPDReq.elements.Coursemonth.value > 12) {
                    alert("Date must be in the format MM/DD/YYYY");
                    document.forms.EnterPDReq.elements.Coursemonth.focus();
        }
    }
}

function ServalidateDate() {
    var ServDate;
    if (document.forms.frmDemo.elements.Servmonth.value == "" &&
        document.forms.frmDemo.elements.Servday.value == "" &&
        document.forms.frmDemo.elements.Servyear.value == "")
    { }
    else {
        ServDate = document.forms.frmDemo.elements.Servmonth.value + '/' + document.forms.frmDemo.elements.Servday.value + '/' + document.forms.frmDemo.elements.Servyear.value
        if (!checkdate(ServDate) ||
                !numericCheck(document.forms.frmDemo.elements.Servmonth.value) ||
                !numericCheck(document.forms.frmDemo.elements.Servday.value) ||
                isNaN(document.forms.frmDemo.elements.Servyear.value) ||
                document.forms.frmDemo.elements.Servday.value > 31 ||
                document.forms.frmDemo.elements.Servmonth.value > 12) {
            alert("Date must be in the format MM/DD/YYYY");
            document.forms.frmDemo.elements.Servmonth.focus();
        }
    }
}

function validateLeaveRequest() 
{
  var fromedate;
  var todate;
  var phone;
  var effectivedate;
  if ( (document.forms.leavereq.elements.frommonth.value == "") ||
       (document.forms.leavereq.elements.fromday.value == "") ||
       (document.forms.leavereq.elements.fromyear.value == "") ||
       (document.forms.leavereq.elements.tomonth.value == "") ||
       (document.forms.leavereq.elements.today.value == "") ||
       (document.forms.leavereq.elements.toyear.value == "") ||
       (document.forms.leavereq.elements.duration.value == "") ||
       (document.forms.leavereq.elements.leavetype.selectedIndex == 0) ||
       (document.forms.leavereq.elements.locationCode.selectedIndex == 0) ||
       (document.forms.leavereq.elements.routes.selectedIndex == 0) ) 
       {
         alert("Please fill in all required fields.\nRequired fields are followed by an *.");
       } 
       else
       {
         fromedate=document.forms.leavereq.elements.frommonth.value + '/' + document.forms.leavereq.elements.fromday.value + '/' + document.forms.leavereq.elements.fromyear.value;
         todate=document.forms.leavereq.elements.tomonth.value + '/' + document.forms.leavereq.elements.today.value + '/' + document.forms.leavereq.elements.toyear.value;
         if ( !checkdate(fromedate) ||
                !checkdate(todate) ||
                !numericCheck(document.forms.leavereq.elements.frommonth.value) ||
                !numericCheck(document.forms.leavereq.elements.fromday.value) ||
                isNaN(document.forms.leavereq.elements.fromyear.value) ||
                !numericCheck(document.forms.leavereq.elements.tomonth.value) ||
                !numericCheck(document.forms.leavereq.elements.today.value) ||
                isNaN(document.forms.leavereq.elements.toyear.value) )
         {
           alert("Date must be in the format MM/DD/YYYY");
         }
         else
         {
           if ( !numericCheck(document.forms.leavereq.elements.duration.value) )
           {
             alert("The duration entry must be\na number less than 999.99.");
             document.forms.leavereq.elements.duration.focus();
           }
           else
           {
             if (document.forms.leavereq.elements.instructions.value.length > 250)
             {
               alert("Comments must be less than 250 characters");
               document.forms.leavereq.elements.instructions.focus();
             }
             else
             {
               document.leavereq.submit();
             }
           }
         }
       }
}

function validatePI()
{
  if ( document.forms.pireq.elements.routes.selectedIndex == 0 ) 
       {
         alert("Please fill in all required fields.\nRequired fields are followed by an *.");
       } 
       else
       {
          if  ( (document.forms.pireq.elements.fname.value == "") &&
              (document.forms.pireq.elements.midname.value == "") &&
              (document.forms.pireq.elements.lname.value == "") &&
              (document.forms.pireq.elements.suffix.value == "") &&
              (document.forms.pireq.elements.staddress.value == "") &&
              (document.forms.pireq.elements.dcity.value == "") &&
              (document.forms.pireq.elements.stcode.value == "") &&
              (document.forms.pireq.elements.zipc.value == "") &&
              (document.forms.pireq.elements.phonearea.value == "") &&
              (document.forms.pireq.elements.phoneexchange.value == "") &&
              (document.forms.pireq.elements.phonenumber.value == "") &&
              (document.forms.pireq.elements.cellphonearea.value == "") &&
              (document.forms.pireq.elements.cellphoneexchange.value == "") &&
              (document.forms.pireq.elements.cellphonenumber.value == "") &&
              (document.forms.pireq.elements.Email.value == "") ) 
                {
                    alert("Enter at least one\nPersonal Information entry.");
                }
                else
                {
                    if ( isNaN(document.forms.pireq.elements.phonearea.value) ||
                        isNaN(document.forms.pireq.elements.phoneexchange.value) ||
                        isNaN(document.forms.pireq.elements.phonenumber.value) )
                        {
                            alert("Phone is this format (999)999-9999");
                            document.forms.pireq.elements.phonearea.focus();
                            document.forms.pireq.elements.phonearea.select();
                        }
                    if ( isNaN(document.forms.pireq.elements.cellphonearea.value) ||
                        isNaN(document.forms.pireq.elements.cellphoneexchange.value) ||
                        isNaN(document.forms.pireq.elements.cellphonenumber.value) )
                        {
                            alert("Cellphone is this format (999)999-9999");
                            document.forms.pireq.elements.cellphonearea.focus();
                            document.forms.pireq.elements.cellphonearea.select();
                        }
                    if  ( (document.forms.pireq.elements.effectivemonth.value == "") &&
                            (document.forms.pireq.elements.effectiveday.value == "") && 
                            (document.forms.pireq.elements.effectiveyear.value == "") ) 
                        {
                        document.pireq.submit();
                        }
                        else
                        {
                        effectivedate = document.forms.pireq.elements.effectivemonth.value + "/" + document.forms.pireq.elements.effectiveday.value + "/" + document.forms.pireq.elements.effectiveyear.value;
                        if (!checkdate(effectivedate)) 
                            {
                                alert("Date must be in the format MM/DD/YYYY");
                                document.forms.pireq.elements.effectivemonth.focus();
                                document.forms.pireq.elements.effectivemonth.select();
                            }
                            else
                            {
                                document.pireq.submit();
                            }
                        }
                }
       }         
}

function submitit() 
{
 if (document.forms.messageSubmit.elements.instructions.value.length > 1000)
 {
   alert("Portal Messages must be less than 1000 characters");
   document.forms.messageSubmit.elements.instructions.focus();
 }
 else
 {
   document.messageSubmit.submit();
 }
}

function updateUserID()
{
if (document.forms.updateuserid.elements.userid.value.length < 6)
{
    alert("UserID's must be at least\n 6 characters long.");
    document.forms.updateuserid.elements.userid.focus();
 }
 else
 {
    document.updateuserid.submit()
 }
}

// validate the userID and password on the logon (index.aspx) form
function validateForm() 
{
	if ( (document.forms.logon.SISID.value == '') || (document.forms.logon.password.value == '') )
	{
		alert("Please fill in your ID and Password.\nThey are required entries.");
		document.forms.logon.SISID.focus();
	} else {
		document.forms.logon.submit();
	}
}

function  editIMAuth()
{
    if ((document.forms.frm.ibm.checked==true) || (document.forms.frm.iu.checked==true))
    {
        alert("You can only select ONE: Inventory Manager,\n Inventory Building Manager or Inventory User.");
        document.forms.frm.im.checked=false;
    }
}

function  editIBMAuth()
{
    if ((document.forms.frm.im.checked==true) || (document.forms.frm.iu.checked==true))
    {
        alert("You can only select ONE: Inventory Manager,\n Inventory Building Manager or Inventory User.");
        document.forms.frm.ibm.checked=false;
    }
}

function  editIUAuth()
{
    if ((document.forms.frm.ibm.checked==true) || (document.forms.frm.im.checked==true))
    {
        alert("You can only select ONE: Inventory Manager,\n Inventory Building Manager or Inventory User.");
        document.forms.frm.iu.checked=false;
    }
}

function updatePassword()
{
if ((document.forms.updatepassword.elements.password.value.length < 6) || (document.forms.updatepassword.elements.password2.value.length <6))
{
    alert("Password's must be at least\n 6 characters long.");
    document.forms.updatepassword.elements.password.focus();
 }
 else
 {
    if (document.forms.updatepassword.elements.password.value == document.forms.updatepassword.elements.password2.value)
    {
        document.updatepassword.submit()
    }
    else
    {
        alert("Password and verify password don\'t match");
        document.forms.updatepassword.elements.password.focus();    
    }
 }
}

var statusmsg=""
function hidestatus()
{
    window.status=statusmsg
    return true
}

function f_setfocus( aForm )
{
//This function accepts a form object and finds the first visible element that 
//is not disabled or readonly and sets focus to that field and selects it.  
	if( aForm.elements[0]!=null) {
		var i;
		var max = aForm.length;
		for( i = 0; i < max; i++ ) {
			if( aForm.elements[ i ].type != "hidden" &&
				!aForm.elements[ i ].disabled &&
				!aForm.elements[ i ].readOnly ) {
				aForm.elements[ i ].focus();
				aForm.elements[ i ].select();
				break;
			}
		}
	}
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {
  var keyCode = (isNN) ? e.which : e.keyCode; 
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
  }

  function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
  }
  return true;
}


function f_setnoselect( aForm )
{
//This function accepts a form object and finds the first visible element that 
//is not disabled or readonly and sets focus to that field.  
	if( aForm.elements[0]!=null) {
		var i;
		var max = aForm.length;
		for( i = 0; i < max; i++ ) {
			if( aForm.elements[ i ].type != "hidden" &&
				!aForm.elements[ i ].disabled &&
				!aForm.elements[ i ].readOnly ) {
				aForm.elements[ i ].focus();
				break;
			}
		}
	}
}

function ForgotPassword() {
    var dialog
    dialog = '<table width="600">';
	dialog = dialog + '<tbody><tr>';
	dialog = dialog + '<td align=left><font face="Verdana" size="2">If you have forgotten your Userid or Password, you can request to have them emailed to you. ';
	dialog = dialog + 'When you fill in your district assigned email address and click the Submit button, your userid and password will be sent.';
	dialog = dialog + '</font></td>';
	dialog = dialog + '</tr>';
	dialog = dialog + '<tr>';
	dialog = dialog + '<td align=left>';
	dialog = dialog + '<font face="Verdana" size="3">Email Address:';
	dialog = dialog + '<input name="email" id="email" onblur="validateTheEMail(this)" size="35" maxlength="90" value="" type="text"/>';
	dialog = dialog + '</font>';
	dialog = dialog + '&nbsp;&nbsp;';
	dialog = dialog + '<span style="CURSOR: hand">';
	dialog = dialog + '<img alt="" onmouseover="document.p199.src=\'Images/submit_over.gif\'; window.status=\'Request id/password\';" onclick="RequestPassword();"';
    dialog = dialog + ' onmouseout="document.p199.src=\'Images/submit.gif\'; window.status=\'\';" src="Images/submit.gif" name="p199" />';
    dialog = dialog + '</span>';
	dialog = dialog + '</td>';
	dialog = dialog + '</tr></tbody>';
	dialog = dialog + '</table>';
	$("#choke").html(dialog);
}

function RequestPassword() {
    //alert('submit password request: ' + $("#email").val() );
    var holdit = $("#email").val();
    if (holdit > '') {
        $.ajax({
            type: "POST",
            url: "Index.aspx/CheckEmailAddress",
            data: "{strEmailAddress : '" + holdit + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                // Replace the div's content with the page method's return.
                $("#choke").html(msg.d);
            }
        });
    }
}
function maxLength(field, maxChars, e)
 {
       if(field.value.length > maxChars) {
          alert("Maximum length reached");
          e.returnValue=false;
          return false;
       }
       e.returnValue=true;
 }  

function maxLengthPaste(field, maxChars, e)
 {
       if((field.value.length + window.clipboardData.getData("Text").length) > maxChars) {
         alert("Pasted text too long! Maximum length is " + maxChars);
         e.returnValue=false;
         return false;
       }
       e.returnValue=true;
 }
