var emailpattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; // THIS VAR IS USED INLINE IN OTHER SCRIPTS

jQuery(document).ready(function(){
  var urlroot = ips.system.urlroot;

  //JSON PROFILEIMAGES
  function substringBefore(astring, before) {
     return astring.substring(0,astring.indexOf(before));
  }

  function substringAfter(s1, s2){
    return s1.substring(s1.indexOf(s2) + s2.length,s1.length);
  }

  $.getJSON(urlroot + "?template=avatarsJSON", function(data){
    var images = data.images, 
        imglength = images.length, 
        result = "<ul class='avatars'>";

    var selClass = "";    
    for (var i = 0;i < imglength; i++) {
      if((i+1) % 3 === 0) {
        selClass = "lastLine";
      }
      result += "<li class='" + selClass + "'><img src='" + urlroot + "filestore/" + images[i].url + "?size=126x126' /></li>";
    }
    result += "</ul>";
    $("#avatarButton").click(function(e) {$("#_AID221_attribute56").focus();});
    $("#_AID221_attribute56").focus(function() {
      var inputfield = $(this);
      $("#avatars").html(result);
      $("#avatars").slideDown();
      $("#avatars ul li img").click(function() {
        var src = $(this).attr('src');
        var newSrc = substringBefore(src, "?");
        var newSrc2 = substringAfter(newSrc, "filestore/");
        inputfield.val(newSrc2);
        $("#selectedAvatarNMF").html("<img src='" + src + "' alt='Avatar'/>");
        $("#avatars").slideUp("500", function() {
           $("#avatars").html("");
        });
      });
    });
  });

  $("#resetAvatar").click(function() {
    $.ajax({
      url: urlroot + 'musikkorps.no/scripts/RemoveProfileimage.groovy',
      success: function(data) {
        $("#selectedAvatar").html("");  
      }
    });
  });

  $("#resetAvatarNMF").click(function() {
    $.post('/scripts/RemoveProfileimage.groovy?nmf=true',function(data) {             
        $("#_AID221_attribute56").val("");
        $("#selectedAvatarNMF").html("");  
    });    
  });
  if($(".profileAvatar,.profileAvatarNMF").length) {
   if($(".profileAvatar").attr("src") === "/attributes/null?size=100x100")
     $(".profileAvatar").hide();
   if($(".profileAvatarNMF").attr("src") === "/filestore/?size=100x100")
     $(".profileAvatarNMF").hide();
  }

  // DATEPICKER FOR NEW EVENT
  // Set default settings for datepicker
  $.datepicker.setDefaults({
    dateFormat: 'yymmdd',
    duration: 'fast',
    minDate: new Date()
  });

  $(".datepicker").datepicker();

  $(".datepicker").bind("change", function() {
    var date = $(this).val();
    $elementId = $(this).parent().attr("id");
    //console.log($elementId);
    $("input[name=" + $elementId + "_year]").attr("value", date.substring(0,4));
    $("input[name=" + $elementId + "_month]").attr("value", date.substring(4,6));
    $("input[name=" + $elementId + "_day]").attr("value", date.substring(6,8));
  });

  $("#writeComment").live("click", function(e) { 
    e.preventDefault();
    $("#commentForm").slideToggle();
    if($("#commentForm").css("display") == "none" ) {
      console.log("A");
    }
  });

  // IMAGEMAP SETUP FOR HOVER EFFECT
  var $imageMapWrapper =  $("#imageMapWrapper"), // Cache selector
  orgSrc = $imageMapWrapper.find("img").attr("src"); // Set normal src when mouseleave wrapper
  $imageMapWrapper.find("area").mouseenter(function(e){
    var alt2src = ips.system.urlroot + "filestore/dev/GFX/imageMap/" + $(this).attr("alt") + ".gif";
    $imageMapWrapper.find("img").attr("src", alt2src);
  });
  $imageMapWrapper.mouseleave(function(){
    $imageMapWrapper.find("img").attr("src", orgSrc);
  }); // END IMAGEMAP
  
  // NEWSLETTER / SMS SETUP AND CACHE
  var tlfpattern = /^[0-9]{8}$/,
      $newsletter = jQuery(".newsletter"), //cache
      $smsForm = $newsletter.find("#smsForm"), //cache
      $newsletterForm = $newsletter.find("#newsletterForm"), //cache
      $mobile = $smsForm.find("#mobile"), //cache
      $email = $newsletterForm.find("input.text"), //cache
      $inputLabel = jQuery("label.inputLabel"); // cache
  if(!$newsletter.find(".response").get()[0]) {
      jQuery("<div class='response' />").appendTo($newsletter);
  }
  var $response = $newsletter.find(".response"); //cache
  jQuery("#smsForm,#newsletterForm").submit(function(e){
    e.preventDefault();
    $newsletter.trigger("subscribe");
  });
  $inputLabel.bind("click", function(){
    jQuery(this).next().focus();
  });
  $email.bind("focus", function(){
    $inputLabel.hide();
  });
  $mobile.bind("focus", function(){
    $inputLabel.hide();
  });
  $newsletter.bind("addEmail",function(){
    jQuery.ajax({
      url: "?template=newsletter-no;ajax=true;",
      data: $newsletterForm.serialize(),
      error: function() {
          $response.text("Feil / Error"); //unknown error
      },
      success: function(data) {
        //$response.text($(data, ".response").text()); // input response from reponse data
        $response.text("Du er n\u00E5 meldt p\u00E5 v\u00E5rt nyhetsbrev");
        $email.removeClass("error").val(""); // clear value and error class
      }    
    });
  });
  $newsletter.bind("addMobile",function(){
    jQuery.get(ips.system.urlroot + "?module=Login&action=Logout;template=loginaction;", function(){
      $smsForm.find(".username").val("dummy" + $mobile.val());
      jQuery.ajax({
         url: "./?template=sms;ajax=true;",
         data: $smsForm.serialize(),
         error: function() {
           $response.text("Feil / Error");
         },
         success: function(data) {
           $response.text("Mobilnummer er lagt til!"); // ALL DONE
           $mobile.removeClass("error").val("");
         }
      });
    });
  });
  $newsletter.bind("subscribe", function() {
    $response.text("Validerer...");
    // Validation
    if ($email.val() === "") {
      $response.text("Feltet er tomt, fyll inn e-post og trykk send"); // do nothing
      $email.removeClass("error");
    } else if (!emailpattern.test($email.val())){
      $email.addClass("error").focus();
      $response.text("E-post er ikke utfyllt korrekt!");
    } else {
      $newsletter.trigger("addEmail");
    }
    /*if ($mobile.val() === "") {
      $mobile.removeClass("error");
      // Do nothing
    } else if (!tlfpattern.test($mobile.val())) {
      $mobile.addClass("error").focus();
      $response.text("Telefonnummer ('" + $mobile.val() + "') er ikke utfyllt korrekt! Et telefonnummer skal ha 8 siffer.");
    } else { 
      $newsletter.trigger("addMobile", $smsForm);
    } */ 
  });
  // CALENDAR FRONTPAGE AJAX EVENTS
  jQuery("#frontpageCalendar.prevMonthSmall a, #frontpageCalendar.nextMonthSmall a").live("click", function(e){
    e.preventDefault();
    var theUrl = $(this).attr("href") + ";ajax=true;";
    jQuery("#frontpageCalendar").load(theUrl);
  });
  // END CALENDAR AJAX
  jQuery("#latestFromForum").load(ips.system.urlroot + "?template=latest;");   // LOAD FORUMPOSTS VIA AJAX
  jQuery("#latestFromIntranettForum").load(ips.system.urlroot + "?template=intranetlatest;");   // LOAD INTRANET FORUMPOSTS VIA AJAX
  // LOAD AJAX ADS WITH SLIDESHOW
  jQuery("#aktuelt").load(ips.system.urlroot + "?template=annonser-" + ips.system.topfolderlabel, function(){
    // START SLIDESHOW AFTER ADS ARE LOADED
    var $slideshow = $('.ads');
    var iterator = 0;
    function goNext() {
      var $slides = $('.ads > div');
      $slides.eq(iterator).fadeOut(2000);
      if (iterator === $slides.length -1) {
           iterator = 0;
          } else {
           iterator += 1;
          }
      $slides.eq(iterator).fadeIn(2000);
    }
    if ($slideshow.length !== 0 && $slideshow.find("> div").length > 1) {
        $slideshow.addClass("jsloaded").find("> div").hide().css({"position":"absolute","top":"10px","left":"0"}).eq(iterator).show();
        var autoScroll = setInterval( goNext, 10000 ); 
        $slideshow.hover(function(){
            clearInterval(autoScroll);
           }, function(){
            autoScroll =  setInterval( goNext, 10000 );
        }); 
    }
  }); // END AJAX ADS
  // REPORT FORUM BUTTON
  $('#reportForumThread').submit(function(e){
      e.preventDefault();
      $.post("./",$(this).serialize(), function(){
         $("#reportThread").text("Takk!");
      });
    });
  $("#reportThread").click(function(e){
    e.preventDefault();
    $('#reportForumThread').submit();
  }); // END FORUM
  // TIP  A FRIEND AJAX SETUP AND VALIDATION
  var $tipsform = $("#tipsForm");
  $tipsform.hide().submit(function(e){
    var $this = $(this), //cache
        $response = $this.find("h3"),
        $sender = $this.find("#senderEmail"),
        $recipient = $this.find("#recipientEmail");
    e.preventDefault();
    if (!emailpattern.test($sender.val())) {
      $response.addClass("error").text("Vennligst sjekk e-post");
      $sender.addClass("error").focus();
      return false;
    } else if (!emailpattern.test($recipient.val())) {
      $response.addClass("error").text("Vennligst sjekk e-post");
      $recipient.addClass("error").focus();
      return false;
    }
    $response.text("Sender tips....");
    $.ajax({ 
        type: 'GET', 
        url: './',
        data: $this.serialize(),
        success: function() {
            $response.text("Tipset ble sendt!");
            $this.find("input[type=text]").val("");
            $tipsform.hide("slow");
        }
    });
  }); // END TIP A FRIEND
  // REPORT COMMENTS AJAX SETUP AND VALIDATION
  var $reportform = $("#reportForm");
  $reportform.hide().submit(function(e){
    var $this = $(this), //cache
        $response = $this.find("h3"),
        $sender = $this.find("#senderEmail");
    e.preventDefault();
    if (!emailpattern.test($sender.val())) {
      $response.addClass("error").text("Vennligst sjekk e-post");
      $sender.addClass("error").focus();
      return false;
    }
    $response.text("Sender melding");
    $.ajax({ 
        type: 'GET', 
        url: './',
        data: $this.serialize(),
        success: function() {
            $response.text("Meldingen ble sendt!");
            $this.find("input[type=text]").val("");
            $tipsform.hide("slow");
        }
    });
  }); // END  REPORT COMMENTS
  // LOGIN FOR FORUM
  var $login = $(".login"); //cache
  var errorParam = ips.system.error ? ";error=" + ips.system.error + ";" : "";
  if ($login.get()[0]) { // CHECK if login is on page
        var loginAjaxTemplate = ($(".intranetForum").length) ? 'intranetajaxlogin': 'ajaxlogin';
	$login.load(ips.system.urlroot + "?template="+loginAjaxTemplate+";" + errorParam + "redirect_url=" + ips.system.request_url64 + ";nocache=true"); // LOAD LOGIN SCREEN TO LOGIN CLASS
  } //END LOGIN FOR FORUM
  // LOGIN FOR INTRANET
  var $intranetLogin = $(".intranetLogin"); //cache
  var errorParam = ips.system.error ? ";error=" + ips.system.error + ";" : "";
  if ($intranetLogin.get()[0]) { // CHECK if login is on page
        var loginAjaxTemplate = 'intranetajaxlogin';
	$intranetLogin.load(ips.system.urlroot + "?template="+loginAjaxTemplate+";" + errorParam + "redirect_url=" + ips.system.request_url64 + ";nocache=true"); // LOAD LOGIN SCREEN TO LOGIN CLASS
  } //END LOGIN FOR FORUM


$("#personalboken").submit(function(e) {
  e.preventDefault();
  searchQuery = $("#personalboken .query").val();
  window.open("http://www2.compendiapersonal.no/kunder/musikkorps/ph.nsf/ekstern?ReadForm&external_url=/kunder/musikkorps/sokemoto.nsf/sokemotor%3Fopenagent%26search%3D"+searchQuery);
});



}); // EOF document ready


//$.frameReady(function() { $("html").css({height:'98%'});},window.iframes[0]);
/*
var frm = frames[0].document;
var otherhead = frm.getElementsByTagName("html")[0];
otherhead.css({height:'98%'});
*/

function newTarget(link) {
  window.open(link.href);
}