/*------------ 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;
  }
}

// Loop up ziparea from zipcode
// Takes 3 input parameters
// zipcode - The zipcode to look up
// languagecode - Supports several language codes, default is 'NO' or ''
// id - Id for field to display name of ziparea in
// NB! Requires Prototype to work
function ajaxzip(zipcode,languagecode,id) {
  var exturl = 'http://www.webon.net/wsp/webon_ekstranett/frontend.cgi?func=ajax_services.zipcode&debug=off'
  exturl = exturl + '&zipcode=' + zipcode + '&languagecode=' + languagecode + '&language=' + languagecode;
  var url = '/wsp/bank/frontend.cgi?func=ajax.call&ajax_func=get_url&debug=off&url=' + encodeURIComponent(exturl); 
  var retur = "";

  new Ajax.Request(url, {
    onSuccess: function(transport) {
      var ziparea = $(id);
      if(ziparea) {
        var json = transport.responseText.evalJSON();
        if(json) {
          if(json.status == '') {
            $(ziparea).writeAttribute('value',json.ziparea);  
            retur = json.ziparea;
          }
          else {
            $(ziparea).writeAttribute('value','');  
            alert(json.status);
          }
        }
      }
    }
  });

  return retur;
}

function checkstock(stock) {
  if(stock.checkstockno.value < stock.quantity.value) {
    alert("Vær oppmerkom på at du kjøper mer enn tilgjengelig antal.");
  }
 return true;
}
/**** Add event listener ***/
var GB_ROOT_DIR = '/WO62/greybox/'; /* Used with greyboy */
document.observe('dom:loaded',function() { 
	if($$("#login-form").length > 0) {
		loginBoxFocus();
	}
	if($$("#contact_us").length > 0) {
		checkConfirmEmail();
	}
	if($$("#contact-form").length > 0) {
		contactFocus();
	}
        openPopup();
        setFlashBannerWidth();
});

function submit_calc_form(formname,file) {
    $(formname).request({ 
        onComplete : function(resp) {
//            alert(resp.responseText);
              GB_showPage('Resultat','/tmp/' + file);
        } 
    });  
}

function loginBoxFocus(){
	$("user_id").observe('click', function(){
		var val = this.value;
		this.value = this.value == "Fødselsnummer (11 siffer)" ? '' : val;
	});
	$("user_id").observe('blur', function(){
		var val = this.value;
		this.value = this.value != '' ? val : "Fødselsnummer (11 siffer)" ;
	});
	$("login-form").observe('submit', function(event){
		var userId = this.elements['user_id'];
		if(userId.value == '' || userId.value == "Fødselsnummer (11 siffer)" || isNaN(userId.value) || userId.value.strip().length != 11) {
			alert("Please input require word");
			userId.clear();
			userId.focus();
		}else{
                        GB_showPage(this.title, this.action);
                }
           Event.stop(event);
	});
}
function contactFocus(){
	$("contact_name").observe('click', function(){
		var val = this.value;
		this.value = this.value == "Navn" ? '' : val;
	});
	$("contact_name").observe('blur', function(){
		var val = this.value;
		this.value = this.value != '' ? val : "Navn" ;
	});
	$("contact_phone").observe('click', function(){
	var val = this.value;
	this.value = this.value == "Telefonnummer" ? '' : val;
	});
	$("contact_phone").observe('blur', function(){
		var val = this.value;
		this.value = this.value != '' ? val : "Telefonnummer" ;
	});
	$("contact-form").observe('submit', function(event){
		var contactName = this.elements['contact_name'];
		var contactPhone = this.elements['contact_phone'];
		if(contactName.value == '' || contactName.value == "Navn" ) {
			alert("Vennligst skriv inn ditt navn");
			contactName.clear();
			contactName.focus();
			Event.stop(event);
		}
		else if(contactPhone.value == '' || contactPhone.value == "Telefonnummer" ) {
			alert("Vennligst skriv inn ditt telefonnummer");
			contactPhone.clear();
			contactPhone.focus();
			Event.stop(event);
		}
	});
}

function checkInputBlank(f) {
var elem = f.elements;
	for(var i=0; i<elem.length; i++){
		if((elem[i].type=='text' || elem[i].tagName.toLowerCase() == 'textarea') && elem[i].value.strip()==''){
				alert("Vennligst fyll inn:\n"+$(elem[i]).previous("label").innerHTML.stripTags());
				return false;
		}
	}
	return true;
}
function checkConfirmEmail() {
	var pttr = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var form = document.forms["contact_us"];
	var email = form.elements["email"];
	var confirmEmail = form.elements["confirm_email"];
	$(form).observe('submit', function(e){
		var reg = new RegExp(pttr);
		if(checkInputBlank(form)){
				var num = $$("input.number");
				for(var j=0;j<num.length;j++) {
					if(isNaN(num[j].value.strip())) {
						alert("Number only\n"+$(num[j]).previous("label").innerHTML.stripTags());
						num[j].focus();
						Event.stop(e);
						return false;
					}
				}
				if(!email.value.strip().match(reg)) {
					alert("Invalid email");
					email.focus();
					Event.stop(e);
				}else{
					if(confirmEmail && !confirmEmail.value.match(email.value)) {
						alert("Vennligst påse at feltene e-post og gjenta e-post samsvarer");
						confirmEmail.focus();
						Event.stop(e);
					}
				}
				
		}else{
			Event.stop(e);
		}
	});
}

function openPopup(){
  var a = $$('a[rel="modal"]');
  if(a){
    $(a).each(function(obj){
       $(obj).observe('click', function(e){
        if($(obj).descendantOf('navigator')) {
             $(obj).up('li').siblings().each(function(li){$(li).down('a').removeClassName('selected');});
        }
       if(!$(this).hasClassName('selected')){ $(this).addClassName('selected'); }
         appletToggle();
         if($(this).readAttribute('option') != null){ 
             var opt = this.readAttribute("option").evalJSON();
             var w = parseInt(opt.width) + 0;
             var h = parseInt(opt.height) + 0;
             GB_showCenter(this.title, this.href, h, w);
         }else{
            GB_showPage(this.title, this.href, appletToggle);
         }
         Event.stop(e);
       });
     });
  }
}
function appletToggle(){
      $$("applet").each(function(obj) { $(obj).toggle(); });
}
function setFlashBannerWidth(){
  if($("td_flash")){
       $$("#td_flash").each(function(flash){
       var w = flash.width;
       var h = flash.height;
       var maxW = 260;
       if(w>maxW) {
           flash.width = maxW;
           flash.height = Math.floor((maxW / w) * h);
       }
     });
  }
}
