var frontpageImage = 0;
var frontpageImageTimeout = 12000;

$(document).ready( function () {

  /*

    HEADER

  */

  // Language
  var ahLanguage = $("body").attr("id");
  // if (!ahLanguage) alert("Language not set!");


  // Orion logo
  // $("#orionLogo").click( function () {});


  // Orion links -button/menu
  var sites = false;
  var sitesTimeout = false;

  $("#orionWebsites").click( function () {
    if (!sites) {
      $("#orionWebsitesList").slideDown("slow");
      sites = true;
    } else {
      clearTimeout(sitesTimeout); 
      $("#orionWebsitesList").slideUp("slow");
      sites = false;
    }
  });

  $("#orionWebsitesList").hover( 
    function () { clearTimeout(sitesTimeout); },
    function () {
      clearTimeout(sitesTimeout); 
      sitesTimeout = setTimeout(function () { 
        $(this).slideUp("slow");
        sites = false;
      }, 
      2000); 
    }
  );


  // DK Extranet box
  /*
  if ($("#extranetBox")) {
    $.get("/extranet_userinfo", {}, function (xml) {
      // if (xml.length < 50) {
      var username = $("username", xml).text();
      $("#extraUsername").html(username);
      // }
      // else $("#extranetBox").hide();
    });
  }
  */


  // Search
  var searchDefaults = new Object({
    'fi_FI': 'Hae sanalla...',
    'sv_SE': 'Sökord...',
    'no_NO': 'Søkeord...',
    'da_DK': 'Søg med nøgleord...',
    'hu_HU': 'Keresés ...',
    'cz_CZ': 'Hledej podle klíčového slova...',
    'sk_SK': 'Hľadaj podľa kľúčového slova...',
    'pl_PL': 'Szukaj według słowa kluczowego...'
  });

  var defaultKeyword = searchDefaults[ $("#searchLanguage").val() ];

  // Search keyword
  $("#searchKeyword")
    .val( defaultKeyword )
    .click( function () {
      if( $(this).val() == defaultKeyword) {
        $(this).val("");
        $(this).css("color", "black");
      }
    })
    .blur(function () {
      if (!$(this).val()) {
        $(this)
          .val( defaultKeyword )
          .css("color", "#c4c4c4");
      }
    });


  // Search submit
  $("#searchSubmit").click( function () {
    $("#searchForm").submit();
  });


  // Search form
  $("#searchForm").submit( function () {
    if ( $("#searchKeyword").val() == defaultKeyword || !$("#searchKeyword").val() ) return false;
  });


  // Print page
  $("#printPage").click( function () {
    $("#css_print").attr("media", "all");
    setTimeout( function () {
      $("#css_print").attr("media", "print");
    }, 5000);
    // window.print(); 
  });


  // Email page
  $("#emailPage").click( function () {
    $(this).attr("href", 
      this.href +
      "?pageTitle="+ escape($("title").html()) +
      "&pageUrl="+ escape(document.location)
    );
  });


  /*

    NAVI

  */

  /*
  $("#navi a").hover(
    function () { $(this).find("img").each ( function () { this.src = this.src.replace("_off", "_on"); }) },
    function () { $(this).find("img").each ( function () { this.src = this.src.replace("_on", "_off"); }) }
  );
  */


  /*

    NAVI 2

  */

  // Hide empty navi2
  if (!$("#navi2 .level_1").children().length) {
    $("#navi2").hide();
  }

  // Remove "vertical-align: super" from navipath SUP's
  $("#navipath sup").css("vertical-align", "middle");

  /*

    COMMON

  */

  // Add input/textarea classes
  $("#content input[@type=text], #content textarea").addClass("text");
  $("#content").find("input[@type=submit]").not("#vetSubmit").addClass("submit");
  $("#content").find("input[@type=button]").addClass("submit");


  /*

    FRONTPAGE

  */

  // Frontpage image changer
  setFrontpageImages();
  if ($('#frontpage_image').length && frontpageImages.length > 0) setTimeout(changeFrontpageImage, frontpageImageTimeout);


  // Vet login
  if ($("#vetloginForm").length > 0) {

    var loginDefaults = new Object({
      'dk': new Object({username: 'Brugernavn', password: 'Password'})   
    });

    var loginLang = $("#loginLanguage").val();
    
    // Vet login username
    $("#vetUsername")
      .val( loginDefaults[ loginLang ].username )
      .click( function () {
        if( $(this).val() == loginDefaults[ loginLang ].username ) {
          $(this).val("");
          $(this).css("color", "black");
        }
      })
      .blur(function () {
        if (!$(this).val()) {
          $(this)
            .val( loginDefaults[ loginLang ].username )
            .css("color", "#c4c4c4");
        }
      });

    // Vet login / lost pass
    /*
    $("#vetLostpass").click( function () {
    });
    */

    // Vet login form
    $("#vetloginForm").submit( function () {
      if ($("#vetUsername").val() == loginDefaults[ loginLang ] || !$("#vetUsername").val() || !$("#vetPassword").val()) {
        return false;
      }
    });
  }


  /* 

    EMAIL PAGE

  */

  // Email page -form
  $("#emailPageForm").submit( function () {
  
    // To 
    var to_email = $("#q0").val();

    // From
    var from_name = $("#q1").val();
    var from_email = $("#q2").val();

    // Message
    var message = $("#q3").val();

    // Page URL
    var url = $("#q4").val();

    // Page title
    var title = $("#q5").val();

    // Email subject
    var subject = new Object({
      "fi": "Orion Animal Health linkkivinkki kaveriltasi",
      "se": "Orion Animal Health link tip from your friend",
      "no": "Orion Animal Health link tip from your friend",
      "dk": "Orion Animal Health link tip from your friend",
      "cz": "Váš priateľ Vám poslal odkaz na Orion Pharma Animal Health",
      "sk": "Váš priateľ Vám poslal odkaz na Orion Pharma Animal Health",
      "hu": "Orion Animal Health link tip from your friend",
      "pl": "Orion Animal Health link tip from your friend"
    })

    // Email message
    var message = new Object({

      "fi":  
        "Kaverisi "+ (from_name ? from_name +" " : "") +"on lähettänyt sinulle seuraavan linkin:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Kaverisi viesti:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Orion toimii ainoastaan viestin teknisenä välittäjänä. "+
        "Annettuja tietoja ei kerätä, säilytetä eikä niitä luovuteta ulkopuolisille.\n"+
        "\n"+
        "Kysymykset palvelusta: jotain@orion.fi\n"+
        "http://animalhealth.orion.fi\n",

      "se":  
        "Your friend "+ (from_name ? from_name +" " : "") +" has sent you following link:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Friends message:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Orion toimii ainoastaan viestin teknisenä välittäjänä. "+
        "Annettuja tietoja ei kerätä, säilytetä eikä niitä luovuteta ulkopuolisille.\n"+
        "\n"+
        "Kysymykset palvelusta: jotain@orion.fi\n"+
        "http://animalhealth.orion.fi\n",
        
      "sk":  
        "Váš priateľ "+ (from_name ? from_name +" " : "") +" Vám poslal odkaz na nasledujúce webové stránky:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Správa od Vášho priateľa:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Iba Orion môže doručiť túto správu. "+
        "Informácie nie sú uchovávané pre neskoršie použitie.\n"+
        "\n"+
        "Otázky týkajúce sa webovej stránky: meno.priezvisko@orion.fi\n"+
        "http://www.orionvet.fi\n",
        
      "cz":  
        "Váš priateľ "+ (from_name ? from_name +" " : "") +" Vám poslal odkaz na nasledujúce webové stránky:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Správa od Vášho priateľa:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Iba Orion môže doručiť túto správu. "+
        "Informácie nie sú uchovávané pre neskoršie použitie.\n"+
        "\n"+
        "Otázky týkajúce sa webovej stránky: meno.priezvisko@orion.fi\n"+
        "http://www.orionvet.fi\n",
        

      "no":  
        "Your friend "+ (from_name ? from_name +" " : "") +" has sent you following link:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Friends message:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Orion toimii ainoastaan viestin teknisenä välittäjänä. "+
        "Annettuja tietoja ei kerätä, säilytetä eikä niitä luovuteta ulkopuolisille.\n"+
        "\n"+
        "Kysymykset palvelusta: jotain@orion.fi\n"+
        "http://animalhealth.orion.fi\n",

      "dk": "",
       
      "hu":  
        "Your friend "+ (from_name ? from_name +" " : "") +" has sent you following link:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Friends message:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Orion toimii ainoastaan viestin teknisenä välittäjänä. "+
        "Annettuja tietoja ei kerätä, säilytetä eikä niitä luovuteta ulkopuolisille.\n"+
        "\n"+
        "Kysymykset palvelusta: jotain@orion.fi\n"+
        "http://animalhealth.orion.fi\n",
        
      "pl":  
        "Your friend "+ (from_name ? from_name +" " : "") +" has sent you following link:\n"+
        "\n"+
        title +"\n"+
        url +"\n"+
        (message ? "Friends message:\n\n"+ message +"\n" : "") +
        "\n"+
        "--\n"+
        "Orion toimii ainoastaan viestin teknisenä välittäjänä. "+
        "Annettuja tietoja ei kerätä, säilytetä eikä niitä luovuteta ulkopuolisille.\n"+
        "\n"+
        "Kysymykset palvelusta: jotain@orion.fi\n"+
        "http://animalhealth.orion.fi\n"
    });

    if (subject[ ahLanguage ] && message[ ahLanguage ]) {
      $("#q6").val( subject[ ahLanguage ] );
      $("#q7").val( message[ ahLanguage ] );
      return true;
    }

    else {
      return false;
    }

  });

  /*

    SITEMAP

  */ 

  $("#sitemap").siteMap();

  
  /* 

    CREATE USER (DK)

  */

  // 
  $("#createUserForm").submit( function () {

    var submit = true;
    $("#createUserForm input").removeClass("required");

    var username = $('#q0').val();
    if (!username) {
      $('#q0').addClass("required");
      submit = false;
    }

    var pass1 = $('#q1').val();
    var pass2 = $('#q2').val();
    if (!pass1 || !pass2 || pass1 != pass2) {
      $('#q1, #q2').addClass("required");
      submit = false;
    }

    if (!submit) {
      alert("no wai!");
      return false;
    }
    else return true;

  });


  /* 

    MATERIAL ORDER FORM (SE)

  */

  $('form#productchooser').submit( function () {
    return false;
  });

  $('select#product').change( function () {
    $(".productmaterial").slideUp("fast");
    var productNum = $(this).val();
    var productmaterial = $(".product_"+ productNum);
    if (productmaterial) { $(productmaterial).slideDown("fast"); }
  });

  $('form#materialorder').submit( function () {
    var productNum = $('select#product').val();
    var productName = $('select#product option:selected').text();
    var productMaterial = $(".product_"+ productNum +" select").val();
    $("#q0").val( productName );
    $("#q1").val( productMaterial );
  });


  /*
    
    GOOGLE MAPS (NO Kontakt Oss) 

  */

  var gm_map = '';
  var gm_gc = '';

  if ($("#google_maps").length) {
    gm_map = new GMap2( document.getElementById("map") );
    gm_map.setCenter(new GLatLng(59.91376, 10.73885), 3);
    gm_map.enableScrollWheelZoom();
    gm_map.addControl(new GSmallMapControl());
    gm_map.addControl(new GMapTypeControl());  
    gm_map.addControl(new GOverviewMapControl());
    // gm_gd = new GDirections(map, document.getElementById("directions"));
    gm_gc = new GClientGeocoder();
    gm_gc.getLatLng("Gjerdrumsvei 8, Oslo, Norway", function (gLatLng) {

      gm_map.setCenter(gLatLng);
      gm_map.setZoom(15);

      var marker = new GMarker(
        gLatLng, 
        new Object({title: "Orion Pharma AS Animal Health"})
      );
      gm_map.addOverlay(marker);

      var markerHtml =
        "<h2>Orion Pharma AS Animal Health</h2>"+
        "Gjerdrumsvei 8<br />"+
        "P.O.Box 4366 Nydalen<br />"+
        "N-0402 Oslo, Norway<br />";

      marker.bindInfoWindowHtml(markerHtml);
      marker.openInfoWindowHtml(markerHtml);

    });

    /*
    GEvent.addListener(gm_map, "click", function (overlay, latlng) {
      alert(latlng);
    });
    */
  }

});


// Create img-tags for frontpage-images, set first image randomly
function setFrontpageImages () {
  var fpImg = $('#frontpage_image');
  $.each(frontpageImages, function (num, image) {
    $(fpImg).append('<img src="'+ image +'" alt="" id="image_'+ num +'" />');
  });
  var fpImage = Math.floor(Math.random() * frontpageImages.length);
  $(fpImg).find("img[@id$="+ fpImage +"]").show();
}


// Changes frontpage image
function changeFrontpageImage () {

  var fpImg = $('#frontpage_image');
  
  var prev = frontpageImage;
  var next = frontpageImage + 1;
  if (next == frontpageImages.length) next = 0;
  frontpageImage = next;
 
  var oldImg = $(fpImg).find("img[@id$="+ prev +"]");
  var newImg = $(fpImg).find("img[@id$="+ next +"]");
  
  $(newImg).css({"opacity": 0.10, "z-index": 1}).show();
  $(oldImg).animate({ opacity: 0 }, 750, '', function () {
    $(newImg).animate({ opacity: 1 }, 750).css({"z-index": 2});
    $(oldImg).hide();
  });
  
  setTimeout(changeFrontpageImage, frontpageImageTimeout);
}


// Sitemap
jQuery.fn.siteMap = function () {

  // Style-classes
  var openClass = 'open';
  var lastClass = 'last';
  var closeClass = 'close';
  
  // Hide all > 2. level links
  $(this).find("div div").hide();
   
  // Wrap into P, add SPAN for image
  $(this).find("a").each( function () { $(this).wrap('<p></p>').before('<span></span>'); });
  
  // Images
  $(this).find("span")
    .css({"opacity": 0.5})
    
    .hover( 
      function () { $(this).css({"opacity": 1.0}) },
      function () { $(this).css({"opacity": 0.5}) }
    )
    
    .each( function () {
      // Product groups show empty DIV, check with children()
      if ($(this).parent("p").next("div").children().size())
        $(this).addClass(openClass);
      else
        $(this).addClass(lastClass);
    })
    
    .click( function () {
      if ($(this).is("."+ openClass)) {
        $(this).removeClass(openClass).addClass(closeClass);
        $(this).parent().next("div").slideDown("fast");
      }
      else if ($(this).is("."+ closeClass)) {
        $(this).removeClass(closeClass).addClass(openClass);
        $(this).parent().next("div").slideUp("fast");
      }
    });
    
  // Show 2. level trees
  $(this).find("> div > p > span").trigger("click");
    
};
