
var showResultListFlag=false;function FindLoc(location,showResultList){if(location.length>2){if(map==null)
return;showResultListFlag=showResultList;$('#SearchLocationTextBox').val(location);map.getCredentials(CredentialsRetrievedCallbackByTextBox);}
else{IncorrectSearch();}}
function CredentialsRetrievedCallbackByTextBox(credentials){var location=$('#SearchLocationTextBox').val();if(IsValidSearchWord(location)){if(location[location.length-1]=="."||location[location.length-1]==":"){location=location.substring(0,location.length-1);}
var geocodeRequest="http://dev.virtualearth.net/REST/v1/Locations/"+location+"?output=json&jsonp=GeocodeCallbackByTextBox&c="+userCulture+"&key="+credentials;CallRestService(geocodeRequest);}
else{IncorrectSearch();}}
function IsValidSearchWord(word){var validChars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-.:, ";var invalidChars="<>%=:&#+*";var isValid=true;var actualChar;for(i=0;i<word.length;i++)
{actualChar=word.charAt(i);if(invalidChars.indexOf(actualChar)!=-1){isValid=false;}}
return isValid;}
function CallRestService(request){var script=document.createElement("script");script.setAttribute("type","text/javascript");script.setAttribute("src",request);document.body.appendChild(script);}
function GeocodeCallbackByTextBox(result){$(".dropdown dd ul").hide();if(result!=null&&result.resourceSets[0].resources.length>1){var html="";if(showResultListFlag){$(".dropdown dd ul").html("");for(var i in result.resourceSets){for(var j in result.resourceSets[i].resources){html=$(".dropdown dd ul").html();$(".dropdown dd ul").html(html+"<li><a href='#'>"+result.resourceSets[i].resources[j].name+"</a></li>");}}}
$(".dropdown dd ul li a").click(function(){var text=$(this).html();$("#SearchLocationTextBox").val(text);$(".dropdown dd ul").hide();FindLoc(text,false);});$(document).bind('click',function(e){var $clicked=$(e.target);if(!$clicked.parents().hasClass("dropdown"))
$(".dropdown dd ul").hide();});if(showResultListFlag){$(".dropdown dd ul").toggle();}
var bbox=result.resourceSets[0].resources[0].bbox;var viewBoundaries=Microsoft.Maps.LocationRect.fromLocations(new Microsoft.Maps.Location(bbox[0],bbox[1]),new Microsoft.Maps.Location(bbox[2],bbox[3]));map.setView({bounds:viewBoundaries});changeNameInFip=true;SetLocationToPanelBoxes(result.resourceSets[0].resources[0].point.coordinates[0],result.resourceSets[0].resources[0].point.coordinates[1]);var code="openFlyInPanel('"+result.resourceSets[0].resources[0].name+"','"+result.resourceSets[0].resources[0].point.coordinates[0]+", "+result.resourceSets[0].resources[0].point.coordinates[1]+"');";window.setTimeout(code,2000);}
else if(result!=null&&result.resourceSets[0].resources.length==1){var bbox=result.resourceSets[0].resources[0].bbox;var viewBoundaries=Microsoft.Maps.LocationRect.fromLocations(new Microsoft.Maps.Location(bbox[0],bbox[1]),new Microsoft.Maps.Location(bbox[2],bbox[3]));map.setView({bounds:viewBoundaries});changeNameInFip=true;SetLocationToPanelBoxes(result.resourceSets[0].resources[0].point.coordinates[0],result.resourceSets[0].resources[0].point.coordinates[1]);var code="openFlyInPanel('"+result.resourceSets[0].resources[0].name+"','"+result.resourceSets[0].resources[0].point.coordinates[0]+", "+result.resourceSets[0].resources[0].point.coordinates[1]+"');";window.setTimeout(code,2000);}
else{IncorrectSearch();}}
function IncorrectSearch(){$(".dropdown dd ul").hide();document.getElementById("LocationSelectDiv").style.visibility="hidden";$(".dropdown dd ul").html("");var html="";html=$(".dropdown dd ul").html();$(".dropdown dd ul").html(html+"<li><a href='#'>"+$("#errorMessage").text()+"</a></li>");$(".dropdown dd ul").toggle();}
function searchEnter(e){e=e||window.event;var code=e.keyCode||e.which;if(code==13){FindLoc(document.getElementById('SearchLocationTextBox').value,true);e.returnValue=false;e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();e.preventDefault();}}
return false;}
function ClearSearchLocationTextBox(){$(".dropdown dd ul").hide();if($('#SearchLocationTextBox').val()==defaultSearchBoxEntry){$('#SearchLocationTextBox').val("");}}
function ClearAllSearchLocationTextBox(){$('#SearchLocationTextBox').val("");$(".dropdown dd ul").hide();}
