$(document).ready(function () {
	if($("#small_cabines").length>0){
		Slider.init();
	}	
	if($("#aktionstart").length>0) {
		Blink.toggle("#aktionstart");
	}
	if($("#subnavbox .aktion:first").length>0) {
		Blink.toggle("#subnavbox .aktion:first");
	}
	if($("#subnavbox .aktion_nosubnav:first").length>0) {
		if($("#subnavbox").css("display")!="none") {
			Blink.toggle("#subnavbox .aktion_nosubnav:first");
   		}
	}
	$(".lightbox").lightBox();
	
	if($(".indexit").length>0) {
		var index= '<h3>Inhaltsverzeichnis</h3>';
		$(".indexit").each(function() {
			index+= '<a href="#'+$(this).attr("id")+'">'+$(this).html()+'</a>';
		});
		$("#indexit").html(index);
	}
});	

Blink = {
	toggle: function(id) {
		if($(id).css("display")=="none") {
			$(id).fadeIn("fast", function() {
				window.setTimeout(function() {
					Blink.toggle(id);
				}, 2000);
			});
		} else {
			$(id).fadeOut("slow", function() {
				window.setTimeout(function() {
					Blink.toggle(id);
				}, 100);
			});
		}
	}
}

Slider = {
	containerWidth: 0,	
	sliderWidth: 0,
	itemwidth: 0,
	max: 0,
	init: function(){
		Slider.itemwidth = $(".small_cabine_element").width();
		$(".small_cabine_element").each(function(){
			Slider.max++;
		});
		$("#small_cabines").width(Slider.itemwidth*Slider.max);
		Slider.sliderWidth = Slider.itemwidth*Slider.max;
		
		Slider.containerWidth = $("#small_cabines_container").width();
		
		//hides the left curser
		if ($("#small_cabines").css('left') == '0px'){
			$("#backbutton").css('visibility', 'hidden');
		}
		
		//cabines small
		$("#nextbutton").click(function(){
			var left = $("#small_cabines").css('left');
			var length = left.length;
			var valueLeft = left.substring(0, length-2);
			if (parseInt(valueLeft) + Slider.sliderWidth > $("#small_cabines_container").width() ){
				$("#small_cabines").css("left",parseInt(valueLeft) - Slider.itemwidth);
			}
			//hides the left cursos
			if (-(Slider.sliderWidth - Slider.containerWidth) == valueLeft){
				$("#nextbutton").css('visibility', 'hidden');
			}
			$("#backbutton").css('visibility', 'visible');
		});
		
		$("#backbutton").click(function(){
			var left = $("#small_cabines").css('left');
			var length = left.length;
			var valueLeft = left.substring(0, length-2);
			if (parseInt(valueLeft) < 0){
				$("#small_cabines").css("left",parseInt(valueLeft) + Slider.itemwidth);
			}
			//hides the left cursos
			if ($("#small_cabines").css('left') == '0px'){
				$("#backbutton").css('visibility', 'hidden');
			}
			//sets the right cursor visible always
			$("#nextbutton").css('visibility', 'visible');
		});
    }
};

Util= {
	validateForm: function(id) {
		   var result= true;
		$("#"+id + " input, #"+id + " textarea").each(function() {
			if($(this).attr("class") && $(this).attr("class").match("required")) {
			  // trim input field
			  $(this).val($(this).val().replace(/^\s+|\s+$/g, ''));
				var itemresult= Util.validate($(this).attr("id"));
				result= result && itemresult;
			}
		});
		if(result) {
			$("#form_error").removeClass("error");	
		} else {
			$("#form_error").addClass("error");
		}
		return result;
	},
	validate: function(id) {
		var result= true;
		var obj= $("#"+id);
		var commands= $("#"+id).attr("class").split(" ");
		for(var i=0; i<commands.length; i++) {
			var command= commands[i].replace(/[0-9]/g, "");
			switch(command) {
				case("minlength"):
					var length= parseInt(commands[i].replace(/minlength/g, ""));
					result= result && (obj.val().length>=length);
					break;
				case("maxlength"):
					var length= parseInt(commands[i]);
					result= result && (obj.val().length<=length);
					break;
				case("email"):
					result = result && ( obj.get(0).value.match(/\S@\S.\S{2,}/)!=null )
					break;
				default:
					result= result && (obj.val().length!=0);
					break;
			}
		}
		if(!result) {
			obj.addClass("error");
		} else {
			obj.removeClass("error");
		}
		return result;
	}      
}                
