﻿	var lastCall;
	var urls = new Array();
    var displayElement =  document.getElementById('content'); 

	function handleMouseEvent( type, id ) {
	    lastCall = type + " : " + id;
	    
		if(type=='onMouseClick')
		{
		    
		    for(var a=0;a<urls.length;a++)
		    {
		        var url = urls[a];
		        if(url[0] == id && isOurShips == 0) 
	            {
	            
	            	//window.location = languagePrefix + url[1];
		            var url = languagePrefix + url[1] + "default.aspx?Ajax=1";
		            DoWebRequest(url, OnWebRequestCompleted);

		            // track page view
		            try {
		                if (url.indexOf("default.aspx?Ajax=1") > -1)
		                    url = url.substring(0, url.indexOf("default.aspx?Ajax=1"));
		                
		                TrackGAPageView("/map" + url);
		            }
		            catch (e) {
		                
		            }

					// route "ws"
					var serviceUrl = '/services/InternalServices.aspx?MapRouteName=' + id;
					DoWebRequest(serviceUrl, OnServiceCallCompleted); 

		        }
		        else if(url[0] == id && isOurShips == 1)
		        {
		            LoadShipDataToClient(url[1]);
		        }
		    }
		}
	}
function pageLoad()
{
	displayElement = $get("content");
}
function DoWebRequest(url, callBackFunction)
{
    // Instantiate the WebRequest object.
    var wRequest =  new Sys.Net.WebRequest();
    
    // Set the request Url.  
    wRequest.set_url(url);  
    
    // Set the request verb.
    wRequest.set_httpVerb("GET");
    wRequest.set_userContext("user's context");
    var resUrl = wRequest.getResolvedUrl();   

    // Set the web request completed event handler,
    // for processing return data.
    wRequest.add_completed(callBackFunction);
   
    // Execute the request.
    wRequest.invoke();  
       
}

function OnServiceCallCompleted(executor, eventArgs) {
    if(executor.get_responseAvailable()) {
        HandleServiceResponse(executor);
    }
    else {
        if (executor.get_timedOut())
            window.status = 'Service call timed out';
        else
            if (executor.get_aborted())
				window.status = 'Service call aborted';
    }
}

// This function is used to display the Web request body.
function HandleServiceResponse(executor)
{   
	var response = executor.get_responseData();
	if (response != null && response.split("|").length > 1  ) {
		if (response.split("|")[0] != null && response.split("|")[0] != '')		
			SetOutwardFerryRoute(response.split("|")[0]);	
		if (response.split("|")[1] != null && response.split("|")[1] != '')		
			SetHomewardFerryRoute(response.split("|")[1]);	
	}
}

function OnWebRequestCompleted(executor, eventArgs) 
{
    if(executor.get_responseAvailable()) 
    {
        DisplayWebRequestBody(executor);
    }
    else
    {
        if (executor.get_timedOut())
            alert("Timed Out");
        else
            if (executor.get_aborted())
                alert("Aborted");
    }
}






// This function is used to display the Web request body.
function DisplayWebRequestBody(executor)
{   
var body = executor.get_responseData();
var pos1=body.indexOf('"__VIEWSTATE"');
body=body.substring(pos1);
pos1=body.indexOf(">");
body=body.substring(pos1 + 1);
var pos2 = body.indexOf("</form");
body=body.substring(0,pos2);
    if (document.all)
         displayElement.innerHTML = body;
            
    else
        // Firefox
         displayElement.innerHTML = body;

	try {
		if (InitImageBrowser)
			InitImageBrowser();
	}
	catch(e) { }
}


if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();



