// Global functions
function getParameterByName( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );  
  if( results == null ) { return ""; }
  else { return decodeURIComponent(results[1].replace(/\+/g, " ")); }
}

function getAnchorFromUrl()
{
    // Get anchor from url
  var url=window.location;
  var anchor = url.hash; //anchor with the # character
  var anchor2 = url.hash.substring(1); //anchor without the # character    
  return anchor2;
}  


(function($){

  $(function(){
						 


		
		$("#formSelge #epost, #formSelge #telefon").keyup(function () {
				var validator = $('#formSelge').validate();
				validator.element($("#formSelge #epost"));
				validator.element($("#formSelge #telefon"));
				validator.element($("#formSelge #sendtil"));
		});
		
		$("#formSelge").validate({		
				rules: {
						f12: { required: function (element) {
								var tlen = $("#formSelge #telefon").val().length;
								var elen = $("#formSelge #epost").val().length;
								return (tlen + elen) == 0;
								},
								email: true
						},
						f11: { required: function (element) {
								var tlen = $("#formSelge #telefon").val().length;
								var elen = $("#formSelge #epost").val().length;
								return (tlen + elen) == 0;
								},
								number: true,
								minlength: 8
						},
						f14: { required: true }
						
				},
				messages: {
						f12: {
								required: "Fyll inn din epostadresse og/eller telefonnummer",
								email: "Fyll inn en gyldig epostadresse"
						},
						f11: {
								required: "Fyll inn ditt telefonnummer og/eller epostadresse",
								number: "Feltet kan bare inneholde tall",
								minlength: "Fyll inn minst 8 siffer"
						},
						f14: {
								required: "Velg kontor"		
						}
				}
		});



		$("#formVurdering #epost, #formVurdering #telefon").keyup(function () {
				var validator = $('#formVurdering').validate();
				validator.element($("#formVurdering #epost"));
				validator.element($("#formVurdering #telefon"));
		});
		
		$("#formVurdering").validate({		
				rules: {
						f17: { required: function (element) {
								var tlen = $("#formVurdering #telefon").val().length;
								var elen = $("#formVurdering #epost").val().length;
								return (tlen + elen) == 0;
								},
								email: true
						},
						f16: { required: function (element) {
								var tlen = $("#formVurdering #telefon").val().length;
								var elen = $("#formVurdering #epost").val().length;
								return (tlen + elen) == 0;
								},
								number: true,
								minlength: 8
						}						
				},
				messages: {
						f17: {
								required: "Fyll inn din epostadresse og/eller telefonnummer",
								email: "Fyll inn en gyldig epostadresse"
						},
						f16: {
								required: "Fyll inn ditt telefonnummer og/eller epostadresse",
								number: "Feltet kan bare inneholde tall",
								minlength: "Fyll inn minst 8 siffer"
						}
				}
		});

		
		
		
		
		
		
		jQuery.validator.setDefaults({
				submitHandler: function () { /*try { Skjematest(); } catch (ex) { } */},
				highlight: function (input) { $(input).addClass("ui-state-highlight"); },
				unhighlight: function (input) { $(input).removeClass("ui-state-highlight"); } 
		});




						 


						 
		$("a[rel^='prettyPhoto']").prettyPhoto(
		{
			animation_speed: '<!--e AnimationSpeed -->', /* fast/slow/normal */
			slideshow: false, /* false OR interval time in ms */
			autoplay_slideshow: false,
			theme: "light_square",
			modal: false,
			opacity: 0.75, /* Value between 0 and 1 */
			hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
			overlay_gallery: true
		})
						 
		// Hide empty table rows in broker table
		$(".broker-vcard table td").each(function(){ 
																							var value = $(this).html();
																							if (value == "") { $(this).parent().hide(); }
																							});

		// Hide empty broker image
		$(".broker-vcard img").each(function(){ 
																							var value = $(this).attr("src");
																							if (value.indexOf("?") == 0) { $(this).hide(); }
																							});


  	//Hide (Collapse) the toggle containers on load
  	$(".toggle_container").hide(); 
  
  
  	//Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
  	/*$("h2.trigger").click(function(){
      $(this).toggleClass("active").next().slideToggle("slow");
  		return false; //Prevent the browser jump to the link anchor
  	}); */
  
    setActiveFromAnchor(getAnchorFromUrl());
    $("a").click(function(){ 
      if (this.href.indexOf('#')+1){ setActiveFromAnchor( this.href.split("#")[1]); }
      return (!$(this).parent().hasClass("trigger"));
    });     
  
 
  	$("#items").columns(3, true);
  	
		$('.anythingFader').anythingFader({
				autoPlay: true,                 // This turns off the entire FUNCTIONALY, not just if it starts running or not.
				delay: 5000,                    // How long between slide transitions in AutoPlay mode
				startStopped: false,            // If autoPlay is on, this can force it to start stopped
				animationTime: 800,             // How long the slide transition takes
				hashTags: true,                 // Should links change the hashtag in the URL?
				buildNavigation: false,          // If true, builds and list of anchor links to link to each slide
				pauseOnHover: true,             // If true, and autoPlay is enabled, the show will pause on hover
				startText: "Go",                // Start text
				stopText: "Stop",               // Stop text
				navigationFormatter: formatText   // Details at the top of the file on this use (advanced use)
		});
		
		$("#slide-jump").click(function(){ $('.anythingFader').anythingFader(6); });  	
    
  });

  function setActiveFromAnchor(inAnchor) 
  {
    if(inAnchor != "")
    {
      if(inAnchor.indexOf('#')+1){ inAnchor.Replace("#", ""); }
      var hash = inAnchor;
  
      $el = $('a[name="' +  hash + '"]').parent();
      $el.toggleClass("active").next().slideToggle("slow");
    }
  }

	function formatText(index, panel) { return index + ""; }

})(jQuery)

