// IE6 flicker bugfix
// http://blog.klustered.com/2008/04/08/ie6-background-flicker/
try { document.execCommand("BackgroundImageCache", false, true); } catch(err) {}

jQuery.noConflict();

percentModDone = false; // for Search
var countFocusGroups = 0;
var currentFocusGroup = 1;
var currentMoodImageNr = 0;
var moodAnimationTimeout;

var mouseX = 0;
var mouseY = 0;
var randLinks = 0;

function changeImgSrc(id,src) {
	if ( !document.getElementById(id) ) return;
	document.getElementById(id).src = src;
}

function in_array(item,arr) {
    for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
    return false;
}
function getProductCount(dropdownId) {
        
    var sLoeschmittel = jQuery("#loeschmittel option:selected").attr("value");
    var sEinsatzbereiche = jQuery("#einsatzbereiche option:selected").attr("value"); 
    var sNutzinhalte = jQuery("#nutzinhalte option:selected").attr("value");  
    var content = null; 

    jQuery("#resultCount").html("&nbsp;&nbsp;&nbsp;"); 
    
    jQuery.post("/?eID=produktassistent", {usedFunction: "changeDropdown", dropdown: dropdownId, einsatzbereiche: sEinsatzbereiche, loeschmittel: sLoeschmittel, nutzinhalte: sNutzinhalte }, 
                function(content) {
                    
                    
                    aDropdownArray = jQuery.evalJSON(content); 
                    
                    if (dropdownId == "einsatzbereiche") {
                        updateLoeschmittel(); 
                        updateNutzinhalte(); 
                    } else if (dropdownId == "loeschmittel") {
                        updateNutzinhalte(); 
                    }  
                    
                    var sNewLoeschmittel = jQuery("#loeschmittel option:selected").attr("value");
                    var sNewEinsatzbereiche = jQuery("#einsatzbereiche option:selected").attr("value"); 
                    var sNewNutzinhalte = jQuery("#nutzinhalte option:selected").attr("value");   
                     
                    jQuery.post("/?eID=produktassistent", {usedFunction: "productCount", einsatzbereiche: sNewEinsatzbereiche, loeschmittel: sNewLoeschmittel, nutzinhalte: sNewNutzinhalte }, 
                        function(content) {
                            jQuery("#resultCount").html(content);    
                        });  
                       return  jQuery("#resultCount").html(jQuery.evalJSON(content)); 
                });
    
    
   
                
    
      
}

var aDropdownArray = null; 

function changeDropdowns(dropdownId) {
    
    var sLoeschmittel = jQuery("#loeschmittel option:selected").attr("value");
    var sEinsatzbereiche = jQuery("#einsatzbereiche option:selected").attr("value"); 
    var sNutzinhalte = jQuery("#nutzinhalte option:selected").attr("value");  
    var content = null; 
    
     jQuery.post("/?eID=produktassistent", {usedFunction: "changeDropdown", dropdown: dropdownId, einsatzbereiche: sEinsatzbereiche, loeschmittel: sLoeschmittel, nutzinhalte: sNutzinhalte }, 
                function(content) {
                    aDropdownArray = jQuery.evalJSON(content); 
                    
                    if (dropdownId == "einsatzbereiche") {
                        updateLoeschmittel(); 
                        updateNutzinhalte(); 
                    } else if (dropdownId == "loeschmittel") {
                        updateNutzinhalte(); 
                    }  
                       
                });
    
            
}

function updateEinsatzbereiche() {
    jQuery("#einsatzbereiche option").each(function(){
        
        if (!in_array(jQuery(this).val(), aDropdownArray['einsatzbereiche'])) {
            if (jQuery(this).val() != "" ) jQuery(this).hide(); 
        } else {
            jQuery(this).show();
        }
        
    });
}

function updateLoeschmittel() {
    
    jQuery("#loeschmittel option").each(function(){
            jQuery(this).removeAttr("selected"); 
        });
        
    jQuery("#loeschmittel").find("option[value='']").attr("selected", "selected");
        
    jQuery("#loeschmittel").empty(); 
    jQuery("#loeschmittel_backup option").each(function(){
        
        if (in_array(jQuery(this).val(), aDropdownArray['loeschmittel']) || jQuery(this).val() == "") {

            jQuery(this).clone().appendTo("#loeschmittel"); 
        }  
    }); 
    
    
    // Alle Optionen durchlaufen
    /*jQuery("#loeschmittel option").each(function(){
    
        var currentOption = jQuery(this); 


        )
        // Wenn Das Element nicht im Array vorhanden ist, Element aus liste löschen
        if (!in_array(jQuery(this).val(), aDropdownArray['loeschmittel'])) {
            if (jQuery(this).val() != "" ) {
                //jQuery(this).hide();
                jQuery(this).remove(); 
            }
   
        } 
        // ansonsten Wert wieder einfügen
        else {
            // Wert der einzufügen ist
            var requiredValue = currentOption.val(); 
            
            // backup-Box durchlaufen und den benötigten werden in das Dropdown schreiben
            jQuery("#loeschmittel_backup option").each(function(){

                // wenn aktuelle Option dem wert entspricht, option schreiben
                if (jQuery(this).val() == requiredValue) {
                    currentOption.remove(); // Box eventuell löschen damit sie nicht doppelt drin steht. 
                    jQuery(this).clone().appendTo("#loeschmittel");    
                } 
                
                 
            }); 
            //jQuery(this).show();
        
        }
    }); */  
}

function updateNutzinhalte() {
    
    jQuery("#nutzinhalte option").each(function(){
            jQuery(this).removeAttr("selected"); 
        });
        
    jQuery("#nutzinhalte").find("option[value='']").attr("selected", "selected");
        
    jQuery("#nutzinhalte").empty(); 
    jQuery("#nutzinhalte_backup option").each(function(){
        
        if (in_array(jQuery(this).val(), aDropdownArray['nutzinhalte']) || jQuery(this).val() == "") {

            jQuery(this).clone().appendTo("#nutzinhalte"); 
        }  
    }); 
}


// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
    
    var browser=navigator.appName;
    
    jQuery("a").each(function(){

        
        
        if( jQuery(this).parents("#bookmarkPopup").size() == 0) {
        
            var address =  jQuery(this).attr("href"); 

            if (jQuery(this).attr("target") == "_blank" && address.indexOf(".pdf") == -1) {
                jQuery(this).addClass("extern"); 
            }
            
            if (browser == "Microsoft Internet Explorer") {
                jQuery(this).removeClass("extern");
                
                
                if (jQuery(this).attr("target") == "_blank" && address.indexOf(".pdf") == -1 )  {
                    
                    jQuery(this).append("<img src='/img/ext-link.gif' align='left' />");  
                }    
            }
        }; 
    });
    /*
    jQuery("#bookmarkPopup a").each(function(){
        jQuery(this).removeClass("extern"); 
        
        if (browser == "Microsoft Internet Explorer") {
            if (jQuery(this).attr("target") == "_blank") {
                jQuery(this).removeClass("extern");
                jQuery(this).remove("img");  
            }    
        }
    });    */
    
     
    /* *** Dropdown neu aufbauen, Teaser Content hinzufügen *** */

    // Dem ersten Element in der Navigation die Klasse "mega" geben
    jQuery(".dropdown:first").addClass("mega");
    jQuery(".dropdown:first .boxContent").attr("id", "megadropdowncontent");
    jQuery(".dropdown:last").addClass("last");
    jQuery("#mainnav .level1 li.last").prev("li").find(".dropdown").addClass("last");
    
    var browser=navigator.appName;
    
    // Den Elementen die Klassen odd und even zuweisen
    jQuery(".mega .level2:odd").addClass("odd");
    jQuery(".mega .level2:even").addClass("even");
    
    // Neue Spalten und Zeilen dem Megadropdown hinzufügen
    jQuery("#megadropdowncontent").append(jQuery("<div id='spalteRechts' class='spalte rechts'></div>"));  
    jQuery("#megadropdowncontent").append(jQuery("<div id='zeile1' class='zeile'></div>"));
    jQuery("#megadropdowncontent").append(jQuery("<div id='zeile2' class='zeile'></div>"));
    jQuery("#megadropdowncontent").append(jQuery("<br class='clearAll'/>"));
    
    // Ungerade und gerade Elemente den entsprechenden Zeilen zuweisen
    jQuery(".mega .level2.even").appendTo("#zeile1");
    jQuery(".mega .level2.odd").appendTo("#zeile2");
    
    if (browser == "Microsoft Internet Explorer") {
        jQuery("#zeile1 .level2").wrap("<div class='wrapper'></div>");
        jQuery("#zeile1").append("<div class='clearAll'/>");
        jQuery("#zeile2 .level2").wrap("<div class='wrapper'></div>");
        jQuery("#zeile2").append("<div class='clearAll'/>");
        jQuery("#zeile2").after("<div class='clearAll'/>"); 
        jQuery("#zeile2").css("height", "230px");             
    }
             
    // Inhalt aus dem versteckten Element der rechten Spalte hinzufügen
    jQuery("#dropdownTeaser").contents().appendTo("#spalteRechts");
    
    // Tab-Navigation Style erweitern
    jQuery("#tabNavigation a").click(function(){
        
        jQuery(this).parent().parent().find("li a").removeClass("noBorder");
        jQuery(this).parent().prev().find("a").addClass("noBorder");
    });
    
    /* *** Footer-Navigation neu aufbauen *** */
    
    var maxElements = 4; 
    jQuery("#footerNav ul li ul").each(function(){
        // Suche Listen mit mehr Elementen als maxElements
        if (jQuery(this).find("li").size() > maxElements) {
            
            // Hinzufügen einer einer Liste hinter der aktuellen
            jQuery(this).parent().after(jQuery("<li class='endOfCategory'><ul ><li style='line-height: 17px;'>&nbsp;</li></ul></li>")); 
            // Eben erstellte Liste abspeichern
            var newList = jQuery(this).parent().next();
            // Alle Elemente mit einem Index größer als maxElements werden der eben erstellten Liste hinzugefügt
            jQuery(this).find("li:nth-child("+maxElements+")").nextAll().appendTo(jQuery(newList).find("ul"));
             
             
        } else {
           // Setzen der Klasse der aktuellen Liste
           jQuery(this).parent().addClass("endOfCategory");  
        }    
    });

    // Funktionalität für Sprachauswahl
    jQuery("#langLink").click(function() {
        jQuery("#langSelect").toggle(); 
        
        // für Safari wegen onBlur-Bug
        jQuery("body").click(function(){
            jQuery("#langSelect").hide(); 
            jQuery("body").unbind("click"); 
         });
        
        return false; 
    }).blur(function() {
        jQuery("#langSelect").hide(); 
    });
     
    
     jQuery("#langSelect a").click(function() {
        jQuery("#langSelect").hide();   
     });

     // Produktübersicht Liste
     
     jQuery(".editionTable tr[class!='header']").each(function() {
        
        var sLink = jQuery(this).find("a").attr("href");
        
            jQuery(this).mouseover(function() {
                jQuery(this).addClass("hover");    
            }).mouseout(function() {
                jQuery(this).removeClass("hover");
            }).click(function(){
                
                var newLink = jQuery("base").attr("href") +  sLink; 
                window.open(newLink, '_self');  
            });
            
        });
    jQuery(".editionTable thead tr.header").each(function() {
        jQuery(this).unbind("mouseover");
        jQuery(this).unbind("mouseout");
    }); 

    // *** Funkionalität für Produkt-Finder *** 

    getProductCount(); 
    jQuery("#produktfinder select").change(function(){
        
        getProductCount(jQuery(this).attr("id")); 
    });
     /*
    jQuery("#produktfinder select option").mouseup(function(){

        changeDropdowns(jQuery(this).parents("select").attr("id")); 
    });   */
    
    jQuery("#assistantSubmit").click(function(){
        jQuery("#produktfinder").submit(); 
        return false;       
    });


     // Animation für die Teaser-Bildboxen
    jQuery(".bildboxNaviHead").mouseover( function() {
			showBildboxNavi(jQuery(this).find("a"));
	}); 
    
    jQuery(".bildboxNaviHead a").click(function(event){
        
        event.preventDefault();    
    }); 

    // Download-Boxen zusammenführen
    
    if (jQuery(".infoBox h3:contains('Downloads')").size() >=2) {
    
         var firstBox = jQuery(".infoBox h3:contains('Downloads'):first").parents(".infoBox");
        var lastBox = jQuery(".infoBox h3:contains('Downloads'):last").parents(".infoBox");
    
        lastBox.find("a").each( function(){
        
        if (jQuery(this).parent().hasClass("pdfLink")) {
            jQuery(this).addClass("pdfLink");
        }
        jQuery(this).insertAfter(firstBox.find("a:last"));   
    
        }, hideLastBox());
       
    }
    
   
    
    function hideLastBox() {
        lastBox.hide();
    }
     



	// Besondere Klassen im Mainmenu per JS setzen:
	jQuery("#mainnav #mainnavUl112").parent("li").addClass("typ2");

	moodAnimationTimeout = setTimeout( "moodAnimationHome()", 1000 );
	
	jQuery("#mainnav li").mouseover( function() {
			
            jQuery(this).find(".dropdown").show();  
            jQuery(this).find("a").addClass("activeHover");
		}).mouseleave( function() {
			jQuery(this).find(".dropdown").hide(); 
			jQuery(this).find("a").removeClass("activeHover");
	});
	
	jQuery(".toolsheadline").mouseover( function() {
		jQuery("#toolsBox .contentBG").slideUp("slow");
		if(jQuery(this).attr("class").indexOf("toolhead1") > 0 ) {
			jQuery("#box3 h3 a").removeClass("toolhead3b");
			jQuery("#box3 h3 a").addClass("toolhead3");
			jQuery("#toolsBox #box3 .boxbot").css("display","none");
		}
		if(jQuery(this).attr("class").indexOf("toolhead2") > 0 ) {
			jQuery("#box3 h3 a").removeClass("toolhead3b");
			jQuery("#box3 h3 a").addClass("toolhead3");
			jQuery("#toolsBox #box3 .boxbot").css("display","none");
		}
		if(jQuery(this).attr("class").indexOf("toolhead3") > 0 ) {
			jQuery(this).removeClass("toolhead3");
			jQuery(this).addClass("toolhead3b");
			jQuery("#toolsBox #box3 .boxbot").css("display","block");
		}
		jQuery(this).parent().parent().children("div").slideDown("slow");
	});
	
	// bookmarks
	jQuery('a#bookmarkLink').click(function(e) {
		jQuery('div#bookmarkPopup').css({
				'top' : - (jQuery('div#bookmarkPopup').height()) + 'px',
				'left':  '-20px'
			});
			jQuery('div#bookmarkPopup').toggle();
			return false;
	});
	jQuery('div#bookmarkPopupTop').click(function() {
		jQuery('div#bookmarkPopup').hide();
	});

	jQuery(".btLink a").css("padding-right","5px");
	jQuery(".btLink a").after('<img src="/img/bg-end_bt-link.gif" width="6" height="29" alt="" border="0" class="btEndpic"  />');
	jQuery(".btLink").css("display","block");
	if(jQuery.browser.msie && (jQuery.browser.version == "7.0" || jQuery.browser.version == "6.0"  ) ) {
		jQuery(".btLink").after('<br class="clearAll" />');
	}

	
	jQuery(".tx-indexedsearch-res hr:last").remove();
	// Suchergebnisse mit Bildern:
	var countSearchResults = jQuery(".tx-indexedsearch-percent").length;
	if ( !percentModDone)
	for ( var i = 0; i < countSearchResults; i++ ) {
		var percentHtml = jQuery(".tx-indexedsearch-percent").get(i).innerHTML;
		percentHtml = percentHtml.replace(/%/, ""); // %-Zeichen loeschen

		if ( percentHtml > 75 ) {
			jQuery(".tx-indexedsearch-percent").get(i).innerHTML = '<img src="/img/search_percent100.gif" alt="100%" width="35" height="10" />';
		}
		else if ( percentHtml > 50 ) {
			jQuery(".tx-indexedsearch-percent").get(i).innerHTML = '<img src="/img/search_percent75.gif" alt="75%" width="35" height="10" />';
		}
		else if ( percentHtml > 25 ) {
			jQuery(".tx-indexedsearch-percent").get(i).innerHTML = '<img src="/img/search_percent50.gif" alt="50%" width="35" height="10" />';
		}
		else {
			if ( parseInt(percentHtml) != Number.NaN ) {
				jQuery(".tx-indexedsearch-percent").get(i).innerHTML = '<img src="/img/search_percent25.gif" alt="25%" width="35" height="10" />';
			}
		}
	}
	percentModDone = true;

	// Suchbox einblenden, falls Suche ohne Parameter aufgerufen:
	if ( jQuery(".tx-indexedsearch").length >= 1 && jQuery(".tx-indexedsearch-whatis").length <= 0 ) {
		jQuery(".tx-indexedsearch-searchbox").css("display","block");
	}
	
	if(jQuery("#frameLayer")) {
		var theFrame = jQuery("#frameLayer", parent.document.body);
		theFrame.height(jQuery(document.body).height() + 30);
	}

	if ( jQuery("#body2").size() > 0 ) { // nur falls auf Startseite:
		/*
		var bildboxsectionHtml = '';
		var countMoodImages = moodImages.length;
		if ( countMoodImages > 0 ) {
			for ( var i = 0; i < countMoodImages; i++ ) {
				bildboxsectionHtml += '<a href="javascript:void(0)" onclick="selectMoodImg('+i+')">'+(i+1)+'</a>';
			}
			jQuery("#bildboxsection").html(bildboxsectionHtml);
			selectMoodImg(currentMoodImageNr);
		}
		*/
		// Focus Group Box rechts
		countFocusGroups = jQuery(".focusgroups").size();
		jQuery('#focusgroupsNavPrev').click(function() {
			changeFocusGroup(false);
		});
		jQuery('#focusgroupsNavNext').click(function() {
			changeFocusGroup(true);
		});
	}
	
	jQuery("p.videoLink a").prettyPhotoFlv({theme: 'dark_rounded', showTitle: false, flvPlayerPath: '/fileadmin/swf/flvplayer.swf', showDescription: false});
	jQuery("p.lightbox a").prettyPhotoFlv({theme: 'dark_rounded', showDescription: false});
	jQuery("p.lightbox a").prettyPhotoFlv({theme: 'dark_rounded', showDescription: false});
	jQuery("a[rel^='prettyPhoto']").prettyPhotoFlv({showTitle: false});

	
	// Flash Player mit Videos einbinden
	/*
    jQuery(".release_video").each( function() {
        var videoId = jQuery(this).attr("id");
        var videoFile = jQuery(this).attr("rel");
        
        jQuery("#"+videoId).flash({src: '/fileadmin/swf/flvplayer.swf', width: 473, height: 292, flashvars: {file: '/uploads/tx_pressreleases/'+videoFile } });//
    }); */
	
	
	jQuery().mousemove(function(e) {
			mouseX = e.pageX;
			mouseY = e.pageY;
			randLinks = parseInt(document.getElementById("stage").offsetLeft)
			//$("#mausinfo").css("left",mouseX+"px");
			//$("#mausinfo").css("top",mouseY+"px");
			//$("#mausinfo p").text(parseInt(document.getElementById("stage").offsetLeft));
		});
	
	
	
     
});

var timer;

function info(objekt,job) {
	if(job == 1) {
		jQuery(objekt).children("span").css("display","block");
		/*
		$(objekt).css("top",(mouseY-160)+"px");
		$(objekt).css("left",(mouseX-randLinks-80)+"px");		
		timer = window.setTimeout("tischinfo("+layernr+","+job+")", 100);
		*/
	}
	if(job == 0) {
		window.clearTimeout(timer);
		jQuery(objekt).children("span").css("display","none");
	}
}

function selectMoodImg(nr) {
	changeMoodLink(nr);
	jQuery('#moodLayer img').removeClass('obersteebene');
	jQuery('#moodLayer img').get(nr).addClass('obersteebene');
	window.clearTimeout(moodAnimationTimeout); // Timeout neu starten:
	moodAnimationTimeout = setTimeout( "moodAnimationHome()", 1000 );
}

function changeMoodLink(nr) {
	if ( nr >= jQuery("#moodLayer img").size() ) nr = 0;
	if ( jQuery("#bildboxsection a").size() <= 0 ) return;
	jQuery("#bildboxsection a").removeClass('act');
	jQuery("#bildboxsection a").get(nr).className = 'act';
	currentMoodImageNr = nr;
}

function moodAnimationHome() {
	var alt = jQuery('#moodLayer img.obersteebene');
	clearTimeout(moodAnimationTimeout);
	if(jQuery(alt).next().length)
		var neu = jQuery(alt).next();
	else
		var neu = jQuery('#moodLayer img:first');

	jQuery(alt).addClass('mittlereebene');
	jQuery(alt).removeClass('obersteebene');
	jQuery(neu).css({opacity: 0.0});
	jQuery(neu).addClass('obersteebene');

	jQuery(neu).animate({opacity: 1.0}, 2000, function() {
		jQuery(alt).removeClass('mittlereebene');
	});
	changeMoodLink(currentMoodImageNr+1);
	moodAnimationTimeout = setTimeout( "moodAnimationHome()", 6000 );
}

var hideElement = "";

function showBildboxNavi(objekt) {
	
    objektToShow = jQuery(objekt).parent().parent().parent();
	if(hideElement && !(hideElement.attr("id") == objektToShow.attr("id"))) {
		showhideBildbox(hideElement,false);
	}
	showhideBildbox(objektToShow,true);
}

function showhideBildbox(what,action) {
	totalheight = 158;
	if (action) {
		totalheight = 85 + what.children(".bildboxNaviHead").outerHeight() + what.children(".bildboxNaviBody").outerHeight();
		hideElement = what;
	}
	what.animate({
		height: totalheight
	},600);
}

function showAbcLetter(letter) {
	jQuery('.patientenAbcItems').hide();
	jQuery('#patientenAbcItems-'+letter).show();
}

function clear_searchbox(obj)
{
	if (obj.value == 'Suchen' || obj.value == 'Chercher' || obj.value == 'Cercare')
	{
		obj.value = "";
	}
}
