﻿/// <reference path="jquery-1.3.2.js" />
/// <reference path="dss-common.js" />
var donorLookupUrl;
var lookupZipUrl;
var lookupGroupUrl;
var findZipUrl;
var locationListUrl;
var logReferralUrl;
var findDropOffUrl;
var liiUrl;
var geocodeUrl;
var postUrl;
var pickupOrderExistsUrl;
var checkImg;
var submitInstructions;
var submitScript;
var isDatePickerInit = false;
var routes = [];
var routeIdx = 0;
// var commonItems;
var lightRouteThreshold;
var specialRouteThreshold;
var defaultSize;
var referralItemThreshold;
var referralTotalThreshold;
var referralprompt;
var maxStep = 1;
var currentStep = 1;
var ticketReady = false;
var donorArray;
var hasScrolled = false;
var donorInfoChanged = false; var pickupInfoChanged = false;
var preZip = "";
var preHomePhone = "";
var preLastName = "";
var useDefaultGroup = true;
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday', 'Saturday'];
var map;
var iconLock; var iconUnlock;

function pageInit() {
/// <summary>
/// Primary function for initializing jQuery
    /// </summary>
    iconLock = rootDir + "Images/icon_lock.png";
    iconUnlock = rootDir + "Images/icon_unlock.png";
    $(".donorRight .privacyIcon").attr("src", iconLock);
    $("#privacyPopup").css("background-image", "url(" + rootDir + "Images/graybox_shadow.png)");
    
    $("#accordion").accordion({ 
        autoHeight: false, 
        icons: { header: 'ui-icon-none', headerSelected: 'ui-icon-none' }, 
        change: accordionChange 
    });
    $("#confirmDialog").dialog({
        autoOpen: false,
        modal: true,
        title: "Confirm Scheduled Pickup",
        width: 400,
        buttons: {
            "Save Ticket": function() {
                $(this).dialog("close");
                var pickupSize = $("#PickupTicket_PickupSize").val();
                var intSize = pickupSize <= 0.5 ? 1 : Math.round(pickupSize);
                $("#PickupTicket_PickupSize").val(intSize);
                ticketReady = true;
                submitTicketAjax();
            },
            "Continue Editing": function() { $(this).dialog("close"); }
        }
    });
    $("#busyDialog button").click(function() {$("#busyDialog").dialog("close"); });            
    $("#busyDialog").dialog({
        autoOpen: false,
        modal: true,
        closeOnEscape: false,
        dialogClass: "alert",
        draggable: false,
        resizable: false
    });
    $("#mapDialog").dialog({
        autoOpen: false,
        modal: true,
        closeOnEscape: true,
        resizable: false,
        title: "Salvation Army Location",
        width: 420,
        buttons: {
            "Return to Ticket": function() { $(this).dialog("close"); }
        }
    });                   
    $("#findZipDialog").findZip({
        zipField: $("#PickupTicket_Zip"),
        Url: findZipUrl
    });

    $("#clearLink").click(clearLinkClick);
    $("#clearLink").hide();
    $("#step1Next").click(step1NextClick);
    $("#step2Next").click(step2NextClick);
    $("#step3Next").click(step3NextClick);
    $("#step4Next").click(step4NextClick);
    $("#step5Next").click(step5NextClick);
    $("#submitTicket").click(submitTicketClick);

    $("#privacyPopup input:checkbox").click(setPrivacyIcons);
    // $("#badItemsLink").click(function() { $("#badItemsDialog").dialog("open"); });
    $("#PickupTicket_Zip").focus();
    $("#PickupTicket_AddressLine1").blur(addressMatch);
    $("#PickupTicket_AddressLine2").keydown(function(e) {
        if (e.which == 9) {
            $("#PickupTicket_CrossStreet").focus();
            return false;
        }
    });
    $("#commonInstructions").dblclick(function() {
        var txt = $("#commonInstructions").val() + ".";
        var existing = $("#PickupTicket_Instructions").val();
        
        $("#PickupTicket_Instructions").val((existing.length > 0 ? existing + " " + txt : txt));
    });
    $("#PickupTicket_Zip").keypress(function (e) { if (e.which == 13) { step1NextClick(); return false; } });  
    $(document).keydown(function(e) {
        if (e.keyCode == 13 && e.ctrlKey) {
            switch (currentStep) {
                case 1:
                    step1NextClick();
                    break;
                case 2:
                    step2NextClick();
                    break;
                case 3:
                    step3NextClick();
                    break;
                case 4:
                    step4NextClick();
                    break;
                case 5:
                    step5NextClick();
                    break;
                case 6:
                    submitTicketClick();
                    break;
            }
            return false;
        }
    });
    
    $(".busy").hide();
    $("#step1header").show();
    $("#arcInfo").hide();
    $("#PickupTicket_DayPhone").blur(function() {
        var phn = $(this).val();
        if (phn && phn.length > 0) {
            phn = formatPhone(phn);
            $(this).val(phn);
        }
        $("#DayPhone_Warning").css("display", isValidPhone(phn) ? "none" : "inline");
    });
    $("#PickupTicket_HomePhone").blur(function() {
        var phn = $(this).val();
        
        if (phn && phn.length > 0) {
            phn = formatPhone(phn);
            $(this).val(phn);            
        } 
        $("#HomePhone_Warning").css("display", isValidPhone(phn) ? "none" : "inline");
    });
    $("#step6body input:text").change(function() { donorInfoChanged = true; });
    $("#step6body input:textarea").change(function() { donorInfoChanged = true; });
    $("#step6body input:checkbox").change(function() { donorInfoChanged = true; });
    $("#step6body .warning").prev().change(function() {
        if ($(this).hasClass("phoneExt")) return;
        
        var txt = $(this).val();
        
        if (txt.length > 0) {
            $(this).next(".warning").hide();
        } else {
            $(this).next(".warning").css("display", "inline");
        }
    });
    $("PickupTicket_Instructions").change(function() { pickupInfoChanged = true; });
    $("form").submit(function() { return (ticketReady & (currentStep == 6));});
    $.itemSize.init({
        afterUpdateFunc: function() { pickupInfoChanged = true; },
        defaultSize: defaultSize,
        sizeExactField: "#PickupSizeExact"
    });

    if (preZip.length == 5) {
        $("#PickupTicket_Zip").val(preZip);
        step1NextClick();
    }

    map = new YMap($("#map")[0]);
    map.addTypeControl();
    map.addZoomLong();
    map.addPanControl();
    map.setMapType(YAHOO_MAP_REG);
    map.drawZoomAndCenter("Los Angeles", 13);

    window.onbeforeunload = function(e) {
        if (isCallIncomplete()) {
            if (e) e.returnValue = 'You have made changes to this ticket that have not been saved.';
            return 'You have made changes to this ticket that have not been saved.';
        }
    };
}

function isCallIncomplete() {
    // Call is incomplete if items are entered, but no pickup_id set
    if ($("#PickupTicket_Zip").val().length > 0 && (donorInfoChanged || pickupInfoChanged))
        return true;
    else
        return false;
}
function checkDate(date) {
    var ret = [false, '', 'Pickups not available on this date'];
    
    if (routes != null && routes[routeIdx].AvailableDates.length > 0)
    {
        for (var i = 0; i < routes[routeIdx].AvailableDates.length; i++)
        {
            if ((new Date(routes[routeIdx].AvailableDates[i])).toDateString() == date.toDateString())
            {
                ret[0] = true;
                ret[2] = '';
                break;
            }
        }
    }               
    return ret;
}

function showFindZip() { $('#findZipDialog').findZip(); }

function setStep(stepId) {
    var stepName = "#step" + (stepId + 1) + "header";
    
    $(stepName).show();

    $("#accordion").accordion("activate", stepId);
}
function accordionChange(event, ui) {
    if (ui.newHeader[0] == $("#step1header")[0]) {
        $("#PickupTicket_Zip").focus();
        currentStep = 1;
    } else if (ui.newHeader[0] == $("#step2header")[0]) {
        $("#newItem").focus();
        currentStep = 2;
        var uaTop = $("#step2Next").position().top;
        var uaLeft = $("#donatedItemsList").position().left;
        $("#uaDiv").css({'top': uaTop, 'left' : uaLeft });
    } else if (ui.newHeader[0] == $("#step3header")[0]) {
        currentStep = 3;
    } else if (ui.newHeader[0] == $("#step4header")[0]) {
        $("#PickupTicket_Instructions").focus();
        currentStep = 4;
    } else if (ui.newHeader[0] == $("#step5header")[0]) {
        if (preLastName != null && preLastName.length > 0) {
            $("#LastName").focus();
            $("#LastName").setCursorPosition($("#LastName").val().length);
        } else {
            $("#homePhone").focus();
            $("#homePhone").setCursorPosition($("#homePhone").val().length);
        }
        currentStep = 5;
    } else if (ui.newHeader[0] == $("#step6header")[0]) {
        $("#PickupTicket_FirstName").focus();
        if (!hasScrolled) {
            var docHeight = $("#submitTicket").height() + $("#submitTicket").offset().top;
            var winHeight = $(window).height();
            if (winHeight < docHeight) window.scrollTo(0, docHeight);
        }
        currentStep = 6;
    }
    
    maxStep = Math.max(currentStep, maxStep);
    if (currentStep < maxStep) {
        for (var i = currentStep + 1; i <= maxStep; i++) {
            // $("#step" + i + "header").attr("disabled", "disabled");
            $("#step" + i + "header").hide();
        }
    }            
}

function step1NextClick() {
    var zipVal = $("#PickupTicket_Zip").val();
    if (!isValidZip(zipVal)) {
        alert("Please enter a valid 5-digit zip code");
        return;
    }
    $("#zipCopyField").val(zipVal);
    $("#step1Busy").css("display","inline");
    $.getJSON(lookupZipUrl, { zip : zipVal, allowClosest: false }, loadRoutes);
    $.getJSON(locationListUrl, { type: 3, zipCode: zipVal }, showFindLocationResults);
}

function showFindLocationResults(results) {
    $("#findResults").show();
    if (results == null || results.ResultsCount == 0) {
        $("#findResultsDisplay").html("<i>None Found</i>");
    } else {
        var html = "";
        $.each(results.Locations, function(i, val) {
        html += val.Html + 
            "&nbsp;&nbsp;<a href='#' onclick='showLoc(" + val.Latitude + "," + val.Longitude + ")'>(Map)</a>" +
            "<br /><br />";
        });
        $("#findResultsDisplay").html(html);
    }
}

function showLoc(lat, lon) {
    var gp = new YGeoPoint(lat, lon);
    map.removeMarkersAll();
    map.addMarker(gp);
    map.drawZoomAndCenter(gp, 3);
    $("#mapDialog").dialog("open");
}
function loadRoutes(routeInfo) {
    // this really loads the arcs
    var zipVal = $("#PickupTicket_Zip").val();
    $("#step1Busy").hide();
    if (routeInfo.NotServiced) {
        alert(routeInfo.WarningMessage);
        $.post(logReferralUrl, { Zip: zipVal, PickupSize: 0, Referred: true, ToStore: false, IsDonorRequest: true });
    }  else if (routeInfo.Sector_id == 0 && routeInfo.WarningMessage != null) {
        checkDropoffReferral('For zip code: ' + zipVal + '\r\n' + routeInfo.WarningMessage);
    } else if (routeInfo.Territory_id == 0 || routeInfo.City == null || routeInfo.City == '') {
        checkDropoffReferral('Pickups are not available for zip code ' + zipVal);
    } else {
        if (routeInfo.WarningMessage != null && routeInfo.WarningMessage.length > 0)
            alert(routeInfo.WarningMessage);
        //$("#step1header").find("img").attr("src", checkImg);
        $("#step1header img").show();
        $("#step1headerlabel").text("Zip Code: " + $("#PickupTicket_Zip").val());
        $("#PickupTicket_Territory_id").val(routeInfo.Territory_id);
        $("#PickupTicket_ARC_id").val(routeInfo.ARC_id);
        $("#PickupTicket_City").val(routeInfo.ZipCity);
        $("#PickupTicket_State").val(routeInfo.ZipState);
        if (preHomePhone == null || preHomePhone.length == 0) $("#homePhone").val(routeInfo.ZipAreaCode);
        $("#PickupTicket_Sector_id").val(routeInfo.Sector_id);
        var arcVal = routeInfo.ArcName + "<br />" +
            formatPhone(routeInfo.AreaCode + routeInfo.Phone);
        $("#arcDisplay").html(arcVal);
        $("#arcInfo").show();
        $.itemSize.setAllItems(routeInfo.CommonItems, routeInfo.BadItems);
        setStep(1);
    }
}

function checkDropoffReferral(msg) {
    if (confirm(msg + "\r\n\r\n" + 
      "To drop-off smaller items, would you like to know the addresses of our drop-off locations nearest to you?")) {
      var zip = $("#PickupTicket_Zip").val();
      $.post(logReferralUrl,
        { Zip: zip, PickupSize: 0, Referred: true, ToStore: false, IsDonorRequest: true });
      donorInfoChanged = false;
      pickupInfoChanged = false;
      window.location =  findDropOffUrl + '/' + zip;
    }
}
function step2NextClick() {
    //var items = $("#PickupTicket_DonatedItems").val();
    var pickupSize = $("#PickupTicket_PickupSize").val();
    var sizeExact = $("#PickupSizeExact").val();
    var maxSize = $("#maxItemSize").val();
    
    if (pickupSize == 0)
    {
        alert("Please enter one or more items before proceeding.");
        return;
    }

    var doReferral = maxSize < referralItemThreshold;
    
    if (doReferral && (sizeExact > referralTotalThreshold))
        doReferral = false;
    
    if (doReferral) {
        var referred = false;
        if (confirm(referralprompt))
            referred = true;
        zip = $("#PickupTicket_Zip").val();    
        $.post(logReferralUrl,
          { Zip: zip, PickupSize: pickupSize, Referred: referred, ToStore: false, IsDonorRequest: false })

        if (referred) {
          donorInfoChanged = false;
          pickupInfoChanged = false;
            window.location = findDropOffUrl + '/' + zip;
            return false;
        }
    }
    $("#step2Busy").css("display", "inline");
    $("#step2Busy + span.information").hide();
    $.getJSON(lookupGroupUrl,
        { arcId: $("#PickupTicket_ARC_id").val(), 
        sectorId: $("#PickupTicket_Sector_id").val(),
        pickupSize: pickupSize,
        maxItemSize: maxSize,
        useDefaultGroup: useDefaultGroup },
        loadDates);
    // loadDates will be defined in the secondary js files
}

function setCalendar() {
    var saveDate = $("#PickupTicket_ScheduleDate").val();

    if (!isDate(saveDate) || checkDate(new Date(saveDate))[0] == false)
        saveDate = routes[routeIdx].AvailableDates[0];

    if (isDatePickerInit) $("#datepicker").datepicker('destroy');
    $("#PickupTicket_ScheduleDate").val(saveDate);
    $("#step3headerlabel").text("3. Date of Pickup: " + days[(new Date(saveDate)).getDay()] + ", " + saveDate);
    $("#datepicker").datepicker({
        numberOfMonths: 2,
        defaultDate: new Date(saveDate),
        minDate: '+1d',
        maxDate: '+2m',
        showButtonPanel: true,
        altField: '#PickupTicket_ScheduleDate',
        beforeShowDay: checkDate,
        onSelect: function(dateText, inst) { $("#step3headerlabel").text("3. Date of Pickup: " + days[(new Date(dateText)).getDay()] + ", " + dateText); pickupInfoChanged = true; }
    });
    isDatePickerInit = true;    
}
function step3NextClick() {
    var currentDate = $("#PickupTicket_ScheduleDate").val();
    
    if (currentDate == null) {
        alert("Please select a valid date.");
    } else if (checkDate(new Date(currentDate))[0] == false) {
        alert("Please select a valid date.");
    } else {
    //$("#step3header").find("img").attr("src", checkImg);
        $("#step3header img").show();
        $("#step3headerlabel").text("Date of Pickup: " + days[(new Date(currentDate)).getDay()] + ", " + currentDate);            
        setStep(3);
    }
}
function step4NextClick() {
    $("#step4headerlabel").text("Instructions: " + $("#PickupTicket_Instructions").val());
    //$("#step4header").find("img").attr("src", checkImg);
    $("#step4header img").show();
    setStep(4);
}
function loadDonor(donor) {
/// <summary>
///     Load donor based on JSON return
/// </summary>
    $("#step5Busy").hide();
    //$("#step5header").find("img").attr("src", checkImg);
    $("#step5header img").show();
    var homePhone = $("#homePhone").val();    
    $("#step5headerlabel").text("Telephone Number: " + homePhone);
    if (donor.Donor_id > 0) {
        var origDonorId = 0;
        if ($("#PickupTicket_Donor_id").val() != "")
            origDonorId = parseInt($("#PickupTicket_Donor_id").val(), 0);
            
        $("#PickupTicket_Donor_id").val(donor.Donor_id);
        $("#PickupTicket_FirstName").val(donor.FirstName);
        $("#PickupTicket_LastName").val(donor.LastName);
        $("#PickupTicket_HomePhone").val(formatPhone(donor.HomePhone));
        $("#PickupTicket_HomeExtension").val(donor.HomeExtension == null ? "" : donor.HomeExtension);
        $("#PickupTicket_DayPhone").val(formatPhone(donor.DayPhone));
        $("#PickupTicket_DayExtension").val(donor.DayExtension == null ? "" : donor.DayExtension);
        $("#PickupTicket_AddressLine1").val(donor.AddressLine1);
        $("#PickupTicket_AddressLine2").val(donor.AddressLine2 == null ? "" : donor.AddressLine2);
        $("#PickupTicket_City").val(donor.City);
        $("#PickupTicket_State").val(donor.State);
        $("#PickupTicket_CrossStreet").val(donor.CrossStreet);
        $("#PickupTicket_OtherInfo").val(donor.OtherInfo);
        $("#PickupTicket_Email").val(donor.Email == null ? "" : donor.Email);
        $("#ConfirmEmail").val(donor.Email == null ? "" : donor.Email);
        $("#PickupTicket_Latitude").val(donor.Latitude == null ? "" : donor.Latitude);
        $("#PickupTicket_Longitude").val(donor.Longitude == null ? "" : donor.Longitude);
        $("#PickupTicket_IsBusiness").attr("checked", donor.IsBusiness);
        $("#PickupTicket_NoSolicitation").attr("checked", donor.NoSolicitation);
        $("#PickupTicket_DoNotEmail").attr("checked", donor.DoNotEmail);
        $("#PickupTicket_NoServiceReminders").attr("checked", donor.NoServiceReminders);
        $("#PickupTicket_IsSpecial").val(donor.IsSpecial);
        //$("#clearLink").show();
        if (origDonorId != donor.Donor_id) {
            $.getJSON(pickupOrderExistsUrl,
              { arcId: donor.ARC_id, donorId: donor.Donor_id, scheduleDate: $("#PickupTicket_ScheduleDate").val() },
              checkPickupExistsCallback);
        }                
    }
    else {
        $("input.donor").val("");
        $("fieldset.cr2tab").val("");
        $("#PickupTicket_HomePhone").val(homePhone);
        $("#PickupTicket_DayPhone").val(homePhone);
        $("#PickupTicket_IsBusiness").attr("checked", false);
        $("#PickupTicket_NoSolicitation").attr("checked", false);
        $("#PickupTicket_NoServiceReminders").attr("checked", false);
        $("#PickupTicket_DoNotEmail").attr("checked", false);
        $("#PickupTicket_OtherInfo").val("");
        $("#PickupTicket_IsSpecial").val("0");
        var lastName = $("#LastName").val();
        if (lastName && lastName.length > 0) {
            lastName = formatProperCase(lastName);
            $("#PickupTicket_LastName").val(lastName);
        }
        $("#Donor_id").val("0");
        // $("#clearLink").hide();
    }
    setStep(5);
    setPrivacyIcons();
    $("#step6body .warning").css("display", "none");
}
function setPrivacyIcons() {
    var lockPhone = false; var lockEmail = false;

    lockEmail = ($("#PickupTicket_DoNotEmail").attr("checked") == true);
    lockPhone = ($("#PickupTicket_NoSolicitation").attr("checked") == true) & ($("#PickupTicket_NoServiceReminders").attr("checked") == true); 
    $("#PickupTicket_HomePhone ~ img").attr("src", lockPhone ? iconLock : iconUnlock);
    $("#PickupTicket_DayPhone ~ img").attr("src", lockPhone ? iconLock : iconUnlock);
    $("#PickupTicket_Email ~ img").attr("src", lockEmail ? iconLock : iconUnlock);
}
function checkPickupExistsCallback(result) {
    if (result.exists)
        alert("There is already at least one pickup scheduled for this date. If you continue, you will create multiple tickets for a single day.");    
}
function submitTicketClick() {
    var isError = false;
    $("#step6body .warning").css("display", "none");
    isError = isError | isFieldMissing("PickupTicket_FirstName");
    isError = isError | isFieldMissing("PickupTicket_LastName");
    if (isFieldMissing("PickupTicket_HomePhone") || !isValidPhone($("#PickupTicket_HomePhone").val())) {
        isError = true;
        $("#HomePhone_Warning").css("display", "inline");
    } else {
        $("#PickupTicket_HomePhone").val(formatPhone($("#PickupTicket_HomePhone").val()));
    }
    if (isFieldMissing("PickupTicket_DayPhone") || !isValidPhone($("#PickupTicket_DayPhone").val())) {
        isError = true;
        $("#DayPhone_Warning").css("display", "inline");
    } else {
        $("#PickupTicket_DayPhone").val(formatPhone($("#PickupTicket_DayPhone").val()));
    }
    isError = isError | isFieldMissing("PickupTicket_AddressLine1");
    isError = isError | isFieldMissing("PickupTicket_CrossStreet");
    
    if (isError) return false;

    if (!isValidEmail("#PickupTicket_Email", "#ConfirmEmail")) return false;
    
    var line2 = $("#PickupTicket_AddressLine2").val();
    var confirmHtml = "";
    var lat = $("#PickupTicket_Latitude").val();
    var lon = $("#PickupTicket_Longitude").val();
    var dt = new Date($("#PickupTicket_ScheduleDate").val());
    var isSpecial = parseInt($("#PickupTicket_IsSpecial").val());
    
    if (lat == null || lat == 0 || lat == '' || lon == null || lon == 0 || lon == '')
        addressMatch();
        
    if (submitScript.length > 0)
        confirmHtml += "<div class='script'>" + submitScript + "</div>";
    
    if (submitInstructions.length > 0)
        confirmHtml += "<div class='instructions'>" + submitInstructions + "</div>";

    confirmHtml += "<div class='confirmText'><p><span style='font-weight:bold'>Date</span>:" + days[dt.getDay()] + ", " + $("#PickupTicket_ScheduleDate").val() + "</p>" +
        "<p><span style='font-weight:bold'>Location</span>:<br />" +
        $("#PickupTicket_FirstName").val() + " " + $("#PickupTicket_LastName").val();

    for (var i = 0; i < isSpecial; i++)
        confirmHtml += "<img alt='' src='" + rootDir + "Images/shield.png' />";

    confirmHtml += "<br />" + 
        $("#PickupTicket_AddressLine1").val() + "<br />";
    
    if (line2 != null && line2.length > 0)
        confirmHtml += line2 + "<br />";
    
    confirmHtml +=
        $("#PickupTicket_City").val() + " " + $("#PickupTicket_State").val() + " " + $("#PickupTicket_Zip").val() + "<br />" +                
        $("#PickupTicket_HomePhone").val() + "<br />" +
        $("#PickupTicket_DayPhone").val() + "</p>" + 
        "<p><span style='font-weight:bold'>Items</span>: " + $("#PickupTicket_DonatedItems").val() + "</p>" + 
        "<p><span style='font-weight:bold'>Instructions</span>: " + $("#PickupTicket_Instructions").val() + "</p></div>";
     
    $("#confirmDialog").html(confirmHtml);
    $("#confirmDialog").dialog("open");
}

function submitTicketAjax() {
    $("#confirmDialog").dialog("close");
    $("#busyDialog .busy").show();
    $("#busyDialog .error").hide();
    $("#busyDialog").dialog("open");
    $("#PickupTicket_EntryCallDuration").val(secondsElapsed);
    $.post(postUrl, $("form").serialize(), submitTicketReturn, "json");
}

function clearLinkClick() {
    $("#PickupTicket_Donor_id").val('');
    $("#PickupTicket_FirstName").val('');
    $("#PickupTicket_LastName").val('');
    $("#PickupTicket_HomePhone").val('');
    $("#PickupTicket_DayPhone").val('');
    $("#PickupTicket_AddressLine1").val('');
    $("#PickupTicket_AddressLine2").val('');
    $("#PickupTicket_CrossStreet").val('');
    $("#PickupTicket_OtherInfo").val('');
    $("#PickupTicket_Email").val('');            
    $("#PickupTicket_Latitude").val('');
    $("#PickupTicket_Longitude").val('');
    $("#PickupTicket_IsBusiness").attr("checked", false);
    $("#PickupTicket_NoSolicitation").attr("checked", true);
}

function addressMatch() {
    var streetVal, zipVal;
    
    streetVal = $.trim($("#PickupTicket_AddressLine1").val());
    if (streetVal.length == 0) {
        $("#PickupTicket_AddressLine1 + span").text("* Please enter the street address");
        $("#PickupTicket_AddressLine1 + span").css("display", "inline");
        return false;
    }
    zipVal = $("#PickupTicket_Zip").val();
    $.getJSON(geocodeUrl,
        { street: streetVal, zip: zipVal },
        geocodeResult);
}
function geocodeResult(data) {
    if (data.accuracy > 0) {
        $("#PickupTicket_AddressLine1 + span").text("* Please enter the street address");
        $("#PickupTicket_AddressLine1 + span").hide();
/*        var userAddr = $("#PickupTicket_AddressLine1").val();
        var mk = userAddr.indexOf(" ");
        var streetNo = mk > 0 ? userAddr.substring(0, mk) : "";

        var mk2 = data.street.indexOf(" ");
        if (mk2 > 0) {
            // always keep street #
            if (streetNo != data.street.substring(0, mk2)) {
                $("#PickupTicket_AddressLine1 + span").text("Unable to match street number.");
                $("#PickupTicket_AddressLine1 + span").css("display", "inline");
            }
            $("#PickupTicket_AddressLine1").val(streetNo + data.street.substring(mk2, data.street.length));
        } else {
            $("#PickupTicket_AddressLine1").val(streetNo + " " + data.street);
        } */
        if (!setStreetAddress("#PickupTicket_AddressLine1", data)) {
            $("#PickupTicket_AddressLine1 + span").text("Unable to match street number.");
            $("#PickupTicket_AddressLine1 + span").css("display", "inline");
        }
        $("#PickupTicket_Latitude").val(data.lat.toString());
        $("#PickupTicket_Longitude").val(data.lon.toString());
        donorInfoChanged = true;
    }
    else {
        $("#PickupTicket_AddressLine1 + span").text("Unable to validate the address.");
        $("#PickupTicket_AddressLine1 + span").css("display", "inline");
        $("#PickupTicket_Latitude").val("");
        $("#PickupTicket_Longitude").val("");
    }
}

$(pageInit);
