/**
* This program manipulates and controls the opening of a
* google map pinpointer
*/

var orig_element_id = "";
var url_sid  = "";
var obj_typ  = "";
var obj_id 	  = "";
var script_uri = "";
var edit_object = "";
var user_lang = "";
var edit_pp_city_id = ""

function edit_pinpoint(  url, element_id  ){
	
    orig_element_id = element_id;        
    
	//parse needed variables
    
    //TODO user language must be translated to two letter - write publisher method to do it
    pub_task = get_url_variable("pub_task", url);
    user_lang = get_url_variable("user_lang", url);
    obj_typ = get_url_variable("object_type", url);
    obj_id = get_url_variable("object_id", url);
    obj_prop = get_url_variable("property_name", url);
	url_sid = get_url_variable("session_id", url);		
	script_uri = get_script_uri( url );
	edit_path = script_uri + "?";
	edit_pp_city_id = city_id;
	
	//alert("edit pinpoint called: " + city_id );
	
	//this makes its own callout container
	if( pub_task == "edit_pinpoint"){
		
		/************************   Make callout container   ***************************/
		
		$("#inner_container_pinp").dialog({ 
					position: [806,340],
	    			width:  375,
	    			height: 355,
	    			modal: true,
	    			close: function(){ }
		});
		
		/***************************   Embed Pinpointer   ******************************/
		//prepare pinpointer url. h x w ideally is 300 x 332 to be centered
		pp_height = '300px';
		pp_width  = '332px';
		pp_name	  = 'ppbic';
		
		gkey = "ABQIAAAAuSdiuC0IXzXGnBD7lySfjBTXczin-9bG-moAn-XAmHaF5KHz3xQCHg9wq5wZDQkx4zgotE8yyYfQOg";
		
		//to be used to make google app
		//widgeturl = 'http://dev28.emporis.com/?widget=' + pp_name + '&gkey=' + gkey + '&callback=process_pinpoint_click&provider=google';
		
		//to be used to make microsoft app
		widgeturl = 'http://dev28.emporis.com/?widget=' + pp_name + '&gkey=' + gkey + '&callback=process_pinpoint_click&provider=msve';
				
		widgeturl += '&language=en&width=' + pp_width + '&height=' + pp_height + '&container=editPinpointContainer&id=' + city_id;
		
		//alert("edit pinpoint called: " + widgeturl );
		
		$.getScript( widgeturl, function(){ emporisInitLoader(); });
		
	//this is meant to be embedded in the callout container
	}else if( pub_task == "edit_search"){				
		
		ec.resize_edit_callout( 450, 375 );
		
		pp_height = '300px';
		pp_width  = '332px';
		pp_name	  = 'ppbic';
		
		gkey = "ABQIAAAAuSdiuC0IXzXGnBD7lySfjBTXczin-9bG-moAn-XAmHaF5KHz3xQCHg9wq5wZDQkx4zgotE8yyYfQOg";	
		//widgeturl = 'http://dev28.emporis.com/?widget=' + pp_name + '&gkey=' + gkey + '&callback=process_pinpoint_click&provider=google';
		widgeturl = 'http://dev28.emporis.com/?widget=' + pp_name + '&gkey=' + gkey + '&callback=get_search_objects&provider=msve';
		widgeturl += '&language=en&width=' + pp_width + '&height=' + pp_height + '&container=editCallout_searchPinpoint&id=' + city_id;
		
		//alert("edit pinpoint called: " + widgeturl );
		//alert("edit pinpoint called: " + ec.edit_calout_original_url );
		
		
		$("#editCallout_searchPanel_PinpointButton").css({ "display":"none" });
		alert_text  = '<font color="blue"><b>Please give a second for map to load <br> then click into a city.</b></font><br>';
		$("#editTool_Message").html( alert_text );
		$("#editCallout_searchPinpoint").css({ "display":"block" });				
		$.getScript( widgeturl, function(){ emporisInitLoader(); });
		
	}		
}//fun ep



function process_pinpoint_click( response ){	 
	//alert( response );	
}

//objects can be city, state, building etc
function get_search_objects( response ){
	
	// TODO generalise to the point where ec.edit_object ( future ec.edit_object ) 
	//is used to produce output based on search object
	
	ec.resize_edit_callout( 600, 375 );
	
	
	alert_text  = '<font color="blue"><b>Please choose one or click again.</b></font><br>';
	alert_text += '<font class="font_small" color="red">Please remain within the city picked while in the map <br>and give a second to load results <br> once an area/building is clicked</font><br>';
	$("#editTool_Message").html( alert_text );	
	search_url = 'http://dev09.emporis.com/?pub_task=edit_search&session_id=' + url_sid + '&edit_object=building&latitude=' + response[0] + '&longitude=' + response[1] + '&city_id=' + city_id;	

	$.ajax({			
	   type: "POST",
	   url: search_url,		   
	   dataType: "json",
	   success: function(data){
		
					//alert( "Edit PP Number of buildings: " + data.length );
					var output = "";
					output = '<select name="epp_search_object_menu" style="width:30;" id="epp_search_object_menu" size="5" onclick="get_object()">';
					for( each in data ){
						output += '<option value="' + data[each].tbuildingid + '">' + data[each].tbuildingtext + '</option>';
					}
					//alert(output);
					output += '</select>';
					if(data.length > 1){
						$("#editCallout_searchPinpoint_objectList").html( output );					
						$("#editCallout_searchPinpoint_objectList").css({ "display":"block" });
					}else if( data.length == 1 ){						
						resp = new Array( );
						resp['id'] = data[each].tbuildingid;
						resp['name'] = data[each].tbuildingtext;
						//assign to some hidden var on page						
						//$("#cityId123").val( resp );
						$("#editCallout_innerContainer").dialog( "close" );
						orig_id = ec.get_jq_original_element_id();
						$(orig_id).html(data[each].tbuildingtext);
					}else{
						alert_text = '<font color="blue"><b>No results found. Please try again.</b></font>';
						$("#editTool_Message").html( alert_text );
					}
	   			}			
	});	//ajax call	
	//alert( "From edit pinpoint: " + ec.edit_object );	
}


function get_object(){
	pick = $('select#epp_search_object_menu option:selected').text();
	object_id = $('select#epp_search_object_menu option:selected').val();
	resp = new Array(  );
	resp['id'] = object_id;
	resp['name'] = pick;
	//assign to some hidden var on page
	$("#editCallout_innerContainer").dialog( "close" );
	$(ec.edit_callout_element_id).html(pick);
	//alert( "Edit pinpoint: Pick: " + pick  + " id: " + object_id );
}





































