$(document).ready(function(){

$('.newsletter-signup-panel, .darkener').appendTo("body");

    var darkener,
      panel,
      hide = function(){
        darkener.hide();
        panel.fadeOut('slow');
      },
      show = function(){
        panel.css({
          left : ($(window).width() - panel.outerWidth()) / 2,
          top : "135px"
        });
        darkener.show();
        panel.fadeIn('slow', function(){
          panel.css("height", panel.height());
        });
      }
      markupField = function(field, error){
        if(field.attr("type") === "checkbox" ||
           field.attr("type") === "radio"){
          field = $('input[name="' + field.attr("name") + '"]');
        }
        if(error){
          field.addClass('error').focus();
        }
        else{
          field.removeClass('error');
        }
      },
      getDataFromField = function(field, data){
        var supportsValidity = panel[0].checkValidity,
          name,
          emailPattern = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/;
        
        name = field.attr("name");
          
        if(!data.data[name]){
          if(field.attr("type") === "checkbox" ||
             field.attr("type") === "radio"){
            val = panel.find('[name="' + name + '"]:checked').val();
          }
          else{
            val = field.val();
          }
          
          val = typeof val === "string" ? $.trim(val) : val;
          
          if(!field[0].validity){
            
            if(field.attr('required') === "true" && !val){
              markupField(field, true);
              data.isValid = false;
              return false;
            }
            
            if((field.attr('type') === "email" ||
               field.attr('data-ie8-type') === "email") && !emailPattern.test(val)){
              markupField(field, true);
              data.isValid = false;
              return false;
            }
            
          }
          else if (!field[0].validity.valid){
            markupField(field, true);
            data.isValid = false;
            return false;
          }
          markupField(field, false);
          data.data[name] = val;
        }
        return true;
      },
      getData = function(){
        var data = {isValid : true, data : {}}, val;
          
        panel.find('input[name]').each(function(){
          if(!getDataFromField($(this), data)){
            return;
          }
        });
                 
        return data;
      },
      initPanel = function(){
        darkener = $('.darkener').click(function(){hide();});
        panel = $('form.newsletter-signup-panel')
          .bind("submit", function(e){
            markupField($(this).find('input'), false);
            var data = getData(),
				url = "http://operations2.mail2many.de/opt_process_interface.aspx";
            if(data.isValid){
				data.data.txtTitle = data.data.txtTitle + " " + data.data.txtFirstName + " " + data.data.txtLastName;
				if($.browser.msie && $.browser.version < 9){
					data.action = url 
					$('<iframe style="visibility: hidden;" height="1" width="1" border="0" src="/iframe.php?' + $.param(data.data) + '" />')
						.appendTo(panel);
				}
				else{
					$.ajax({
					  url : url,
					  type : "post",
					  data : data.data,
					  complete : function(msg){
						console.log(msg);
					  }
					});
				}
			  $('.form-fields').hide();
              $('.thank-you').show();
              window.setTimeout(function(){hide();}, 10000);
            }
            e.preventDefault();
            e.stopPropagation();
            return false;
          });
        panel.find('a.close-panel').click(function(e){hide();})
        panel.find("input").bind("invalid", function(){
          markupField($(this), true);
        })
        .bind("input change", function(){
          var data = {isValid : true, data : {}};
          getDataFromField($(this), data);
        });
        $('body').append(darkener);
        hide();
      };
      
    
    
    $('.info a.newsletter-signup').click(function(e){
      e.stopPropagation();
      show();
    });
    
    $('.info a.insight').click(function(e){
      $('.slide').not('.video').hide();
      
      var slideOn = (!$('.slide.current-slide').length ||
                     $('.slide.current-slide').hasClass('video'));
      
      if(slideOn){
        
        $('.next-slide').click();
      }
      else{
        $('.slide.current-slide').fadeIn("slow");
      }
                
      $('.open-stage').fadeOut('fast', function() {
        $('.preview-image').fadeOut('fast',function() {
          $('.banner-stage').animate({
              height: "435px"
            },'fast',function() {
                $('.close-stage, .next-slide').fadeIn('fast');
                
            });
        });  
      });
      
      
      
    });
    
    initPanel();
  });
  
	var player = null,
      pausePos = 1,
      iePlayerCurrentPosition,
      ieMovieEnd;
	
	function playerReady(thePlayer) {
		player = document[thePlayer.id];
		addListeners(player);
	}

	//Direkte integration in Seite wegen der MP4-URL
	/*function createPlayer() {
		var flashvars = {
			file:"http://projekt2.atrivio.net/AGCO-X711/scribble_prelaunch_atrivio_deu.mp4", 
			autostart:"false",
			screencolor:"FFFFFF"
		}

		var params = {
			allowfullscreen:"true", 
			allowscriptaccess:"always",
			wmode:"transparent"
		}

		var attributes = {
			id:"fallback-player",  
			name:"fallback-player"
		}

		swfobject.embedSWF("http://www.fendt.com/special/x711/flash/player.swf", "fallback-player", "1024", "576", "9.0.115", false, flashvars, params, attributes);
	}*/
		
	function addListeners(player) {
	  player.addModelListener("TIME", 'getDuration');
	}

	function getDuration(obj) { 
		iePlayerCurrentPosition = obj.position;
		ieMovieEnd = Math.round(obj.duration)-1;
        
		if(Math.round(iePlayerCurrentPosition) === ieMovieEnd) {
			player.sendEvent('STOP');
			closeStage();
		}
	}

	function closeStage() {
		$('.close-stage, .next-slide').hide();
		
		$('.banner-stage').animate({
			height: "265px"
		},'fast', function() {
			$('.preview-image').fadeIn('fast',function() {
				$('.open-stage').fadeIn('fast');
				$('.video').css("left","-1024px");
			});
			
		});
	}
	
	$(window).load(function() {
	
		var StartBy = 1; //Ab wo soll der Film anfangen zu laufen in Sekunden
		var browserName = navigator.userAgent.toLowerCase(); //Aktueller Browsername	
	
		// Wenn der Browser der IE ist und in der Version kleiner 9 ist.
		if ($.browser.msie && $.browser.version < 9) {
			createPlayer();
		} else {
		
			//Wenn der Browser als iPad-Safari erkannt wird
			if(browserName.indexOf("ipad") >= 0 || browserName.indexOf("iphone") >= 0) {
                $('body').addClass('ipad')
				$('.open-stage,.close-stage,.next-slide').prependTo('#contentarea_start');
				$('.open-stage').css({top: "280px"});
				$('.close-stage').text("close");
                $('.next-slide').text("next");
				$('#home_video_js').attr({
					"height":"505",
					"autoplay":"autoplay"
				});
	
			}
			
			var myPlayer = VideoJS.setup("home_video_js", {
				controlsBelow: false, // Display control bar below video instead of in front of
				controlsHiding: false, // Hide controls when mouse is not over the video
				flashVersion: 9 // Required flash version for fallback
			});
		}
	
		$('.close-stage').bind('click', function() {
			if ($.browser.msie && $.browser.version < 9) {
				//$('#contentarea_start').css({ "margin-top" : "0px" });
			}
            $(".slide").not(".video").hide();
			if ($.browser.msie && $.browser.version < 9) {
				player.sendEvent('STOP');
			} else {
              try{
				myPlayer.pause();
				myPlayer.currentTime(StartBy);
              }
              catch(ex){
                
              }
			}	
		
			closeStage();
		});
        
        
        
        $('.next-slide').bind("click", function(e){
            if(!$('.current-slide').length){
              $('.banner-stage .video').eq(0).addClass('current-slide');
            }
            var curr = $('.current-slide'),
              next,
              width = curr.parent().innerWidth();
            
            if(curr.hasClass("video")){
              $('.next-slide, .close-stage').addClass("white");
              if ($.browser.msie && $.browser.version < 9) {
                  pausePos = iePlayerCurrentPosition;
                  
                  player.sendEvent('STOP');
              } else {
                try{
                  myPlayer.pause();
                  curr.hide();
                }
                catch(ex){
                  
                }
              }
            }
            
            next = curr.next('.slide');
            if(!next.length){
              next = curr.parent().find('.slide').eq(0);
            }
            
            curr.removeClass('current-slide');
            
            
            if(!player || (player && !next.hasClass("video"))){
              next.addClass('current-slide');  
              next.show().css({left : width + "px"}).animate({
                left : 0 + "px"  
              }, 580, "linear", function(){
                if(next.hasClass("video")){
                  try{
                    myPlayer.play();
                  }
                  catch(ex){
                    
                  }
                  $('.next-slide, .close-stage').removeClass("white");
                }
                
              });
            }
            else{
              next.css("z-index", 20).addClass('current-slide');
              $('.next-slide, .close-stage').removeClass("white");
              player.sendEvent('SEEK', pausePos);
            }
            
            if(!player || (player && !curr.hasClass("video"))){
              curr.css({left : 0 + "px"}).animate({
                left : -width + "px"  
              }, 600, "linear", function(){
                curr.hide();
              });
            }
            else{
              curr.css("z-index", -1);
            }
        });
	
        
    
		$('.open-stage').bind('click', function() {
			$('.vjs-big-play-button').css({
				"margin-top": "-125px"
			});
			
			if ($.browser.msie && $.browser.version < 9) {
				//$('#contentarea_start').css({ "margin-top": "-15px" });
			}
			
			$('.video').css({
				left: "-21px"
			}).eq(0).addClass('current-slide');
            
			$('.open-stage').fadeOut('fast', function() {
                $('.current-slide').removeClass('current-slide');
                $('.slide').not('.video').hide();
                $('.video').addClass('current-slide').show();
                $('.close-stage, .next-slide').removeClass("white");
              
				if ($.browser.msie && $.browser.version < 9) {
					player.sendEvent('SEEK', StartBy);
				} else {
                  try{
					myPlayer.currentTime(StartBy);
					myPlayer.play();
					
					var MovieEnd = Math.round(myPlayer.duration())-1;
							
					myPlayer.onCurrentTimeUpdate(function() {
						if(Math.round(myPlayer.currentTime()) === MovieEnd) { 
							myPlayer.pause();
							myPlayer.currentTime(StartBy);
							
							closeStage();
							
						}	
					});
                  }
                  catch(ex){
                    
                  }
				}
					
				$('.preview-image').fadeOut('fast',function() {
					$('.banner-stage').animate({
						height: "435px"
					},'fast',function() {
					/*
						if ($.browser.msie && $.browser.version < 9) {
							player.sendEvent('SEEK',1);
						} else {
							myPlayer.currentTime(StartBy);
							myPlayer.play();
							
							var MovieEnd = Math.round(myPlayer.duration())-1;
							
							myPlayer.onCurrentTimeUpdate(function() {
								if(Math.round(myPlayer.currentTime()) == MovieEnd) { 
									myPlayer.pause();
									myPlayer.currentTime(StartBy);
									
									closeStage();
									
								}	
							});
							
							
						}*/
						
						$('.close-stage, .next-slide').fadeIn('fast');
						$('video').css("z-index","999");

					});
					
				});
				
			});
			
		});
		
		if(document.URL.split("?")[1] == "play") {
			//setTimeout("$('.open-stage').click();",1000);
			//$('.open-stage').click();
			
			
			$('.vjs-big-play-button').css({
				"margin-top": "-125px"
			});
			
			$('.video').css({
				left: "-21px"
			});
			
			$('.open-stage').fadeOut('fast', function() {
			
				$('.preview-image').fadeOut('fast',function() {
					$('.banner-stage').animate({
						height: "435px"
					},'fast',function() {
						if ($.browser.msie && $.browser.version < 9) {
							player.sendEvent('SEEK',1);
						} else {
                          try{
							myPlayer.currentTime(StartBy);
							myPlayer.play();
							
							var MovieEnd = Math.round(myPlayer.duration())-1;
							
							myPlayer.onCurrentTimeUpdate(function() {
								if(Math.round(myPlayer.currentTime()) == MovieEnd) { 
									myPlayer.pause();
									myPlayer.currentTime(StartBy);
									
									closeStage();
									
								}	
							});
                          }
                          catch(ex){
							
                          }
						}
						
						$('.close-stage, -next-slide').fadeIn('fast');
						$('video').css("z-index","999");

					});
					
				});
				
			});
			
			
			
		};
		
	
	});
