// JavaScript Document

$(document).ready(function() { 

	$("#user, #pass, #PASSWORT_NEU, #PASSWORT_WIEDERHOLUNG").attr("value", "");
	
	$("#forgotPassword, #forgotCancel").click( function(){ $("#formLogin").toggle(); $("#formForgotPassword").toggle(); });
	
	
	$("#nav LI").hover( 
		function(){ $(this).addClass("hover") },
		function(){ $(this).removeClass("hover") }
	);

	$(".itemDelete").click( function(){
		check = confirm("Möchtest du diesen Eintrag wirklich löschen?");
		var theItem = $(this).parent();
		if (check == true){
			$.ajax({
			 type: "POST",
			 url: $("#baseURL").attr("value") + "/360s/ajax.php",
			 data: "id=" + $(this).attr("id"),
			 success: function(result){
				 if(result==1){
					 theItem.slideUp("fast");
				 } else {
					 alert("Der Eintrag konnte nicht gelöscht werden.");
				 }
			 }
		 });
		}																				
	});
	
	$("#profileDelete").click( function(){
		check1 = confirm("Möchtest du dein Profil auf 360card.at wirklich löschen?");
		if (check1 == true){
			check2 = confirm("Bist du auch wirklich ganz, ganz sicher?");
			if (check2 == true){

	
			}	else {
				return false;
			}

		} else {
			return false;
		}
	});	
	
	$("#username").keyup( function(){ makeURLfriendly(this); });
	
	$("#formCommentAdd #submit").click( function(){
		if($("#author").val() == "Name"){
			$("#author").attr("value", "");
		}
	});
	
	$("#formCommentAdd").validate({
		rules: {
			author: {
				required: true
			},
			email: {
				required: true,
				email: true
			}
		},
		messages: {
			author: { 
				required: "Bitte gib deinen Namen ein."
			},
			email: {
				required: "Bitte gib deine E-Mail ein.",
				email: "Das ist keine gültige E-Mail-Adresse."
			}
		}
			
	});
	
	$("#formRegister.profileNew").validate({
		rules: {
			username: {
				required: true,
				minlength: 3,
				remote: {
					url: "ajax.php",
					type: "post",
					data: {
						action: 'checkUsername',
						username: function() { return $("#username").val(); }
					}
				}
			},
			firstname: "required",
			lastname: "required",
			location: "required",
			birthday_day: "required",
			birthday_month: "required",
			birthday_year: "required",
			password: {
				required: true,
				minlength: 5
			},
			password_repeat: {
				required: true,
				equalTo: "#password"
			},
			email: {
				required: true,
				email: true,
				remote: {
					url: "ajax.php",
					type: "post",
					data: {
						action: 'checkEmail',
						username: function() { return $("#email").val(); }
					}
				}				
			}
		},
		messages: {
			username: {
				required: 'Du musst einen Nickname eingeben.',
				minlength: 'Ein Nickname muss mindestens 3 Zeichen haben.',
				remote: 'Dieser Nickname ist leider schon vergeben'
			},
			firstname: { 
				required: 'Bitte gib deinen Vornamen ein.' 
			},
			lastname: { 
				required: 'Bitte gib deinen Nachnamen ein.'
			},
			location: { 
				required: 'Bitte gib deinen Geburtsort ein.' 
			},
			birthday_day: {
				required: 'Tag beim Geburtstag fehlt.'
			},
			birthday_month: {
				required: 'In welchem Monat hast du Geburtstag?'
			},
			birthday_year: {
				required: 'Bitte wähle auch noch dein Geburtsjahr aus.'
			},
			password: {
				required: 'Du solltest noch ein Passwort festlegen.',
				minlength: 'Das Passwort muss mindestens 5 Zeichen haben.'
			},
			password_repeat: {
				required: 'Bitte wiederhole dein Passwort zur Sicherheit.',
				equalTo: 'Passwort muss das gleiche sein wie oben.'
			},
			email: {
				required: 'Bitte gib deine Mailadresse an.',
				email: 'Bitte gib eine gültige Mailadresse an.',
				remote: 'Diese Mailadresse ist schon vergeben.'
			}
		}															
	});
	
	$("#formRegister.profileEdit").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			location: "required",
			birthday_day: "required",
			birthday_month: "required",
			birthday_year: "required",
			email: {
				required: true,
				email: true,
				remote: {
					url: $("#baseURL").attr("value") + "/360s/ajax.php",
					type: "post",
					data: {
						action: 'checkEmail',
						username: function() { return $("#email").val(); }
					}
				}
				
			}
		},
		messages: {
			firstname: { 
				required: 'Bitte gib deinen Vornamen ein.' 
			},
			lastname: { 
				required: 'Bitte gib deinen Nachnamen ein.'
			},
			location: { 
				required: 'Bitte gib deinen Geburtsort ein.' 
			},
			birthday_day: {
				required: 'Tag beim Geburtstag fehlt.'
			},
			birthday_month: {
				required: 'In welchem Monat hast du Geburtstag?'
			},
			birthday_year: {
				required: 'Bitte wähle auch noch dein Geburtsjahr aus.'
			},
			email: {
				required: 'Bitte gib deine Mailadresse an.',
				email: 'Bitte gib eine gültige Mailadresse an.',
				remote: 'Diese Mailadresse ist schon vergeben.'
			}
		}															
	});	
	
	$("#formPictureUpload").validate({
		rules: {
			file: {
				required: true,
				accept: "jpg"
			}
  	},
		messages: {
			file: {
				accept: 'Sorry, da gehen nur<br> JPG-Dateien.'
			}
		}
	});
	
	$("#formNewsletter").validate({
		rules: {
			name: "required",
			email: {
				required: true,
				email: true
			}
  	},
		messages: {
			name: {
				required: 'Bitte gib deinen Namen ein.'
			},
			email: {
				required: 'Bitte gib deine Mailadresse an.',
				email: 'Das ist keine gültige Mailadresse!'
			}
		}
	});	

	// Hack für schönere fileinputs
	SI.Files.stylizeAll();
	$(".file").change( function() {
		$(this).parent().parent().children("div").remove();	
		$("#formPictureUpload").submit();
	});		
	
	// Standardvalue von Inputs löschen, wenn geklickt wird
	
	
	// Layout überprüfen 
	$(window).resize( function(){ checkLayout(); });	
	
	checkLayout();	
	breakingNews();
	slideshow();
	
	$('.clearInput').clearInput();

});

function slideshow(){

		var slide = setTimeout( function(){
			
			var introImageActive = $("#planets .active");
			$(introImageActive).removeClass("active")
												 .fadeOut(2000);
															 
			if($(introImageActive).next(".planet").length == 1){
				$(introImageActive).next().fadeIn(2000).addClass("active"); 
			} else {
				$(introImageActive).siblings(".first").fadeIn(2000).addClass("active");
			}

			slideshow();
	
		},8000);
}


function breakingNews(){

	var ticker = setTimeout( function(){
		
		var left = parseInt($("#breakingNewsContent").css("left"));
		$("#breakingNewsContent").css("left", (left-2)+"px");
		
		if(left*(-1) > ($("#breakingNewsContent A").width()+10)){
			$("#breakingNewsContent").css("left", "705px");
		}
		
		breakingNews();

	},20);

}

function checkLayout(){
	var viewportHeight = $(window).height();

	if(viewportHeight == $("#content").height()){
		$("#contentLeft").height(viewportHeight - 170);
	} else {
		$("#contentLeft").height($("#contentRight").height()-15);		
	}
	
	if($("#sidebar").height() > viewportHeight){
		$("#page").height($("#sidebar").height());
		
		if($("#sidebar").height() > $("#contentRight").height()+155){
			$("#contentLeft").height($("#page").height()-170);	
		}
	}	
}

function writeCommentOpen(){
	$("#commentAdd").show();
	$("#buttonCommentAdd").hide();
	$("#commentsHeading .default").hide();
	$("#commentsHeading .write").show();
	checkLayout();	
}

function writeCommentClose(){
	$("#commentAdd").hide();
	$("#buttonCommentAdd").show();
	$("#commentsHeading .default").show();
	$("#commentsHeading .write").hide();	
	checkLayout();
}

function makeURLfriendly(obj){
	var url = $(obj).attr("value"),
	url = url.toLowerCase();
	url = url.replace(/ |_/, "-");
	url = url.replace(/[^1-9a-z-]/, "");
	$(obj).attr("value", url);
}

jQuery.fn.clearInput = function() {
	return this.focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
		}
	});
};


