/*------------ 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/elko2_sve/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("alert_nostock");
  }
 return true;
}
/****************** flash file *********************/
function popup(url, winName) { 	
  width=screen.width;
  height=screen.height;
  var screenX = (screen.width/2 - width/2);
  var screenY = (screen.height/2 - height/2);
  var features = "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0";
  features += ",width=" + width + ",height=" + height;
  features += ",screenX=" + screenX + ",left=" + screenX;
  features += ",screenY=" + screenY  +",top=" + screenY;
  window.open(url, winName, features);
}

function docwrite (){
  document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="300" id="banner">');
  document.write('<param name="movie" value="http://dev2.webon.net/elko2_dev/frontend/files/CONTENT/banner.swf">');
  document.write('<param name="allowScriptAccess" value="sameDomain">');
  document.write('<param name="menu" value="false">');
  document.write('<param name="quality" value="high">');
  document.write('<param name="bgcolor" value="#ffffff">');
  document.write('<embed src="http://dev2.webon.net/elko2_dev/frontend/files/CONTENT/banner.swf" menu="false" quality="high" bgcolor="#ffffff" width="300" name="banner" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>');
  document.write('<param name="autostart" value="-1"></object>');
}
/****************  list_download ************************/

function checkInputkBlank() {
	 var form = $("form1");
	if(form){
           $(form).observe('submit', function(e){
	   if(!check_required()){
            Event.stop(e);
           }
	});
       }
} 
/************* ansatte template *******************/
  var win = null;
  function NewWindow(mypage,myname,w,h,scroll){
    LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
    TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
    settings =
      'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',noresize'
    win = window.open(mypage,myname,settings)
    if(win.window.focus){ win.window.focus(); }
  }
function popupWindow(){
  var a = $$('.popup');
  if(a){
  a.each(function(obj){
     obj.observe('click', function(e){
        Event.stop(e);
        NewWindow(this.href, this.title, 320, 260, 'no')
     });
  });
 }
}
/******************* TR hover ***********************/
function trHover(){
   var tr = $$(".hover");
   if(tr){
       tr.each(function(t){
          t.observe('mouseover',function(e){
            if(!this.hasClassName("highlight")){ this.addClassName("highlight"); }  

          });
          t.observe('mouseout',function(e){
            if(this.hasClassName("highlight")){ this.removeClassName("highlight"); }
          })
       });
   }
}
/*************** Flagg *******************************/
function openNewWindow(){
	$$("a[rel='external']").each(function(obj) {
		$(obj).observe('mouseover', function(event){
			this.target="_blank";
		});
		$(obj).observe('mouseout', function(event){
			$(this).removeAttribute("target");
		});
	});
}
/************************ dom:loaded *****************/
document.observe('dom:loaded', function(){
  popupWindow();
  checkInputkBlank();
  trHover();
  openNewWindow();
});

/************************ TCS check *****************/
var inputMand ='inst_date,inst_firstname,inst_lastname,adm_firstname,adm_lastname,adm_address,adm_zipcode,adm_se_zipcode,adm_tel,anl_bname,anl_address,anl_nr_zipcode,anl_se_zipcode,anl_cperson,anl_tel,cat5_utp,cat6_utp,cat6a_stp,cat5_stp,cat6_stp,fiber'
var zipCode = "adm_zipcode";
var zipCodeNo = "anl_nr_zipcode";
var zipCodeOther = "anl_se_zipcode";
var emailValid = 'adm_email,anl_email';
var telValidAmd = 'adm_tel';
var telValidAnl = 'anl_tel';
var zipCodeDigit = 5;
function submitCheck(f){
 if(inputMand == ''){
  return true;
}
 var elem = inputMand.split(",")
 for(var i=0;i<elem.length;i++){
  if(f.elements[elem[i]].value=='' || f.elements[elem[i]].value.length<1){
        alert(alertInvalid(f.elements[elem[i]])+" "+String.fromCharCode(228)+"r obligatorisk");// cannot be blank
     return false;
        }else{
                if(f.elements[elem[i]].id==zipCode || f.elements[elem[i]].id==zipCodeNo || f.elements[elem[i]].id==telValidAmd || f.elements[elem[i]].id==telValidAnl){
                        if(isNaN(f.elements[elem[i]].value)) {
                                //alert(alertInvalid(f.elements[elem[i]])+" F"+String.fromCharCode(228)+"lt kan endast inneha sifror!");// zipCode is not number
                                return false;
                        }else{
                                if(f.elements[elem[i]].id != telValidAmd && f.elements[elem[i]].id != telValidAnl){
                                if(f.elements[elem[i]].value.length != zipCodeDigit){
                                        alert("Ogiltig  "+alertInvalid(f.elements[elem[i]])+" beh"+String.fromCharCode(246)+"va "+zipCodeDigit+"m"+String.fromCharCode(228)+"ngd"); // Invalid .... Require .... numbers
                                        return false;
                                }
                                }
                        }
                }
        }
}
        if(validMailPattrn(emailValid)){
                return true;
        }else{
                return false;
        }
}
function alertInvalid(elem) {
        var label = document.getElementsByTagName("label");
        var txt;
        for(var j=0;j<label.length;j++){
                if(elem.id == label[j].htmlFor){
                        txt = label[j].innerHTML;
                        return txt;
                }
        }
}
function validMailPattrn(emailElem) {
        if(emailElem != '') {
                var pttrn = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;
                var em = emailElem.split(",");
                var email;
                for(var k=0; k<em.length; k++){
                        email = document.getElementById(em[k]);
                        if(email.value.length > 0){
                                if(email.value != '' && !(email.value.match(pttrn))){
                                        alert("Ogiltig e-post adress");
                                        return false;
                                }
                        }
                }
        }
        return true;
}

function check_required()  
     {

       if (document.form1.elements['FORNAVN'].value == '') {
      window.alert("Vennligst fyll ut fornavn.");
    }
    else if (document.form1.elements['ETTERNAVN'].value == '') {
      window.alert("Vennligst fyll ut etternavn.");
    }
    else if (document.form1.elements['ADRESSE'].value == '') {
      window.alert("Vennligst fyll ut adresse.");
    }
    else if (document.form1.elements['POSTNUMMER'].value == '') {
      window.alert("Vennligst fyll ut postnummer.");
    }
    else if (document.form1.elements['STED'].value == '') {
      window.alert("Vennligst fyll ut sted.");
    }
    else if (document.form1.elements['DOWNLOAD_FILE'].value == '0') {
      window.alert("Du må velge minst en katalog.");
    }
       else {
         return true;
       }
       return false;
     }

function submitFormular(f){

  var inputMand ='formular_kurs,formular_kursort,formular_dato,formular_firma,formular_navn,formular_etternavn,formular_adresse,formular_zip,formular_sted,formular_telefon';
  var zipCode = 'formular_zip';
  var telValid = 'formular_telefon';
  var zipCodeDigit = 5;

  var elem = inputMand.split(",");

  for(var i=0;i<elem.length;i++){
    if($(elem[i]).value == '' || $(elem[i]).value.length < 1){
      alert(alertInvalid(f.elements[elem[i]])+" "+String.fromCharCode(228)+"r obligatorisk");// cannot be blank
      return false;
    }
    else {
      if($(elem[i]).id == zipCode || $(elem[i]).id == telValid){
        if(isNaN($(elem[i]).value)) {
          alert(alertInvalid(f.elements[elem[i]])+" F"+String.fromCharCode(228)+"lt kan endast inneha sifror!");// zipCode is not number
          return false;
        }
        else {
          if($(elem[i]).id != telValid){
            if($(elem[i]).value.length != zipCodeDigit){
              alert("Ogiltig  "+alertInvalid(f.elements[elem[i]])+" beh"+String.fromCharCode(246)+"va "+zipCodeDigit+"m"+String.fromCharCode(228)+"ngd"); // Invalid .... Require .... numbers
              return false;
            }                    
          }                      
         } 
      }
    }
  }
} 


