var Site = window.Site || {};
(function(){
	var initScrollable = function() {
		$(".pg-dsp .scrollable").scrollable({size:1}).circular().navigator().mousewheel().autoscroll({ 
			steps: 1, 
			interval: 10 * 1000
		});
	};
	
	var initImprint = function() {
		$(".pg-imprint a").fancybox({autoDimensions:false,width:320,height:'auto','titleShow':false});
	};
	
	var initMedia = function(){
		if ('haendler_pkw_verteilerseite' in window) {
			swfobject.embedSWF(window['haendler_pkw_verteilerseite'].url,
				"haendler_pkw_verteilerseite", ''+window['haendler_pkw_verteilerseite'].width, ''+window['haendler_pkw_verteilerseite'].height,
				"8.0.0", null, {},
				{quality:'high',scale:'noscale',wmode:'transparent',bgcolor:'#ffffff'},
				{align:'middle'}
			);
		}
	};
	
	var initNewsletter = function(selector){
		$(selector).fancybox({
			'width'				: 570,
			'height'			: 340,
			'autoScale'     	: false,
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'type'				: 'iframe'
		});
	};
	
	var initMail = function(selector) {
		$('form').submit(function() {
			var reMail = /^([ÄäÖöÜüßA-Za-z0-9_\-\.])+\@([ÄäÖöÜüßA-Za-z0-9_\-\.])+\.([ÄäÖöÜüßA-Za-z]{2,4})$/;
			var errors = [];
			$('form input, form select, form textarea').filter(function() {
				return $(this).hasClass('required');
			}).each(function() {
				var f = $(this),
					fText = f.prevAll('label').text().replace('*:','');
				f.removeClass("error");
				if (!f.val()) {
					f.addClass("error");
					errors.push(fText);
					return;
				}
				if (f.hasClass("email") && !reMail.test(f.val())) {
					f.addClass("error");
					errors.push(fText);
					return;
				}
			});
			for (var i = 0; i < errors.length; i++) {
				errors[i] = '<li>'+errors[i]+'</li>';
			}
			if(errors.length){
				$.fancybox(
				'<div class="pg-htm"><h3 class="pg-tpc"><strong>Es sind Fehler bei der Validation aufgetreten.</strong></h3><p>Bitte überprüfen Sie:</p><ul>'+errors.join('')+'</ul></div>',
				{
					'autoDimensions' : false,
					'width' : 320,
					'height' : 'auto',
					'transitionIn' : 'none',
					'transitionOut' : 'none'
				});
				return false;
			}
			return true;
		});
	}
	
	var initUsedCars = function(){
		var uCars = $('.p-usedcars .slider li');
		$('.p-usedcars .slider table').each(function(){
			$(this).find('tr:even').addClass('pg-i-even');
			$(this).find('tr:odd').addClass('pg-i-odd');
		});
		uCars.children(':first-child').each(function()
		{

			$(this).animate({
				top : 1 - $(this).height()
			}, 0);
		});
		uCars.children(':last-child').each(function()
		{

			$(this).animate({
				bottom : 1 - $(this).height()
			}, 0);
		});
		uCars.children(':first-child,:last-child').animate({
			height : 'hide',
			opacity : 'hide'
		}, 0);
		uCars = uCars.not('.isSold');
		uCars.mouseleave(function()
		{
			var p = this;
			$(this).children(':first-child').animate({
				top : 'hide',
				height : 'hide',
				opacity : 'hide'
			}, 'fast', null, function()
			{
				p.style.zIndex = '';
			});
			$(this).children(':last-child').animate({
				bottom : 'hide',
				height : 'hide',
				opacity : 'hide'
			}, 'fast');
		});
		uCars.mouseenter(function()
		{
			this.style.zIndex = 1000;
			$(this).children(':first-child').animate({
				top : 'show',
				height : 'show',
				opacity : 'show'
			}, 'slow');
			$(this).children(':last-child').animate({
				bottom : 'show',
				height : 'show',
				opacity : 'show'
			}, 'slow');
		});
		uCars.click(function(){
			var el = $(this),
				id = el.attr('id').replace('usedCar-','');
				$.fancybox(
				{
					'href' : 'ajax.php?p=viewUsedCars&id='+id+'&nocache'+((new Date()).getTime()),
					'autoDimensions' : false,
					'scrolling'		: 'no',
					'width' : 360,
					'height' : 'auto',
					'transitionIn' : 'none',
					'transitionOut' : 'none',
					'onComplete'	:	function() {
						var mainImgs = $("#fancybox-wrap .gallery-main img"),
							thumbImgs = $("#fancybox-wrap .gallery-thumbs img"),
							infoTableOdds = $("#fancybox-wrap tr:even");
						infoTableOdds.addClass('even');
						mainImgs.hide().first().show();
						thumbImgs.each(function(i){
							$(this).click(function(){
								mainImgs.hide();
								$(mainImgs[i]).show();
							});
						});
					}
				});
		});
	};
	
	$(document).ready(function() {
		initScrollable();
		initImprint();
		switch (Site.page) {
			case 'home': {
				initNewsletter('.pg-cnt-side a');
				break;
			}
			case 'news': {
				initNewsletter('.pg-dsp-cnt a');
				break;
			}
			case 'cars': {
				initMedia();
				break;
			}
			case 'usedcars': {
				initUsedCars();
				break;
			}
			case 'contact': {
				initMail('form');
				break;
			}
		}
	});
	
})();
