﻿// JScript File

//        var canvas = $("#locator");
//		        //var response = $("#response");
////        		var addresses = [
////        			{name:"primary",latitude:47.77625204393235, longitude: -122.34375000000001,
////        			 country:"United States",state:"WA",city:"Seattle",streetLine:"20290 SR-99",
////        			 zip:"98133",whole:"20290 SR-99, Seattle, WA 98133"},
////        			{name:"secondary",latitude:47.76148371616669, longitude: -122.14599609375001,
////            		 country:"United States",state:"WA",city:"Woodinville",streetLine:"NE Woodinville Duvall Rd",
////        			 zip:"98072",whole:"NE Woodinville Duvall Rd, Woodinville, WA 98072"},
////        		];

//		var addloc; 
//		function pickAddress() {
//		    
//		    window.resizeTo(1600,1000);
//		    $("#searchContainer").show();
//			canvas.show();
//			addloc = addloc || new TPAddressLocator(document.getElementById("locator"), 
//				{
//					allowSecondaryAddress:false,
//					requireValidAddress:true,
//					addressInvalidMessage:"You selected an invalid address",
//					addresses:[],
//					dataVersion:2000,
//					drawPolygon: true,
//					showDashboard: true,
//					captions: {
//						prompt:"<h3>Using the Map Widget</h3>Right click on the map to setup a location<br/>Use 'Show On Map' to center map view on the marker<br/>Hover on the marker to show location information<br/>",
//						submitText: "Submit",
//						searchText: "Search location on map"
//					},
//					commands:{
//						centerOnPrimary:{image_normal:null, image_disabled:null},
//						centerOnSecondary: {image_normal:null, image_disabled:null},
//						centerOnBoth:{image_normal:null, image_disabled:null}	
//					},
//					
//					handlers:{onsubmit:onAddressLocated}
//				}
//			);						
//		}

//		function onAddressLocated(addrArray) {
//			var message = "";			

//			//$("#_ctl0_mCtCtrlPnlPg_txZipCode").val(addrArray[0].latitude+" "+addrArray[0].longitude);
//			
//			$("#"+txZipCode_CID).val(addrArray[0].zip); //addrArray[0].latitude  addrArray[0].longitude
//            $("#"+hfZipCode_CID).val(addrArray[0].zip);          
//            $("#"+hfLatitude_CID).val(addrArray[0].latitude);
//            $("#"+hfLongitude_CID).val(addrArray[0].longitude);
//            
//			endSearch();
//		}	
//		
//		function endSearch() {
//		    canvas.hide();
//		    $("#searchContainer").hide();
//		
//		    window.resizeTo(700, 630);
//		}	
//		
		function IsZipCodeManuallyChanged()
		{
		    // check if zip code has been manually changed after the map search
		    
		   		    
		    var newZipCode=document.getElementById(txZipCode_CID).value;
		    var oldZipCode=document.getElementById(hfZipCode_CID).value;
		  
		    if(newZipCode!=oldZipCode)
		    {
		        // zip code has been changed, latitude and longitude are no longer relevent and need to be reset.
		        document.getElementById(hfLatitude_CID).value="";
		        document.getElementById(hfLongitude_CID).value="";
		    }		
		}
		var map_window = null;
		var initialLocation;
		var addressArray = new Array();
		var isFirstTime = true;
		
		function openAddrLocator()
		{
		    if(isFirstTime)
		    {
		        if(document.getElementById(ddlContactType_CID).selectedIndex==0) // buyer
		        {
		            //initialLocation=document.getElementById(hfStreetLine_CID).value+","+document.getElementById(hfCity_CID).value+","+document.getElementById(hfState_CID).value+","+document.getElementById(txZipCode_CID).value;
		            if(document.getElementById(txZipCode_CID).value=="")
		                initialLocation=document.getElementById(hfAgentZip_CID).value;
		            else		        
		                initialLocation=document.getElementById(txZipCode_CID).value;
		        }
		        else // seller
		        {
		            if(document.getElementById(txStreetAddress_CID).value==""&&document.getElementById(txtCity_CID).value==""&&document.getElementById(ddlState_CID).value==""&&document.getElementById(txZipCode_CID).value=="")
		                initialLocation=document.getElementById(hfAgentZip_CID).value;
		            else
		                initialLocation=document.getElementById(txStreetAddress_CID).value+","+document.getElementById(txtCity_CID).value+","+document.getElementById(ddlState_CID).value+","+document.getElementById(txZipCode_CID).value;  
		        }
		    }
		    else
		    {
		        if(document.getElementById(ddlContactType_CID).selectedIndex==0) // buyer
		        {
		            if(document.getElementById(txZipCode_CID).value!=document.getElementById(hfZipCode_CID).value)
	                {
	                    addressArray = null;
	                    initialLocation=document.getElementById(txZipCode_CID).value;
	                }
	                else
	                {
	                    var addrArray = document.getElementById(hfAddrArray_CID).value.split(',');
	                    addressArray = [{name:"primary",latitude:47.77625204393235, longitude: -122.34375000000001,
                                    country:"United States",state:"WA",city:"Seattle",streetLine:"20290 SR-99",
                                    zip:"98133",whole:"20290 SR-99, Seattle, WA 98133"},];	  
                                          
                        addressArray[0].latitude = parseFloat(addrArray[0]);
                        addressArray[0].longitude = parseFloat(addrArray[1]);
                        addressArray[0].country = addrArray[2];
                        addressArray[0].state = addrArray[3];
                        addressArray[0].city = addrArray[4];
                        addressArray[0].streetLine = addrArray[5];
                        addressArray[0].zip = addrArray[6];
                        addressArray[0].whole = addrArray[7]+","+addrArray[8]+","+addrArray[9];
	                
	                }           
		        }
		        else  // seller
		        {
		            if(document.getElementById(txStreetAddress_CID).value!=document.getElementById(hfStreetLine_CID).value ||document.getElementById(txtCity_CID).value!=document.getElementById(hfCity_CID).value || document.getElementById(ddlState_CID).value!=document.getElementById(hfState_CID).value || document.getElementById(txZipCode_CID).value!=document.getElementById(hfZipCode_CID).value)
	                {
	                    addressArray = null;
	                    initialLocation=document.getElementById(txStreetAddress_CID).value+","+document.getElementById(txtCity_CID).value+","+document.getElementById(ddlState_CID).value+","+document.getElementById(txZipCode_CID).value;
	                }
	                else
	                {
	                    var addrArray = document.getElementById(hfAddrArray_CID).value.split(',');
	                    addressArray = [{name:"primary",latitude:47.77625204393235, longitude: -122.34375000000001,
                                    country:"United States",state:"WA",city:"Seattle",streetLine:"20290 SR-99",
                                    zip:"98133",whole:"20290 SR-99, Seattle, WA 98133"},];	  
                                          
                        addressArray[0].latitude = parseFloat(addrArray[0]);
                        addressArray[0].longitude = parseFloat(addrArray[1]);
                        addressArray[0].country = addrArray[2];
                        addressArray[0].state = addrArray[3];
                        addressArray[0].city = addrArray[4];
                        addressArray[0].streetLine = addrArray[5];
                        addressArray[0].zip = addrArray[6];
                        addressArray[0].whole = addrArray[7]+","+addrArray[8]+","+addrArray[9];
	                }
		            
		        
		        }
		    
		    
		    }
		    isFirstTime = false; 
		    var arrayLocation = initialLocation.split(",");
		    initialLocation = "";
		    for(var i=0;i<arrayLocation.length;i++)
		    {
		        if(arrayLocation[i]=="")
		            continue;
		        
		        initialLocation = initialLocation + arrayLocation[i];
		        
		        if (i < arrayLocation.length -1) initialLocation = initialLocation + ",";
		    
		    
		    }		   
		   
		    if (initialLocation[initialLocation.length-1] == ",")
		       initialLocation = initialLocation.substring(0, initialLocation.length-1);
		   
		   
		    map_window=window.open("/RTMS/addressLocator.aspx",null,"height=830,width=620,status=no,toolbar=no,location=no,menubar=no,resizable=no,scrollbars=yes,alwaysRaised=yes");	    
		   		    
		}
		
		function callback(addrArray) 
		{ 		
		
		    if(addrArray[0]==null)
		    {		      
		        alert("You haven't selected a specific location, please try again.");
		        map_window.focus();
		        return;
		    }
		    
		    
		    if (addrArray[0].name == "primary")
		    {
			    document.getElementById(hfAddrArray_CID).value = addrArray[0].latitude+","+addrArray[0].longitude+","+addrArray[0].country+","+addrArray[0].state+","+addrArray[0].city+","+addrArray[0].streetLine+","+addrArray[0].zip+","+addrArray[0].whole;
    	
			    setElementZip(txZipCode_CID, addrArray[0].zip);
			    setElementZip(hfZipCode_CID, addrArray[0].zip);
			    setElementValue(hfStreetLine_CID, addrArray[0].streetLine);
			    setElementValue(hfCity_CID, addrArray[0].city);
			    setElementValue(hfState_CID, addrArray[0].state);
    							
			    if(document.getElementById(ddlContactType_CID).selectedIndex==0)
			    {			    
			        setElementValue(hfLatitude_CID, addrArray[0].latitude);
			        setElementValue(hfLongitude_CID, addrArray[0].longitude);
			    }
			    else 
			    {
			        setElementValue(hfLatitude_CID, addrArray[0].latitude);
			        setElementValue(hfLongitude_CID, addrArray[0].longitude);
			    
			        setElementValue(txStreetAddress_CID, addrArray[0].streetLine);
			        setElementValue(txtCity_CID, addrArray[0].city);
    			    
			        for(i=0;i<document.getElementById(ddlState_CID).options.length;i++)
			        {
			            if(document.getElementById(ddlState_CID).options[i].value==addrArray[0].state)
			                document.getElementById(ddlState_CID).selectedIndex=i;
			        }
			    }
		    }
		    else
			{
		        alert("You haven't selected a specific location, please try again.");
		        map_window.focus();
		        return;
			}
		    
		    if (map_window.closed==false)
			    map_window.close();			
		}	

		function setElementValue(elementId, elementValue)
		{
			if (elementValue != null) {
				document.getElementById(elementId).value = elementValue;	
			}
		}
		
		function setElementZip(elementId, elementValue) 
		{

		    // Test for canadian postal codes
            if (/^\s*[abceghj-nprstvxyABCEGHJ-NPRSTVXY]\d[a-zA-Z](\s)?(\d[a-zA-Z]\d\s*)?$/.test(elementValue))
            {
                document.getElementById(elementId).value = elementValue;
            }
		
		    // Process US zip codes
			if (elementValue.length > 4)
			{
				var zip = elementValue.substring(0,5)
				
				if (zip > 0 && zip < 99999)				
					document.getElementById(elementId).value = elementValue;	
			}
		}

