jQuery(document).ready(function() {
    //Partner aus den einzelnen Teasern extrahieren und fuer jeden TeaserTyp eine Liste bauen
    teaserFilterPartnerList = new Array();
    $.each(teaser_type_classes, function(index,teaserTypeClass){
       optionhelper = new Array;
       $.each($("#teasers" + teaserTypeClass + " .teaserFilterPartner"), function(index1,value1){
           var partner = $(value1).text();
           if(partner != ""){
               optionPartner = '<option value="' + partner + '">' + partner + '</option>';
               if($.inArray( optionPartner, optionhelper) == "-1"){
                  optionhelper.push(optionPartner);
               }
           }
       });
       if(optionhelper.length == 0){
          teaserFilterPartnerList[teaserTypeClass] = '';
       }else{
          teaserFilterPartnerList[teaserTypeClass] = '<option value="reset">nach Partner filtern</option>\n' + optionhelper.sort().join("\n");
       }
    });
    
	$tabs = $("#teaserliste").tabs({
    	show: function(event, ui) {
			teaserKey = $(ui.panel).attr("id").substring(7);
			$("[id^='selectTeaser']").parent().removeClass('current');
			$('#selectTeaser'+teaserKey).parent().addClass('current');
			showFilterByPartner(teaserKey);
		}
	});
	
	sortByDate("desc");
	
	$('#filterByPartner').change(function() {
	   filterByPartner($('#filterByPartner :selected').val())
	});

    $('#sortByDate').change(function() {
       sortByDate($('#sortByDate :selected').val())
    });
	
	function showFilterByPartner(teaserKey){
	   if(teaserFilterPartnerList[teaserKey] != ""){
           $("label[for='filterByPartner']").removeClass('hidden');
           $('#filterByPartner').empty().append($(teaserFilterPartnerList[teaserKey])).removeClass('hidden');
           filterByPartner('reset');
	   }else{
           $("label[for='filterByPartner']").addClass('hidden');
           $("#filterByPartner").addClass('hidden');
	   }
	}
	
	function filterByPartner($filter){
       switch ($filter) {
           case "reset":
               $("[class^='teaser_type']","#teaserliste").show();
               break;
           default:
               $("[class^='teaser_type']","#teaserliste").hide().has("span.teaserSort > var.teaserFilterPartner:contains(" + $filter + ")").show();
               $('#filterByPartner option[value=reset]').text('Alle Partner');
               break;
       }
	}

    function sortByDate($sort){
        $("[class^='teaser_type']","#teaserliste").tsort("span.teaserSort > var.teaserSortActiveFrom",{order:$sort});
        $("#sortByDate option[value='" + $sort + "']").attr('selected',true);
    }


	$("[id^='selectTeaser']").click(function() {
		teaserKey = this.id.substring(12);
		$tabs.tabs( 'select' , teaserKey );
		//return false;
	});

});

