// @ todo refactor


$(document).ready(function(){
						   
						   
	deleteFromYachtListHandler();
	var varNames = '?';
	try {
		if( $('#marketing_status_id').val() ) varNames += 'marketing_status_id='+$('#marketing_status_id').val()+'&';
	} catch(e) {}
	varNames += 'name'
	
	var name_options = {
		script: "/property/yacht/name",
		varname: varNames,
		json: false,
		maxresults: 35,
		callback: function(d) {
			addYachtToList();
		}
	};
	
	var as = new bsn.AutoSuggest('yacht_name', name_options);
	
	$("#yacht_name").focus(function() {
		if ($("#yacht_name").attr("value") == "Enter Yacht Name") {
			$("#yacht_name").attr("value", "");
		}
	});
	
	$("#yacht_name").blur(function() {
		if ($("#yacht_name").attr("value") == "") {
			$("#yacht_name").attr("value", "Enter Yacht Name");
		}
	});
	
	var options_yacht = {
		script: "/my/account/register/yacht",
		varname: "?name",
		json: false,
		maxresults: 35,
		callback: function(d) {
			if(checkIfYachExists(d.id)==false){
				var n=$("#template_yacht > li").clone();	
				n.attr("id","ls_"+d.id);
				n.append("<input type=\"hidden\" name=\"hfYachtList[]\" id=\"i_"+d.id+"\" value=\""+d.id+"\"  />");
				n.find("div").text(d.value);	
				n.find("a").click(function(e){	
					e.preventDefault();
					$(this).parents("li").remove();
				});
				
				$("#yachtList").append(n); 
			}
	
			/** clear value in field **/
			$("#yacht").val("");
		}
	};
	
	var as_yacht = new bsn.AutoSuggest('yacht', options_yacht);


	/** Javascript which allow to remove yacht list item created during the page load **/
	$("ul[@id='yachtList'] > li > a", $('form div.inputRow')).click(function(e){
		e.preventDefault();
		$(this).parents("li").remove();		
	});
	
	
	var length_id = $('.lengthIdRadio:selected').val();
	$('.lengthIdRadio').change(function(){
		length_id = $(this).val();
		//updateLengthList(length_id);
	});
	
	/** YACHT LIST IN SEAR BY YACHT HANDLER ------------------------------- **/
	$("#yacht_name_lookup").focus(function() {
		if ($("#yacht_name_lookup").attr("value") == "Enter Yacht Name") {
			$("#yacht_name_lookup").attr("value", "");
		}
	});
	
	$("#yacht_name_lookup").blur(function() {
		if ($("#yacht_name_lookup").attr("value") == "") {
			$("#yacht_name_lookup").attr("value", "Enter Yacht Name");
		}
	});	
	
	
	var name_options = {
		script: "/property/yacht/name",
		varname: varNames,
		json: false,
		maxresults: 35,
		callback: function (obj) { 
				$('#yacht_id').val(obj.id);
				$('#yacht_details').val(obj.info);
				//console.log(obj.info);
				addYachtToList();
				$(".searchFieldOption:first").change();
		}			
	};
	
	var as = new bsn.AutoSuggest('yacht_name_lookup', name_options);		
	
		
		
	$('#addYachtToList').click(function(e){
		e.preventDefault(); 
		e.stopPropagation(); 		
	});
	/** YACHT LIST IN SEARCH BY YACHT HANDLER ----------------------------- **/

	
});
	




/**
 * Adds a yacht to the bubble list.
 *
 * @todo refactor!
 *
 * Author: peterl
 */
function addYachtToList(){

	if($('#yacht_name_lookup').val()!='' && $('#yacht_id').val()!==''){	
		/** get list of builders id from hidden variable **/
		var yacht_id_list = $('#yacht_id_list').val().split(',');
		
		if(yacht_id_list.in_array($('#yacht_id').val())){			
			//do nothing
		}
		else{
			/** add item **/
			if(yacht_id_list[0]==''){
				yacht_id_list[0] = $('#yacht_id').val();
			}
			else{
				yacht_id_list[yacht_id_list.length] = $('#yacht_id').val();
			}
			$('#yacht_id_list').val(yacht_id_list.join(','))				
			
			/** clone template item **/
			var template_item = $('#yachtListTemplate > li').clone();
			template_item.attr('id','yacht_id_'+$('#yacht_id').val());
			property_yacht_list_element = '<div class="yachtDetails"><span class="yacht">'+$('#yacht_name_lookup').val()+' </span>'+$('#yacht_details').val()+'</div><div class="yachtControl"><a href="#" class="deleteFromYachtList">X</a></div>';
			template_item.html(property_yacht_list_element);
			$('#yachtList').append(template_item);					

			deleteFromYachtListHandler();
		}
		
		$('#yacht_name_lookup').val('');
		$('#yacht_id').val('');
	}	
}


function deleteFromYachtListHandler(){
	$('.deleteFromYachtList').click(function(e){
		var yacht_id_list = $('#yacht_id_list').val().split(',');												   
		e.preventDefault(); 
		e.stopPropagation(); 	
		/* delete item from list **/
		var yacht_id_to_remove = $(this).parents('li').attr('id').split('_')[2];
		for(var i=0; i<yacht_id_list.length;i++){
			if(yacht_id_list[i]==yacht_id_to_remove){
				 yacht_id_list.splice(i, 1);
			}
		}
		$('#yacht_id_list').val(yacht_id_list.join(','))
		$(this).parents('li').remove();
		
		refreshSearchResults();
		
	});	
}


