// 2013-01-24 var domSupported = (document.getElementsByTagName && document.createElement); window.onload = function () { if (domSupported) { if (document.getElementById("loginForm") != null) { setupLoginPage(); } else if(document.getElementById("reportArea") != null) { setupReportPage(); } } } function setupLoginPage() { var form_name = document.getElementById("loginForm").getElementsByTagName("form")[0].name; document.getElementById("loginForm").getElementsByTagName("form")[0].onsubmit = function () { return validate(); } document.getElementById("reference").focus(); } function setupReportPage() { createReportButtons(); } function printPage() { window.print(); } function validate() { if (isErrorListCreated()) { removeErrorList() } var ref = document.getElementById("reference"); var code = document.getElementById("password"); var nErrors = 0; var msgMissing = "Vänligen ange betalningsreferens"; var msgIncorrect = "Fel betalningsreferens. Kontrollera vänligen" + " din betalningsreferens och försök igen"; if (checkValue(ref, /^BGC\d{13}$/, msgMissing, msgIncorrect) == false) { ref.focus(); nErrors++; } msgMissing = "Vänligen ange lösenord"; msgIncorrect = "Fel lösenord. Kontrollera vänligen " + "lösenordet och försök igen"; if (checkValue(code, /^\S{8}$/, msgMissing, msgIncorrect) == false) { if (nErrors == 0) { code.focus(); } nErrors++; } return nErrors == 0; } function checkValue(field, pattern, msgMissing, msgIncorrect) { var nErrors = 0; var val = field.value; if (val.length == 0) { addError(msgMissing); nErrors++; } else { if (pattern.test(val) == false) { addError(msgIncorrect); nErrors++; } } return nErrors == 0; } function addError(message) { if (!isErrorListCreated()) { createErrorList(); } // create new list item var item = document.createElement("li"); item.appendChild(document.createTextNode(message)); var list = document.getElementById("errorList"); list.appendChild(item); } function isErrorListCreated() { return document.getElementById("errors") != null; } function removeErrorList() { var list = document.getElementById("errors"); var parent = list.parentNode; parent.removeChild(list); } function createErrorList() { // create div var div = document.createElement("div"); div.setAttribute("id", "errors"); // create list var list = document.createElement("ul"); list.setAttribute("id", "errorList"); div.appendChild(list); // insert div var formDiv = document.getElementById("loginForm"); var parent = formDiv.parentNode; parent.insertBefore(div, formDiv); } function createReportButtons() { // create export button var exportButton = document.createElement("button"); exportButton.setAttribute("type", "button"); exportButton.appendChild(document.createTextNode("Export")); // set export button action exportButton.onclick = function () { exportToExcel(); } // create print button var printButton = document.createElement("button"); printButton.setAttribute("type", "button"); printButton.appendChild(document.createTextNode("Print")); // set print button action printButton.onclick = printPage // add the buttons div = document.getElementById("reportButtons"); div.appendChild(exportButton); div.appendChild(printButton); } function exportToExcel() { submitForm("e"); } function submitForm(func) { var form = document.getElementById("exportForm"); document.getElementById("f").value = func; form.submit(); }