﻿    function processAddressKeyDown(event,btnId)
    {
        if((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
         {
            var btn = document.getElementById(btnId);
             event.returnValue = false;
             event.cancel = true; 
            openPath(btn);
         }         
    }
    
    
    //Used for open the Google Maps Page
    function openPath(btn)
    {       
        //Get the id of the clicked button and used for get the id of the textbox
        var id=btn.id;        
        var number=id.split("_");        
                
        var txt=document.getElementById("txtPath_"+number[1]);                    
        var from=txt.value.replace(/ /g,"+");                
        
        var hiCoordinates=document.getElementById("hiLocation_"+number[1]);
        var coordinates=hiCoordinates.value;
        
        var hiAddress=document.getElementById("hiAddress_"+number[1]);
        var address=hiAddress.value;
                            
        var to=address+"@"+coordinates;           
		window.open("http://maps.google.it/maps?daddr="+to+"&saddr="+from, "_blank");
    }
    
    function createCoordinates(ddlProvinceId,ddlRegionId)
    {
        var zoomLevel=7;
        var coordinateX=0;
        var coordinateY=0;
        //static fields        
        var COORINATE_X_INDEX=1;
        var COORINATE_Y_INDEX=0;
        
        //retreive the coordinates from the drop down lists
        var ddlProvince=document.getElementById(ddlProvinceId);
        var ddlRegion=document.getElementById(ddlRegionId);        
        
        var selectedProvince=ddlProvince.value;
        var selectedRegion=ddlRegion.value;
        
        //try to access to the region coordinates        
        if(selectedRegion.length>1)
        {
            var coordinatesToUse=selectedRegion.split('|');    
            coordinateX=coordinatesToUse[COORINATE_X_INDEX];
            coordinateY=coordinatesToUse[COORINATE_Y_INDEX];
	        zoomLevel=8;
        }
        
        //if a province is selected use those coordinates
        if(selectedProvince.length>1)        
        {
             //try to use the province coordinates             
             coordinatesToUse=selectedProvince.split('|');    
             coordinateX=coordinatesToUse[COORINATE_X_INDEX];
             coordinateY=coordinatesToUse[COORINATE_Y_INDEX];     
             zoomLevel=10;
        }        
        return coordinateX+"|"+coordinateY+"|"+zoomLevel;
    } 
    
    function addLoadEvent(func) 
    {       
        var oldonload = window.onload;
        if (typeof window.onload != 'function') 
        {
            window.onload = func;
        }
        else 
        {
            window.onload = function() {if (oldonload) {oldonload();} func();}
        }
    }
        
    function initializeMapPosition(map,ddlProvinceId,ddlRegionId)
    {
        if (window.attachEvent) 
        {
            // Internet Explorer
            window.attachEvent("onunload", function() {GUnload();});
        } 
        else 
        {
            // Firefox and standard browsers
            window.addEventListener("unload", function() {GUnload(); }, false);
        }
        
        //static fields
        var COORINATE_X_INDEX=0;
        var COORINATE_Y_INDEX=1;    
        var ZOOM_INDEX=2;
    
        var coordinateX=45.2;
        var coordinateY=10.7;   
        var zoomLevel=7
        
        var coordinatesToUse=createCoordinates(ddlProvinceId,ddlRegionId).split("|");
        map.setCenter(new GLatLng(coordinateX, coordinateY),zoomLevel, G_PHYSICAL_MAP);
        
        if(coordinatesToUse[0]!=undefined && coordinatesToUse[0]>0)          
        {           
            coordinateX=coordinatesToUse[COORINATE_X_INDEX];
            coordinateY=coordinatesToUse[COORINATE_Y_INDEX];
            zoomLevel=coordinatesToUse[ZOOM_INDEX];
            
            map.setCenter(new GLatLng(coordinateX, coordinateY),parseInt(zoomLevel));
            map.panTo(new GLatLng(coordinateX, coordinateY));
                        
            map.setZoom(parseInt(zoomLevel))
        }         
    }
    
     //used for show the panel with the road indications from the link
    //and hide the link used for open the panel
    function showPathPanel(id)
    {       
        var div=document.getElementById("pnlPath_"+id);
        div.style.display=""; 
        
        var lnk=document.getElementById("lnkPath_"+id);   
        lnk.style.display="none";
    }
    