// JavaScript Document

$.fn.image = function(src, f){
    return this.each(function(){
      $("<img />").appendTo(this).each(function(){
         this.src = src;
         this.onload = f;
      });
    });
}

soundManager.flashVersion = 9;
soundManager.url = 'fileadmin/template/swf/';
soundManager.useHighPerformance = 'always';
soundManager.debugMode = false; // disable debug mode
soundManager.defaultOptions.multiShot = true;

$(document).ready(function(){
	
	function mailformplusEffects() {
		var mailformplus = $("#kontaktformular").validate({
			rules: {
				Vorname: "required",
				Nachname: "required",
				"E-Mail-Adresse": "required email",
				Nachricht: "required",
				"Telefon-Nr": "number"
			},
			messages: {
				Vorname: "Bitte geben Sie Ihren Vornamen ein.",
				Nachname: "Bitte geben Sie Ihren Nachnamen ein.",
				"E-Mail-Adresse": {
					required: "Bitte geben Sie Ihre E-Mail-Adresse ein.",
					email: "Ihre Eingabe muss vom Format name@meinedomain.de sein."
				},
				Nachricht: "Bitte geben Sie eine Nachricht ein.",
				"Telefon-Nr": {
					number: "Sie d&uuml;rfen nur Zahlen eingeben."	
				}
			},
			//errorLabelContainer: "#messageBox",
			//wrapper: "li",
			errorPlacement: function(error, element) {
				error.appendTo(element.parent("td").find(".messageBox"));
			},
			errorClass: "invalid"
		});
		
		var oldColor = "#6d6d6d";
		var highlightColor = "#ebebeb";
		
		$(".contact_text, .contact_textarea").focus(function(){
			$(this).css({borderColor: highlightColor});													 
		});
		
		$(".contact_text, .contact_textarea").blur(function(){
			$(this).css({borderColor: oldColor});													
		});
	}
	
	function videoclip() {
		$(".videoclip").click(function() {
			var target = $(this).attr("href");
									   
			$("body").append("<div id='popup'><div id='popup_background'></div><div id='popup_window_video'><div class='relative'><div id='popup_close'><div id='popup_close_bt'></div></div><iframe src ='"+target+"' width='352px' height='338px' scrolling='no' frameborder='0'><p>Your browser does not support iframes.</p></iframe></div></div></div>");
			//$("#popup_window .relative").append("<div class='loading'></div>");
			$("#popup_background").css({opacity:0}).animate({ 
				opacity: 0.5
			}, "fast" );
			
			$("#popup_close_bt").hover(function(){
				$(this).css({backgroundPosition: "0px -16px"});								 
			}, function(){
				$(this).css({backgroundPosition: "0px 0px"});	
			});
			
			$("#popup_close_bt").click(function(){
				$("#popup").fadeOut("fast", function(){
					$("#popup").remove();									 
				});								 
			});
			
			return false;							   
		});	
	}
	
	function popup() {
		$(".csc-textpic-image a").not(".videoclip").not(".imagelink").each(function(){
			$(this).removeAttr("onclick");
			
			$(this).click(function(){								 
				
				var target = $(this).attr("href");
										   
				$("body").append("<div id='popup'><div id='popup_background'></div><div id='popup_window_image'><div class='relative'><div id='popup_close'><div id='popup_close_bt'></div></div><div id='popup_content'></div></div>");
				//$("#popup_inhalt").append("<div class='loading'></div>");
				
				$("#popup_background").css({opacity: 0});
				$("#popup_background").animate({
						opacity: 0.5							   
				}, "fast");	
				
				$("#popup_content").hide();
				$("#popup_content").image(target, function() {
					var max_height = $("#wrapper").height();
					var image_width = $("#popup_content").width();
					var image_height = $("#popup_content").height();
					var padding = 20;
					
					var popup_width = image_width;
					var popup_height = image_height + 26;
					
					if ((popup_height + (padding * 2))>max_height) {
						var scaling_factor = (max_height - (padding * 2))/popup_height;
						
						popup_height = popup_height * scaling_factor;	
						popup_width = popup_width * scaling_factor;
						
						image_width = image_width * scaling_factor - (1 * scaling_factor);
						image_height = image_height * scaling_factor - (1 * scaling_factor);
					}
					
					var new_margin_left = popup_width/2*(-1)-20;
					var new_margin_top = popup_height/2*(-1)-20;
											
					//$("#popup_window_image").css({left: "50%", top: "50%", width: popup_width, marginLeft: popup_width/2*(-1)-20, marginTop: popup_height/2*(-1)-20});
					
					$("#popup_window_image").animate({
						width: popup_width,
						height:popup_height,
						marginLeft: new_margin_left,
						marginTop: new_margin_top
					}, "fast", function(){
						$("#popup_content img").css({width: image_width, height: image_height});
						$("#popup_content").fadeIn("fast");	
					});										   
				});	
				
				$("#popup_close_bt").hover(function(){
					$(this).css({backgroundPosition: "0px -16px"});								 
				}, function(){
					$(this).css({backgroundPosition: "0px 0px"});	
				});
				
				$("#popup_close_bt").click(function(){
					$("#popup").fadeOut("fast", function(){
						$("#popup").remove();									 
					});								 
				});
				
				return false;							   
			});	
		});
	}
	
	function zusatzbox() {
		var box_closed = false;
		
		$("#zusatz").append("<div class='close'></div>");
		
		$.get("fileadmin/template/scripts/cookies.php", {action: "get"}, function(result){
  			if (result=="false") {
				$("#zusatz-middle").show();
				
				box_closed = true;
				
				if (jQuery.browser.msie && jQuery.browser.version <= 6.0) {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-close-ie6.png)"});
				} else {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-close.png)"});
				}
			} else {
				$("#zusatz-middle").hide();
				
				box_closed = false;
				
				if (jQuery.browser.msie && jQuery.browser.version <= 6.0) {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-open-ie6.png)"});
				} else {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-open.png)"});
				}
			}
		});
		
		$("#zusatz .close").hover(function(){
			$(this).css({backgroundPosition: "0px -16px"});								 
		}, function(){
			$(this).css({backgroundPosition: "0px 0px"});	
		});
		
		$("#zusatz .close").click(function(){									   
			if (box_closed == false) {
				//alert("box ist zu - geht auf");
				$.get("fileadmin/template/scripts/cookies.php", {action: "del"}, function(){
					box_closed = true;																		  
				});
				
				$("#zusatz-middle").slideDown("def");
				if (jQuery.browser.msie && jQuery.browser.version <= 6.0) {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-close-ie6.png)"});
				} else {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-close.png)"});
				}
			} else {
				//alert("box ist offen - geht zu");
				$.get("fileadmin/template/scripts/cookies.php", {action: "set"}, function(){
					box_closed = false;																		  
				});
				
				$("#zusatz-middle").slideUp("def");
				if (jQuery.browser.msie && jQuery.browser.version <= 6.0) {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-open-ie6.png)"});
				} else {
					$("#zusatz .close").css({backgroundImage: "url(fileadmin/template/images/zusatz-open.png)"});
				}
			}
		});
	}
	
	function fadeIn_element() {
		$("#fadeIn p").fadeIn(750);
		putt_sound.play();
	}
	
	/* Aktionen */
	
	videoclip();
	popup();	
	mailformplusEffects();
	//zusatzbox();
	$("#zusatz-middle").show();
	
	$("#fadeIn p").hide();
	//$("#fadeIn p").fadeIn(1000);
	
	var putt_sound = "";
	var swing_sound = "";
	soundManager.onload = function() {
	
		putt_sound = soundManager.createSound({
			id: 'putt_sound',
			url: 'http://www.golfnovum.de/fileadmin/template/sounds/golf_ball_cup.mp3',
			autoLoad: true,
			autoPlay: false,
			onload: function() {
				//alert('The sound '+this.sID+' loaded!');
			},
			volume: 40
		});
		
		swing_sound = soundManager.createSound({
			id: 'swing_sound',
			url: 'http://www.golfnovum.de/fileadmin/template/sounds/golf_swing.mp3',
			autoLoad: true,
			autoPlay: false,
			onload: function() {
				swing_sound.play();
				setTimeout(fadeIn_element,500);
				//alert('The sound '+this.sID+' loaded!');
			},
			volume: 60
		});
		
	}
	
	$("#navigation > ul > li").hover(function(){
		if (this.opened == false || this.opened == undefined) {
			$(this).find("ul").slideDown("def", function(){
				this.parentNode.opened = true;											 
			});
		}
	}, function(){
		if (this.opened == true) {
			$(this).find("ul").slideUp("def", function(){
				this.parentNode.opened = false;										   
			});
		}
		//$(this).find("ul").slideUp("def").hide();
	});
	
	

});
