$("document").ready (function ()
{
	//
	// Autocomplete Mantis #1485
	// @author Markus Gulmann <markus.gulmann@gmail.com>
	// @since Release 2.8
	//
		  var ac = $("#mch_type_description").autocomplete('/search/search/loadmchtypedescriptionforautocomplete/format/html',
					{
					delay:1000,
					minChars:1,
					matchSubset:1,
					autoFill:false,
					maxItemsToShow:10,
//					lineSeparator:",",
//	                formatItem:formatItem,
					extraParams: {machineGroupId:function() { return $("select#machine_group_id").val(); },
			  					  machineTypeId:function() { return $("select#machine_type_id").val(); },
			  					  manufacturerId:function() { return $("select#manufacturer_id").val(); }
			   			}
					}
				);

});
$("document").ready(function()
{   
    //
    // Freitextfeld fr Hersteller standardmig ausblenden
    //
    $("#mch_manufacturer_name").hide();
    
    //
    // Button zur einfachen Suche ausblenden
    //
    $("#simpleSearch").hide();
    
    //
    // Nur 2 Unterkategorien anzeigen, daher den Rest ausblenden
    //
    $(".div_category_hide").hide();
    
    // Ausblenden Buttons verbergen
    $(".link_category_hide_all").hide();
   
    //
    // Anzeigen aller Unterpunkte einer Kategorie
    //
    $(".link_category_show_all").click(function (i) {
    	var id = $(this).attr('id').replace('show_category_','');
    	// Alle Links wieder einblenden
   // 	$(".link_category_show_all").show();
    	// Alle geffneten Unterkategorien schliessen
   // 	$(".div_category_hide").hide();
    	// Kategorie komplett anzeigen
    	$("#div_category_"+id).children().each(function (i) { $(this).show();} );
    	// Anzeigen-Button der Kategorie verbergen
    	$(this).hide();
    	$("#hide_category_"+id).show();
    	return false;
    });
    
       //
   // Ausblenden aller Unterpunkte einer Kategorie
   //
   $(".link_category_hide_all").click(function (i) {
   	var id = $(this).attr('id').replace('hide_category_','');
   	// Alle Links wieder einblenden
   	//$(".link_category_show_all").show();
   	// Alle geffneten Unterkategorien schliessen
   	//$(".div_category_hide").hide();
   	// Kategorie komplett anzeigen
   	$("#div_category_"+id).children().each(function (i) { $(this).hide();} );
   	// Anzeigen-Button der Kategorie verbergen
   	$(this).hide();
   	// Zuklappen-Button anzeigen
   	$("#show_category_"+id).show();
   	return false;
   }); 
    
});
// var exSearchFormInput = new Object();
var fromKw, toKw;

$("document").ready (function ()
{
		var list = $('select#machine_type_id optgroup');

    $('#switchDetailSearch').click(function () {
	  $("#div_detailsearch").toggle();
      $("#regionalSearchForm").hide();
   	  return false;
   });

   $('#switchRegionSearch').click(function () {
	  $("#regionalSearchForm").toggle();
      $("#div_detailsearch").hide();
   	  return false;
   });

   $("#regionalSearchForm").hide();
   $("#div_detailsearch").hide();

   $("#hide_category_all").hide();

   // Link, um alle Kategorien auszuklappen
   $('#show_category_all').click(function () {
	  $("#hide_category_all").show();
	  $('#show_category_all').hide();
   	  $(".div_category_hide").show();
   	  $('.link_category_show_all').hide();
   	  $('.link_category_hide_all').show();
   	  return false;
   });

   // Link, um alle Kategorien auszuklappen
   $('#hide_category_all').click(function () {
	  $("#hide_category_all").hide();
	  $("#show_category_all").show();
   	  $(".div_category_hide").hide();
   	  $('.link_category_show_all').show();
   	  $('.link_category_hide_all').hide();
   	  return false;
   });

  //
  // Kategoriewechsel
  //
  $("#machine_type_id").change (function ()
  {
		var value = $(this).val();
	if(value > 0)
	{
		$.get("/default/index/checkmachinetypeforps",
					{ machineTypeId: value },
				    function(responseData){
						if(responseData.hasAttributePs == true)
						{
							$.get ("/search/search/loadenginepowerinputs/", function (response)
							{
								$('#exSearchForm').show();
								$('#exSearchForm').html(response);
								/**
								 * Methoden zur Umrechnung der Motorleistung
								 */
								$("input#424_min").change(KWtoPS);
								$("input#424_min").val(fromKw);
								$("input#424_min").trigger('change');
								$("input#424_max").change(KWtoPS);
								$("input#424_max").val(toKw);
								$("input#424_max").trigger('change');
								$("input#PS_min").change(PStoKW);
								// $("input#PS_min").val(fromPs);
								$("input#PS_max").change(PStoKW);
								// $("input#PS_max").val(toPs);
							});
						}

					}
				);
	}
    $(this).css ('background-color', '#FFFFFF');

   	 //Button zur einfachen suche ausblenden
   	 //$("#simpleSearch").hide();
   	 // Button zur erweiterten Suche einblenden
   	 //$("#exSearch").show();

   	 if ($("#exSearchForm").children().length) {
   	    // Elemente des erweiterten Suchformulars löschen
   	 	$("#exSearchForm").children().each(function (i)
     	{
     		$(this).remove();
     	});
     	loadexSearchForm();
   	 }

   	 // Erweitertes Suchformular ausblenden
     // $("#exSearchForm").hide();

     // Gruppe zur Kategorie vorselektieren
     var category = $(this).find("option:selected").parent().attr("label");
     $("#machine_group_id option[label='" + category + "']").attr("selected","selected");
/*val(category);*/

     // Einschränkung der Herstellerliste
     if ($(this).val() > 0 ) {
     	load_items($(this).val(),"type_id");
     }
     else {
     	load_items($("#machine_group_id").val(),"group_id");
     }
  });

  //
  // Herstellerwechsel
  //
  $("#manufacturer_id").livequery('change',
        function()
        {
            if($(this).val() == 0)
            {
                // Freitextfeld für Herstellersuche
                $("#mch_manufacturer_name").show();
            }
            else
            {
                $("#mch_manufacturer_name").hide();
            }
        }
    );


   //
   // Gruppenwechsel
   //
   $("#machine_group_id").change(function()
       {
            if($(this).val() > 0)
            {
            	var maschinentyp = this.options[this.selectedIndex].text;
            	            	list.appendTo('select#machine_type_id');
            	$.each(list, function(i,item) {
                	if(!isNaN(parseInt(i)))
                	{
            			if(item.label != maschinentyp)
            			{
            				//der "delete obj.property" Ansatz kann nicht funktionieren, weil DOM Objekte Readonly sind.
            				//Daher muss der Zugriff ueber DOM erfolgen
            				$("#machine_type_id optgroup[label=\""+ item.label +"\"]").remove();
            			}
                	}
                });
            }
            else
            {
            	list.appendTo('select#machine_type_id');
            }
            $("option:first", "#machine_type_id").attr("selected","selected");

            if ($("#exSearchForm").children().length) {
			   	    // Elemente des erweiterten Suchformulars löschen
			   	 	$("#exSearchForm").children().each(function (i)
			     	{
			     		$(this).remove();
			     	});
		     		$('#exSearch').show();
		     		$('#simpleSearch').hide();
            }

            load_items($(this).val(),"group_id");
        }
    );

  //
  // Aufruf der erweiterten Suche
  //
  $("#exSearch").click (function ()
  {
    if ($("#machine_type_id").val() < 1)
    {
      alert ("Моля първо изберете една категория!");

      $("#machine_type_id").css('background-color', '#FFAAAA')
        .fadeOut("slow").fadeIn("fast");

      return false;
    }

	loadexSearchForm();

    return false;
  });


   $("#simpleSearch").click(function ()
   {
   	 //Button zur einfachen suche ausblenden
   	 $("#simpleSearch").hide();
   	 // Button zur erweiterten Suche einblenden
   	 $("#exSearch").show();

   	 // Elemente des erweiterten Suchformulars löschen
   	 $("#exSearchForm").children().each(function (i)
     	{ $(this).remove();
     });

     // Erweitertes Suchformular ausblenden
     $("#exSearchForm").hide();
     return false;
   });

	$('#btnQuickSearch').click(function()
		{

            if ($("#machine_group_id").val() < 1 && $("#mch_type_description").val() == "")
		    {
		      alert ("[bg] - Bitte erst eine Gruppe auswählen!");

		      $("#machine_group_id").css('background-color', '#FFAAAA')
		        .fadeOut("slow").fadeIn("fast");

		      return false;
		    }
		});




});

function loadexSearchForm () {
    var type_id = $("#machine_type_id").val();

    $.ajax({
        url: '/search/search/attributes/',
        data: "type_id="+type_id,
        success: function(response) {
            $('#exSearchForm').show();
      $('#exSearchForm').html(response);
      $('#simpleSearch').show();
      $('#exSearch').hide();

      	   $("input#424_min").change(KWtoPS);
	   $("input#424_min").val(fromKw);
	   $("input#424_min").trigger('change');
	   $("input#424_max").change(KWtoPS);
	   $("input#424_max").val(toKw);
	   $("input#424_max").trigger('change');
	   $("input#PS_min").change(PStoKW);
	   $("input#PS_max").change(PStoKW);
        },
        dataType: 'html'
    });
}

// Nachladen der Herstellerliste
function load_items(type_id, param)
    {
		$("#manufacturer_id").attr("disabled","disabled");
        var url = "/search/search/manufacturerlist/" + param + "/" + type_id;
        $.get(url,
                function(data,textType)
                    {
                        $("#manufacturer_id_td").html(data);
                        //$("#manufacturer_id").removeAttr("disabled");
                    });
    }

  function PStoKW () {
		PS =parseInt($(this).attr('value'));

		if (isNaN(PS))
		{
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#424_min").attr('value','');
				$("input#424_min").attr('value',$(this).attr('id').indexOf('min'));
			}
			else
			{
				$("input#424_max").attr('value','');
			}
			$(this).attr('value','');
		}
		else
		{
			var kWUmrechnung = 0.73549875;
			var kW = (PS * kWUmrechnung).toFixed(0);
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#424_min").attr('value',kW);
				fromKw = kW;
			}
			else
			{
				$("input#424_max").attr('value',kW);
				toKw = kW;
			}
		}
	}


	function KWtoPS (){
		var kW = parseInt($(this).attr('value'));
		if (isNaN(kW))
		{
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#PS_min").attr('value','');
			}
			else
			{
				$("input#PS_max").attr('value','');
			}
			$(this).attr ('value', '');
		}
		else
		{
			var PSUmrechnung = 1.3596216;
			var PS = (kW * PSUmrechnung).toFixed(0);
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#PS_min").attr('value',PS);
				fromKw = kW;
			}
			else
			{
				$("input#PS_max").attr('value',PS);
				toKw = kW;
			}
		}
	}


	function KWtoHP (){
		var kW = parseInt($(this).attr('value'));
		if (isNaN(kW))
		{
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#PS_min").attr('value','');
			}
			else
			{
				$("input#PS_max").attr('value','');
			}
			$(this).attr ('value', '');
		}
		else
		{
			var PSUmrechnung = 1.341022;
			var PS = (kW * PSUmrechnung).toFixed(0);
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#PS_min").attr('value',PS);
				fromKw = kW;
			}
			else
			{
				$("input#PS_max").attr('value',PS);
				toKw = kW;
			}
		}
	}

          function HPtoKW () {
		PS =parseInt($(this).attr('value'));

		if (isNaN(PS))
		{
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#424_min").attr('value','');
				$("input#424_min").attr('value',$(this).attr('id').indexOf('min'));
			}
			else
			{
				$("input#424_max").attr('value','');
			}
			$(this).attr('value','');
		}
		else
		{
			var kWUmrechnung = 0.745700;
			var kW = (PS * kWUmrechnung).toFixed(0);
			if($(this).attr('id').indexOf('min') > 0) {
				$("input#424_min").attr('value',kW);
				fromKw = kW;
			}
			else
			{
				$("input#424_max").attr('value',kW);
				toKw = kW;
			}
		}
	}


