/*
  Scripts | © 2011 by agentur-lanzinger.de
____________________________________________ */

// -------------------------------------
// ------------------------- PLUGINS
// -------------------------------------

//-------------------- PLUGIN: ezMark -------------------------

(function($){$.fn.ezMark=function(options){options=options||{};var defaultOpt={checkboxCls:options.checkboxCls||'ez-checkbox',radioCls:options.radioCls||'ez-radio',checkedCls:options.checkedCls||'ez-checked',selectedCls:options.selectedCls||'ez-selected',hideCls:'ez-hide'};return this.each(function(){var $this=$(this);var wrapTag=$this.attr('type')=='checkbox'?'<div class="'+defaultOpt.checkboxCls+'">':'<div class="'+defaultOpt.radioCls+'">';if($this.attr('type')=='checkbox'){$this.addClass(defaultOpt.hideCls).wrap(wrapTag).change(function(){if($(this).is(':checked')){$(this).parent().addClass(defaultOpt.checkedCls);}
else{$(this).parent().removeClass(defaultOpt.checkedCls);}});if($this.is(':checked')){$this.parent().addClass(defaultOpt.checkedCls);}}
else if($this.attr('type')=='radio'){$this.addClass(defaultOpt.hideCls).wrap(wrapTag).change(function(){$('input[name="'+$(this).attr('name')+'"]').each(function(){if($(this).is(':checked')){$(this).parent().addClass(defaultOpt.selectedCls);}else{$(this).parent().removeClass(defaultOpt.selectedCls);}});});if($this.is(':checked')){$this.parent().addClass(defaultOpt.selectedCls);}}});}})(jQuery);

//-------------------- PLUGIN: SELECT SKIN -------------------------

(function ($) {

    $.fn.select_skin = function (w) {
        return $(this).each(function(i) {
            s = $(this);
            if (!s.attr('multiple')) {
                s.wrap('<div class="cmf-skinned-select"></div>');
                c = s.parent();
                c.children().before('<div class="cmf-skinned-text">&nbsp;</div>').each(function() {
                    if (this.selectedIndex >= 0) $(this).prev().text(this.options[this.selectedIndex].innerHTML)
                });
                c.width(s.outerWidth()-2);
                c.height(s.outerHeight()-2);

                c.css('background-color', s.css('background-color'));
                c.css('color', s.css('color'));
                c.css('font-size', s.css('font-size'));
                c.css('font-family', s.css('font-family'));
                c.css('font-style', s.css('font-style'));
                c.css('position', 'relative');

                s.css( { 'opacity': 0,  'position': 'relative', 'z-index': 100 } );

                var t = c.children().prev();
                t.height(c.outerHeight()-s.css('padding-top').replace(/px,*\)*/g,"")-s.css('padding-bottom').replace(/px,*\)*/g,"")-t.css('padding-top').replace(/px,*\)*/g,"")-t.css('padding-bottom').replace(/px,*\)*/g,"")-2);
                t.width(c.innerWidth()-s.css('padding-right').replace(/px,*\)*/g,"")-s.css('padding-left').replace(/px,*\)*/g,"")-t.css('padding-right').replace(/px,*\)*/g,"")-t.css('padding-left').replace(/px,*\)*/g,"")-c.innerHeight());
                t.css( { 'opacity': 100, 'overflow': 'hidden', 'position': 'absolute', 'text-indent': '0px', 'z-index': 1, 'top': 0, 'left': 0 } );

                c.children().click(function() {
                    t.text( (this.options.length > 0 && this.selectedIndex >= 0 ? this.options[this.selectedIndex].innerHTML : '') );
                });
                c.children().change(function() {
                    t.text( (this.options.length > 0 && this.selectedIndex >= 0 ? this.options[this.selectedIndex].innerHTML : '') );
                });
             }
        });
    }

    $.fn.select_unskin = function (w) {
        return $(this).each(function(i) {
            s = $(this);
            if (!s.attr('multiple') && s.parent().hasClass('cmf-skinned-select')) {
                s.siblings('.cmf-skinned-text').remove();
                s.css( { 'opacity': 100, 'z-index': 0 } ).unwrap();
             }
        });
    }
}(jQuery));

// ------------------------- PLUGIN: BACKGROUND ANIMATION

(function($) {
	if(!document.defaultView || !document.defaultView.getComputedStyle){
		var oldCurCSS = jQuery.curCSS;
		jQuery.curCSS = function(elem, name, force){
			if(name === 'background-position'){
				name = 'backgroundPosition';
			}
			if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
				return oldCurCSS.apply(this, arguments);
			}
			var style = elem.style;
			if ( !force && style && style[ name ] ){
				return style[ name ];
			}
			return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
		};
	}

	var oldAnim = $.fn.animate;
	$.fn.animate = function(prop){
		if('background-position' in prop){
			prop.backgroundPosition = prop['background-position'];
			delete prop['background-position'];
		}
		if('backgroundPosition' in prop){
			prop.backgroundPosition = '('+ prop.backgroundPosition;
		}
		return oldAnim.apply(this, arguments);
	};

	function toArray(strg){
		strg = strg.replace(/left|top/g,'0px');
		strg = strg.replace(/right|bottom/g,'100%');
		strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
		var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
		return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
	}

	$.fx.step. backgroundPosition = function(fx) {
		if (!fx.bgPosReady) {
			var start = $.curCSS(fx.elem,'backgroundPosition');

			if(!start){
				start = '0px 0px';
			}

			start = toArray(start);

			fx.start = [start[0],start[2]];

			var end = toArray(fx.options.curAnim.backgroundPosition);
			fx.end = [end[0],end[2]];

			fx.unit = [end[1],end[3]];
			fx.bgPosReady = true;
		}

		var nowPosX = [];
		nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
		nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
		fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

	};
})(jQuery);

// ------------------------- PLUGIN: COLOR ANIMATION

(function($) {
	if(!document.defaultView || !document.defaultView.getComputedStyle){
		var oldCurCSS = jQuery.curCSS;
		jQuery.curCSS = function(elem, name, force){
			if(name === 'background-position'){
				name = 'backgroundPosition';
			}
			if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
				return oldCurCSS.apply(this, arguments);
			}
			var style = elem.style;
			if ( !force && style && style[ name ] ){
				return style[ name ];
			}
			return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
		};
	}

	var oldAnim = $.fn.animate;
	$.fn.animate = function(prop){
		if('background-position' in prop){
			prop.backgroundPosition = prop['background-position'];
			delete prop['background-position'];
		}
		if('backgroundPosition' in prop){
			prop.backgroundPosition = '('+ prop.backgroundPosition;
		}
		return oldAnim.apply(this, arguments);
	};

	function toArray(strg){
		strg = strg.replace(/left|top/g,'0px');
		strg = strg.replace(/right|bottom/g,'100%');
		strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
		var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
		return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
	}

	$.fx.step. backgroundPosition = function(fx) {
		if (!fx.bgPosReady) {
			var start = $.curCSS(fx.elem,'backgroundPosition');

			if(!start){
				start = '0px 0px';
			}

			start = toArray(start);

			fx.start = [start[0],start[2]];

			var end = toArray(fx.options.curAnim.backgroundPosition);
			fx.end = [end[0],end[2]];

			fx.unit = [end[1],end[3]];
			fx.bgPosReady = true;
		}

		var nowPosX = [];
		nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
		nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
		fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

	};
})(jQuery)

// -------------------------------------
// ------------------------- THE SCRIPTS
// -------------------------------------

$(function (){
	$.fn.ScreenJS = function(settings) {

// ------------------------- REST OF PEACE

    $(".box-reference-overview-text li:nth-child(-n+2)").css('backgroundPosition', '0 -175px !important');
    $("select").select_skin();
    $("input[type='checkbox']").ezMark();
    $("#nav-1 > li:last-child .mu,#nav-1 > li:last-child .mu-r").css('display','none');

// ------------------------- FORMS VALUES

    $.fn.DefaultValue = function(text){
      return this.each(function(){
      	if(this.type != 'text' && this.type != 'password' && this.type != 'textarea') {
      		return;
        }
      	var fld_current=this;
        if(this.value=='') {
      		this.value=text;
      	} else {
      		return;
      	}
      	$(this).focus(function() {
      		if(this.value==text || this.value=='')
      			this.value='';
      	});
      	$(this).blur(function() {
      		if(this.value==text || this.value=='')
      			this.value=text;
      	});
      	$(this).parents("form").each(function() {
      		$(this).submit(function() {
      			if(fld_current.value==text) {
      				fld_current.value='';
      			}
      		});
      	});
      });
    };
  	$("input[name='login-name']").DefaultValue("Benutzername");
  	$("input[name='login-password']").DefaultValue("Passwort");
  	$("input[name='callback-username']").DefaultValue("Gewuenschter Benutzername ...");
  	$("input[name='callback-name'],input[name='rueckruf-name']").DefaultValue("Name ...");
  	$("input[name='callback-telephone'],input[name='rueckruf-telephone']").DefaultValue("Telefon ...");
  	$("input[name='callback-email'],input[name='newsletter-email']").DefaultValue("E-Mail ...");
  	$("textarea[name='callback-message']").DefaultValue("Nachricht ...");
  	$("input[name='vorname'],input[name='name'],input[name='strasse'],input[name='ort'],input[name='tel'],input[name='mail']").DefaultValue("(Pflichtfeld)");
  	//$("input[name='captcha_code'],#callback_capture,#callback_capture_newsletter").DefaultValue("Bitte Ueberpruefungscode eingeben!");
  	$("input[name='rueckruf-date']").DefaultValue("Datum ...");
  	$("input[name='rueckruf-time']").DefaultValue("Rueckrufzeit ...");
  	$("textarea[name='rueckruf-message']").DefaultValue("Zusatzinfo ...");
  	$("#rs-title").DefaultValue("Titel ...");
    $("#rs-name").DefaultValue("Name* ...");
    $("#rs-forename").DefaultValue("Vorname* ...");
    $("#rs-firm").DefaultValue("Firma ...");
    $("#rs-street").DefaultValue("Strasse* ...");
    $("#rs-zip").DefaultValue("PLZ* ...");
    $("#rs-city").DefaultValue("Ort* ...");
    $("#rs-telephone").DefaultValue("Telefon ... (bitte Durchwahl angeben)");
    $("#rs-fax").DefaultValue("Fax ...");
    $("#rs-email").DefaultValue("E-Mail* ...");
    $("#rs-website").DefaultValue("Website* ...");
    $("#rs-from-where").DefaultValue("Wie haben Sie von uns erfahren? ...");

// ------------------------- UPLOAD

    $("#foto-1").blur( function () {
      var uploadValOne = $(this).val();
      $(".upload-1").attr('value', uploadValOne);
    });
    $("#foto-2").blur( function () {
      var uploadValTwo = $(this).val();
      $(".upload-2").attr('value', uploadValTwo);
    });
    $("#foto-3").blur( function () {
      var uploadValThree = $(this).val();
      $(".upload-3").attr('value', uploadValThree);
    });
    $("#foto-4").blur( function () {
      var uploadValFour = $(this).val();
      $(".upload-4").attr('value', uploadValFour);
    });
    $("#foto-5").blur( function () {
      var uploadValFive = $(this).val();
      $(".upload-5").attr('value', uploadValFive);
    });

// ------------------------- IMAGE BUTTONS

    $(".box-image-button").hover(function() {
      $("h2 a", this).css('text-shadow', 'none');
      $("h2 a", this).stop().animate({
        color: '#fff',
        backgroundPosition: '-258px 0px'
      },150);
    }, function() {
      $("h2 a", this).css('text-shadow', '0 1px 1px #fff');
      $("h2 a", this).stop().animate({
        color: '#3d3d3f',
        backgroundPosition: '0px 0px'
      },150);
    });

// ------------------------- REFERENCES OVERLAY

    $(".box-reference-overview,.box-logo-reference-overview").click(function() {
      $("#overlay-bg,#overlay-shell,#overlay-loader").fadeIn(250,function(){
        $.scrollTo("#overlay-article .box-overlay-image:first-child",500);
      });
      var referenceURL = $('.box-reference-url',this).text();
      $.ajax({
        type: "POST",
        url: referenceURL,
      	success: function(msg){
      		$("#overlay-article").html(msg);
      	  setTimeout( function() {
            $("#overlay-loader").fadeOut(250);
          }, '1000');
      	}
      });
    });
    
    $(".box-swf-overview").click(function() {
      $("#overlay-bg,#overlay-shell,#overlay-loader").fadeIn(250);
      var referenceURL = $('.box-reference-url',this).text();
      $.ajax({
        type: "POST",
        url: referenceURL,
      	success: function(msg){
      		$("#overlay-article").html(msg);
      	  setTimeout( function() {
            $("#overlay-loader").fadeOut(250);
          }, '1000');
      	}
      });
    });

    $("#overlay-bg,#overlay-shell,#overlay-close").click( function() {
      $("#overlay-bg,#overlay-shell").fadeOut(250,function(){
        $("#overlay-article").html('');
      });
      $.scrollTo("#shell-section",500);
    });

    $("#overlay-content").click( function() {
      return false;
    });
    
// ------------------------- SERVICE / REGISTER POPUP

    $(".bcp-contact > img,.bcp-contact h2,.bcp-contact p,.bcp-contact-button").click(function() {
      $("#sp-bg").fadeIn(250);
    });
    
    $("#lg-register,.bcp-register").click(function() {
      $("#rp-bg").fadeIn(250);
    });
    
    $("#sp-bg,#sp-close").click( function() {
      $("#sp-bg").fadeOut(250);
    });
    
    $("#rp-bg,#rp-close").click( function() {
      $("#rp-bg").fadeOut(250);
    });

    $("#sp-shell,#rp-shell").click(function() {
      return false;
    });
  };

  $("html").ScreenJS();
});

$(document).ready(function() {
    // callback form submit
    $('#cs-submit').click(
    	function() {
    		$('#cs-form').submit();
    	}
    ); 
    // on submit
    $('#cs-form').submit(
    		function () {
    			//alert('tests');
    		    
    		    var $this = $(this);
    		      
    		    $.post(
    		        'mirror/mailforms/form.php', 
    		        $this.serialize(),
    		        function (data) {
    		        	//alert(data);
    		        	// $('#form-contact-notice').remove();
    		        	if (data == 'true') {
    		        		location.href= "http://www.agentur-lanzinger.de/Autohausmarketing_1310650116.html";
    		          	} else {
    		          		// name
    		          		var name = $('#cs-name').val();
    		          		if ( name == '' || name == 'Ihr Name (Pflichtfeld)') {
    		          			$('#cs-name').css('color', '#DB002F');
    		          		} else {
    		          			$('#cs-name').css('color', '#3D3D3F');
    		          		}
    		          		// email
    		          		var email = $('#cs-email').val();
    		          		if ( email == '' || email == 'Ihre Email (Pflichtfeld)') {
    		          			$('#cs-email').css('color', '#DB002F');
    		          		} else {
    		          			$('#cs-email').css('color', '#3D3D3F');
    		          		}
    		          		// telephone
    		          		var telephone = $('#cs-telephone').val();
    		          		if ( telephone == '' || telephone == 'Ihre Telefonnummer (Pflichtfeld)') {
    		          			$('#cs-telephone').css('color', '#DB002F');
    		          		} else {
    		          			$('#cs-telephone').css('color', '#3D3D3F');
    		          		}
    		          		// message
    		          		var message = $('#cs-message').val();
    		          		if ( message == '' || message == 'Ihre Nachricht (Pflichtfeld)') {
    		          			$('#cs-message').css('color', '#DB002F');
    		          		} else {
    		          			$('#cs-message').css('color', '#3D3D3F');
    		          		}
    		          	}
    		        }
    			);
    		    
    		return false;
    		}
    	);
    
    // name reset
    $('#cs-name').focus(
    	function() {
      		var name = $('#cs-name').val();
      		if (name == 'Ihr Name (Pflichtfeld)') {
      			$('#cs-name').val('');
      		}
    	}
    );
    $('#cs-name').focusout(
    	function() {
      		var name = $('#cs-name').val();
      		if (name == '') {
       			$('#cs-name').val('Ihr Name (Pflichtfeld)');
      		}
      	}
    );
    
    // email reset
    $('#cs-email').focus(
    	function() {
      		var email = $('#cs-email').val();
      		if (email == 'Ihre Email (Pflichtfeld)') {
      			$('#cs-email').val('');
      		}
    	}
    );
    $('#cs-email').focusout(
    	function() {
      		var email = $('#cs-email').val();
      		if (email == '') {
       			$('#cs-email').val('Ihre Email (Pflichtfeld)');
      		}
      	}
    );
    
    // telephone reset
    $('#cs-telephone').focus(
    	function() {
      		var telephone = $('#cs-telephone').val();
      		if (telephone == 'Ihre Telefonnummer (Pflichtfeld)') {
      			$('#cs-telephone').val('');
      		}
    	}
    );
    $('#cs-telephone').focusout(
    	function() {
      		var telephone = $('#cs-telephone').val();
      		if (telephone == '') {
       			$('#cs-telephone').val('Ihre Telefonnummer (Pflichtfeld)');
      		}
      	}
    );
    
    // date reset
    $('#cs-date').focus(
    	function() {
      		var date = $('#cs-date').val();
      		if (date == 'Wann wir Sie zurueckrufen sollen') {
      			$('#cs-date').val('');
      		}
    	}
    );
    $('#cs-date').focusout(
    	function() {
      		var date = $('#cs-date').val();
      		if (date == '') {
       			$('#cs-date').val('Wann wir Sie zurueckrufen sollen');
      		}
      	}
    );
    
    // time reset
    $('#cs-time').focus(
    	function() {
      		var time = $('#cs-time').val();
      		if (time == 'Um wie viel Uhr wir Sie zurueckrufen sollen') {
      			$('#cs-time').val('');
      		}
    	}
    );
    $('#cs-time').focusout(
    	function() {
      		var time = $('#cs-time').val();
      		if (time == '') {
       			$('#cs-time').val('Um wie viel Uhr wir Sie zurueckrufen sollen');
      		}
      	}
    );
    
    // message reset
    $('#cs-message').focus(
    	function() {
      		var message = $('#cs-message').val();
      		if (message == 'Ihre Nachricht (Pflichtfeld)') {
      			$('#cs-message').val('');
      		}
    	}
    );
    $('#cs-message').focusout(
    	function() {
      		var message = $('#cs-message').val();
      		if (message == '') {
       			$('#cs-message').val('Ihre Nachricht (Pflichtfeld)');
      		}
      	}
    );
    
});



