/*------------ 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 (!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;

    //-----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_email) {
      window.alert("Vennligst oppgi epostadresse");
      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("Emailadressen er ikke gyldig: Eksempel på rigtig adresse er: fornavn.etternavn@firma.dk");
    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_zipcode_se(zipcode_str){
  var zipcode_filter = /^([\d]+)$/i;

  if (!zipcode_filter.test(zipcode_str)){
    alert("Postnummer kan bara innehålla siffror");
    return false;
  }
  else if(zipcode_str < 1 || zipcode_str > 99999){
    alert("Postnumret måste vara ett tal mellan 00001 och 99999");
    return false;
  }
  else {
    return true;
  }
}

function validate_zipcode(zipcode_str){
  var zipcode_filter = /^([\d]+)$/i;

  if (!zipcode_filter.test(zipcode_str)){
    alert("Postnummeret kan kun indeholde tal");
    return false;
  }

  else if(zipcode_str < 1 || zipcode_str > 99999){

    alert("Postnummeret skal være et tal mellem 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ølgenden Felter: \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 + "  Efternavn\n";
    error = 1;
  }
  if('shgdan' == 'shgdan' || 'shgdan' == 'shgdan_dev' || 'shgdan' == 'shgfin' || 'shgdan' == 'shgfin_dev') {
     if (!form.elements['ORDERS.D_ADDRESS'].value){
       msg   = msg + "  Adresse\n";
       error = 1;
     }
  }
  if (!form.elements['ORDERS.D_ZIPCODE'].value || form.elements['ORDERS.D_ZIPCODE'].value.length>4){
    msg   = msg + "  Postnummer\n";
    error = 1;
  }
  if('shgdan' == 'shgdan' || 'shgdan' == 'shgdan_dev') {
  }
  else {  
     if (!form.elements['ORDERS.D_EMAIL'].value){
       msg   = msg + "  java_epostadresse\n";
       error = 1;
     }
  }
  if('shgdan' == 'shgdan' || 'shgdan' == 'shgdan_dev') {
     if (!form.elements['ORDERS.STATUS1'].checked){
       msg   = msg + "  Accepter betingelser\n";
       error = 1;
     }
  }
  if('shgdan' == 'shgfin' || 'shgdan' == 'shgfin_dev') {
     if (!form.elements['ORDERS.STATUS2'].checked){
       msg   = msg + "  java_buyingcondition_check_failed\n";
       error = 1;
     }
  } 
   if('shgdan' == 'shg' || 'shgdan' == 'shg_dev') {
     if (!form.elements['buyingcondition_check'].checked){
       msg   = msg + "  java_buyingcondition_check_failed\n";
       error = 1;
     }
  }  
  if (error){
    alert(msg);
    return false;
  }
  if('shgdan' == 'shgsve' || 'shgdan' == 'shgsve_dev') {
    if(!validate_zipcode_se(form.elements['ORDERS.D_ZIPCODE'].value)){
      return false;
    }
  }
  else if('shgdan' == 'shgfin' || 'shgdan' == 'shgfin_dev') {
    if(!validate_zipcode(form.elements['ORDERS.D_ZIPCODE'].value)){
      return false;
    }
  }
  else {
    if(!validate_zipcode_no(form.elements['ORDERS.D_ZIPCODE'].value)){
      return false;
    }
  }
  if(!validate_email(form.elements['ORDERS.D_EMAIL'].value)){
    return false;
  }
}
function validate_userinfo(form){

  var msg   = "Følgenden Felter: \n";
  var error = 0;

  if (!form.elements['USER.FIRSTNAME'].value){
    msg   = msg + "  Fornavn\n";
    error = 1;
  }
  if (!form.elements['USER.LASTNAME'].value){
    msg   = msg + "  Efternavn\n";
    error = 1;
  }
  if (!form.elements['USER.ZIPCODE'].value){
    msg   = msg + "  Postnummer\n";
    error = 1;
  }
  if (error){
    alert(msg);
    return false;
  }

    if(!validate_zipcode_no(form.elements['USER.ZIPCODE'].value)){
      return false;
    }
  if (form.elements['USER.TELEPHONE'].value){
    if(!validate_telephone(form.elements['USER.TELEPHONE'].value)){
      return false;
    }
  } 
}
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;
	}
}


/****************Goto product page.*******************/
//Param: product id
function open_product_page(script_frontend){
  var curSelect = document.getElementById("product_option");
  var selIndex = curSelect.selectedIndex;
  var product_id = curSelect.options[selIndex].value;

  var url = script_frontend + "func=catalog.show&func_id=" + product_id + "&table=PRODUCT&p_id=" + product_id + "&template=produkt";
  window.location = url;
}

/****************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];
  if(element.value == '') {
    element.value = field.text;
/*    element.style.fontSize='7.5pt';
    element.style.color='Gray';*/
  }
}

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*******************/

/****************Top menu background image changer*******************/
function changeBackground(node) {
linkElements = node.getElementsByTagName('a');
linkElements[0].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_active_bg_left.gif') no-repeat"
linkElements[1].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_active_bg_middle.gif') repeat-x"
linkElements[2].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_active_bg_right.gif') no-repeat"
}
function resetBackground(node) {
linkElements = node.getElementsByTagName('a');
linkElements[0].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_rounder_left.gif') no-repeat"
linkElements[1].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_bar1.gif') repeat-x"
linkElements[2].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_rounder_right.gif') no-repeat"
}
/****************End of top menu background image changer*******************/
/**************** Micro Top menu background image change  *****************/
function changeMicroTopBackground(node) {
linkElements = node.getElementsByTagName('a');
linkElements[0].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_left_active_rounder.gif') no-repeat"
linkElements[1].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_middle_active_norounder.gif') repeat-x"
linkElements[2].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_right_active_rounder.gif') no-repeat"
}
function resetMicroTopBackground(node) {
linkElements = node.getElementsByTagName('a');
linkElements[0].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_left.gif') no-repeat"
linkElements[1].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_middle.gif') repeat-x"
linkElements[2].style.background = "url('/shgdan/frontend/files/design/backgrounds/top_right.gif') no-repeat"
}


/************************Check tipsvenn form elenments*************************/
function tipsvenn_check() {
  var from = document.getElementById("tipsvenn_from").value;
  var to = document.getElementById("tipsvenn_to").value;
  var comment = document.getElementById("tipsvenn_comment").value;

  if(! validate_email(from)) {
//    alert("Invalid from address!");
    return false;
  }

  if(! validate_email(to)) {
//    alert("Invalid to address!");
    return false;
  }

  if(from == to) {
    alert("From and to cannot be the same!");
    return false;
  }

  return true;
}
/****************************End of tipsvenn_check*****************************/

/************************ Lindorff *************************/

function validate_lindorff() {
  var fname = document.getElementById('o_fname');
  var lname = document.getElementById('o_lname');
  var zipcode = document.getElementById('o_zipcode');
  var email = document.getElementById('o_email');

  if(fname && lname && zipcode && email) {
    if(fname.value == "" || lname.value == "" || zipcode.value == "" || email.value == "") {
      alert("Fornavn, Efternavn");
      return false;
    }
  }

  return true;
}

/************************ End of Lindorff *************************/

/************************ Cconditions *****************************/

  function showhide(id, link_id){
      var a = document.getElementById(id);
      if(a.style.display == "none"){
        a.style.display = "block";
      }
      else{
	a.style.display = "none";
      }
      var link = document.getElementById(link_id);
      if(link) {
        link.href="#";
      }
      return true;
   }

/************************ End of Conditions ***********************/

  function show_city(){
    return true;
  }

/************************ Check for empty fields in hkasse*************************/

function hkasse_empty_fields() {
  var prodnr = document.getElementById('hkasse_productnu');
  var kunde  = document.getElementById('hkasse_kundenummer');
  var epost  = document.getElementById('hkasse_epost');

  if(prodnr && kunde && epost) {
    if(prodnr.value == "" || kunde.value == "" || epost.value == "") {
      alert("Aktivitet, kundenummer og e-post er obligatoriske felt.");
      return false;
    }
  }

  return true;
}

/************************ End of hkasse_empty_fields *************************/

