function setLocation(url,target){
	if($("#formThickboxList").length > 0) {
		$("#formThickboxList").attr("action",url);
		$("#formThickboxList").submit();
	} else {
		if(target && target == "_blank") {
			window.open(url);
		}
		else {
			window.location.href = url;
		}
	}
}

// Funktion wird von Autocomplete aufgerufen
// Location zum Such-Treffer
function findValue(li) {
	if( li == null ) return alert("No match!");
	if( !!li.extra ) {
		var sValue = li.extra[0];
	}
	else {
		var sValue = li.selectValue;
	}
	if(sValue.substring(0,6) == "blank:") {
		sValue = sValue.substring(6);
		window.open(sValue,"");
	}
	else if(sValue.substring(0,9) == "/buecher/" || sValue.substring(0,9) == "/autoren/") {
		$.fn.colorbox({
			 iframe: true
			,href: function () { 
			 	var url = sValue;
				// URL Parameter "colorbox" hinzufügen
				var arrURL = url.split("?");
				var strLeft  = arrURL.length > 0 ? arrURL[0] : "";
				var strRight = arrURL.length > 1 ? arrURL[1] : "";
				var arrRight = strRight.split("&");
				var boolAdd  = true;
				for(var i=0;i<arrRight.length;i++) {
					if(arrRight[i].substr(0,8) == "colorbox") {
						boolAdd = false;
					}
				} 
				if(boolAdd == true) {
					arrRight.push("colorbox=true");
				}
				
				var query_string = arrRight.join("&");
				
				if(query_string.substr(0,1) == "&") {
					query_string = query_string.substr(1,query_string.length);
				}
				
				url = strLeft + "?" + query_string;
				
				// Fertig - return
				return url;
			 }
			,innerWidth: 824
			,innerHeight: 539
			,opacity: 0.7
		});
	}
	else {
		setLocation(sValue);
	}
}
// DTV V0.4  08-12-2008
$(document).ready(function(){
    $('.jcarousel-next,.jcarousel-prev, #s_nav_main, #s_themen_menu').click(function(){
        $("#cluetip-close").click();
    });

    //Autocomplete
    $("#input_suche").autocomplete(
        "/_ajax/search_autocomplete.cfm",
        {
             minChars: 4,
             delay: 100,
             width: 172,
             cacheLength: -1,
             onItemSelect: function(li) { findValue(li); },
             onFindValue: findValue
        }
    );
    
    $("#input_newsletter").click(function(){
        if ($(this).val() == 'Deine E-Mail Adresse') {
            $(this).val('');
        }
    });

    //Verlagsprogramme
    $('#m_verlagsprogramme ul').superfish({
        autoArrows: false, 
        animation: { top: '-40px', opacity:'show' },
        delay: 1200,
        speed: 'slow',
        onHide: function(){ $(this).css( 'top', '0px'); }           
    }); 
    
    //#s_nav_main: Autoren, Bücher, magazin - fly out menu
    $("#s_nav_main").superfish({
        autoArrows: false, 
        animation: { left: '-197px', height: '90px', opacity:'show', width: 'show' }, 
        delay: 1200,
        speed: 'fast',
        onHide: function(){ $(this).css( 'left', '0px'); }
    });
    
    //Portale
    $('#s_nav_sub').superfish({
        autoArrows: false, 
        animation: { left: '-217px', height: '60px', opacity:'show', width: 'show' }, 
        delay: 1200,
        speed: 'fast',
        onHide: function(){ $(this).css( 'left', '0px'); }          
    });
    
/*
    // m_header flash banner
    $('#m_header').flash({
        src: 'themes/kinderbuch/flash/header.swf',
        width: 720,
        height: 300,
        wmode: 'transparent'
    }); 
*/
    
   /* //s_themen menu
    $("#s_themen_menu").accordion({
        header: 'div.h2',
        //selectedClass: 'open',
        event: 'click',
        autoHeight: false,
        active: false,
        alwaysOpen: false
    });*/

    //$("#s_themen_menu").accordion( 'activate' , 1);
    
    /* Targets */
    $("a.external").attr("target","_blank");
    
    $("div.matrix-cover").each(function() {
        var $div = $(this);
        var $a = $div.children("a");  
        var $img = $a.children("img");
        if(jQuery.trim($img.css("height")) != "" && $a.length > 0) {
            var height = parseInt($img.height());
            if(height < 175) {
                var padding = (175 - height) + "px";
                $a.css("padding-top",padding);
            }
            
        }
    }); 

    /* #############################################################
     * ################ WH Tooltips - BR 16-10-2009 ################
     * #############################################################
     */
	initTooltips();
	
	// Suche Leeren Button für Erweitere Suche soll auch die WH-Dropdowns resetten
	// KM 10.03.2010
	$("input.button-suchen-leeren").click(function () {
		// Themen
		$("div.jquery-wh-dropdown input[name=f_thema]")
		.val("0")
		.parent("div.jquery-wh-dropdown")
		.find("div.jquery-wh-select span.jquery-wh-caption")
		.html("- nichts ausgew&auml;hlt -");
		// Lesealter
		$("div.jquery-wh-dropdown input[name=f_alter]")
		.val("0")
		.parent("div.jquery-wh-dropdown")
		.find("div.jquery-wh-select span.jquery-wh-caption")
		.html("- nichts ausgew&auml;hlt -");
		// Reihen
		$("div.jquery-wh-dropdown input[name=f_reihen]")
		.val("0")
		.parent("div.jquery-wh-dropdown")
		.find("div.jquery-wh-select span.jquery-wh-caption")
		.html("- nichts ausgew&auml;hlt -");
	});
	
	// PDF Links mit Google Analytics Tracken
	// KM 18.03.2010
	$("a").each(function() {
		var href = $(this).attr("href") || "";
		if(href.indexOf(".pdf") != -1) {
			$(this).bind("click",function() {
				if(pageTracker) {
					pageTracker._trackPageview(this.href); 
				}
			});
		}
	});
	
	// 2010-01-12 KM: Tapeten
	setTapetenLinks();
	setTapete();
	
	// Colorbox
	$(".thickbox, .thickbox-custom").colorbox({
		 href: function () { 
		 	var url = $(this).attr("href");
			// URL Parameter "colorbox" hinzufügen
			var arrURL = url.split("?");
			var strLeft  = arrURL.length > 0 ? arrURL[0] : "";
			var strRight = arrURL.length > 1 ? arrURL[1] : "";
			var arrRight = strRight.split("&");
			var boolAdd  = true;
			for(var i=0;i<arrRight.length;i++) {
				if(arrRight[i].substr(0,8) == "colorbox") {
					boolAdd = false;
				}
			} 
			if(boolAdd == true) {
				arrRight.push("colorbox=true");
			}
			
			var query_string = arrRight.join("&");
			
			if(query_string.substr(0,1) == "&") {
				query_string = query_string.substr(1,query_string.length);
			}
			
			url = strLeft + "?" + query_string;
			
			// Fertig - return
			return url;
		 }
		,iframe: true
		,innerWidth: 824
		,innerHeight: 539
		//,onLoad: function () { $("#colorbox").addClass("custom"); }
		,opacity: 0.7
	});
});


function initTooltips(){
	   $(".cluetips").unbind();
	   $(".cluetip").unbind();
	   
       $(".cluetips").hoverIntent({
        over: function(){
            //Cover Mouseover
            $(this).addClass('mouseover');
            
            //Benötigte Elemente "Sammeln"
            nexttip = $('#' + $(this).attr('rel'));
            maincontainer = $(this).parents('.main_container');
            
            cell = $(this).parents('.cell');
            tiptyp = "matrix";
            
            if(cell.length == 0){
                //Positionen für Slider statt für Matrix ermitteln
                cell = $(this).parents('.jcarousel-item');
                tiptyp = "slider";               
            }     
            
            if (cell.length == 0) {
                //Positionen für Text statt für Slider ermitteln
                cell = $(this).parents('.sidebar_image');
                tiptyp = "text";      
            }
            
            if(tiptyp == "matrix"){
                row = $(this).parents('.row');
                plus_x = 0;
                plus_y = 0;
            }else if(tiptyp == "slider"){
                row = $(this).parents('.slider');
                plus_x = 40 + $(this).parents('.jcarousel-list').position().left;
                plus_y = 0;
            }else if(tiptyp == "text"){
                row = $(this).parents('.text_images');
                plus_x = 10;
                plus_y = 0;
            }
                     
            //Wenn das nächste Tooltip nicht sichtbar ist, erstmal alle nicht sichtbar machen
            if (nexttip.is(':hidden')) {
                $('.cluetip').hide();
            }
             
            //Offsets berechnen     
            cellpos = cell.position().left;
            leftoffset = cellpos + cell.width() + plus_x - 10;  
            rightoffset = cellpos - nexttip.width() + plus_x - 30;
            topoffset = row.position().top + plus_y + 40;
                    
            nexttip.show();
            
            //Überschneidet das Tooltip den Contentbereich?
            if((leftoffset + nexttip.width()) > maincontainer.width()){
                //Ja tut es -->  cluetip auf der linken seite anzeigen
                nexttip.addClass('cluetip-right');
                nexttip.css('left', rightoffset);
            }else{
                //Nein, Cluetip normal anzeigen
                nexttip.removeClass('cluetip-right');
                nexttip.css('left', leftoffset);
            }
            
            nexttip.css('top', topoffset);      
            
        }
        ,out: function(){
            //Cover Mouseout
            nexttip = $('#' + $(this).attr('rel'));
            
            $(this).removeClass('mouseover');
            if(!(nexttip.hasClass('mouseover'))){ //Verhindert Close, wenn Mauszeiger über Tooltip
              nexttip.hide();  
            }       
        }
        ,timeout: 500
        ,interval: 50   
        ,sensitivity: 3 
    });
    

    $(".cluetip").hoverIntent({
        over: function(){
                //Tooltip Mouseover
                $(this).addClass('mouseover');
        }
        ,out: function(){
                //Cover Mouseout
                $(this).removeClass('mouseover');
                id = $(this).attr('id');
                coverid = '#cover'+id.substring(id.indexOf('_'));
                if(!($(coverid).hasClass('mouseover'))){ //Verhindert Close, wenn Mauszeiger wieder über Cover
                   $(this).hide();
                }
        }
        ,timeout: 500
        ,interval: 1   
        ,sensitivity: 1 
    });
}

function closetooltip(id){
	$("#tooltip_"+id).hide();	
}

function titellistePopup(page_id,widget_id,lang,sort,alpha,suche){
	if($("#thickbox_vars_"+widget_id).length > 0) {
		//tb_show("","/list/titel.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+"&f_alpha_"+widget_id+"="+alpha+"&f_suche_"+widget_id+"="+suche+"&TB_iframe=true&height=500&width=720",null);
		$.fn.colorbox({
			href:"/list/titel.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+"&f_alpha_"+widget_id+"="+alpha+"&f_suche_"+widget_id+"="+suche
			,iframe: true
			,innerWidth: 824
			,innerHeight: 539
			,opacity: 0.7
		});
	}
}

function autorenlistePopup(page_id,widget_id,lang,sort,alpha){
	if($("#thickbox_vars_"+widget_id).length > 0) {
		//tb_show("","/list/autoren.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+"&f_alpha_"+widget_id+"="+alpha+"&TB_iframe=true&height=500&width=720",null);
		$.fn.colorbox({
			href:"/list/autoren.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+"&f_alpha_"+widget_id+"="+alpha
			,iframe: true
			,innerWidth: 824
			,innerHeight: 539
			,opacity: 0.7
		});
	}
}

function themenlistePopup(page_id,widget_id,lang,sort){
	if($("#thickbox_vars_"+widget_id).length > 0) {
		//tb_show("","/list/themen.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+"&TB_iframe=true&height=500&width=720",null);
		$.fn.colorbox({
			href:"/list/themen.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort
			,iframe: true
			,innerWidth: 824
			,innerHeight: 539
			,opacity: 0.7
		});
	}
}

function speciallistePopup(page_id,widget_id,lang,sort){
	if($("#thickbox_vars_"+widget_id).length > 0) {
		//tb_show("","/list/specials.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+"&TB_iframe=true&height=500&width=720",null);
		$.fn.colorbox({
			href:"/list/veranstaltungen.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+anker
			,iframe: true
			,innerWidth: 824
			,innerHeight: 539
			,opacity: 0.7
		});
	}
}

function veranstaltungslistePopup(page_id,widget_id,lang,sort,anker){
	if($("#thickbox_vars_"+widget_id).length > 0) {
		//tb_show("","/list/veranstaltungen.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+anker+"&TB_iframe=true&height=500&width=720",null);
		$.fn.colorbox({
			href:"/list/veranstaltungen.html?page_id="+page_id+"&lang="+lang+"&widget_id="+widget_id+"&f_sort_"+widget_id+"="+sort+anker
			,iframe: true
			,innerWidth: 824
			,innerHeight: 539
			,opacity: 0.7
		});
	}
}

function quickserach() {
	window.location.href = "/suche.html?value_s=" + $("#input_suche").val() + "&value_alter=" + $("#field_value_alter").val() + "&value_geschlecht=" + $("#field_value_geschlecht").val() + "&value_themen=" + $("#field_value_themen").val();
}

function checkForm() {
	var allowSubmit = true;
	var errors = 0;
	for(var i=0;i<requiredFieldsArray.length;i++) {
		var fieldName = requiredFieldsArray[i];
		if(jQuery.trim($("input[name=" + fieldName + "], textarea[name=" + fieldName + "]").val()) == "") {
			$("input[name=" + fieldName + "], textarea[name=" + fieldName + "]").css("border-color","#ffa4a6");
			allowSubmit = false;
			errors++;
		}
	}
	if(errors > 0) {
		alert("Bitte überprüfe die markierten Felder.");
	}
	return allowSubmit;
}

function decryptThis(s) {
	var n=0;
	var r="";
	for(var i=0;i<s.length;i++) { 
		n=s.charCodeAt(i); 
		if (n>=8364) {n = 128;}
		r += String.fromCharCode(n-(2)); 
	}
	return r;
}

function decrypt_mail(element, email, params) {
	if (!params) var params = '';
	element.href = 'mailto:' + decryptThis(email) + params;
}

function dM(element,mail) {
	return decrypt_mail(element,mail);
}

function init_cluetips() {
	$('a.cluetips').cluetip({
	    local: true
	   ,width: '370px'
	   ,arrows: true
	   ,positionBy: 'fixed'
	   ,mouseOutClose: true
	   ,dropShadow: false
	   ,closeText: ''
	   ,sticky: true
	   ,onActivate: function ($a) {
			return true;
	   	}
	});
}

/* Copyright (c) 2006 Mathias Bank (http://www.mathias-bank.de)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * Thanks to Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 */
jQuery.extend({
/**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* @example value = $.getURLParam("paramName");
*/ 
	 getURLParam: function(strParamName){
		var strReturn = "";
		var strHref = window.location.href;
		var bFound=false;
		
		var cmpstring = strParamName + "=";
		var cmplen = cmpstring.length;
		
		if ( strHref.indexOf("?") > -1 ){
			var strQueryString = strHref.substr(strHref.indexOf("?")+1);
			// kill hash by CR, 16.09.09
			if (window.location.hash != '') {
				strQueryString = strQueryString.replace(window.location.hash,"");
			}
			// kill hash END
			var aQueryString = strQueryString.split("&");
			for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
				if (aQueryString[iParam].substr(0,cmplen)==cmpstring){
					var aParam = aQueryString[iParam].split("=");
					strReturn = aParam[1];
					bFound=true;
					break;
				}
				
			}
		}
		if (bFound==false) return null;
		return strReturn;
	}
});

/**
 * 2010-01-12 KM: Tapeten
 */

var tapeten = [];
tapeten["yellow"] = "dtvkids_yellow.gif";
tapeten["rosa"]   = "dtvkids_rosa.gif";
tapeten["katzen"] = "dtvkinder_katzen.gif";
tapeten["pferde"] = "dtvkinder_pferde.gif";
tapeten["herzen"] = "dtvkinder_herzen.gif";
tapeten["tiger"]  = "dtvkinder_tiger.jpg";

function setTapetenLinks() {
	$("#tapeten div").bind("click",function(e) {
		if($(this).attr("id") == "tapeten_dtvde") {
			setLocation("http://www.dtv.de","_blank");
		}
		else if($(this).attr("id") == "tapeten_dtvjugendbuch") {
			setLocation("http://www.dtv-dasjungebuch.de","_blank");
		}
		else if($(this).attr("id") != "tapeten-blink") {
			var tapete = $(this).attr("id").replace("tapeten_","");
			setTapete(tapete);
		}
	});
}

function setTapete(tapete) {
	// Tapete aus Cookie laden oder Default
	if(!tapete) {
		tapete = $.cookie("tapete") || "rosa";
	}
	// Cookie setzen, wenn Änderung
	else {
		$.cookie("tapete",tapete,{expires: 999});
	}
	// Background ändern
	$("body").css("background-image","url('/themes/kinderbuch/images/tapeten/" + tapeten[tapete] + "')");
}

/**
 * Funktionen für das Suchfeld im Bücherautomat
 */
function searchFieldOnClick() {
	if(jQuery.trim($("#input_suche").val()) == "Suchbegriff") {
		$("#input_suche").val("");
	}
}

function searchFieldOnBlur() {
	if(jQuery.trim($("#input_suche").val()) == "") {
		$("#input_suche").val("Suchbegriff");
	}
	else {
	
	}
	// Suchfeld in Ergebnisliste angleichen
	$("input[name=filter_suchbegriff]").val($("#input_suche").val());
}

function searchFieldOnSubmit() {
	var suche_erlauben = false;
	// Hat der Benutzer etwas ins Suchfeld eingetragen ?
	if(jQuery.trim($("#input_suche").val()) != "Suchbegriff" && jQuery.trim($("#input_suche").val()) != "") {
		suche_erlauben = true;
	}
	// Hat der Benutzer ein Alter ausgewählt ?
	if(jQuery.trim($("#field_value_alter").val()) != "egal") {
		suche_erlauben = true;
	}
	// Hat der Benutzer gewählt ob er Mädchen- oder Jungs-Bücher will ?
	if((jQuery.trim($("#field_value_geschlecht").val()) != "2") && (jQuery.trim($("#field_value_geschlecht").val()) != "egal")) {
		suche_erlauben = true;
	}
	// Hat der Benutzer Themen ausgewählt ?
	if((jQuery.trim($("#field_value_themen").val()) != "") && (jQuery.trim($("#field_value_themen").val()) != "egal")) {
		suche_erlauben = true;
	}
	// Suche erlauben oder nicht (true || false)
	if(suche_erlauben == false) {
		alert("Bitte gib deine Buchwünsche (Alter, eher für Mädchen/Jungs, Themen) oder ein Suchwort ein.");
	}
	return suche_erlauben;
}

/**
 * Funktionen für das Newsletterfeld im Bücherautomat
 */
function newsletterFieldOnClick() {
	if(jQuery.trim($("#input_newsletter").val()) == "Deine E-Mail Adresse") {
		$("#input_newsletter").val("");
	}
}

function newsletterFieldOnBlur() {
	if(jQuery.trim($("#input_newsletter").val()) == "") {
		$("#input_newsletter").val("Deine E-Mail Adresse");
	}
}

function expandReviewList(dtvnr,titel,gaestebuch, special_theme) {
	if(!gaestebuch) gaestebuch = false;
	$("#titel_leserstimmenliste").append("<div class='leserstimmenliste liste' id='titel_leserstimmenliste_loader'><div class='spalte1'></div><div class='spalte2' style='text-align: center;'><img src='/themes/jugendbuch/images/ajax-loader.gif' alt='...' /></div></div>");
	$.ajax({
		 url:		"/_ajax/get_leserstimmen.cfm"
		,type:		"get"
		,data:		{ dtvnr: dtvnr, titel: titel, type: (gaestebuch == true ? "gaestebuch" : "normal"), special_theme: special_theme }
		,dataType: 	"html"
		,success:   function(data,status) {
			$("#titel_leserstimmenliste_loader").remove();
			$("#titel_leserstimmenliste").html(data);
			$("#titel_leserstimmenliste_mehr").remove();
		 }
		,error:		function() {
			$("#titel_leserstimmenliste").append("Fehler beim Laden der Leserstimmen.");
			$("#titel_leserstimmenliste_loader").remove();
			$("#titel_leserstimmenliste_mehr").remove();
		}
	});
}
