$(document).ready(function() {
	$.validator.addMethod(
        "regex",
        function(value, element, regexp) {
            if (regexp.constructor != RegExp) {
                regexp = new RegExp(regexp);
             } else if (regexp.global) {
                regexp.lastIndex = 0;
            }
            return this.optional(element) || regexp.test(value);
        },
        "Please check your input."
	);

	// validate guestbook
	var validator = $("#guestbook").validate({
		rules: {
			namn: {
				required: false,
				minlength: 3,
				maxlength: 24,
				regex: /^[a-zA-Z0-9\s\xc5\xc4\xd6\xe5\xe4\xf6]+$/
			},
			email: {
				required: true,
				minlength: 3,
				maxlength: 150,
				regex: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
			},
			datum: {
				required: false,
				regex: /^\d\d\-?\d?\d?\s\w{3}$/
			},
			rubrik: {
				required: true,
				minlength: 2,
				maxlength: 250
			},
			komentar: {
				required: true,
				minlength: 5,
				maxlength: 5000
			}
		},
		messages: {
			namn: {
				minlength: "Namnet måste innehålla 3 till 24 tecken.",
				maxlength: "Namnet måste innehålla 3 till 24 tecken.",
				regex: "Endast svenska bokstäver!"
			},
			email: {
				required: "Skriv in e-postadress.",
				minlength: "Felaktig e-postadress.",
				maxlength: "Felaktig e-postadress.",
				regex: "Felaktig e-postadress."
			},
			datum: {
				regex: "Felaktig datum"
			},
			rubrik: {
				required: "Skriv in rubrik.",
				minlength: "Rurik måste innehålla 2 till 24 tecken.",
				maxlength: "Rurik måste innehålla 2 till 24 tecken.",
				regex: "Endast svenska bokstäver!"
			},
			komentar: {
				required: "Skriv in text.",
				minlength: "Text måste innehålla 5 till 500 tecken.",
				maxlength: "Text måste innehålla 5 till 500 tecken."
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
				error.appendTo( $('#' + element.attr('id') + '_error') );
		},
		submitHandler: function(form) {
			form.submit();
		}
	});

	// validate email -- losenord
	var validator = $("#losenform").validate({
		rules: {
			losen_email: {
				required: true,
				email: true
			}
		},
		messages: {
			losen_email: {
				required: "(Skriva in emailadress)",
				email: "(Felaktig emailadress)"
			}
		},
		errorPlacement: function(error, element) {
				error.appendTo( $('#' + element.attr('id') + '_error') );
		},
		submitHandler: function(form) {
			form.submit();
		}
	});

	// validate blog comments
	
		var validator = $("#blogg").validate({
		rules: {
			namn: {
				required: false,
				minlength: 3,
				maxlength: 24,
				regex: /^[a-zA-Z0-9\s\xc5\xc4\xd6\xe5\xe4\xf6]+$/
			},
			email: {
				required: true,
				minlength: 3,
				maxlength: 150,
				regex: /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
			},
			komentar: {
				required: true,
				minlength: 5,
				maxlength: 5000
			}
		},
		messages: {
			namn: {
				minlength: "Namnet måste innehålla 3 till 24 tecken.",
				maxlength: "Namnet måste innehålla 3 till 24 tecken.",
				regex: "Endast svenska bokstäver!"
			},
			email: {
				required: "Skriv in e-postadress.",
				minlength: "Felaktig e-postadress.",
				maxlength: "Felaktig e-postadress.",
				regex: "Felaktig e-postadress."
			},
			komentar: {
				required: "Skriv in kommentar.",
				minlength: "Kommentar måste innehålla 5 till 500 tecken.",
				maxlength: "Kommentar måste innehålla 5 till 500 tecken."
			}
		},
		// the errorPlacement has to take the table layout into account
		errorPlacement: function(error, element) {
				error.appendTo( $('#' + element.attr('id') + '_error') );
		},
		submitHandler: function(form) {
			form.submit();
		}
	});

	if ($("#gb").length > 0) {
		$("#gb .ny_gb_inlagg").quickpaginate({ perpage: 4, showcounter: true, pager : $("#page_counter") });
	}

	//if ($("#blogg_lista").length > 0) {
	//	$("#blogg_lista .blogg_inlagg").quickpaginate({ perpage: 5, showcounter: true, pager : $("#page_counter") });
	//}

	if ($("#ckeditor_area").length > 0) {
		$('#ckeditor_area').ckeditor(function() { CKFinder.setupCKEditor(this,'/ckfd/' ); } );   
	}


	function extlink(link, category, action) {
    _gat._getTrackerByName()._trackEvent(category, action);
    setTimeout('document.location = "' + link.href + '"', 100);
  }

	$('#id_email').focus(function() {
		$('#id_email').val('');
	});

});


function poke (msg) {
	$('#poke').html(msg);
	$('#poke').dialog({
		bgiframe: true,
		modal: true,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});
};

function ainlagg (k) {
	if ($('#admin_inlagg :selected').val()) {
		// alert($('#admin_inlagg :selected').val());
		var v = $('#admin_inlagg :selected').val().split("-");
		location.href = '/administration/sidor/?' + k + '_' + v[0] + '=' + v[1];
	}
};



function print_out(k)
{ 
  var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
      disp_setting+="scrollbars=yes,width=650, height=600, left=100, top=25"; 
 
  var docprint=window.open("","",disp_setting); 
   docprint.document.open(); 
   docprint.document.write('<html><head><title></title>'); 
   docprint.document.write('</head><body onLoad="self.print()"><center>');          
   docprint.document.write($('#' + k).html());          
   docprint.document.write('</center></body></html>'); 
   docprint.document.close(); 
   docprint.focus(); 
}


function uppdatera_cart () {

	var antal = $('#antal').val();

	if (antal > 1) {
	
		if (antal < 6) {
			var pris = $('#pris').html();
			$('#totalt_suma').html(pris * $('#antal').val());
			$('#pp_pris').val(pris * $('#antal').val());
			$('#flera_title').css('display','');

			var x = 0;

			$('#flera_input').html('');
			for(x=1;x<=antal;x++) {
				var v = x + 2;
				if (x == 1 && $('#pp_namn').val()) {
					$('#flera_input').append('<input type="hidden" name="on' + v + '" value="Namn ' + x + '" style="display: none;"><div style="clear:both;margin-left: 80px;margin-right:10px;float:left;width:150px;text-align:right;margin-top:5px;">Namn #' + x + ':</div><div style="float:left"><input type="text" id="pp_namn_' + x + '" name="os' + v + '" value="' + $('#pp_namn').val() + '" style="width:300px;"></div>');
				} else {
					$('#flera_input').append('<input type="hidden" name="on' + v + '" value="Namn ' + x + '" style="display: none;"><div style="clear:both;margin-left: 80px;margin-right:10px;float:left;width:150px;text-align:right;margin-top:5px;">Namn #' + x + ':</div><div style="float:left"><input type="text" id="pp_namn_' + x + '" name="os' + v + '" value="" style="width:300px;"></div>');
				}
			}

		} else {
			$('#antal').val('5')
			uppdatera_cart();
		}
	} else {
		
	}

};

function preview () {

	if ($('#spara_button').val() != 'Vänta...') {

		if ($('#preview_title').css('display') == 'none') {

			$('#preview_title').html($('#blog_rubrik').val());
			$('#preview_text').html($('#ckeditor_area').val());

			$('#nyinlagg').css('display','none') ;

			$('#preview_title').css('display','') ;
			$('#preview_text').css('display','') ;
			
			$('#granska_button').val('REDIGERA');
		} else {
			// already in preview, go back to editing

			$('#nyinlagg').css('display','') ;

			$('#preview_title').css('display','none') ;
			$('#preview_text').css('display','none') ;

			$('#granska_button').val('GRANSKA');

		}

		return false;

	} else {
		return true;
	}

}

function togglearchive (y) {

	if ($('#arrow-' + y).attr("src") == "/images/arrow.png"){
		$('#arrow-' + y).attr("src", "/images/arrow_down.png");
	} else {
		$('#arrow-' + y).attr("src", "/images/arrow.png");
	}

	if ($('#arch-' + y).css("display") == "none"){
		$('#arch-' + y).css("display","");
	} else {
		$('#arch-' + y).css("display","none");
	}

	
}
