/*------------ 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;
}

/*------------ Used in templates:  kurs_skjema ----------*/
function check_courseinfo(){
    var contact     = document.course.elements['contact'].value;
    var address     = document.course.elements['address'].value;
    var zipcode     = document.course.elements['zipcode'].value;
    var city        = document.course.elements['city'].value;
    var telephone   = document.course.elements['telephone'].value;
    var email       = document.course.elements['email'].value;
    var cc          = document.course.elements['cc'].value;


    //-----Check for content-----
    if (!contact) {
      window.alert("Vennligst oppgi kontaktperson");
      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 (!telephone) {
      window.alert("Vennligst oppgi telefonnummer");
      return false;
    }

    //-----Check for valid content-----
    if(!validate_zipcode_no(zipcode)){
      return false;
    }
    else if(email != "" && !validate_email(email)){
      return false;
    }
    else if(!validate_telephone(telephone)){
      return false;
    }

    //-----Send copy of email to user-----
    if(email != ""){
      document.course.elements['cc'].value = email;
    }
   
    //-----Return true if everything is ok-----
    return true;
}

/*------------ Used in templates:  kontakt_skjema ----------*/
function check_contactinfo(){
    var contact     = document.contact.elements['contact'].value;
    var companyname = document.contact.elements['companyname'].value;
    var email       = document.contact.elements['from'].value;
    var info        = document.contact.elements['contact_info'].value;;


    //-----Check for content-----
    if (!contact) {
      window.alert("Vennligst oppgi kontaktperson");
      return false;
    }
    else if (!email) {
      window.alert("Vennligst oppgi epostadresse");
      return false;
    }
    else if (!info) {
      window.alert("Vennligst oppgi hva henvendelsen gjelder");
      return false;
    }

    //-----Check for valid content-----
    if(!validate_email(email)){
      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 check_rest(quantity,stock){
 if(quantity > stock){
  return confirm('Det er kun '+stock+' på lager. Vil du allikevel bestille?');
 }
 return true;
}


function confirm_delete() {

  return confirm('Er du sikker at du ønsker å slette handlekurv?');

}


function getElements() {
                  
  var aElems = new Array();
        
  $$('.formline').each(
    function(oCheck) {
                            
      if (oCheck.checked) {
        var sQTY = $('a_'+oCheck.id).value;
        var sPID = $(oCheck.id).value;

        var strElem = sPID + '=' + sQTY;
                                  
        aElems.push(strElem);
      }
    }
  );
          
  var sJoined = aElems.join(",");
  $('elems').value=sJoined;        
  $('frm_shoplist').submit();
}
document.observe('dom:loaded',function(){
  confirmDelete();
  updateQty();
});

function confirmDelete(){
  var a = $$('a[rel="confirm"]');
  if(a){
    a.each(function(e){
       e.observe('click', function(o){
         var msg = "Vill du radera?";
           if(!confirm(msg)){
             Event.stop(o);
            }
       });
    });
  }
}
function showQtyResult(html){
     $("order_loop").replace(html);
     updateQty();

}
function updateQty(){
  
  var a = $$('a[rel^="line_"]');
     if(a){
        var preload = new Element('img', { id:"updating", src : "http://medinor.webon.net/medinor2_dev/frontend/files/updating.gif"});
        //var preload = '<strong>Oppdatering...</strong>';
        var warning = 'Vennligst oppgi nummer';
        a.each(function(o){
          var q = $(o.readAttribute("rel"));
          o.observe('click', function(e){
              var val = q.value;
              Event.stop(e);
              if(isNaN(val)){
                 alert(warning);
                 q.focus();
              }else{
              new Ajax.Request(o.href+'&quantity='+val+'&ajax=yes', {
                  method : 'get',
                  onCreate : function(){ /*$("order_loop").update(preload);*/ q.replace(preload); },
                  onComplete : function(resp){ showQtyResult(resp.responseText); }
              });
             }
          });
        });
     }
     preventEnterKey();
}
function preventEnterKey(){
var f = $("orders");
var submitOk = true;
  if(f){
     f.observe('submit', function(e){   
      if(!submitOk){ Event.stop(e); }
     });

    var inp = f.select('#basket-lines input[name="quantity"]'); // function to prevent submit by pressing ENTER when focusing in quantity boxes
    inp.each(function(o){
         o.observe('focus', function(e){
              submitOk=false;
         });
         o.observe('blur', function(e){
              if(!isNaN(Event.element(e).getValue())){submitOk = true;}else{ alert('Vennligst oppgi nummer'); Event.element(e).focus(); }
         });
    })
  }
}