// JavaScript Document
(function($){
    $.fn.superbuild = function(obj) {
	  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"
          });
      }); 
    });
  }

  // special look on select-boxes
  $("select").bSelect();

  // MONTHLY PRICE
  $("#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