﻿//Preload images
function preloadImages() {
    var imageList = new Array();
    var imageSources = new Array("sl0_img0.jpg", "sl0_img1.jpg", "sl0_img2.jpg", "sl0_img3.jpg", "sl0_img4.jpg");
    for (var i = 0; i < imageSources.length; ++i) {
        var nImage = new Image()
        nImage.src = "./images/slideshows/" + imageSources[i];
    }
}
function default_SetCookie(name, value, expires) {
    var cookie_string = escape(name) + "=" + escape(value);
    if (expires) {
        var dt = new Date();
        var expiryDate = DaysToDate(td, expires);
        cookie_string = cookie_string + ";expires=" + expiryDate.toGMTString();
    }
    document.cookie = cookie_string;
}

function SetCurrentMenuItem() {
    var re = new RegExp(window.location, i);
    var menu = default_Get("menu");
    var items = menu.getElementsByTagName("a");
    for (var i = 0; i < items.length; ++i) {
        var current = items[i];
        if (re.test(current.href) == true) {
            current.className = "current_page";
            return;
        }
    }
}
function default_Get(id) {
    return document.getElementById(id);
}
function default_New(tag, parent, id, html) {
    var element = document.createElement(tag);
    parent.appendChild(element);
    if (id && id != "") { element.setAttribute("id", id) };
    if (html) { element.innerHTML = html; }
    return element;
}

function default_Remove(children) {
    for (var i = 0; i < children.length; ++i) {
        var cChild = children[i];
        var cParent = cChild.parentNode;
        if (cParent)
            cParent.removeChild(cChild);
    }
}

function checkInput() {
    var inputs = document.getElementsByTagName("input");
    for (var i = 0; i < inputs.length; ++i) {
        var cChild = inputs[i];
        if (cChild.type == "text")
            cChild.value = hmlEndcode(cChild.value);
    }
    inputs = document.getElementsByTagName("textarea");
    for (var i = 0; i < inputs.length; ++i) {
        var cChild = inputs[i];
        cChild.value = hmlEndcode(cChild.value);
    }
}
function hmlEndcode(input) {
    var safe = input.replace(/&/g, "&amp;");
    safe = safe.replace(/"/g, "&quot;")
    safe = safe.replace(/</g, "&lt;")
    safe = safe.replace(/>/g, "&gt;");
    return safe;
}

function ValidateMessage(companyName, contactName, emailAddress, messageBody) {
    var company = default_Get(companyName);
    var contact = default_Get(contactName);
    var email = default_Get(emailAddress);
    var message = default_Get(messageBody);
    var inputs = default_Get("contactDetails").getElementsByTagName("input");
    resetHilites("contactDetails", "input,textarea");
    default_Get("errorMessage").style.display = "none";

    var errorObjects = new Array();
    //test company
    var re = new RegExp(/^[\w\W]{1,64}$/);
    var r = re.test(company.value);
    if (r == false) { errorObjects.push(company); }

    //test contact
    re = new RegExp(/^[\w\W]{1,64}$/);
    r = re.test(contact.value);
    if (r == false) { errorObjects.push(contact); }

    //test email
    re = new RegExp(/^[a-zA-Z_0-9.-]{2,32}\@[a-zA-Z_0-9.-]{2,30}\.[a-zA-Z.]{2,32}$/);
    r = re.test(email.value);
    if (r == false) { errorObjects.push(email); }

    //test message
    re = new RegExp(/^[\w\W]{2,1024}$/gm);
    r = re.test(message.value);
    if (r == false) { errorObjects.push(message); }

    if (errorObjects.length != 0) {
        for (var i = 0; i < errorObjects.length; ++i) {
            errorObjects[i].style.border = "solid 1px red";
        }
        default_Get("errorMessage").style.display = "inline";
        return false;
    }
    return true;
}

function resetHilites(id, tags) {
    var tag = tags.split(",");
    for (var x = 0; x < tag.length; ++x) {
        var inputs = default_Get(id).getElementsByTagName(tag[x]);
        for (var i = 0; i < inputs.length; ++i) {
            var current = inputs[i];
            if (tag[x] != "input" || current.type == "text")
                current.style.border = "";
        }
    }
}

function hilite(id, txt) {
    var el = default_Get(id);
    var info = default_New("p", el, "info", "Mer information");
}
function lolite(id) {
    var el = default_Get(id);
    var infos = el.parentNode.getElementsByTagName("p");
    for (var x = 0; x < infos.length; ++x)
        default_Remove(new Array(infos[x]));
}

function GenerateQR(el, id) {
    var imgs = el.getElementsByTagName("img");
    if (imgs.length != 0) return;
    var qrimg = new Image();
    qrimg.className = "qr";
    qrimg.src = "https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=" + escape(window.location.host) + escape("/export.axd?id=" + id);
    el.appendChild(qrimg);
    default_New("span",el,"","Spara kontaktuppgifterna till din mobiltelfon genom att scanna bilden ovanför.")
}
