$().ready(function () {
	
	$.validator.addMethod("amount",
	function (value, element) {
		var free_amount = $("#free_amount");
		if ($(".fixed_amount").children("input:checked").length > 0 || (free_amount.length > 0 && Math.floor(free_amount.val()).toString() == free_amount.val().toString())){
			$("#fa500").parent("p.fixed_amount").removeClass("error");
			return true;
		}
		else {
		$("#fa500").parent("p.fixed_amount").addClass("error");
			return false;
		}
	},
	"Ikke riktig");
	
	
		// validate form on submit
	var validator = $("#fadderskjema").bind("invalid-form.validate", function () {
		$("#error").html("Skjemaet er ikke korrekt utfylt, vennligst sjekk de markerte feltene under").show();
	}).validate({
		rules: {
			fixed_amount: {
				amount: true
			},
			free_amount: {
				amount: true
			},
			firstname: "required",
			lastname: "required",
			address: {
				required: true,
				rangelength:[2, 50]
			},
			city: {
				required: true
			},
			zip: {
				required: true,
				digits: true
			},
			iam18: "required",
			mnr: {
				digits: true
			},
			email: {
				email: true
			},
			ssn: {
				digits: true,
				rangelength:[11, 11]
			},
			advert:{
				required: true
			}
		},
		errorElement: "div",
		errorPlacement: function (error, element) {
			$("#iam18[class='error']").parent("p.iam18").addClass("error");
			$("#iam18[class='valid']").parent("p.iam18").removeClass("error");
			if($(".advertIn").hasClass("error")){
				$("div.advert").addClass("error");
			} else {
				$("div.advert").removeClass("error");
			}
			/*
			$(".advertIn[class='error']").parents("div.advert").addClass("error");
			$(".advertIn[class='valid']").parents("div.advert").removeClass("error");
			*/
		}
	});
	
	$("#iam18").click(function () {
		if($(this).attr("checked") == true) {
			$(this).parent("p.iam18").removeClass("error");
		}
	});
		
		
	$("#submit_engang").click(function () {
		$("#engangsskjema").submit();
	});
	
	// validate form on submit
	var validator2 = $("#engangsskjema").bind("invalid-form.validate", function () {
		$("#error").html("Skjemaet er ikke korrekt utfylt, vennligst sjekk de markerte feltene under").show();
	}).validate({
		rules: {
			amount: {
				required: true,
				digits: true,
				min: 1
			},
			amountok: {
				required: true
			},
			firstname: {
				required: "#anonymous:unchecked"
			},
			lastname: {
				required: "#anonymous:unchecked"
			},
			address: {
				required: "#anonymous:unchecked",
				rangelength:[2, 50]
			},
			city: {
				required: "#anonymous:unchecked"
			},
			zip: {
				required: "#anonymous:unchecked",
				digits: true
			},
			email: {
				email: true
			},
			ssn: {
				digits: true,
				rangelength:[11, 11]
			}
		},
		errorElement: "div",
		errorPlacement: function (error, element) {
			$("#amountok[class='error']").parent("p.anonymous").addClass("error");
			$("#amountok[class='valid']").parent("p.anonymous").removeClass("error");
		}
	});
	
	
	// validate form on submit
	var validator3 = $("#engangsbedriftskjema").bind("invalid-form.validate", function () {
		$("#error").html("Skjemaet er ikke korrekt utfylt, vennligst sjekk de markerte feltene under").show();
	}).validate({
		rules: {
			amount: {
				required: true,
				digits: true,
				min: 1
			},
			amountok: {
				required: true
			},
			name: {
				required: true
			},
			contact: {
				required: true
			},
			city: {
				required: true
			},
			zip: {
				required: true,
                                digits: true,
                                min: 1
			},
			email: {
				email: true,
				required: !!window._enonic_emailRequired
			},
                        ssn: {
				digits: true,
				rangelength:[9, 9]
			}
		},
		errorElement: "div",
		errorPlacement: function (error, element) {
			$("#amountok[class='error']").parent("p.anonymous").addClass("error");
			$("#amountok[class='valid']").parent("p.anonymous").removeClass("error");
		}
	});
	
	// validate form on submit
	var validator4 = $("#engangsskjemasteg1").bind("invalid-form.validate", function () {
		$("#error").html("Skjemaet er ikke korrekt utfylt, vennligst sjekk de markerte feltene under").show();
	}).validate({
		rules: {
			amount: {
				required: true,
				digits: true,
				min: 1
			},
			gift: {
				required: true
			},
			bedrift_privat: {
				required: true
			}
		},
		errorElement: "div",
		errorPlacement: function (error, element) {
			$("#private[class='error']").parent("div").addClass("error");
			$("#private[class='valid']").parent("div").removeClass("error");
		}
	});
	$("#private").click(function (e) {
		$(this).parent("div").removeClass("error");
		var action = $("#action1").text();
		$("#engangsskjemasteg1").attr("action", action);
	});
	
	$("#bedrift").click(function (e) {
		$(this).parent("div").removeClass("error");
		$("#private").removeClass("error");
		var action = $("#action2").text();
		$("#engangsskjemasteg1").attr("action", action);
	});
	
	$("#free_amount").keypress(function (e) {
		$(".fixed_amount").children("input:checked").attr("checked", false);
	});
	
	$(".fixed_amount").children("input").click(function () {
		var free = $("#free_amount");
		free.val("");
		free.removeClass("error");
	});
	
	
	$(".i").hover(function () {
		$(this).siblings(".infobox").show();
	},
	function () {
		if(!$(this).siblings(".infobox").hasClass("show")){
			$(this).siblings(".infobox").hide();
		}
	});
	
	$('.i').click(function () {
		$(this).siblings(".infobox").addClass("show").show();
	});
	
	$('body').click(function(event) {
		var infobox = $(".infobox");
		
		if(!$(event.target).is(".infobox") && !$(event.target).is(".i")) {
			infobox.removeClass("show").hide();
		}
	});
	
	$("#anonymous").click(function () {
		if ($(this).attr("checked")) {
			$(".disableable").attr("disabled", true).addClass("disabled");
		} else {
			$(".disableable").removeAttr("disabled").removeClass("disabled");
		}
	});
	
	$(".advertIn").click(function () {
		if ($(this).attr("title")) {
			$("#redirect").val($(this).attr("title"));
		}
		else {
			$("#redirect").val($("#redirectDef").text());
		}
		$("div.advert").removeClass("error");
		$(".advertIn").removeClass("error");
	});
	
	
	/*
	$("#change_amount").click(function (e) {
		$(this).hide();
		$("#amount").removeAttr("readonly").css("border", "1px solid #000");
		$("#ok").show();
	});
	
	$("#ok").click(function (e) {
		$(this).hide();
		$("#amount").attr("readonly", "readonly").css("border", "none");
		$("#change_amount").show();
	});
	*/
	var amount = $("#amount");
	if(amount.length != 0){
		var length = amount.val().length;
		if (length == 0)
			length = 4;
		amount.css("width", 12 * length);
	}
	$("#amount").keyup(function (e) {
		var length = $(this).val().length;
		$(this).css("width", 12 * length);
		$(this).val($(this).val());
	});
	
	$("#submit1").click(function (e) {
		var action = $("#action1").text();
		$(".skjema").attr("action", action);
	});
	
	$("#submit2").click(function (e) {
		var action = $("#action2").text();
		$(".skjema").attr("action", action);
	});
	
	$("#kampanjekode").change(function () {
		$("#page").val($(this).children("option:selected").attr("class"));
	});
	
	$("#engangsskjemasteg1").submit( function () { 
		if($("#bedrift").is(":checked")){
			var opt = $("#kampanjekode").children("option:selected");
			opt.val(opt.attr("title"));
		}
		return true;
	});
});