﻿Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

function toggleAlert(visibility)
{                            
    document.getElementById("error").style.visibility = visibility;         
}

function clearErrorState() 
{
     $get("message").innerHTML = '';
     toggleAlert("hidden");                       
}

function EndRequestHandler(sender, args)
{
   if (args.get_error() != undefined)
   {
       var errorMessage;
       
       if (args.get_response().get_statusCode() == '200')
       {
           errorMessage = 
            "Unfortunately, we are unable to complete your request.&nbsp;&nbsp;Please re-request " +
            " the page you are currently viewing.&nbsp;&nbsp;If the problem persists after " + 
            " re-requesting the page, please contact the system administrator.";
       }
       else
       {
           // Error occurred somewhere other than the server page.
           errorMessage = "An unspecified error occurred.";
       }
       
       args.set_errorHandled(true);
       toggleAlert('visible');
       
       $get("message").innerHTML = errorMessage;
   }
}

/* Trigger postback from given ctl on <enter> */
function handleEnter(e, postbackCtl) 
{
    if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;

    if (code == 13) {
        //__doPostBack(postbackCtl,'');
    
        document.getElementById(postbackCtl).click();
        return false;
    }
    
    return true;
}


/* Autocomplete Functions */

function registerClassForAutoComplete(cssClassName) {
    $("." + cssClassName).autocomplete("/Services/TypeAhead.aspx", 
        {   autoFill:true, 
            cacheLength:10, 
            maxItemsToShow:10, 
            width:250
        }
    );
}

/* GeoLocation Functions */

function getCityStateFromIP(cssClassName) {
    if ($("." + cssClassName).val() == "") {
        var ipAddress = $("#ctl00_ctl00_hidClientIP").val();
        var svcURL = "/Services/Geolocation.aspx?clientIP=" + ipAddress;
        
        $.ajax({
            type: "GET",
            url: svcURL,
            success: function(result) {
                if (result != "UNKNOWN") {
                    $("." + cssClassName).val(result);
                }
            }
          }); 
    }
}
