/****************************************************************************************************************
 * 
 * 												CLASS EDIT PINPOINT (uses edit_callout_class)
 * 
 ****************************************************************************************************************
 * STARTED as of 8.April 2009, 11:20
 * Instantiated by edit_callout_class in embed_pinpoint_in_callout() method.
 * 
 * 
 * 
 * @author Rhonda Kammer
 ****************************************************************************************************************
 * NOTES:
 *
 **/

function edit_pinpoint_class( ){
	
	/** ****************************************************************************************************** */
	/** ****************************************  private class variables ************************************ */
	
	var _edit_object  	= ec.get_edit_object();
	var _tool_purpose 	= ec.get_tool_purpose();
	var _property_name	= ec.get_property_name(); 
	var _tool_name 	  	= "edit_pinpoint";
	var _pp_height		= "";
	var _pp_width		= "";
	var _pp_name 		= "ppbic";
	var _pp_gkey 		= "ABQIAAAAuSdiuC0IXzXGnBD7lySfjBTXczin-9bG-moAn-XAmHaF5KHz3xQCHg9wq5wZDQkx4zgotE8yyYfQOg";	
	var _pp_provider_google 	= "google";
	var _pp_provider_ms			= "msve";
	var _pp_user_language		= "en";
	var _pp_container			= ""
	var _pp_city_id  			= "";
	//var _pp_url					= "http://dev28.emporis.com/?";
	var _pp_url					= "http://widgets.emporis.com/?";
	var _pp_session_id 			= ec.get_session_id();
	var _pp_latitude   			= "";
	var _pp_longitude			= "";
	var _pp_nav 				= ec.get_nav_template();
	var _pp_building_id 		= '';
	
	//alert( "Edit pinpoint: " + typeof es );
	
	
	/** *************************************************
	 * 
	 *                  CONSTRUCTOR
	 * 
	 ************************************************** */
	 _pp_url += 'widget=' +    _pp_name;
	 _pp_url += '&gkey=' +     _pp_gkey;	
	 //_pp_url += '&provider=' +  _pp_provider_ms;
	 _pp_url += '&provider=' +  _pp_provider_google;
	 _pp_url += '&language=' + _pp_user_language;
	 
	 //TODO for city page we will need to add another parameter
	 if( _pp_nav == 'city'){
	 	_pp_url += '&click_existing=no';
	 }else{
		_pp_url += '&click_existing=yes';
	 }
	 
		
	/** ***************************************************************************************************** */
	/** ****************************************** public class methods ************************************* */
	
	/**
	 * Method takes a city id, forms an ajax url and makes remote call
	 * to pinpoint which presents the city contained in the city id.
	 * 
	 * @return pinpoint map displayed 
	 */
	edit_pinpoint_class.prototype.run_pinpoint = function( object_id ){
		run_pinpoint(object_id);
	}//fun rp
	
	
	edit_pinpoint_class.prototype.enlarge_map = function( height, width ){	
		if( height == "" || height == undefined ){ 
			_pp_height = 300; 
		}else{
			_pp_height = height;
		}
		if( width == "" || width == undefined ){ 
			_pp_width = 332; 
		}else{
			_pp_width = width;
		}				
		cid = ec.get_object_id();
		run_pinpoint(cid);
	}
	
	
	/**
	 * Method retrieves objects (as of 14 April 2009 only buildings) located in the
	 * city id output by edit_search_class in methods process_selected_object() or
	 * process_single_found_object() called only by ajax not by external process.
	 * @param response data from ajax call in method run_pinpoint()
	 * @return 
	 */
    edit_pinpoint_class.prototype.get_pinpoint_objects = function ( response ){
		 
		 //alert( "edit pinpoint: r0: " + response[0] + " r1: " + response[1] );
		 
		 _pp_building_id = response[1];
		
		 //go get the name of the found building
		 if( response[0] == 'building' ){					
			
			search_url  = ec.get_script_uri() + '?pub_task=edit_callout';
			search_url += '&session_id=' + _pp_session_id;
			search_url += '&edit_object=building';
			search_url += '&property_name=' + _property_name;
			search_url += '&tool_purpose=' + _tool_purpose;
			search_url += '&building_id=' + response[1];
							
			//alert( "edit pinpoint: " + search_url );
			
			if(typeof es == "object" ){
									
				//tell edit search where to display objects
				//es.set_object_menu_div("#editCallout_searchPinpoint_objectList");
										
				//tell edit_search which objects to display
			 	es.set_search_object( "building" );			 			 										
			 	//go get objects
				ajax_launcher( search_url, '', 'edit_pinpoint', "portfolio.process_single_found_object" );
			}
		}else{
			_pp_latitude = response[0];
			_pp_longitude = response[1];			
			portfolio.process_no_found_objects();
		}
	}
	
	
	edit_pinpoint_class.prototype.get_building_data = function(){
		var coords = new Array();
		coords[0] = _pp_latitude;
		coords[1] = _pp_longitude;
		coords[2] = _pp_city_id;
		return coords;
	}
	

	function run_pinpoint( object_id ){
		
		$("#editCallout_searchPinpoint").html("");				
		
		if( _pp_height == "" || _pp_height == undefined ){ _pp_height = 300; }
		if(  _pp_width == "" || _pp_width == undefined ){ _pp_width = 332; }		
		_pp_city_id = ec.get_object_id();
		var nheight = _pp_height + 109;
		var nwidth  = _pp_width + 43;		
		_pp_url += '&width=' +    _pp_width + "px";
	 	_pp_url += '&height=' +   _pp_height + "px";
	 	$("#editTool_Message").html("");
	 				
		//alert( "Edit pinpoint: " + _pp_url );		
	 	//alert( "pinpoint height: " + (_pp_height == "") + " val: " + _pp_height );
		
		if( _pp_city_id ){				
			_pp_url += '&callback=epp.get_pinpoint_objects';
			_pp_url += '&container=editCallout_searchPinpoint';
			_pp_url += '&id=' + _pp_city_id;				
//			alert_text  = '<font color="blue"><b>Please click into a city.</b></font>';			
//			$("#editTool_Message").html( alert_text );
			//$("#editCallout_searchPinpoint").css({ "display":"block" });
			$("#editCallout_searchPinpoint").show();
			
			$.getScript( _pp_url, function(){ emporisInitLoader(); });
			
		}else{
			alert( "Please refresh browser." );
		}
		
		//alert( "Edit pinpoint run: " + _pp_url );
		//alert( "edit pinpoint: " + _pp_city_id );
	}
					
}//cl epp

















