﻿// JScript File
/*
Keyes.Services.GeographicAreas.set_defaultSucceededCallback(SucceededCallback);
Keyes.Services.GeographicAreas.set_defaultFailedCallback(FailedCallback);
Keyes.Services.GeographicAreas.set_defaultUserContext("my context");
Keyes.Services.SearchOffices.set_defaultSucceededCallback(SucceededCallback);
Keyes.Services.SearchOffices.set_defaultFailedCallback(FailedCallback);
Keyes.Services.SearchOffices.set_defaultUserContext("my context");
*/

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object as a parameter.
function SucceededResults(result, eventArgs)
{
    try {
        // Page element to display feedback.
        var RsltElem = document.getElementById("ResultId");
        RsltElem.innerHTML = result;
        var grid = $find('results');
        if (typeof grid != "undefined") { 
         //   grid.set_dataSource(suppliers);  
         //   grid.dataBind(); 
         /*var stateList = document.getElementById("stateList");
        for (var count = stateList.options.length-1; count >-1; count--)
        {stateList.options[count] = null;}

         var textValue; 
         var optionItem;
         var stateNodes = results.split("-");
         for (var count = 0; count < stateNodes.length; count++)
         {
          textValue = (stateNodes[count]);
          optionItem = new Option( textValue, textValue,  false, false);
          stateList.options[stateList.length] = optionItem;
         }//for
         */
         grid.innerHTML = "test!";
         
        }//grid not empty
    }//try
    catch (ex) { 
        alert(ex);
    }
}//func

        
        function reportError(t) {
             alert('Error ' + t.status + ' -- ' + t.statusText);
        }
            
        function OnTimeOut(arg) {
            alert("TimeOut: "+arg);
        }   
        
  

        
        function dataReceived(request,url){                        
        try { 
            //alert('data info received');
            var results = document.getElementById("asyncresults");
            if (typeof results == "undefined") { 
                results = document.getElementByName("asyncresults");
            }
            if (typeof results != "undefined") { 
                //alert("'asyncresults' does exist!");
                var txt = request.responseText;
                //alert('resp length['+url+']: '+txt.length + ' bytes');
                //alert('resp content: "'+txt+'"');
                //alert('div  content: "'+results.innerHTML+'"');                
                expandContent('searchResultsProgress');
                try {
                    results.innerHTML = txt;
                } catch (ex) { 
                    //alert("IE doesn't like putting html into a div! ("+ex+') try to bend Bill over and jam the response in anyway!');
                    var wrappingDiv = document.createElement('div');
                    wrappingDiv.innerHTML = txt;
                    results.innerHTML = "";
                    results.appendChild(wrappingDiv);
                }
            } else { 
                alert("'asyncresults' doesn't exist!");
            }
        }//try
        catch (ex) { alert('Exception on dataReceived: '+ex); } 
        }        //func
        
        function reportError(t) {
             alert('Error ' + t.status + ' -- ' + t.statusText);
        }
            
        function OnTimeOut(arg) {
            alert("TimeOut: "+arg);
        }   
        
  

 function getResults(url,eventArgs) {  
  if (url != "") {  
    try {
        expandContent('searchFormParams');
    }
    catch (ex) { alert(ex);}          
    try {
        expandContent('searchResultsProgress');
    }
    catch (ex) { alert(ex);}          
    try {
    var myAjax = new Ajax.Request(url,{
           asynchronous: true,
           method: "GET",
           generateUniqueUrl: "true",
           onComplete: function(request) {
            //alert('success fucking IE sucks');
            dataReceived(request,url);
           },
           onFailure: function(request) {
            //alert('success fucking IE sucks');
            repotError(request);
           }
       }
       );
    }//try
    catch (ex) { alert('Exception on Ajax.Request: '+ex);}          
    
  }
  //url
    /*return;
        var s = $get("submit");     
        var r = $get("results");
        if (typeof s != 'undefined' && typeof s.value != 'undefined') {
         s.value = "Get from Web Service";
        } else {
            alert('Javascript client side getResults but $get("submit") doesn\'t exist!');
        }
        if (typeof r != "undefined") { 
            PageMethods.showResults(r,OnSucceeded,OnTimeOut,OnError);
        }*/
}    
    //-------------------
// This function calls the Web service method without 
// passing the callback function. 
function GetNoReturn()
{
        Keyes.Services.GeographicAreas.set_defaultSucceededCallback(SucceededCallback);
        Keyes.Services.GeographicAreas.set_defaultFailedCallback(FailedCallback);
        Keyes.Services.GeographicAreas.set_defaultUserContext("my context");

    Keyes.Services.GeographicAreas.GetServerTime();
    alert("This method does not return a value.");
    
}


// This function calls the Web service method and 
// passes the event callback function.  
function GetTime()
{
        Keyes.Services.GeographicAreas.set_defaultSucceededCallback(SucceededCallback);
        Keyes.Services.GeographicAreas.set_defaultFailedCallback(FailedCallback);
        Keyes.Services.GeographicAreas.set_defaultUserContext("my context");

    Keyes.Services.GeographicAreas.GetServerTime();//SucceededCallback
    
}


// This function calls the Web service method 
// passing simple type parameters and the 
// callback function  
function Add(a,  b)
{
        Keyes.Services.GeographicAreas.set_defaultSucceededCallback(SucceededCallback);
        Keyes.Services.GeographicAreas.set_defaultFailedCallback(FailedCallback);
        Keyes.Services.GeographicAreas.set_defaultUserContext("my context");

    Keyes.Services.GeographicAreas.Add(a, b);//SucceededCallback
}

// This function calls the Web service method 
// that returns an XmlDocument type.  
function GetXmlDocument() 
{
        Keyes.Services.GeographicAreas.set_defaultSucceededCallback(SucceededCallback);
        Keyes.Services.GeographicAreas.set_defaultFailedCallback(FailedCallback);
        Keyes.Services.GeographicAreas.set_defaultUserContext("my context");

    Keyes.Services.GeographicAreas.GetXmlDocument(
        SucceededCallbackWithContext, FailedCallback,
        "XmlDocument")
}

// This function calls a Web service method that uses
// GET to make the Web request.
function MakeGetRequest() 
{

        Keyes.Services.GeographicAreas.set_defaultSucceededCallback(SucceededCallback);
        Keyes.Services.GeographicAreas.set_defaultFailedCallback(FailedCallback);
        Keyes.Services.GeographicAreas.set_defaultUserContext("my context");

    Keyes.Services.GeographicAreas.EchoStringAndDate(
        new Date("1/1/2007"), " Happy",
        SucceededCallback, 
        FailedCallback, "HappyNewYear");

}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object, the user context, and the 
// calling method name as parameters.
function SucceededCallbackWithContext(result, userContext, methodName)
{
    var output;
    
    // Page element to display feedback.
    var RsltElem = document.getElementById("ResultId");
    
    var readResult;
    if (userContext == "XmlDocument")
	{
	
	    if (document.all) 
	        readResult = 
		        result.documentElement.firstChild.text;
		else
		    // Firefox
		   readResult =
		        result.documentElement.firstChild.textContent;
		
	     RsltElem.innerHTML = "XmlDocument content: " + readResult;
	}
    
}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object as a parameter.
function SucceededCallback(result, eventArgs)
{
try {
    // Page element to display feedback.
    var RsltElem = document.getElementById("ResultId");
    RsltElem.innerHTML = result;
    }//try
    catch (ex) { 
    alert(ex);
    }
}


// This is the callback function invoked if the Web service
// failed.
// It accepts the error object as a parameter.
function FailedCallback(error)
{
    // Display the error.    
    var RsltElem = document.getElementById("ResultId");
    //RsltElem.innerHTML = "Service Error: " + error.get_message();
    var stackTrace = error.get_stackTrace();
    var message = error.get_message();
    var statusCode = error.get_statusCode();
    var exceptionType = error.get_exceptionType();
    var timedout = error.get_timedOut();
   
   if (typeof RsltElem != "undefined") { 
    // Display the error.    
    RsltElem.innerHTML = 
        "Stack Trace: " +  stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
        }//if
        
}//func

if (typeof(Sys) !== "undefined") {
 Sys.Application.notifyScriptLoaded();
}