/*------------ 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;
    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 (!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(zipcode && !validate_zipcode_no(zipcode)){
      return false;
    }
    else if(email && !validate_email(email)){
      return false;
    }
    else if(telephone && !validate_telephone(telephone)){
      return false;
    }
    else if(salesemail1 && !validate_email(salesemail1)) {
      return false;
    }
    else if(salesemail2 && !validate_email(salesemail2)) {
      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 if(zipcode_str.length < 4) {
    alert("Postnr må inneholde 4 siffer");
    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_COMPANY'].value){
    msg   = msg + "  Firma\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 (error){
    alert(msg);
    return false;
  }
  else if(!validate_zipcode_no(form.elements['ORDERS.D_ZIPCODE'].value)){
    return false;
  }
  else if(!validate_email(form.elements['ORDERS.D_EMAIL'].value)){
    return false;
  }
  else {
    return true;
  }
  return true;
}

function validate_userinfo(form){

  var msg   = "Følgende felter må fylles inn: \n";
  var error = 0;

  if (!form.elements['USER.FIRSTNAME'].value){
    msg   = msg + "  Fornavn\n";
    error = 1;
  }
  if (!form.elements['USER.LASTNAME'].value){
    msg   = msg + "  Etternavn\n";
    error = 1;
  }
  if (!form.elements['USER.EMAIL'].value || !validate_email(form.elements['USER.EMAIL'].value)){
    msg   = msg + "  E-post\n";
    error = 1;
  }
  if (error){
    alert(msg);
    return false;
  }
}

function validate_useraddress(form){

  var msg   = "Følgende felter må fylles inn: \n";
  var error = 0;

  if (!form.elements['USER.FIRSTNAME'].value){
    msg   = msg + "  Fornavn\n";
    error = 1;
  }
  if (!form.elements['USER.LASTNAME'].value){
    msg   = msg + "  Etternavn\n";
    error = 1;
  } 
  if (!form.elements['USERADDRESS.ADDRESSNAME'].value){
    msg   = msg + "  Avdeling\n";
    error = 1;
  }
  if (!form.elements['USER.ADDRESS'].value){
    msg   = msg + "  Adresse\n";
    error = 1;
  }
  if (!form.elements['USER.ZIPCODE'].value){
    msg   = msg + "  Postnummer\n";
    error = 1;
  }

  if (!form.elements['USER.EMAIL'].value || !validate_email(form.elements['USER.EMAIL'].value)){
    msg   = msg + "  E-post\n";
    error = 1;
  } 

  if (error){
    alert(msg);
    return false;
  }
}
function get_textile_guide_model() { 
  getValueById('textile_producer', 'textile_guide_model', 'textile');
}
function get_model() {
   getValueById('producer','model', 'ink');
}

function getValueById(elemId,model,opt){
  var mod_id = $(elemId).value;

  new Ajax.Request('/wsp/wj7/frontend.cgi?func=webtools.guide_functions&func_id=' + mod_id + '&option=' + opt + '&output=json&debug=off' , { 
    onSuccess : function(resp) { 
 
      var oHashes = resp.responseText.evalJSON();  
      var oSelect = $(model);
      oSelect.options.length = 0;
      for (var i=0;i<oHashes.length;i++) {
        var elem = oHashes[i];
        oSelect.options[i] = new Option(elem.TXT,elem.ID,false);
      }
      //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;

  var textile_model = document.textile_config.elements['textile_guide_model'].value
  var textile_model_filter = /^([\d]+)$/i;

  if (!model_filter.test(model)){
    alert("Du må velge en produsent");
    return false;
  }
  else {
    return true;
  }

  if (!textile_model_filter.test(textile_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="/wj7/frontend/design/pixel.gif";
   else {
     object.src="/wj7/frontend/files/PRODUCT/default.gif";
    }
   object.alt="Produktbilde ikke tilgjengelig";
   object.title="Produktbilde ikke tilgjengelig";
   return true;
  
}

/**** quick shop ****/

function productnu_helptext(object, action)
{
  if(action == 'focus')
  {
    if($(object).value == 'Art.nr.')
    {
        $(object).value = '';
    }
  }
  else if(action == 'blur')
  {
    if($(object).value == '')
    {
        $(object).value = 'Art.nr.';
    }
  }
}

/******* Edit basket **********/ 
function editBasket(frm,inp){
  var form = $(frm);
  var input = $(inp).value;
  var hiddenText = '<input type="hidden" id="'+inp+'" name="quantity" value="'+input+'">';
  form.insert({ 'top':hiddenText });
}
