$(document).ready(function() {
	//Menü
	//Submenü nach oben schieben
	var move = 0;
	$('.subsubmenu').each(function(){
		var add = parseInt($(this).children('span').css('height')) + parseInt($(this).children('span').css('padding-top')) + parseInt($(this).children('span').css('padding-bottom'));
		var top = '-'+ move +'px';
		$(this).css('top', top);
		move = move + add;
	});
	//für .openit größte weite bestimmen
	var ow = 0;
	var sw = 0;
	$('.submenu').each(function(){
		$(this).children('.openit').each(function(index){
			var hd = $(this).getHiddenDimensions();
			if(hd.width > ow){
				ow = hd.width;
			}
			if(hd.outerWidth > sw){
				sw = hd.outerWidth
			}
			//console.log(index +' - '+ hd.width +' > '+ ow);
		});
		$(this).children('span').css('width', ow +'px');
		$(this).css('width', sw +'px');
	});
	//Events
	$(".naviLink").mouseover(function(){
		$('.sub').css('display', 'none');
		if($(this).parent().children('div')[0] && $(this).parent().children('div').css('display') != 'inline'){
			$(this).parent().children('div').css('display', 'inline');
		}
		$(this).addClass('hover');
	}).mouseout(function() {
		$(this).removeClass('hover');
	});
	$(".sub").click(function(){
		if($(this).css('display') != 'inline'){
			$(this).css('display', 'inline');
		}
		$(this).parent().children('a').addClass('hover');
	}).mouseleave(function() {
		$(this).fadeOut(200);
		$(this).parent().children('a').removeClass('hover');
	});
	
	
	//link entfernen wenn submenu vorhanden
	$('.naviLink').each(function(){
		if($(this).parent('li').children('.sub')[0]){
			var klicktext = $(this).text();
			$(this).parent('li').prepend('<span class="naviLink gotSub">'+ klicktext +'</span>')
			$(this).parent('li').children('a').remove();
		}
	});
	$('.gotSub').click(function(){
		$('.sub').each(function(){
			$(this).css('display', 'none');
		});
		//$(this).parent('li').children('.sub').css('display', 'block');
		$(this).parent('li').children('.sub').slideDown('fast');
	});
	
	
	//links entfernen wenn subsubmenu vorhanden
	$(".openit").each(function(){
		var rel = $(this).children('a').attr('rel');
		var delLink = false;
		if($(this).parent('div').children('.subsubmenu')[0]){
			$('.subsubmenu').children('span').each(function(){
				if(!$(this).hasClass(rel)){
					delLink = true;
				}
			})
		}
		if(delLink == true){
			var text = $(this).children('a').text();
			$(this).children('a').remove();
			$(this).addClass('fakeLink').text(text);
		}
	});
	//subsubmenü bei klick öffnen
	$(".openit").click(function(){
		if($(this).parent('div').children('.subsubmenu')[0]){
			var rel = $(this).attr('rel');
			var spwidth = 0;
			$('.subsubmenu').children('span').each(function(){
				if(!$(this).hasClass(rel)){
					$(this).css('display', 'none');
				}else{
					var ww = $(this).getHiddenDimensions();
					if(ww.innerWidth > spwidth){
						spwidth = ww.innerWidth;
					}
				}
			})
			$('.'+ rel).css('display', 'block');
			var height = $('.'+ rel).parent('div').height() + parseInt(10);
			$(this).parent().parent().height(height);
			var width = $(this).innerWidth() + parseInt(spwidth);
			$(this).parent().parent().width(width);
			$(this).parent().width(width);
		}
		$(".openit").each(function(){
			$(this).removeClass('active');
		});
		$(this).addClass('active');
	});
	//  mouseenter close navi
	$('#innerHeader').mouseenter(function(){
		$('.sub').css('display', 'none');
	});
	
	
	//E-Mail validation
	if($("#validate")[0]){
		$("#validate").keyup(function(){
			validate();
		});
		$("#validate").blur(function(){
			validate();
		});
	}
	
	
	//Lieferadresse
	if($("#lieferAddrControl")[0]){
		$("#lieferAddrControl").click(function(){
			$("#lieferAddr").toggle();
		});
	}
	
	
	//AGB & Zahlungsart check
	$('#bezahlform').submit(function(){
		var zahlungsart = $('input:radio[name=best_zahlungsart]:checked').val();
		var agb = $('input:checkbox[name=agb]:checked').val()
		var alarm = '';
		if(zahlungsart == null){
			//console.log('zahlungsart undefined');
			//$('.checkZahlungsart').each(function(){
			//	$(this).css('border', '1px solid red');
			//});
			$('.checkZahlungsMethoden').css('color', 'red');
			alarm += 'Bitte wählen Sie Ihre gewünschte Zahlunsart<br />';
		}else{
			//$('.checkZahlungsart').each(function(){
			//	$(this).css('border', '0 none');
			//});
			$('.checkZahlungsMethoden').css('color', '#2F2F2F');
		}
		if(agb == null){
			//console.log('agb undefined');
			//$('.checkAgb').css('border', '1px solid red');
			$('.checkAgbLabel').css('color', 'red');
			alarm += 'Bitte bestätigen Sie die AGB und Datenschutzrichlinien von Hollywood Nails<br />';
		}else{
			//$('.checkAgb').css('border', '0 none');
			$('.checkAgbLabel').css('color', '#333');			
		}
		//console.log('z:'+ zahlungsart +' - a:'+ agb);
		if(zahlungsart == null || agb == null){
			alarm = '<b>Achtung</b><br />'+ alarm;
			$('#alarm').html(alarm).slideDown();
			return false;
		}else{
			$('#alarm').css('display', 'none').html('');
			return true;
		}
	});
	
	
	//clear Gutschein value
	$('.gutschein').click(function(){
		$(this).val('');
	});
	
	
	//autosubmit to concardis-iframe
	if($('#kkhidden > #form1')[0]){
		//console.log('concardisform gefunden');
		$('#kkhidden > #form1').submit();
	}
	
	
	
	//Bankeinzug check
	$("#bankeinzug").submit(function(){
		var inhaber = $('#kontoinhaber').val();
		var nummer  = $('#kontonummer').val();
		var blz     = $('#kontoblz').val();
		var bank    = $('#kontobank').val();
		var iban    = $('#kontoiban').val();
		var bic     = $('#kontobic').val();
		var land	= $('#land').val();
		if((land == 54 && (inhaber == '' || nummer == '' || blz == '' || bank == '')) || 
		  (land != 54 && (inhaber == '' || nummer == '' || blz == '' || bank == '' || iban == '' || bic == ''))){
			var alarm = '<b>Achtung</b><br />Bitte füllen sie folgende Felder aus:<br />';
			if(inhaber == ''){
				alarm += 'Kontoinhaber<br />';
			}
			if(nummer == ''){
				alarm += 'Kontonummer<br />';
			}
			if(blz == ''){
				alarm += 'Bankleitzahl<br />';
			}
			if(bank == ''){
				alarm += 'Name der Bank<br />';
			}
			if(land != 54 && iban == ''){
				alarm += 'IBAN<br />';
			}
			if(land != 54 && bic == ''){
				alarm += 'BIC<br />';
			}
			$('#alarm').html(alarm).slideDown();
			return false;
		}else{
			$('#alarm').html('').css('display', 'none');
			return true;
		}
	});

	
	
	//Detailansicht zoom/close
	if($('#curtain')[0]){
		jQuery.each(jQuery.browser, function(i) {
			if($.browser.msie || $.browser.mozilla){
				$("#curtain").css('height', $("body").innerHeight()+115);
			}else{
				$("#curtain").css('height', $("html").innerHeight()+135);
			}
		});
	}
	$('.close').click(function(){
		$('#zoom').css('display', 'none');
		$('#curtain').slideToggle('fast');
	});
	$('.doZoom').click(function(){
		$('#curtain').slideToggle('fast', function(){
			$('#zoom').center().css('display', 'block');
		});
	});
	
	
	
	
	//Warenkorb Delete Tooltip
	$('.btDelete').mouseover(function(){
		$(this).parent().children('span').fadeIn();
	}).mouseout(function(){
		$(this).parent().children('span').fadeOut();
	});
	
	
	
	
	//Pagebrowser Suche
	if($('.prev')[0]){
		checkVisibility('.prev', 0);
		var hiddenAtNext = ($('#pages').children('li').length) +1;
		checkVisibility('.next', hiddenAtNext)
		makeBold(1);
	}
	$('.next').click(function(){
		var rel = $(this).attr('rel');
		var akt = rel - 1;
		var nex = (rel*1) + 1;
		$('#p'+ akt).fadeOut(function(){
			makeBold(rel);
			$('#p'+ rel).fadeIn();
			$('.next').attr('rel', nex);
			var hiddenAtNext = ($('#pages').children('li').length) +1;
			checkVisibility('.next', hiddenAtNext)
			$('.prev').attr('rel', akt);
			checkVisibility('.prev', 0)
		});
	});
	$('.prev').click(function(){
		var rel = $(this).attr('rel');
		var akt = (rel*1) + 1;
		var pre = rel - 1;
		$('#p'+ akt).fadeOut(function(){
			makeBold(rel);
			$('#p'+ rel).fadeIn();
			$('.next').attr('rel', akt);
			var hiddenAtNext = ($('#pages').children('li').length) +1;
			checkVisibility('.next', hiddenAtNext)
			$('.prev').attr('rel', pre);
			checkVisibility('.prev', 0)
		});
	});
	$('.zahl').click(function(){
		var rel = $(this).attr('rel');
		var nex = (rel*1) + 1;
		var pre = rel - 1;
		var akt = 0;
		$('#pages').children('li').each(function(index){
			if($(this).css('display') == 'list-item' || $(this).css('display') == 'block'){
				console.log(index +' - list item - '+ $(this).attr('id') +' - '+ $(this).css('display'));
				akt = (index*1) +1;
				console.log(akt);
			}else{
				console.log(index +' - hidden - '+ $(this).attr('id') +' - '+ $(this).css('display'));
			}
		});
		$('#p'+ akt).fadeOut(function(){
			makeBold(rel);
			$('#p'+ rel).fadeIn();
			$('.next').attr('rel', nex);
			var hiddenAtNext = ($('#pages').children('li').length) +1;
			checkVisibility('.next', hiddenAtNext)
			$('.prev').attr('rel', pre);
			checkVisibility('.prev', 0)
		});
	});
	//Beschreibung Suche
	$('.wrapImg').mouseover(function(){
		var rel = $(this).attr('id').split('-');
		console.log(rel[1]);
		$('#sa-'+ rel[1]).css('display', 'block');
	}).mouseout(function(){
		var rel = $(this).attr('id').split('-');
		$('#sa-'+ rel[1]).css('display', 'none');
	});
	
	
	
	
	//Quadchoose Mouseover
	var quadrel = $('.quadReiterContainer:first').attr('rel');
	$('.quadReiterContainer').mouseenter(function(){
		quadrel = $(this).attr('rel');
		var obj = $(this);
		quadchooser(obj, quadrel);
	});
	//vorauswahl, erstes
	quadchooser($('.quadReiterContainer:first'), quadrel);
	//Produktslider
	if($('.produktSlider')[0]){
		//var pSTimer = setInterval('produktSliderAction('+ quadrel +')',6000);
		$('.produktSlider > .products > ul > li:first').addClass('active');
		$('.produktSlider > .next').click(function(){
			//clearTimeout(pSTimer);
			var tn = $(this).attr('id').split('-');
			produktSliderAction(tn[1]);
			//pSTimer = setInterval('produktSliderAction()',6000);
		});
		$('.produktSlider > .prev').click(function(){
			//clearTimeout(pSTimer);
			var tp = $(this).attr('id').split('-');
			produktSliderAction(tp[1], 'prev');
			//(pSTimer = setInterval('produktSliderAction()',6000);
		});
	}
	
	
	
	//Startseiten Slideshow
	if($('#slideshow')[0]){
		$('div#slideshow ul:first li:first').addClass('show').fadeIn('fast');
		$('.slideshowdot:first').css('background-position', 'bottom left');
		l = (800 - 32 - 11*$('div#slideshow ul:first li').length) / 2;
		$('.pagebrowser').css('left', l);
		var timer = setInterval('rotate()',6000);
		$('#slideshownext').click(function(){
			rotate();
			clearTimeout(timer);
			timer = setInterval('rotate()',6000);
		});
		$('#slideshowprev').click(function(){
			rotateBack();
			clearTimeout(timer);
			timer = setInterval('rotate()',6000);
		});
	}
		
});


jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}



function quadchooser(obj, rel){
	$('#quadChooser > .produktSlider').each(function(){
		if($(this).attr('id') != 'img-'+ rel){
			$(this).fadeOut(200);
		}
	});
	$('.quadReiterContainer').each(function(){
		$(this).css('background-position', 'left top');
		$(this).children('span').css('background-position', 'right top');
		$(this).removeClass('active');
	});
	$('#img-'+rel).fadeIn(200);
	obj.addClass('active');
	obj.css('background-position', 'right bottom');
	obj.children('span').css('background-position', 'left bottom');
//	$(this).css('background-position', 'right bottom');
//	$(this).children('span').css('background-position', 'left bottom');
}



function produktSliderAction(id, direction){
	if (!$('#slidebar-'+ id).is(':animated')) {
		var iw = 240;	//imagewidth
		var l = $('#slidebar-'+ id).css('left').replace('px', '');
		var w = $('#slidebar-'+ id).css('width').replace('px', '');
		if(direction == 'prev')
			l = l*1 + iw*1;
		else{
			l = l - iw;
		}
		var r = -1 * (l - 2*iw);  //return at this point
		//console.log(l +' - '+ r +' - '+ w);
		if(r == w){
			l = 0;
		}
		if(r == iw){
			l = (-1*w) + 3*iw;
		}
		//console.log(l);
		var act = $('#slidebar-'+ id).children('.active');	 //$('#produktSlider > .products > ul > .active');
		act.removeClass('active');
		//$('#produktSlider > .products > ul').animate({opacity: 0.5, left : l}, 500, function(){
		$('#slidebar-'+ id).animate({opacity: 0.25}, 300, function(){
			$('#slidebar-'+ id).animate({left : l}, 500, function(){
				if(direction == 'prev'){
					if(act.prev().length == 0) {
						//$('#produktSlider > .products > ul > li:last').addClass('active');
						$('#slidebar-'+ id).children('li:last').addClass('active');
					}else {
						act.prev().addClass('active');
					}
				}else{
					if(act.next().length == 0) {
						//$('#produktSlider > .products > ul > li:first').addClass('active');
						$('#slidebar-'+ id).children('li:first').addClass('active');
					}else {
						act.next().addClass('active');
					}
				}
				$('#slidebar-'+ id).animate({opacity: 1});
			});
		});
	}
}




function makeBold(rel){
	$('.pagebrowser').children('a').each(function(){
		if($(this).hasClass('zahl') && $(this).attr('rel') == rel){
			$(this).addClass('akt');
		}else{
			$(this).removeClass('akt');
		}
	})
}

function checkVisibility(which, hiddenAt){
	if($(which).attr('rel') == hiddenAt){
		$(which).css('visibility', 'hidden');
	}else{
		$(which).css('visibility', 'visible');			
	}
}


function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

function validate(){
	var email = $("#validate").val();
	if(email != 0){
		if(isValidEmailAddress(email)){
			$("#validate").css({ "background": "url('fileadmin/templates/img/icons/validyes.png') no-repeat scroll right center transparent" });
		}else{
			$("#validate").css({ "background": "url('fileadmin/templates/img/icons/validno.png') no-repeat scroll right center transparent" });
		}
	} else {
		$("#validate").css({ "background-image": "none" });
	}
}



function rotate() {	
	var current = $('div#slideshow ul:first li.show');
	//var current = ($('div#fwMultimediaGalerieLayer ul:first li.show')?  $('div#fwMultimediaGalerieLayer ul:first li.show') : $('div#fwMultimediaGalerieLayer ul:first li:first'));
    if ( current.length == 0 ){ current = $('div#slideshow ul:first li:first');}
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#slideshow ul:first li:first') :current.next()) : $('div#slideshow ul:first li:first'));
	next.fadeIn(1000).addClass('show');
	current.fadeOut(1000).removeClass('show');
	var tmp = current.attr('id').split('-');
	$('#sld-'+ tmp[1]).css('background-position', 'top left');
	tmp = next.attr('id').split('-');
	$('#sld-'+ tmp[1]).css('background-position', 'bottom left');
};

function rotateBack() {	
	var current = $('div#slideshow ul:first li.show');
    if ( current.length == 0 ) current = $('div#slideshow ul:first li:first');
	var prev = ((current.prev().length) ? ((current.prev().hasClass('show')) ? $('div#slideshow ul:first li:last') :current.prev()) : $('div#slideshow ul:first li:last'));
	prev.fadeIn(1000).addClass('show');
	current.fadeOut(1000).removeClass('show');
	var tmp = current.attr('id').split('-');
	$('#sld-'+ tmp[1]).css('background-position', 'top left');
	tmp = prev.attr('id').split('-');
	$('#sld-'+ tmp[1]).css('background-position', 'bottom left');
};




(function($) {
	$.fn.getHiddenDimensions = function(includeMargin) {
	    var $item = this,
	        props = { position: 'absolute', visibility: 'hidden', display: 'block' },
	        dim = { width:0, height:0, innerWidth: 0, innerHeight: 0, outerWidth: 0, outerHeight: 0 },
	        $hiddenParents = $item.parents().andSelf().not(':visible'),
	        includeMargin = (includeMargin == null)? false : includeMargin;
	 
	    var oldProps = [];
	    $hiddenParents.each(function() {
	        var old = {};
	 
	        for ( var name in props ) {
	            old[ name ] = this.style[ name ];
	            this.style[ name ] = props[ name ];
	        }
	 
	        oldProps.push(old);
	    });
	 
	    dim.width = $item.width();
	    dim.outerWidth = $item.outerWidth(includeMargin);
	    dim.innerWidth = $item.innerWidth();
	    dim.height = $item.height();
	    dim.innerHeight = $item.innerHeight();
	    dim.outerHeight = $item.outerHeight(includeMargin);
	 
	    $hiddenParents.each(function(i) {
	        var old = oldProps[i];
	        for ( var name in props ) {
	            this.style[ name ] = old[ name ];
	        }
	    });
	 
	    return dim;
	}
}(jQuery));
