/*------------ Used in templates:  oppdater_firma, bli_kunde ----------*/
function check_company(){
    var contact     = document.company.elements['contact'].value;
    var companyname = document.company.elements['companyname'].value;
    var orgnu       = document.company.elements['orgnu'].value;
    var address     = document.company.elements['address'].value;
    var zipcode     = document.company.elements['zipcode'].value;
    var city        = document.company.elements['city'].value;
    //var telephone   = document.company.elements['telephone'].value;
    var email       = document.company.elements['from'].value;

    //-----Check for content-----
    if (!contact) {
      window.alert("Vennligst oppgi kontaktperson");
      return false;
    }
    else if (!companyname) {
      window.alert("Vennligst oppgi firmanavn");
      return false;
    }
    else if (!orgnu) {
      window.alert("Vennligst oppgi organisasjonsnummer");
      return false;
    }
    else if (!address) {
      window.alert("Vennligst oppgi adresse");
      return false;
    }
    else if (!zipcode) {
      window.alert("Vennligst oppgi postnummer");
      return false;
    }
    else if (!city) {
      window.alert("Vennligst oppgi poststed");
      return false;
    }
    else if (!email) {
      window.alert("Vennligst oppgi epostadresse");
      return false;
    }
    //else if (!telephone) {
    //  window.alert("Vennligst oppgi telefonnummer");
    //  return false;
    //}

    //-----Check for valid content-----
    if(!validate_zipcode_no(zipcode)){
      return false;
    }
    else if(!validate_email(email)){
      return false;
    }
    else if(!validate_telephone(telephone)){
      return false;
    }
    //-----Return true if everything is ok-----
    return true;
}


function check_order(){
/* ----------midlertidig deaktivert-------------
    var d_fname       = document.orders.elements['ORDERS.D_FNAME'].value;
    var d_lname       = document.orders.elements['ORDERS.D_LNAME'].value;
    var d_zipcode     = document.orders.elements['ORDERS.D_ZIPCODE'].value;
    var d_city        = document.orders.elements['ORDERS.D_CITY'].value;
    var d_email       = document.orders.elements['ORDERS.D_EMAIL'].value;
    var d_telephone   = document.orders.elements['ORDERS.D_TELEPHONE'].value;

    //-----Check for content-----
    if (!d_fname) {
      window.alert("Vennligst oppgi fornavn");
      return false;
    }
    else if (!d_lname) {
      window.alert("Vennligst oppgi etternavn");
      return false;
    }
    else if (!d_zipcode) {
      window.alert("Vennligst oppgi postnummer");
      return false;
    }
    else if (!d_city) {
      window.alert("Vennligst oppgi poststed");
      return false;
    }
    else if (!d_email) {
      window.alert("Vennligst oppgi epostadresse");
      return false;
    }
    else if (!d_telephone) {
      window.alert("Vennligst oppgi telefonnummer");
      return false;
    }

    //-----Check for valid content-----
    if(!validate_zipcode_no(d_zipcode)){
      return false;
    }
    else if(!validate_email(d_email)){
      return false;
    }
    else if(!validate_telephone(d_telephone)){
      return false;
    }
*/
    //-----Return true if everything is ok-----
    return true;
}


function validate_email(email_str){
  var email_filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

  if (!email_filter.test(email_str)){
    alert("Epostadressen er ikke gyldig: Eksempel på riktig adresse er: fornavn.etternavn@firma.no");
    return false;
  }
  else {
    return true;
  }
}

function validate_zipcode_no(zipcode_str){
  var zipcode_filter = /^([\d]+)$/i;

  if (!zipcode_filter.test(zipcode_str)){
    alert("Postnummeret kan bare inneholde tall");
    return false;
  }
  else if(zipcode_str < 1 || zipcode_str > 9999){
    alert("Postnummeret må være et tall mellom 0001 og 9999");
    return false;
  }
  else {
    return true;
  }
}

function validate_telephone(telephone_str){
  var telephone_filter = /^([\d]+)$/i;

  if (!telephone_filter.test(telephone_str)){
    alert("Telefonnummeret kan bare inneholde tall");
    return false;
  }
  else if(telephone_str < 10000000 || telephone_str > 99999999){
    alert("Telefonnummeret er ugyldig");
    return false;
  }
  else {
    return true;
  }
}

function validate_consumer(form){

  var msg   = "Følgende felter må fylles inn: \n";
  var error = 0;

  if (!form.elements['ORDERS.D_FNAME'].value){
    msg   = msg + "  Fornavn\n";
    error = 1;
  }
  if (!form.elements['ORDERS.D_LNAME'].value){
    msg   = msg + "  Etternavn\n";
    error = 1;
  }
  if (!form.elements['ORDERS.D_ADDRESS'].value){
    msg   = msg + "  Adresse\n";
    error = 1;
  }
  if (!form.elements['ORDERS.D_ZIPCODE'].value){
    msg   = msg + "  Postnummer\n";
    error = 1;
  }
  if (!form.elements['ORDERS.D_CITY'].value){
    msg   = msg + "  Poststed\n";
    error = 1;
  }
  if (!form.elements['ORDERS.D_EMAIL'].value){
    msg   = msg + "  Epostadresse\n";
    error = 1;
  }
  if (!form.elements['ORDERS.D_TELEPHONE'].value){
    msg   = msg + "  Telefonnummer\n";
    error = 1;
  }

  if (error){
    alert(msg);
    return false;
  }
  else if (!form.accept.checked){
    alert("Du må akseptere salgsbetingelsene for å kunne handle");
    return false;
  }
  else {
    return true;
  }
}
function fixHeight() {

   var h = Element.getStyle( "inner_wrapper", 'height' );
   var columns = ['left', 'content', 'middle', 'right'];

   if ( h != undefined ) {

      for ( var i=0; i < columns.length; ++i ) {
         var elId = columns[i];
         if ( undefined != document.getElementById(elId) ) {
            Element.setStyle( elId, {'height': h} );
         }
      }
   }
}


// This function is called if the server request is successful
var handleSuccess = function(o)
{ 
  // This is the DIV that will be updated by the AJAX request
  //var div = document.getElementById('right_content');
  var div = document.getElementById('middle_content');

  // Resent the height of all elements to be dynamic
  var columns = ['left', 'content', 'middle', 'right'];

  for ( var i=0; i < columns.length; ++i ) {
    var elId = columns[i];
    if ( undefined != document.getElementById(elId) ) {
      Element.setStyle( elId, {'height': ''} );
    }
  }

  // Set the content of the DIV to whatever the AJAX request returns
  div.innerHTML = o.responseText;

  // Equalize the height of the left, middle, and right columns
  setTimeout( "fixHeight()", 100 );
  
// Get the spinner div and hide it
//var spinner = document.getElementById('spinner');
//spinner.style.display = "none";
};

// Parameter for the AJAX request
var callback =
{
  success:handleSuccess
};

// URL for the AJAX request

// Function to be called on the onclick event on the <a> tags
// Takes one parameter: the product id
function makeRequest(product_id, variant_id) {

   var sUrl = "/wsp/babyshop/frontend.cgi?func=frontend.show&template=inc_ajax&product_id="+product_id+"&variant_id="+variant_id;
   var request = YAHOO.util.Connect.asyncRequest("GET", sUrl, callback);
// Get the spinner div and show it
//var spinner = document.getElementById('spinner');
//spinner.style.display = "block";

  //Set parameter for id
  //document.frm.func_id.value = product_id;
}

//Ajax toggle images (THA)
var handleSuccess_img = function(o)
{ 
  // This is the DIV that will be updated by the AJAX request
  var div = document.getElementById('img_toggle');

  // Set the content of the DIV to whatever the AJAX request returns
  div.innerHTML = o.responseText;
};

// Parameter for the AJAX request
var callback_img =
{
  success:handleSuccess_img
};

// URL for the AJAX request
// Function to be called on the onclick event on the <a> tags
// Takes one parameter: the product id
function makeRequest_img(product_id) {
   var sUrl = "/wsp/babyshop/frontend.cgi?func=frontend.show&template=inc_ajaxImg&product_id="+product_id;
   var request = YAHOO.util.Connect.asyncRequest("GET", sUrl, callback_img);
}

function load_image(url) {
 var image_url = "/[:setup.inst:]/frontend/files/PRODUCT/" + url;
 var imageElement = document.getElementById("product_image");
 imageElement.src = image_url;
}

function calc_price(){

  aProd = document.getElementsByTagName("SELECT");
  aRadio = document.getElementsByName("bundle_radio");

  if(aRadio){
    for(i2 = 0; i2 < aRadio.length; i2++){
      if(aRadio[i2]){
        if(aRadio[i2].checked){
          radio_price = parseFloat(aRadio[i2].value);
          //alert(radio_price);
        }
      }
    }
  }

  var aP = new Array;
  var iCount = 0;

  for (i = 0; i < aProd.length; i++) {

      if (aProd[i].name.substring(0,6) == 'bundle') {

        aP[iCount] = aProd[i].value;
        iCount = iCount +1;
      }
  }

  var sProd = aP.join(",");
  var url = '/wsp/babyshop/frontend.cgi?template=ajax_calcbundle&products=' + sProd;

  new Ajax.Request(url, 
   {
         method: 'get',

         onSuccess: function(resp) {
                           aReturn = resp.responseText.split('###');
                           var price = parseFloat(aReturn[1]);
                           price = price + radio_price;
                           price = price.toFixed(2); 
                           $('price').innerHTML = price;
                    },

         onException: function(resp) {
                   alert("feiler");
         }
  }

  );

}

function buyButton( state ) {
  // Hide or show the buy button
  // used when selecting variants
  var button = $('buy_button');
  if ( button ) {
    if ( state == 'on' ) {
      button.setStyle( { 'display': 'inline' } );
    } else if ( state == 'off' ) {
      button.setStyle( { 'display': 'none' } );
    }
  }
}
