a_val_old_background = new Array(); //Bruges til at gemme gamle baggrundsfarver. //Valideringsfunktionen ændrer nemlig på baggrundsfarven. a_val_reg_exps = new Array(); //Bruges til regulære udtryk + fejlbeskrivelser if ( typeof(s_error_bgcolor) == "undefined" ) s_error_bgcolor = "#ffcccc"; //Den baggrundsfarve, som et invalidt input felt skal have a_val_reg_exps["email"] = [/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/i, "Indtast en korrekt e-mail"]; a_val_reg_exps["navn"] = [/^[a-zæøåüé\'.\-]{2,}\s+[a-zæøåüé\'.\-\s]{2,}$/i, "Indtast et korrekt navn"]; a_val_reg_exps["dato"] = [/^((0[1-9]|[1-2][0-9]|3[0-1])\-(0[1,3,5,7,8]|10|12)|(0[1-9]|[1-2][0-9]|30)\-(0[4,6,9]|11)|(0[1-9]|[1-2][0-9])\-02)\-[1-2][0-9]{3}$/i, "Indtast en korrekt dato (DD-MM-ÅÅÅÅ)"]; a_val_reg_exps["ejtom"] = [/.+/i, "Feltet må ikke være tomt"]; a_val_reg_exps["telefon"] = [/\s*[0-9]\s*[0-9]\s*[0-9]\s*[0-9]\s*[0-9]\s*[0-9]\s*[0-9]\s*[0-9]\s*/i, "Indtast et korrekt telefonnummer (mindst 8 tal)"]; a_val_reg_exps["boligid"] = [/^[0-9]+$/i, "Indtast et korrekt BoligID (skal være et tal)"]; a_val_reg_exps["gadenavn"] = [/^[\w\.\-\'\sæøåüé]+$/i, "Indtast et korrekt gadenavn"]; a_val_reg_exps["gadenummer"] = [/^[0-9]+.*$/i, "Indtast et korrekt gadenummer"]; a_val_reg_exps["etage"] = [/^.{1,10}$/i, "Indtast en korrekt etage"]; a_val_reg_exps["postnummer"] = [/^[0-9]{4,5}$/i, "Indtast et korrekt postnummer"]; a_val_reg_exps["stednavn"] = [/^[a-zæøå\-\.\'\s0-9]+$/i, "Indtast et korrekt stednavn"]; a_val_reg_exps["kontantpris"] = [/^[0-9]{4,}$/i, "Indtast en korrekt kontantpris.\n(Ingen decimaler eller tusindtalsseperatorer)"]; a_val_reg_exps["tal"] = [/^[0-9]+$/i, "Du skal angive et tal\n(uden decimaler og tusindtalsseperatorer)"]; a_val_reg_exps["adresse"] = [/^[a-zæøå]{2,}.*\s+[0-9]+.*$/i, "Du skal angive en korrekt adresse"]; a_val_reg_exps["postby"] = [/^[0-9]{4,5}\s.{2,}$/i, "Indtast korrekt postnummer og by"]; a_val_reg_exps["aar"] = [/^[1-2][0-9]{3}$/i, "Indtast et korrekt årstal (ÅÅÅÅ)"]; a_val_reg_exps["fornavn"] = [/^[a-zæøåüé\'\-]{2,}/i, "Indtast et korrekt fornavn"]; a_val_reg_exps["efternavn"] = [/^[a-zæøåüé\'\-]{2,}/i, "Indtast et korrekt efternavn"]; a_val_reg_exps["dansktelefon"] = [/^[2-9]{1}[0-9]{7}$/i, "Indtast et korrekt telefonnummer (8 tal)"]; a_val_reg_exps["nytelefon"] = [/^([2-9]{1}[0-9]{7}|(\+|[0]{2})[1-9]{1}[0-9]{7,19})$/i, "Indtast et korrekt telefonnummer"]; function val_form(form_element) { if (form_element) { a_error_msg = new Array(); for (i_cnt = 0; i_cnt < form_element.elements.length; i_cnt++) { input_felt = form_element.elements[i_cnt]; //Gem den gamle baggrundsfarve if (input_felt.style.backgroundColor != s_error_bgcolor) a_val_old_background[i_cnt] = input_felt.style.backgroundColor; if (input_felt.getAttribute("validate")) { //Brug en identifikator eller en custom regexp reg_exp = (a_val_reg_exps[input_felt.getAttribute("validate")]) ? a_val_reg_exps[input_felt.getAttribute("validate")][0] : new RegExp(input_felt.getAttribute("validate")); //Må feltet gerne være tomt? bol_required = (input_felt.getAttribute("optional")) ? (input_felt.getAttribute("optional").toLowerCase() != "true") : true; if (!reg_exp.test(input_felt.value) && (input_felt.value != "" || bol_required) && !input_felt.disabled) { if (input_felt.getAttribute("customerror")) s_error = input_felt.getAttribute("customerror"); else if (a_val_reg_exps[input_felt.getAttribute("validate")]) s_error = a_val_reg_exps[input_felt.getAttribute("validate")][1]; else s_error = "Ugyldigt input"; input_felt.style.backgroundColor = s_error_bgcolor; if (s_error != "") a_error_msg[a_error_msg.length] = s_error; //Hvis det er fejl # 1, så sæt fokus på input-feltet if (a_error_msg.length == 1) input_felt.focus(); } else { input_felt.style.backgroundColor = a_val_old_background[i_cnt]; } } } if(typeof window.val_form_extend == 'function') val_form_extend(form_element); if (a_error_msg.length > 0) { self.alert("Formularen kunne ikke sendes.\n\n * " + a_error_msg.join("\n * ")); } return (a_error_msg.length == 0) } } function isKey(e, intKeyCodeCompare) { code = "reset"; if (!e) var e = window.event if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; return (code == intKeyCodeCompare) }