Function.prototype.bind=function(context){
	var slice = Array.prototype.slice;
	if (arguments.length < 2 && typeof arguments[0] === "undefined") return this;
    var __method = this, args = slice.call(arguments, 1);
    return function() {
      var a = function(array, args) {
	    array = slice.call(array, 0);
	    return function(array, args) {
	    var arrayLength = array.length, length = args.length;
	    while (length--) array[arrayLength + length] = args[length];
	    return array;
	}(array, args);
	}(args, arguments);
      return __method.apply(context, a);
    }
}

var $j = jQuery.noConflict();


$j('#logo').ifixpng();

var MAIN_MAP = 'mainMap';

var DETAIL_MAP = 'detailMap';

var SEARCH_MAP = 'searchMap';

function findMe(callback){
		var loader = google.loader;
		if (google.loader.ClientLocation) {
	        var latlng = new GLatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
	        callback(latlng,true);
        }
};

function loadScripts(a){
 if(typeof(a)=='string'){a=[a];}
 for(var z=0;z<a.length;z++){
  var b=a[z],
  script=document.createElement('script');
  script.type='text/javascript';
  script.src=b;
  document.getElementsByTagName('body')[0].appendChild(script);
 }
}

function toExplorePage(){
		var queryStr = document.getElementById("search_input_locations").value;
		queryStr = trim(queryStr);
		var currentUrl = window.location.href;
		var index = currentUrl.lastIndexOf("/");
		var pre = currentUrl.substring(0, index);
		if(queryStr == '' || queryStr == 'Type in an address'){
			var nxt = '/mainSearch.do';
			var gotoUrl = pre + nxt;
			window.location.replace(gotoUrl);
			return false;
		}
		var nxt = '/mainSearch.do?queryStr=' + queryStr;
		var gotoUrl = pre + nxt;
		window.location.replace(gotoUrl);
		return false;
}

function trim(s){ 
	    s=removeBeforeChar(s); 
	    s=removeAfterChar(s); 
	    return s; 
} 
function removeBeforeChar(t){
		if(t.charCodeAt(0)==32 || t.charCodeAt(0)==12288){
	  		t=t.slice(1,t.length); 
	    	return   removeBeforeChar(t); 
	  	}else{
	  		return t; 
	   	} 
} 
function removeAfterChar(t) { 
		if(t.charCodeAt(t.length-1)==32 || t.charCodeAt(t.length-1)==12288) { 
		    t=t.slice(0,t.length-1); 
		    return   removeAfterChar(t); 
	  	} else { 
	  		return t; 
	  	} 
} 

function checkInput(){
		if( $j('#search_input_locations').val() == null || 
			$j('#search_input_locations').val() == '' || 
			$j('#search_input_locations').val() == MessageManager.getInstance().getProperty('text_search_page_header_watermarker')){
				$j('#search_input_locations').focus();
				return false;
		}else{
			return toExplorePage();
		}
}
var mapViewType = MAIN_MAP;

var needMap = true;

var needCptZoomLevel = false;

function load(){
	var initialize;
	try{
		initialize = initializePage;
	}catch(e){
		var text_initialize_func_required = MessageManager.getInstance().getProperty('text_initialize_func_required'); 
		alert(text_initialize_func_required);
		return;
	}
	if(needMap){
	    google.load("maps", "2",{callback:initializePage});  	
	}else{
		initializePage();
	}
    
}
