var back = 0;

jQuery(document).ready(function() {
	//if ( document.getElementById('prodDetail')!=null ){
	 initDesign();
	//}
	
// ifixpng init
	//jQuery.ifixpng('/eventim.webshop/images/pixel.gif');
	//jQuery("img, li.language a, li.cart a, span.cart, span.countdown, b.cart, b.secure, dl.info dt, dl.ssl dt").ifixpng();

// Language select
	jQuery("ul#metaNav li.language").click(function() {
		jQuery("ul#languageNav").fadeIn("slow");
	});
	jQuery("ul#languageNav").click(function() {
		jQuery("ul#languageNav").fadeOut("slow");
	});

// Language select neu
	jQuery("#shopheader #metaNavigation ul li.language").click(function() {
		jQuery("ul#languageNavigation").fadeIn("slow");
	});
	jQuery("ul#languageNavigation").click(function() {
		jQuery("ul#languageNavigation").fadeOut("slow");
	});
	
// Event list filter extended search

	jQuery("#eventList form a.extended").click(function() {
		jQuery("#eventList form fieldset.extendedSearch").slideToggle("slow");
		jQuery(this).toggleClass("current");
	});


	
// Event list filter weekdays update
	jQuery("#eventList form div.weekdays input.checkbox").change(function() {
		jQuery("#eventList form button.update").fadeIn("slow");
	});

// Event list background change
	jQuery("div.calendar li").mouseover(function() {
		jQuery(this).addClass("highlight");
	});
	jQuery("div.calendar li").mouseout(function() {
		jQuery(this).removeClass("highlight");
	});



// Event list open panoramalink
	jQuery("div.calendar span.panorama3DButton").click(function() {
		var link = this.getElementsByTagName("a")[0];
			if(!link.onclick) location.href=link.href;
			else {
				link.onclick();
			}
	});
	
	// Event list open links
	//jQuery("div.calendar li").click(function() {
	jQuery("div.calendar span.button").click(function() {
		var link = this.getElementsByTagName("a")[0];
			if(!link.onclick) location.href=link.href;
			else {
				link.onclick();
			}
	});
	
// Datepicker
	jQuery(function() {
    if ( document.getElementById('datepicker')!=null){
			jQuery("#datepicker").datepicker();
			try{  
			  jQuery.datepicker.setDefaults($.datepicker.regional['de']);
			}catch (e){}
	}
	});

// Login client with customer number
	jQuery("#process form a.customer").click(function() {
		jQuery("#process form div.formgroup.customer").slideToggle("slow");
		jQuery(this).toggleClass("current");
	});

// Exception details extended

jQuery("#exception a.extended").click(function() {
	jQuery("#exception fieldset.extendedException").slideToggle("slow");
	jQuery(this).toggleClass("current");
});

//Entry  new password extended
jQuery("#newPassword a.extended").click(function() {
	jQuery("#newPassword fieldset.extendedPassword").slideToggle("slow");
	jQuery(this).toggleClass("current");
});

	
	//Payment toggle
	jQuery("#process form#payment input#creditcard").click(function() {
		jQuery("#process form#payment div.formgroup.creditcard").slideToggle("slow");
		jQuery("#process form#payment div.formgroup.directdebit").hide("slow");
		jQuery("#process form#payment div.formgroup.cash").hide("slow");
		jQuery("#process form#payment div.formgroup.wallet").hide("slow");
		jQuery("#process form#payment div.formgroup.reservation").hide("slow");
		jQuery("#process form#payment h3.payment").removeClass("payment");
		jQuery("#process form#payment div.buttons.closed").removeClass("closed");
		jQuery("#process form#payment fieldset.creditcard").toggleClass("closed");
		jQuery("#process form#payment fieldset.cash").addClass("closed");
		jQuery("#process form#payment fieldset.directdebit").addClass("closed");
		jQuery("#process form#payment fieldset.wallet").addClass("closed");
		jQuery("#process form#payment fieldset.reservation").addClass("closed");
	});
	jQuery("#process form#payment input#directdebit").click(function() {
		jQuery("#process form#payment div.formgroup.directdebit").slideToggle("slow");
		jQuery("#process form#payment div.formgroup.cash").hide("slow");
		jQuery("#process form#payment div.formgroup.creditcard").hide("slow");
		jQuery("#process form#payment div.formgroup.wallet").hide("slow");
		jQuery("#process form#payment div.formgroup.reservation").hide("slow");
		jQuery("#process form#payment h3.payment").removeClass("payment");
		jQuery("#process form#payment div.buttons.closed").removeClass("closed");
		jQuery("#process form#payment fieldset.directdebit").toggleClass("closed");
		jQuery("#process form#payment fieldset.cash").addClass("closed");
		jQuery("#process form#payment fieldset.creditcard").addClass("closed");
		jQuery("#process form#payment fieldset.wallet").addClass("closed");
		jQuery("#process form#payment fieldset.reservation").addClass("closed");
	});
	jQuery("#process form#payment input#reservation").click(function() {
		jQuery("#process form#payment div.formgroup.reservation").slideToggle("slow");
		jQuery("#process form#payment div.formgroup.directdebit").hide("slow");
		jQuery("#process form#payment div.formgroup.creditcard").hide("slow");
		jQuery("#process form#payment div.formgroup.wallet").hide("slow");
		jQuery("#process form#payment h3.payment").removeClass("payment");
		jQuery("#process form#payment div.buttons.closed").removeClass("closed");
		jQuery("#process form#payment fieldset.reservation").toggleClass("closed");
		jQuery("#process form#payment fieldset.cash").addClass("closed");
		jQuery("#process form#payment fieldset.directdebit").addClass("closed");
		jQuery("#process form#payment fieldset.creditcard").addClass("closed");
		jQuery("#process form#payment fieldset.wallet").addClass("closed");
	});
	jQuery("#process form#payment input#cash").click(function() {
		jQuery("#process form#payment div.formgroup.cash").slideToggle("slow");
		jQuery("#process form#payment div.formgroup.reservation").hide("slow");
		jQuery("#process form#payment div.formgroup.directdebit").hide("slow");
		jQuery("#process form#payment div.formgroup.creditcard").hide("slow");
		jQuery("#process form#payment div.formgroup.wallet").hide("slow");
		jQuery("#process form#payment h3.payment").removeClass("payment");
		jQuery("#process form#payment div.buttons.closed").removeClass("closed");
		jQuery("#process form#payment fieldset.cash").toggleClass("closed");
		jQuery("#process form#payment fieldset.reservation").addClass("closed");
		jQuery("#process form#payment fieldset.directdebit").addClass("closed");
		jQuery("#process form#payment fieldset.creditcard").addClass("closed");
		jQuery("#process form#payment fieldset.wallet").addClass("closed");
	});
	jQuery("#process form#payment input#wallet").click(function() {
		jQuery("#process form#payment div.formgroup.wallet").slideToggle("slow");
		jQuery("#process form#payment div.formgroup.directdebit").hide("slow");
		jQuery("#process form#payment div.formgroup.creditcard").hide("slow");
		jQuery("#process form#payment div.formgroup.reservation").hide("slow");
		jQuery("#process form#payment h3.payment").removeClass("payment");
		jQuery("#process form#payment div.buttons.closed").removeClass("closed");
		jQuery("#process form#payment fieldset.wallet").toggleClass("closed");
		jQuery("#process form#payment fieldset.cash").addClass("closed");
		jQuery("#process form#payment fieldset.creditcard").addClass("closed");
		jQuery("#process form#payment fieldset.directdebit").addClass("closed");
		jQuery("#process form#payment fieldset.reservation").addClass("closed");
	});	
	jQuery("#process form#payment select#walletProvider").change(function() {
        if ( jQuery("#process form#payment fieldset.wallet").is(".closed") ){
			jQuery("#process form#payment div.formgroup.wallet").slideToggle("slow");
			jQuery("#process form#payment div.formgroup.directdebit").hide("slow");
			jQuery("#process form#payment div.formgroup.creditcard").hide("slow");
			jQuery("#process form#payment div.formgroup.reservation").hide("slow");
			jQuery("#process form#payment h3.payment").removeClass("payment");
			jQuery("#process form#payment div.buttons.closed").removeClass("closed");
			jQuery("#process form#payment fieldset.wallet").toggleClass("closed");
			jQuery("#process form#payment fieldset.cash").addClass("closed");
			jQuery("#process form#payment fieldset.creditcard").addClass("closed");
			jQuery("#process form#payment fieldset.directdebit").addClass("closed");
			jQuery("#process form#payment fieldset.reservation").addClass("closed");
        }
	});	
/*
	jQuery('#prodDetail .scrollItems').css('height',jQuery('#prodDetail .scrollItems img').height()+'px');
	jQuery("#prodDetail .hidden").css('display','block');
	

	 browser = navigator.userAgent.toLowerCase();
	 if ((browser.indexOf("msie 6.0") !=-1) || (browser.indexOf("msie 7.0") !=-1)) {
	 shRight = jQuery(".imageShadowBoxRI");

	 shRight.each( function (intIndex) {
		 jQuery(this).css('height', (jQuery(this).prevAll('.imageShadowItem').height() - 7) + 'px');
		 //alert (jQuery(this).prevAll('.imageShadowItem').height());
		 jQuery(this).css('left', jQuery(this).prevAll('.imageShadowItem').width() + 'px');
	 });

	 shBottom = jQuery(".imageShadowBoxBO");
	 shBottom.each( function (intIndex) { jQuery(this).css('width', (jQuery(this).prevAll('.imageShadowItem').width() - 7) + 'px'); } );
	 
	 shBottomRight = jQuery(".imageShadowBoxBR");
	 shBottomRight.each( function (intIndex) {
		 jQuery(this).css('left', jQuery(this).prevAll('.imageShadowItem').width() + 'px');
	 });
	 }
	 
	 
	 jQuery("#prodDetail .scrollNav div").mousedown(function () {
	 i = 0;
	 prev = jQuery(this).prev("div");
	 while (prev.size() != 0) {
	 prev = prev.prev("div");
	 i++;
	 }
	
	 if (jQuery('#prodDetail .scrollItems').height() != jQuery('#prodDetail .scrollItems img').eq(i).height()) {
	 if (jQuery('#prodDetail .scrollItems').height() < jQuery('#prodDetail .scrollItems img').eq(i).height()) {
		 jQuery('#prodDetail .scrollItems').scrollTo(jQuery('#prodDetail .scrollItems img').eq(i), 800 );
		 jQuery('#prodDetail .scrollItems').animate({ 'height': jQuery('#prodDetail .scrollItems img').eq(i).height() + 'px' }, 800);
	 } else {
		 jQuery('#prodDetail .scrollItems').animate({ 'height': jQuery('#prodDetail .scrollItems img').eq(i).height() + 'px' }, 800);
		 jQuery('#prodDetail .scrollItems').scrollTo(jQuery('#prodDetail .scrollItems img').eq(i), 800 );
	 }
	 } else {
		 jQuery('#prodDetail .scrollItems').scrollTo(jQuery('#prodDetail .scrollItems img').eq(i),800 );
	 }
	}); 
	
	*/
	
	
// document ready
});

// Best category ticket selector (borrowed from eventim.de)
function checkminAnzahl(form, element) {
	var sendMessage = true;
	for (var i=0; i < document.forms.length; i++) {
		for (var j=0; j < document.forms[i].elements.length; j++) {
			if (document.forms[i].elements[j].value > "0") {sendMessage = false}
		}
	}
	if (sendMessage == true) {
		alert("Bitte wählen Sie die gewünschte Anzahl Tickets einer Ticketkategorie aus!");
		return false;
	} else {
		return true;
	}
}

// Best category multi ticket selector (borrowed from eventim.de)
function checkAuswahl(form, element) {
	if (readAuswahl() != true) {
		if (element.value > 0 && element.value <= 10 && pk_auswahl == false && element.type == "select-one") {
			pk_auswahl = true;
			pk_auswahl_id = form.pk_id.value;
		}
		for (var i=0; i < document.forms.length; i++) {
			for (var j=0; j < document.forms[i].elements.length; j++) {
			if (document.forms[i].elements[j].value > 0 && pk_auswahl_id != form.pk_id.value && document.forms[i].elements[j].type == "select-one" && document.forms[i].elements[j].id == element.id) { 
					alert("Um mehrere Kategorien einer Veranstaltung auswählen zu können, klicken Sie zuerst auf \"weiter\".\nDamit legen Sie die Tickets der entsprechenden Kategorie in den Warenkorb. \nAnschließend klicken Sie auf den \"Zurück\"-Button des Browsers, wählen eine andere Kategorie aus \nund bestätigen wieder mit dem entsprechenden \"weiter\"-Button.");
					document.getElementById(element.id).value = 0;
				}
			}
		}
	} else {
		pk_auswahl = false;
		pk_auswahl_id = 0;
	}
}



// Popup
function popup(url,name,params) {
	var sizeX = 0;
	var sizeY = 0;
	var winX = screen.availWidth;
	var winY = screen.availHeight;
	var tmpArray = params.split(',');
	for (var i = 0; i < tmpArray.length; i++) {
		if (tmpArray[i].indexOf('width') != -1) {
			var tmpArray2 = tmpArray[i].split('=');
			sizeX = tmpArray2[1];
		}
		if (tmpArray[i].indexOf('height') != -1) {
			var tmpArray2 = tmpArray[i].split('=');
		sizeY = tmpArray2[1];
		}
    }
	var centerX = Math.round(winX / 2 - sizeX / 2);
	var centerY = Math.round(winY / 2 - sizeY / 2);
	params += ',left=' + centerX + ',top=' + centerY;
	var pWindow = open(url,name,params).focus();


}

//  adds 703:

//Init

// Shadowbox init
    //Style und Script links direkt in den sitemesh-decorator geschrieben
	//Shadowbox.loadSkin ('classic', '/webshopx/scripts/shadowbox/skin');
	//Shadowbox.loadLanguage ('de', '/webshopx/scripts/shadowbox/lang');
	window.onload = Shadowbox.init;





var docWidth = function() { return $(document).width(); }
var docHeight = function() { return $(document).height(); }

var winWidth = function() { return $(window).width(); };
var winHeight = function() { return window.innerHeight ? window.innerHeight : $(window).height(); }

var scrollTop = function () { return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop || 0;};
var scrollLeft = function () { return window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft || 0;};

var setT = function() {
	
	return 25;
	/*
	var value = parseInt(scrollTop());
	var position = (($("#overlayContent").find('*').height() < winHeight()) ? (winHeight() / 2) - ($("#overlayContent").find('*').height() / 2) : (0));
	var maxHeight = ((docHeight() > winHeight()) ? (docHeight()) : (winHeight()));
	
	if (maxHeight < (value + $("#overlayContent").find('*').height())) {
		value = maxHeight - $("#overlayContent").find('*').height();
	}

	value = value + position;
	
	var valMin = parseInt($("#overlayWrap").css('top'));
	var valMax = parseInt($("#overlayWrap").css('top')) + $("#overlayContent").find('*').height() - (winHeight() / 2);
	
	if ((position == 0) && (valMin != 0) && (value > valMin) && (value < valMax)) {
		value = valMin;
	}
	
	return value;
	*/
};

var actImageScroller = 0;

function initDesign () {

	// Sidebarhoehe einstellen
	    if ( document.getElementById('shopcontainer')!=null && document.getElementById('sidebar')!=null ){
	    	$('#sidebar').css('height',$('#ihcontent').eq(0).height()+'px');
	    }
	
	    if ( document.getElementById('prodDetail')!=null ){
				$('#prodDetail .scrollItems').css('height',$('#prodDetail .scrollItems img').eq(0).height()+'px');
				$('#prodDetail .scrollItems').css('width',$('#prodDetail .scrollItems img').eq(0).width()+'px');
	    }
 
	    browser = navigator.userAgent.toLowerCase();

	    if ((browser.indexOf("msie 6") !=-1) || (browser.indexOf("msie 7") !=-1) || (browser.indexOf("msie 8") !=-1) || (browser.indexOf("msie 9") !=-1) ) {
			
	    	if ( document.getElementById('serieDetailsDiv')!=null ){
		    	shRightCorner = $(".imageShadowBoxTR");
				if (shRightCorner !=null ){
					shRightCorner.each( function (intIndex) { $(this).css('left', ($('.imageShadowItem').eq(0).width() ) + 'px'); } );
					shRightCorner.each( function (intIndex) { $(this).css('height', '0px'); } );
				}
	    	}
			
	    	shRight = $(".imageShadowBoxRI");
				if (shRight !=null ){
					shRight.each( function (intIndex) {
						$(this).css('height', ($(this).prevAll('.imageShadowItem').height() - 7) + 'px');
						$(this).css('left', $(this).prevAll('.imageShadowItem').width() + 'px');
					});
				}
				
				shBottomRight = $(".imageShadowBoxBR");
				if (shBottomRight !=null ){
					shBottomRight.each( function (intIndex) {
						//$(this).css('left', $(this).prevAll('.imageShadowItem').width() + 'px');
						$(this).css('left', $('.imageShadowItem').eq(0).width() + 'px');
					});
				}
				

				
				shBottom = $(".imageShadowBoxBO");
				if (shBottom !=null ){
//alert ($('.imageShadowItem').eq(0).height());
				   //shBottom.each( function (intIndex) { $(this).css('width', ($(this).prevAll('.imageShadowItem').width() - 7) + 'px'); } );
                     shBottom.each( function (intIndex) { $(this).css('width', ($('.imageShadowItem').eq(0).width() -7 ) + 'px'); } );
				}
				
				shBottomRight = $(".imageShadowBoxBR");
				if (shBottomRight !=null ){
					shBottomRight.each( function (intIndex) {
						//$(this).css('left', $(this).prevAll('.imageShadowItem').width() + 'px');
						$(this).css('left', $('.imageShadowItem').eq(0).width() + 'px');
					});
				}

		  }

			if ( document.getElementById('prodDetail')!=null ){
				$("#prodDetail .hidden").css('display','block');
				
				$('#prodDetail .scrollItems').scrollTo(0, 800 );
				$("#prodDetail .scrollNav div").mousedown(function () {
					i = 0;
					prev = $(this).prev("div");
					while (prev.size() != 0) {
						prev = prev.prev("div");
						i++;
					}
					
					smallestWidth = $('#prodDetail .scrollItems').width();
					$('#prodDetail .scrollItems img').each(function (intIndex) {
					
						if ((
							(i <= actImageScroller) && (intIndex >= i) && (intIndex <= actImageScroller)
							) || (
							(i >= actImageScroller) && (intIndex <= i) && (intIndex >= actImageScroller)
							)) {
							if (smallestWidth > $(this).width()) {
								smallestWidth = $(this).width();
							}
						}
					});
					
					speed = 800;
					browser = navigator.userAgent.toLowerCase();
					if ((browser.indexOf("msie 6") !=-1) || (browser.indexOf("msie 7") !=-1) || (browser.indexOf("msie 8") !=-1) || (browser.indexOf("msie 9") !=-1)) {
						speed = 2;
					}
					
					actWidth = $('#prodDetail .scrollItems').width();
					actHeight = $('#prodDetail .scrollItems').height();
					
					newWidth = $('#prodDetail .scrollItems img').eq(i).width();
					newHeight = $('#prodDetail .scrollItems img').eq(i).height();
					
					itemShadow = $('#prodDetail .scrollItems').eq(0);
					
					if ((smallestWidth < actWidth) && (i != actImageScroller)) {
						actWidth = smallestWidth;
						if (actHeight > newHeight) {
							actHeight = newHeight;
							itemShadow.animate({ height: newHeight + 'px', width: smallestWidth + 'px' }, speed / 2);
						} else {
							itemShadow.animate({ width: smallestWidth + 'px' }, speed / 2);
						}
					}
					
			  		if (actHeight != newHeight) {
			  			if (actHeight < newHeight) {
			  				itemShadow.scrollTo($('#prodDetail .scrollItems img').eq(i), speed );
					  		itemShadow.animate({ height: newHeight + 'px', width: newWidth + 'px' }, speed);
				  		} else {
					  		itemShadow.animate({ height: newHeight + 'px'}, speed);
					  		itemShadow.scrollTo($('#prodDetail .scrollItems img').eq(i), speed );
				  		}
					} else {
						itemShadow.scrollTo($('#prodDetail .scrollItems img').eq(i), speed );
					}
					
					if (actWidth < newWidth) {
						itemShadow.animate({ width: newWidth + 'px'}, speed / 2);
					}
					
					if ((browser.indexOf("msie 6") !=-1) || (browser.indexOf("msie 7") !=-1) || (browser.indexOf("msie 8") !=-1) || (browser.indexOf("msie 9") !=-1)) {
						$('#prodDetail .scrollItems').eq(0).parent().parent().find('.imageShadowBoxRI').eq(0).css('left',(newWidth)+'px');
						$('#prodDetail .scrollItems').eq(0).parent().parent().find('.imageShadowBoxRI').eq(0).css('height',(newHeight-7)+'px');
						$('#prodDetail .scrollItems').eq(0).parent().parent().find('.imageShadowBoxBO').eq(0).css('width',(newWidth-7)+'px');
						$('#prodDetail .scrollItems').eq(0).parent().parent().find('.imageShadowBoxBR').eq(0).css('left',(newWidth)+'px');
					
					}
			
					actImageScroller = i;
		
				});
			}
}





//Overlayfunktionen
function getContentOverlay (page,params) {
	//if (form != null) {
	//	form = $('#'+form).serializeArray();
	//}
	if (jQuery("#overlay").css('display') == 'none') {
		jQuery("#overlay").css('display','block');
		jQuery("#overlayBlack").css('height','0px');
		jQuery("#overlayBlack").css('opacity',0);
		jQuery("#overlayWrap").css('opacity',0);
		
		getContentOverlayAjax(page,params);
		
	} else {
		jQuery("#overlayWrap").animate({'opacity':0},300,function(){
			getContentOverlayAjax(page,params);
		});
	}	
}

function getContentOverlayAjax (page,params) {

	//$("#overlayContent").load("/"+page+"?id=content",form,function(){

	//jQuery("#overlayContent").load("eventim.webshop/webticket/"+page+"?itemId=3",form,function(){
		jQuery("#overlayContent").load(page,params,function(){
		initDesign();
		
		jQuery("#overlayContent").css('width',jQuery('#overlayContent').find('*').width()+'px');
		jQuery("#overlayWrap").css('top', setT() + 'px');
        
        getContentOverlayPosition();
        
        jQuery("#overlayBlack").animate({'opacity': 0.6},600,'swing');
		
		initDesign();
	});
}

function getContentOverlayPosition () {
		
	$("#overlayWrap").animate({'opacity': 1, 'top' : setT() + 'px' },800,'swing');
	$("#overlayBlack").css('height', ((docHeight() > winHeight()) ? (docHeight()) : (winHeight())));
}




function hideContentOverlay() {
	
	$("#overlayWrap").animate({'opacity': 0},800,'swing');
	$("#overlayBlack").animate({'opacity': 0},800,'swing',function() {
		$("#overlay").css('display','none');
		$("#overlayBlack").css('height','0px');
		$("#overlayBlack").css('opacity',0);
	});
	
}


function deleteCookie(name) {
     if ( getCookie(name)!= null){
        document.cookie = name +"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/; " + ";";
     }
} 

function getCookie(name){
	var cname=name+"=";
	var dc = document.cookie;
	if(dc.length>0){
	begin = dc.indexOf(cname);
		if(begin != -1) {
		begin += cname.length;
		end=dc.indexOf(";",begin);
	    	if(end ==-1) end=dc.length;
		return dc.substring(begin,end);
		}
	}
	return null;
}

