﻿var xmlHttp1 = false;
var xmlResponse1;
var intOuter = 0;
var intInner = 0;
var intOpacityOuter = 0;
var intOpacityInner = 0;
try {
    xmlHttp1 = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
    try {
        xmlHttp1 = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e2) {
        xmlHttp1 = false;
    }
}

if (!xmlHttp1 && typeof XMLHttpRequest != 'undefined') {
    xmlHttp1 = new XMLHttpRequest();
}

function lightbox(intLightbox) {
    var dtNow = new Date();
    var strAddress = '/lightbox.aspx?lightbox=' + intLightbox;
    xmlHttp1.open("GET", strAddress, true);
    xmlHttp1.onreadystatechange = parseImagesXML;
    xmlHttp1.send(null);
}
function parseImagesXML() {
    if (xmlHttp1.readyState == 4) {
        xmlResponse1 = xmlHttp1.responseXML.documentElement;
        if (xmlResponse1.childNodes.length > 0) {var divOverlay = document.createElement('div');
            document.body.appendChild(divOverlay);
            divOverlay.setAttribute('id', 'divOverlay');
            var divLightbox = document.createElement('div');
            document.body.appendChild(divLightbox);
            divLightbox.setAttribute('id', 'divLightbox');
            scrollLightbox();
            window.onscroll = function() { scrollLightbox(); }
            var divOuter = document.createElement('div');
            divOverlay.appendChild(divOuter);
            divOuter.className = 'divOuter';
            var divMiddle = document.createElement('div');
            divOuter.appendChild(divMiddle);
            divMiddle.className = 'divMiddle';
            var divInner = document.createElement('div');
            divMiddle.appendChild(divInner);
            divInner.className = 'divInner';
            var imgLoading = document.createElement('img');
            divInner.appendChild(imgLoading);
            imgLoading.id = 'imgLoading';
            imgLoading.src = '/Assets/Images/loading.gif';
            intOuter = setInterval('fadeOuter(true)', 30);
        }
    }
}
function scrollLightbox() {
    var divOverlay = document.getElementById('divOverlay');
    var divLightbox = document.getElementById('divLightbox');
    divOverlay.style.top = divLightbox.style.top = f_scrollTop() + 'px';
    divOverlay.style.left = divLightbox.style.left = f_scrollLeft() + 'px';
}
var imageIndex = 0;
function fadeOuter(blIn) {
    var divOverlay = document.getElementById('divOverlay');
    var divLightbox = document.getElementById('divLightbox');
    if (blIn) {
        if (intOpacityOuter < 50) {
            intOpacityOuter += 10;
            divOverlay.style.filter = 'alpha(opacity=' + intOpacityOuter + ')';
            divOverlay.style.opacity = intOpacityOuter / 100;
            divOverlay.style.visibility = 'visible';
        }
        else {
            clearInterval(intOuter);
            var divOuter = document.createElement('div');
            divLightbox.appendChild(divOuter);
            divOuter.className = 'divOuter';
            var divMiddle = document.createElement('div');
            divOuter.appendChild(divMiddle);
            divMiddle.className = 'divMiddle';
            var divInner = document.createElement('div');
            divMiddle.appendChild(divInner);
            divInner.className = 'divInner';
            var divPreview = document.createElement('div');
            divInner.appendChild(divPreview);
            divPreview.id = 'divPreview';
            divPreview.className = 'divPreview';
            var divOld = document.createElement('div');
            divPreview.appendChild(divOld);
            var divImage = document.createElement('div');
            divPreview.appendChild(divImage);
            divImage.className = 'divImage';
            var imgClose = new Image();
            divImage.appendChild(imgClose);
            imgClose.src = '/Assets/Images/closeLightbox.gif';
            imgClose.className = 'imgClose';
            imgClose.title = 'close';
            imgClose.onclick = function() { intOuter = setInterval('fadeOuter(false)', 30); }
            var img1 = new Image();
            divImage.appendChild(img1);
            img1.onLoad = startFade();
            img1.src = xmlResponse1.getAttribute('Path') + xmlResponse1.childNodes[imageIndex].getAttribute('Src');
            img1.title = 'click to see next image';
            if (xmlResponse1.childNodes[imageIndex].firstChild.nodeValue.length > 0) {
                var divText = document.createElement('div');
                divImage.appendChild(divText);
                divText.className = 'divText';
                divText.innerHTML = xmlResponse1.childNodes[imageIndex].firstChild.nodeValue;
            }
        }
    }
    else {
        if (intOpacityOuter > 0) {
            intOpacityOuter -= 10;
            divOverlay.style.filter = 'alpha(opacity=' + intOpacityOuter + ')';
            divOverlay.style.opacity = intOpacityOuter / 100;
            divOverlay.style.visibility = 'visible';
            divLightbox.style.filter = 'alpha(opacity=' + intOpacityOuter + ')';
            divLightbox.style.opacity = intOpacityOuter / 100;
            divLightbox.style.visibility = 'visible';
        }
        else {
            clearInterval(intOuter);
            imageIndex = 0;
            document.body.removeChild(divOverlay);
            document.body.removeChild(divLightbox);
            window.onscroll = null;
        }
    }
}
function startFade() {
    intInner = setInterval(fadeImage, 30);
}
function newClick(img) {
    img.style.cursor = 'pointer';
    img.onclick = function() { startFade(); }
}
function fadeImage() {
    var divPreview = document.getElementById('divPreview');
    var divOld = divPreview.childNodes[0];
    var divNew = divPreview.childNodes[1];

    divNew.style.width = divNew.childNodes[1].clientWidth + 'px';
    divNew.style.left = ((400 - divNew.childNodes[1].clientWidth) / 2) + 'px';
    
    if (intOpacityInner < 100) {
        intOpacityInner += 5;
        divNew.style.filter = 'alpha(opacity=' + intOpacityInner + ')';
        divNew.style.opacity = intOpacityInner / 100;
        divNew.style.visibility = 'visible';
        divOld.style.filter = 'alpha(opacity=' + (100 - intOpacityInner) + ')';
        divOld.style.opacity = (100 - intOpacityInner) / 100;
        divOld.style.visibility = 'visible';
    }
    else {
        clearInterval(intInner);
        document.getElementById('imgLoading').style.visibility = 'hidden';
        divPreview.removeChild(divOld);
        imageIndex += 1;
        if (imageIndex == xmlResponse1.childNodes.length) {
            imageIndex = 0;
        }
        var divImage = document.createElement('div');
        divPreview.appendChild(divImage);
        divImage.className = 'divImage';
        var imgClose = new Image();
        divImage.appendChild(imgClose);
        imgClose.src = '/Assets/Images/closeLightbox.gif';
        imgClose.className = 'imgClose';
        imgClose.title = 'close';
        imgClose.onclick = function() { intOuter = setInterval('fadeOuter(false)', 30); }
        var img1 = new Image();
        divImage.appendChild(img1);
        img1.onLoad = newClick(divNew.childNodes[1]);
        img1.src = xmlResponse1.getAttribute('Path') + xmlResponse1.childNodes[imageIndex].getAttribute('Src');
        img1.title = 'click to see next image';
        if (xmlResponse1.childNodes[imageIndex].firstChild.nodeValue.length > 0) {
            var divText = document.createElement('div');
            divImage.appendChild(divText);
            divText.className = 'divText';
            divText.style.width = (img1.clientWidth - 6) + 'px';
            divText.innerHTML = xmlResponse1.childNodes[imageIndex].firstChild.nodeValue;
        }
        
        intOpacityInner = 0;
    }
}

function submitDownload(nodeid) {
    var frm = document.getElementById("frm_pages");
    if (frm.email.value.length > 0) {
        if (!echeck(frm.email.value)) {
            alert("You must enter a valid email address");
            return false;
        }
    }
    frm.action = "/downloadthanks.aspx?File=" + nodeid;
    window.open('/downloadfile.aspx?File=' + nodeid, '_blank', 'scrollbars=no,width=1,height=1');
    frm.submit();
    return false;
}

function contactSubmit(obj) {
    var strValue = obj.value;
    var strName = obj.name;
    var frm = document.getElementById("frm_pages");
    if (strName == 'softwareguide' || strName == 'faqs') {
        frm.action = obj.getAttribute('action');
        frm.submit();
        return true;
    }
    frm.action = "contactthanks.aspx?contact=" + strValue;
    if (frm.contactname.value.length > 0 && frm.contactemail.value.length > 0 && frm.contactcomments.value.length > 0) {
        if (echeck(frm.contactemail.value)) {
            frm.submit();
        }
        else {
            alert("You must enter a valid email address");
        }
    }
    else {
        alert("You must fill in all fields in order to contact us");
    }
}

function promoSubmit(obj) {
    var strValue = obj.value;
    var strName = obj.name;
    var frm = document.getElementById("frm_pages");
    if (frm.promocode.value.length > 0 && frm.promoname.value.length > 0 && frm.promoemail.value.length > 0 && frm.promotelephone.value.length > 0) {
        if (echeck(frm.promoemail.value)) {
            frm.action = obj.getAttribute('action');
            frm.submit();
        }
        else {
            alert("You must enter a valid email address");
        }
    }
    else {
        alert("You must fill in all fields in order to enter");
    }
}

function loginSubmit(obj) {
    var strValue = obj.value;
    var strName = obj.name;
    var frm = document.getElementById("frm_pages");
    if (frm.useremail.value.length > 0 && frm.userpassword.value.length > 0) {
        frm.submit();
        return true;
    }
    else if (frm.newusername.value.length > 0 && frm.newuseremail.value.length > 0 && frm.newuserpassword.value.length > 0 && frm.newuserpassword2.value.length > 0) {
        if (echeck(frm.newuseremail.value) && frm.newuseremail.value.length <= 500) {
            if (frm.newusername.value.length <= 50 && frm.newuserpassword.value.length <= 50) {
                if (frm.newuserpassword.value == frm.newuserpassword2.value) {
                    frm.submit();
                    return true;
                }
                else {
                    alert("The passwords entered did not match");
                }
            }
            else {
                alert("Usernames and passwords have a maximum length of 50 characters");
            }
        }
        else {
            alert("You must enter a valid email address");
        }
    }
    else {
        alert("You must fill in the required fields");
    }
    return false;
}

function echeck(str) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if (reg.test(str) == false) {
        return false;
    }
    return true
}

function f_scrollTop() {
    return f_filterResults(
        window.pageYOffset ? window.pageYOffset : 0,
        document.documentElement ? document.documentElement.scrollTop : 0,
        document.body ? document.body.scrollTop : 0
    );
}
function f_scrollLeft() {
    return f_filterResults(
        window.pageXOffset ? window.pageXOffset : 0,
        document.documentElement ? document.documentElement.scrollLeft : 0,
        document.body ? document.body.scrollLeft : 0
    );
}
function f_filterResults(n_win, n_docel, n_body) {
    var n_result = n_win ? n_win : 0;
    if (n_docel && (!n_result || (n_result > n_docel)))
        n_result = n_docel;
    return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}