/*------------ 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; } /*------------ Used in templates: kurs_skjema ----------*/ function check_courseinfo(){ var contact = document.course.elements['contact'].value; var address = document.course.elements['address'].value; var zipcode = document.course.elements['zipcode'].value; var city = document.course.elements['city'].value; var telephone = document.course.elements['telephone'].value; var email = document.course.elements['email'].value; var cc = document.course.elements['cc'].value; //-----Check for content----- if (!contact) { window.alert("Vennligst oppgi kontaktperson"); 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 (!telephone) { window.alert("Vennligst oppgi telefonnummer"); return false; } //-----Check for valid content----- if(!validate_zipcode_no(zipcode)){ return false; } else if(email != "" && !validate_email(email)){ return false; } else if(!validate_telephone(telephone)){ return false; } //-----Send copy of email to user----- if(email != ""){ document.course.elements['cc'].value = email; } //-----Return true if everything is ok----- return true; } /*------------ Used in templates: kontakt_skjema ----------*/ function check_contactinfo(){ var contact = document.contact.elements['contact'].value; var companyname = document.contact.elements['companyname'].value; var email = document.contact.elements['from'].value; var info = document.contact.elements['contact_info'].value; //-----Check for content----- if (!contact) { window.alert("Vennligst oppgi kontaktperson"); return false; } else if (!email) { window.alert("Vennligst oppgi epostadresse"); return false; } else if (!info) { window.alert("Vennligst oppgi hva henvendelsen gjelder"); return false; } //-----Check for valid content----- if(!validate_email(email)){ return false; } //-----Return true if everything is ok----- return true; } /*------------ Used in templates: competition_form ----------*/ function check_competition_info(){ var contact = document.contact.elements['contact'].value; var email = document.contact.elements['from'].value; var mand_error = document.contact.elements['mand_error'].value; var email_error = document.contact.elements['email_error'].value; //-----Check for content----- if (!contact) { window.alert(mand_error); return false; } else if (!email) { window.alert(mand_error); return false; } //-----Check for valid content----- if(!validate_email_language(email)){ window.alert(email_error); 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_language(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)){ return false; } else { 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; } } function check_rest(quantity,stock){ if(quantity > stock){ return confirm('Det er kun '+stock+' på lager. Vil du allikevel bestille?'); } return true; } function confirm_delete() { return confirm('Slett varekurv / varukorg?'); } function getElements() { var aElems = new Array(); $$('.formline').each( function(oCheck) { if (oCheck.checked) { var sQTY = $('a_'+oCheck.id).value; var sPID = $(oCheck.id).value; var strElem = sPID + '=' + sQTY; aElems.push(strElem); } } ); var sJoined = aElems.join(","); $('elems').value=sJoined; $('frm_shoplist').submit(); } function swap(obj){ $('yellow_basket').show(); $('yellow_basket').fade({ duration:3.0, from:1.0, to:0.0 }); /* new Effect.Opacity('yellow_basket', { from: 1.0, to: 0.0, duration: 2.5 });*/ } document.observe('dom:loaded',function(){ confirmDelete(); updateQty(); viewBasket(); togglingInput(); toggle_input(); if ($('frm_user_addrs')) { $('frm_user_addrs').observe('submit',valid_form); } if ($('frm_compaddrs_addrs')) { $('frm_compaddrs_addrs').observe('submit',valid_company_form); } if ($('frm_unregister_orders')) { $('frm_unregister_orders').observe('submit',valid_unregis_order); } if ($('copy_address')) { $('copy_address').observe('click',copy_address); } if ($('orders')) { $('orders').observe('submit',valid_regis_order); } }); function valid_regis_order(e){ Event.stop(e); var id = 'CUSTOMER_REF'; var err_msg = "error_mandatory_field"; if($(id).value.blank()){ var err = new Element('span',{ 'class' : 'error'}).update(err_msg); if(!$(id).next('span.error')){ $(id).insert({'after': err}); //$(id).previous('label').addClassName("error"); } }else{ remove_err(id); $('orders').submit(); } } function copy_address(){ if($('copy_address').checked){ if(!$('o_del_address').getValue().blank()){ $('o_bill_address').value = $('o_del_address').value; } if(!$('o_del_zipcode').getValue().blank()){ $('o_bill_zipcode').value = $('o_del_zipcode').value; } if(!$('o_del_city').getValue().blank()){ $('o_bill_city').value = $('o_del_city').value; } } } function togglingInput(){ if($$('.toggle')){ $$('.toggle').each(function(i){ i.observe('focus', function(e){ if(this.getValue() == this.title){ this.clear(); }}); i.observe('blur', function(e){ if(this.getValue().blank()) {this.value=this.title; }}); }); } } function viewBasket(){ var menu; if($('green')){ $('green').observe('mouseover', function(e){ if($('green_text')){ if($('basket_box')){ if($('productnu')){ $('productnu').blur(); } $('basket_box').show(); } } }); $('green').observe('mouseout', function(e){ if($('green_text')){ if($('basket_box')){ $('basket_box').hide(); if($('productnu')){ $('productnu').focus(); } } } }); } if($('yellow')){ $('yellow').observe('mouseover', function(e){ if($('basket_box')){ if($('productnu')){ $('productnu').blur(); } $('basket_box').show(); } }); $('yellow').observe('mouseout', function(e){ if($('basket_box')){ $('basket_box').hide(); if($('productnu')){ $('productnu').focus(); } } }); } } function testing(){ alert('Hei'); } function shop_effect(){ new Effect.Fade('green', {afterFinish: function (obj) { new Effect.Appear('yellow'); } }); } function confirmDelete(){ var a = $$('a[rel="confirm"]'); if(a){ a.each(function(e){ e.observe('click', function(o){ var msg = "confirm_delete"; if(!confirm(msg)){ Event.stop(o); } }); }); } } function showQtyResult(html){ $("order_loop").replace(html); updateQty(); } function updateQty(){ var a = $$('a[rel^="line_"]'); if(a){ var preload = new Element('img', { id:"updating", src : "http://medinor2.webon.net/medinor7/frontend/files/updating.gif"}); //var preload = 'Oppdatering...'; var warning = 'Vennligst oppgi nummer'; a.each(function(o){ var q = $(o.readAttribute("rel")); o.observe('click', function(e){ var val = q.value; Event.stop(e); if(isNaN(val)){ alert(warning); q.focus(); }else{ new Ajax.Request(o.href+'&quantity='+val+'&ajax=yes', { method : 'get', onCreate : function(){ /*$("order_loop").update(preload);*/ q.replace(preload); }, onComplete : function(resp){ showQtyResult(resp.responseText); } }); } }); }); } preventEnterKey(); } function preventEnterKey(){ var f = $("orders"); var submitOk = true; if(f){ f.observe('submit', function(e){ if(!submitOk){ Event.stop(e); } }); var inp = f.select('#basket-lines input[name="quantity"]'); // function to prevent submit by pressing ENTER when focusing in quantity boxes inp.each(function(o){ o.observe('focus', function(e){ submitOk=false; }); o.observe('blur', function(e){ if(!isNaN(Event.element(e).getValue())){submitOk = true;}else{ alert('Vennligst oppgi nummer'); Event.element(e).focus(); } }); }) } } function check_newsletterinfo(){ var contact = document.contact.elements['contact'].value; var email = document.contact.elements['to'].value; if (!contact) { window.alert("Vennligst oppgi kontaktperson"); return false; } else if (!email) { window.alert("Vennligst oppgi epostadresse"); return false; } else if(!validate_email(email)){ return false; } } function newspop(url) { var newwindow; newwindow=window.open(url,'','height=600,width=800,resizable=yes,scrollbars=yes,toolbar=no,status=no,menubar=no,location=no'); if (window.focus) {newwindow.focus()} return false; } function toggle_input() { var rdo = $$('input[name="typeuser"]'); if(rdo){ rdo.each(function(r){ r.observe('click',function(e){ var o = this; var div = $('view-student'); var txtbox = div.select('input[type="text"]'); if(o.id == "student"){ div.show(); $('student_legend').show(); $('privat_legend').hide(); txtbox.each(function(t){ t.removeAttribute('disabled'); }); }else{ div.hide(); $('student_legend').hide(); $('privat_legend').show(); txtbox.each(function(t){ t.writeAttribute({'disabled':'disabled'}); }); } }) }) } } function valid_form(e){ Event.stop(e); var status1 = show_error('user_firstname','Skriv inn Fornavn'); var status2 = show_error('user_lastname','Skriv inn Etternavn'); var status3 = show_error('user_email','Ugyldig E-post'); var status4 = show_error('user_date','Ugyldig Fødselsdato'); if($('student').checked){ var status5 = show_error('user_universitet','Skriv Universitet/Høyskole'); var status6 = show_error('user_studie','Skriv Studie/Fagområde'); var status7 = show_error('user_kull','Skriv Årskul'); }else{ var status5 = true; var status6 = true; var status7 = true; } var status8 = show_error('user_address','Skriv Adresse'); var status9 = show_error('user_zipcode','Ugyldig Postnummer'); var status10 = show_error('user_city','Skriv Poststed'); if((status1)&&(status2)&&(status3)&&(status4)&&(status5)&&(status6)&&(status7)&&(status8)&&(status9)&&(status10)){ $('frm_user_addrs').submit(); } } function valid_company_form(e){ Event.stop(e); var status1 = show_error('addressname','Skriv inn Adressenavn'); var status2 = show_error('companyname','Skriv inn Firma/Navn'); var status3 = show_error('address','Skriv inn Adressen'); var status4 = show_error('zipcode','Ugyldig Postnummer'); var status5 = show_error('city','Skriv Poststed'); var status6 = show_error('telephone','Ugyldig telefonr'); if((status1)&&(status2)&&(status3)&&(status4)&&(status5)&&(status6)){ $('frm_compaddrs_addrs').submit(); } } function show_error(id,err_msg){ var status; if($(id).value.blank()){ var err = new Element('span',{ 'class' : 'error'}).update(err_msg); if(!$(id).next('span.error')){ $(id).insert({'after': err}); $(id).previous('label').addClassName("error"); } status = false; }else{ if((id == 'user_date')||(id == 'user_zipcode')||(id == 'zipcode')||(id == 'telephone')){ status = validate_number(id); }else if(id == 'user_email'){ status = Validate_Email(id,$(id).value); }else{ remove_err(id); status = true; } } return status; } function valid_unregis_order(e){ Event.stop(e); var status1 = show_unregis_error('o_company','Obligatorisk felt ikke utfylt'); var status2 = show_unregis_error('o_id','Obligatorisk felt ikke utfylt'); var status11 = show_unregis_error('o_id2','Obligatorisk felt ikke utfylt'); var status3 = show_unregis_error('o_bill_address','Obligatorisk felt ikke utfylt'); var status4 = show_unregis_error('o_bill_zipcode','Obligatorisk felt ikke utfylt'); var status5 = show_unregis_error('o_bill_city','Obligatorisk felt ikke utfylt'); var status6 = show_unregis_error('o_del_address','Obligatorisk felt ikke utfylt'); var status7 = show_unregis_error('o_del_zipcode','Obligatorisk felt ikke utfylt'); var status8 = show_unregis_error('o_del_city','Obligatorisk felt ikke utfylt'); var status9 = show_unregis_error('o_email','Obligatorisk felt ikke utfylt'); var status10 = show_unregis_error('o_contact','Obligatorisk felt ikke utfylt'); if((status1)&&(status2||status11)&&(status3)&&(status4)&&(status5)&&(status6)&&(status7)&&(status8)&&(status9)&&(status10)){ $('frm_unregister_orders').submit(); } } function show_unregis_error(id,err_msg){ var status; var err = new Element('span',{ 'class' : 'error'}).update(err_msg); if($(id).value.blank()){ if(!$(id).next('span.error')){ $(id).insert({'after': err}); } status = false; }else{ if((id == 'o_id')||(id == 'o_id2')||(id == 'o_bill_zipcode')||(id == 'o_del_zipcode')||(id == 'o_tel')){ status = validate_number(id); }else if(id == 'o_email'){ status = Validate_Email2(id,$(id).value); }else{ remove_err(id); status = true; } } return status; } function Validate_Email2(no,email_str){ var email_filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; return add_errormsg2(no,!email_filter.test(email_str),'E-Post adressen er ikke gyldig'); } function Validate_Email(no,email_str){ var email_filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; return add_errormsg(no,!email_filter.test(email_str),'E-Post adressen er ikke gyldig'); } function show_valid_error(id,err_msg){ var status; if($(id).value.blank()){ var err = new Element('span',{ 'class' : 'error'}).update(err_msg); if(!$(id).next('span.error')){ $(id).insert({'after': err}); $(id).previous('label').addClassName("error"); } status = false; } return status; } function remove_err(id){ if($(id).next('span.error')){ $(id).next('span.error').remove(); } if($(id).previous('label.error')){ $(id).previous('label').removeClassName("error"); } } function validate_number(no){ var status; var date_filter = /^(\d{6})$/i; var date_filter2 = /^(\d{9})$/i; var organize_filter = /^(\d{11})$/i; if(no == 'user_date'){ status = add_errormsg(no,!date_filter.test($(no).value),'Date kan bare inneholde tall, 6 siffer.'); } /* if(no == 'o_id'){ if(!date_filter.test($(no).value)){ if(!organize_filter.test($(no).value)){ status = true; }else{ status = false; } }else{ status = false; } status = add_errormsg2(no,status,'Date kan bare inneholde tall, 6 siffer eller 11 siffer1.'); } */ if(no == 'o_id'){ status = add_errormsg2(no,!date_filter2.test($(no).value),'Postnummer kan bare inneholde tall, 9 siffer.'); } if(no == 'o_id2'){ status = add_errormsg(no,!date_filter.test($(no).value),'Postnummer kan bare inneholde tall, 6 siffer.'); } var zipcode_filter = /^(\d{4})$/i; if(no == 'user_zipcode'){ status = add_errormsg(no,!zipcode_filter.test($(no).value),'Postnummer kan bare inneholde tall, 4 siffer.'); } if(no == 'o_bill_zipcode'){ status = add_errormsg2(no,!zipcode_filter.test($(no).value),'Postnummer kan bare inneholde tall, 4 siffer.'); } if(no == 'o_del_zipcode'){ status = add_errormsg2(no,!zipcode_filter.test($(no).value),'Postnummer kan bare inneholde tall, 4 siffer.'); } var zipcode_filter = /^(\d{4})$/i; if(no == 'zipcode'){ status = add_errormsg(no,!zipcode_filter.test($(no).value),'Postnummer kan bare inneholde tall, 4 siffer.'); } var telefonr_filter = /^(\d{8})$/i; if(no == 'telephone'){ status = add_errormsg(no,!telefonr_filter.test($(no).value),'Telefonr kan bare inneholde tall, 8 siffer.'); } if(no == 'o_tel'){ status = add_errormsg2(no,!telefonr_filter.test($(no).value),'Telefonr kan bare inneholde tall, 8 siffer.'); } return status; } function add_errormsg(no,status,msg){ if (status){ remove_err(no); var err = new Element('span',{ 'class' : 'error'}).update(msg); if(!$(no).next('span.error')){ $(no).insert({'after': err}); $(no).previous('label').addClassName("error"); } var result = false; }else{ remove_err(no); var result = true; } return result; } function add_errormsg2(no,status,msg){ if (status){ remove_err(no); var err = new Element('span',{ 'class' : 'error'}).update(msg); if(!$(no).next('span.error')){ $(no).insert({'after': err}); //$(no).previous('label').addClassName("error"); } var result = false; }else{ remove_err(no); var result = true; } return result; }