/*------------ Used in templates:  oppdater_firma, bli_kunde ----------*/
function check_company(){
   var companyname = document.company.elements['companyname'].value;
   var d_address = document.company.elements['d_address'].value;
   var d_zipcode = document.company.elements['d_zipcode'].value;
   var d_city = document.company.elements['d_city'].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['email'].value;

//    var contact     = document.company.elements['contact'].value;   
//    var orgnu       = document.company.elements['orgnu'].value;   
//   var salesemail1 = document.company.elements['salesemail1'].value;
//  var salesemail2 = document.company.elements['salesemail2'].value;

    //-----Check for content-----
    if (!companyname) {
      window.alert("Vennligst oppgi firmanavn");
      return false;
    }
    if(!d_address){
     window.alert("Vennligst oppgi leveringsadresse");
     return false;
     }
     if(!d_zipcode){
     window.alert("Vennligst oppgi leveringsadresse");
     return false;
     }
     if(!d_city){
     window.alert("Vennligst oppgi leveringsadresse");
     }
     else if (!address) {
      window.alert("Vennligst oppgi fakturaadresse");
      return false;
    }
     else if (!zipcode) {
       window.alert("Vennligst oppgi fakturaadresse");
      return false;
    }
    else if (!city) {
      window.alert("Vennligst oppgi fakturapoststed ");
      return false;
    }
   /* else if (!email) {
      window.alert("Vennligst oppgi epostadresse");
      return false;
    }*/
    //-----Check for valid content-----
    if(zipcode && !validate_zipcode_no(zipcode)){
      return false;
    }
    else if(d_zipcode && !validate_zipcode_no(d_zipcode)){
     return false;
    }
    else if(email && !validate_email(email)){
      return false;
    }
    else if(telephone && !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 = /^([\s\d]+)$/i;

  if (!telephone_filter.test(telephone_str)){
    alert("Telefonnummeret kan bare inneholde tall");
    return false;
  }
  else if(telephone_str.replace(/\s/g,'') < 10000 ) { 
    alert("Telefonnummeret er ugyldig" + telephone_str.replace(/\s/g,'') );
    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_TELEPHONE'].value){
    msg   =msg+ "Telefonnummer\n";
    error = 1;
}
  if (!form.elements['ORDERS.D_EMAIL'].value){
    msg   = msg + "  Epostadresse\n";
    error = 1;
  }
  if (error){
    alert(msg);
    return false;
  }
    if(!validate_zipcode_no(form.elements['ORDERS.D_ZIPCODE'].value)){
      return false;
    }
  if(!validate_telephone(form.elements['ORDERS.D_TELEPHONE'].value)){
    return false;
}
  if (!form.elements['ORDERS.D_CITY'].value){
    msg   = msg + "  Poststed\n";
    alert(msg);
    return false;
  }
    if(!validate_email(form.elements['ORDERS.D_EMAIL'].value)){
      return false;
    }

}
function validate_order_consumer(form){
    var address     = form.elements['address'].value;
    var address2    = form.elements['address2'].value;
    var address3    = form.elements['address3'].value;
    var zipcode     =form.elements['zipcode'].value;
    var city        =form.elements['city'].value;
    var msg   = "Følgende felter må fylles inn: \n";
    var error = 0;
    if(!address && !address2 && !address3){
        msg   = msg + "  Adresse\n";
        error = 1;
    } 
    if(!zipcode){   
        msg   = msg + "  Postnummer\n";
        error = 1;
     }
     if(!city){
       msg   = msg + "  Poststed\n";
       error = 1;
      }
        if (error){
         alert(msg);
         return false;
     }
     if(!validate_zipcode_no(zipcode)){
      return false;
    }
      
  
}

function validate_userinfo(form){

  var msg   = "Følgende felter må fylles inn: \n";
  var error = 0;
  if(!form.elements['FIRSTNAME'].value){
     msg   = msg + "  Fornavn \n";
     error = 1;
   }
  if (!form.elements['LASTNAME'].value){
    msg   = msg + "  Etternavn\n";
    error = 1;
  }
  if (!form.elements['TELEPHONE'].value || !validate_telephone(form.elements['TELEPHONE'].value)){
    msg   = msg + "  Telefon\n";
    error = 1;
  }
  if (!form.elements['EMAIL'].value || !validate_email(form.elements['EMAIL'].value)){
    msg   = msg + "  E-post\n";
    error = 1;
  }
  if (error){
    alert(msg);
    return false;
  }
}

function validate_customerinfo(form){

  var msg   = "Følgende felter må fylles inn: \n";
  var error = 0;
  if(!form.elements['FIRSTNAME'].value){
     msg   = msg + "  Fornavn \n";
     error = 1;
   }
  if (!form.elements['LASTNAME'].value){
    msg   = msg + "  Etternavn\n";
    error = 1;
  }
  if (!form.elements['TELEPHONE'].value || !validate_telephone(form.elements['TELEPHONE'].value)){
    msg   = msg + "  Telefon - kontaktperson\n";
    error = 1;
  }
  if (!form.elements['EMAIL'].value || !validate_email(form.elements['EMAIL'].value)){
    msg   = msg + "  E-post - kontaktperson\n";
    error = 1;
  }
  if (!form.elements['companyname'].value){
    msg   = msg + "  Firmanavn\n";
    error = 1;
  }  
//  if (!form.elements['companyorgno'].value){
//    msg   = msg + "  Org.nr.\n";
//    error = 1;
//  }  
  if (!form.elements['d_address'].value && !form.elements['d_address2'].value){
    msg   = msg + "  Leveringsadresse\n";
    error = 1;
  }  
  if (!form.elements['d_zipcode'].value){
    msg   = msg + "  Leveringspostnr\n";
    error = 1;
  }  
  if (!form.elements['d_city'].value){
    msg   = msg + "  Leveringsby\n";
    error = 1;
  }  
  if (!form.elements['address'].value && !form.elements['address2'].value){
    msg   = msg + "  Fakturaadresse\n";
    error = 1;
  }  
  if (!form.elements['zipcode'].value){
    msg   = msg + "  Fakturapostnr\n";
    error = 1;
  }  
  if (!form.elements['city'].value){
    msg   = msg + "  Fakturaby\n";
    error = 1;
  }  
  if (!form.elements['companytelephone'].value || !validate_telephone(form.elements['companytelephone'].value)){
    msg   = msg + "  Telefon\n";
    error = 1;
  }  
//  if (!form.elements['telefax'].value || !validate_telephone(form.elements['telefax'].value)){
//    msg   = msg + "  Faks\n";
//    error = 1;
//  }  
  if (!form.elements['companyemail'].value || !validate_email(form.elements['companyemail'].value)){
    msg   = msg + "  Epost - firma\n";
    error = 1;
  }  
  if (error){
    alert(msg);
    return false;
  }
}



function get_model() {

  var mod_id = $("producer").value;

  new Ajax.Request('ajax.cgi?func=frontend.show&func_id=' + mod_id + '&template=get_model', { 
    onSuccess : function(resp) { 

      var opt= resp.responseText.split("\r\n\r\n");
      var oSelect = $('model');
      oSelect.options.length = 0;

      for (var i=0;i<opt.length;i++) {
        
        var prod = opt[i].split("€");

        oSelect.options[i] = new Option(prod[1],prod[0],false);
      }
    },
    onFailure : function(resp) {
      //alert(resp.responseText)
    }

  });
}

function check_config() {
 
  var model = document.config.elements['model'].value
  var model_filter = /^([\d]+)$/i;

  if (!model_filter.test(model)){
    alert("Du må velge en produsent");
    return false;
  }
  else {
    return true;
  }
}

/****************Text Fields auto clear*******************/
var TextFields_inited;
var TextFields_hash;

function TextFields_init() {
  TextFields_inited = true;
  TextFields_hash= new Array();
}

function TextFields_obj(fieldId, text) {
  this.fieldId = fieldId;
  this.text = text;
  var element = document.getElementById(fieldId);
  element.value = text;
  element.onfocus = TextFields_focus;
  element.onblur = TextFields_blur;
}

function TextFields_FindElement(e) {
  if(e == null) {
    e = event;
  }

  var target = null;
  if(e != null) {
    if(e.target) {
      target = e.target;
    }else if(e.srcElement) {
      target = e.srcElement;
    }

    if(target.nodeType == 3) {
      target = target.parentNode;
    }
  }

  return target;
}

function TextFields_focus(e) {
  var element = TextFields_FindElement(e);
  var field = TextFields_hash[element.id];
  if(element.value == field.text) {
    element.value = '';
    if(element.id == 'e_mail'){
      var pwd = document.getElementById("passward");
      pwd.value = '';
    }
      
/*    element.style.fontSize='8pt';
    element.style.color='Black';*/
  }
}

function TextFields_blur(e) {
  var element = TextFields_FindElement(e);
  var field = TextFields_hash[element.id];
  var current_value = element.value;
  if(element.value == '') {
    element.value = field.text;
    if(element.id == 'e_mail') {
      var pwd = document.getElementById("passward");
      var pwd_field = TextFields_hash["passward"];
      pwd.value = pwd_field.text;
    }
    if(element.id == 'passward') {
      var email = document.getElementById("e_mail");
      var email_field = TextFields_hash["e_mail"];
      if(email.value != '' && email.value != email_field.text) {
        element.value = current_value;
      }
    }
  }
}

function TextFields_register(fieldId, text) {
  if(!TextFields_inited) {
    TextFields_init();
  }

   var field = new TextFields_obj(fieldId, text);
   TextFields_hash[fieldId] = field;
}

/****************End of text Fields auto clear*******************/
/*************** Validate change password ************/
function validate_change_password(form){
	if(form.elements["password_new1"].value.length < 4){
			alert("Passordet må bestå av minst 4 tegn!");
			return false;
	}

	if(form.elements["password_new1"].value!=form.elements["password_new2"].value){
		alert("Passordene du skrev samsvarer ikke!");
		return false;
	}
}
function validate_new_password(form){
	if(form.elements["PASSWORD"].value.length < 4){
			alert("Passordet må bestå av minst 4 tegn!");
			return false;
	}

	if(form.elements["password_new1"].value!=form.elements["PASSWORD2"].value){
		alert("Passordene du skrev samsvarer ikke!");
		return false;
	}
}

function validate_change_password(form){

	if (!form.elements['password_current'].value){
	alert("Nåværende passord kan ikke være tomt. Vennligst fyll inn nåværende passord");
	return false;
	}
	if(form.elements['password_current'].value < 4 || form.elements["password_new1"].value.length < 4 ){
			alert("Passordet må bestå av minst 4 tegn!");
			return false;
	}

	if(form.elements["password_new1"].value!=form.elements["password_new2"].value){
		alert("Passordene du skrev samsvarer ikke!");
		return false;
	}
}
function validate_new_password(form){
	if(form.elements["PASSWORD"].value.length < 4){
			alert("Passordet må bestå av minst 4 tegn!");
			return false;
	}

	if(form.elements["PASSWORD"].value!=form.elements["PASSWORD2"].value){
		alert("Passordene du skrev samsvarer ikke!");
		return false;
	}
}
/******************* END validate password *****************/
/************************ Lindorff *************************/

function validate_lindorff() {
  var name = document.getElementById('o_name');
  var zipcode = document.getElementById('o_zipcode');

  if(name && zipcode) {
    if(name.value == "" || zipcode.value == "") {
      alert("Navn og postnummer er obligatoriske felt");
      return false;
    }
  }

  return true;
}

/************************ End of Lindorff *************************/

function noImage(object) {
   if(object.id == "thumb") 
     object.src="/foss/frontend/PRODUCT/product_t.jpg";
   else {
     object.src="/foss/frontend/PRODUCT/product_c.jpg";
    }
   object.alt="Produktbilde ikke tilgjengelig";
   object.title="Produktbilde ikke tilgjengelig";
   return true;
}


