// JavaScript Document
(function($){
    $.fn.superbuild = function(obj) {
	  if(this.length !== 0) {
		  var $this = $(this).slider(obj);
		  var $input = $this.next();
		  $input.val(obj.value);
		  $input.focus(function(){
			  var $innerThis = $(this);
			  $innerThis.keydown(function(e){
				var currentValue = $innerThis.val() * 1;
				if(e.which === 40) {
				  if(currentValue > obj.min) {
					currentValue -= obj.step;
				  }
				  $this.slider('option', 'slide').call($this,currentValue.toFixed(2)*1);   
				} else if(e.which === 38) {
				 if(currentValue <= obj.max) {
				   currentValue += obj.step;
				  }
				  $this.slider('option', 'slide').call($this,currentValue.toFixed(2)*1);
				}
			  }).keyup(function(e){
				var currentValue = $innerThis.val() * 1;
				if (currentValue > obj.max) {
					$(this).val(obj.max);
				} else if (currentValue < obj.min){
					$(this).val(obj.min);
				}
				$this.slider('value' , [$(this).val() * 1]);  
			  })
			}).blur(function(){
				$(this).unbind("keyup").unbind("keydown");
			});
		}
	}
})(jQuery); 
(function($)
{
	$.fn.bSelect = function(options)
	{
		options = $.extend({}, $.fn.bSelect.defaults, options);
		return this.each(function(){
		    var $select = $(this),
			    code = "<ul class='bselect' rel=" + $select.attr("id") + ">",
			    $opts = $select.find("option"),
			    selopt = 0,
				timer;
			$opts.each(function(i){
			    var $cur = $(this).attr("id","opt" + i );
			    if ($cur.attr("selected")) {
				    selopt = i;
			    }
				code += "<li rel='opt"+i+"'>" + $cur.text() + "</li>";
			});
			code += "</ul>";
			var $code = $(code).insertAfter($select)
			    .bind("click",function(e){
				if ($code.hasClass("expanded")) {
                    $code.removeClass("expanded");
                    $(e.target).detach().prependTo(this);
                    $code.find(".selected").removeClass("selected");
                    var tid = "#" + $(e.target).addClass("selected").attr("rel");
                    $select.val($(tid).val());
				} else {
					$code.addClass("expanded");
				}
			}).mouseleave(function(){
				//console.log("leaving");
				timer = setTimeout(function(){
					if ($code.hasClass("expanded")) {
					    $code.removeClass("expanded");
				     }
				},2000);
			}).mouseenter(function(){
				clearInterval(timer);
			});
			if (selopt !== "") { //keep selected after post, resort
				$code.find("li").eq(selopt).detach().addClass("selected").prependTo($code);
			}
			$select.hide();
		});
	};
	$.fn.bSelect.defaults = {};
})(jQuery);
jQuery(document).ready(function($) {
  var urlroot = ips.system.urlroot;
      
  if('form.length') {
    $(this).find("span.radiobutton").hide();
    $(this).find("span.radiobutton").each(function(i){
      var newRadio = "<span class='radioLabel'><span class='radio'></span>" + $(this).text() + "</span>";
      
      $(newRadio).insertBefore(this)
        .bind("click", function(e){
          $(this).parent().find("span.radioLabel").removeClass("selected");
          $(this).addClass("selected");
          $(this).next().find("input").attr({
            checked: "checked"
          });
      }); 
    });
  }

if($(".articleCarusel").length){
    $("ul.tabs").tabs(".images > div.slide", { 
        effect: 'fade', 
        fadeOutSpeed: "slow", 
        rotate: true,
        event: 'mouseover'
    }).slideshow({autoplay: true, interval:5000, clickable: false});
  }


  // special look on select-boxes
  $("select").bSelect();

  // MONTHLY PRICE
  if($("#monthlyPriceSlider").length) {
    $("#monthlyPriceSlider").superbuild({
      value : 99,
      min : 0,
      max : 199,
      step : 1,
      slide: function(event, ui) {
	    if (typeof event === "number") {
	  	  $(this).next().val(event)
  		  $(this).slider('value' , [event]);
  	  } else {
  		 $(this).next().val(ui.value)
        }
      }
    });  
  }
  
  $("#sameLinePriceSlider").superbuild({
    value : 0.49,
    min : 0,
    max : 0.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });


  $("#otherLinePriceSlider").superbuild({
    value : 0.49,
    min : 0,
    max : 0.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });
  

  $("#startPriceSlider").superbuild({
    value : 0.49,
    min : 0,
    max : 0.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });
  

  $("#withinCompanyPriceSlider").superbuild({
    value : 0.49,
    min : 0,
    max : 0.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });
  

  $("#withinCompanyStartPriceSlider").superbuild({
    value : 0.49,
    min : 0,
    max : 0.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });


  $("#smsSlider").superbuild({
    value : 0.49,
    min : 0,
    max : 0.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });
  

  $("#mmsSlider").superbuild({
    value : 0.99,
    min : 0,
    max : 1.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });
  

  $("#dataTrafficSlider").superbuild({
    value : 9.99,
    min : 0,
    max : 19.99,
    step : 0.01,
    slide: function(event, ui) {
	  if (typeof event === "number") {
		  $(this).next().val(event)
		  $(this).slider('value' , [event]);
	  } else {
		 $(this).next().val(ui.value)
      }
    }
  });

  // FORM VALIDATION

  $("#slider_form").submit(function(e){
    e.preventDefault();
    var $response = $("#formResponse"); //cache
    var emailpattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    var orgpattern = /^[0-9]{11}$/;
    var phonepattern = /^[0-9]{8}$/;
    var countpattern = /^[0-9]{0,1000}$/;

    if (!phonepattern.test($(this).find("input#phone").val())) {
      $response.text("Vennligst skriv inn et 8-sifret telefon nummer!")
      $(this).find("input#phone").focus();
      return false;    
    } 
    if (!emailpattern.test($(this).find("input#email").val())) {
      $response.text("Vennligst skriv inn en gyldig e-post addresse!")
      $(this).find("input#email").focus();
      return false;
    } 
    if ($(this).find("input#companyName").val() == "") {
      $response.text("Vennligst skriv inn navnet på din bedrift!")
      $(this).find("input#companyName").focus();
      return false;
    } 
    if (!orgpattern.test($(this).find("input#orgNumber").val())) {
      $response.text("Vennligst skriv inn et gyldig org nummer!")
      $(this).find("input#orgNumber").focus();
      return false;
    } 
    if (!countpattern.test($(this).find("input#userCount").val())) {
      $response.text("Vennligst skriv inn antall brukere!")
      $(this).find("input#userCount").focus();
      return false;
    }

    // Send e-mail
    $.post(urlroot, $("#slider_form").serialize(), function() {
      window.location = window.location.toString() + "?sent=true;";
    });

  });

$("#frontpage2 a").click(function(e){
  e.preventDefault();
  $(this).next("p").slideToggle();
});

});// JavaScript Document
