﻿
function f_clientWidth() {
    return f_filterResults (
        window.innerWidth ? window.innerWidth : 0,
        document.documentElement ? document.documentElement.clientWidth : 0,
        document.body ? document.body.clientWidth : 0
    );
}
function f_clientHeight() {
    return f_filterResults (
        window.innerHeight ? window.innerHeight : 0,
        document.documentElement ? document.documentElement.offsetHeight : 0,
        document.body ? document.body.offsetHeight : 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_scrollTop() {
    return f_filterResults (
        window.pageYOffset ? window.pageYOffset : 0,
        document.documentElement ? document.documentElement.scrollTop : 0,
        document.body ? document.body.scrollTop : 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;
}

var aryGroupRange = new Array();
function createK8Preview(strK8,strPrefix)
{
    aryGroupRange = new Array();
    //strPrefix += 'ctl00_ContentPlaceHolder1_';
    strK8 = strPrefix + strK8;
    var objRangeContainer = document.getElementById(strPrefix + 'divGroupRanges');
    var intRange = 0;
    for (i=0;i<objRangeContainer.childNodes.length;i++)
    {
        if (objRangeContainer.childNodes[i].nodeType == 1)
        {
            var intSize = 0;
            var aryRange = new Array();
            var objRange = objRangeContainer.childNodes[i];
            var objSizeContainer;
            for (z=0;z<objRange.childNodes.length;z++)
            {
                if (objRange.childNodes[z].nodeType == 1)
                {
                    if (objRange.childNodes[z].className == 'divContentHeader')
                    {
                        aryRange[0] = objRange.childNodes[z].innerHTML;
                    }
                    else
                    {
                        for (y=0;y<objRange.childNodes[z].childNodes.length;y++)
                        {
                            if (objRange.childNodes[z].childNodes[y].className == 'divRangeContentRight')
                            {
                                objSizeContainer = objRange.childNodes[z].childNodes[y];
                            }
                        }
                    }
                }
            }
            aryRange[1] = new Array();
            aryGroupRange[intRange] = aryRange;
            for (j=0;j<objSizeContainer.childNodes.length;j++)
            {
                if (objSizeContainer.childNodes[j].nodeType == 1)
                {
                    var intK8 = 0;
                    var arySize = new Array();
                    var objSize = objSizeContainer.childNodes[j];
                    var objK8Container;
                    for (z=0;z<objSize.childNodes.length;z++)
                    {
                        if (objSize.childNodes[z].nodeType == 1)
                        {
                            if (objSize.childNodes[z].className == 'divSize')
                            {
                                arySize[0] = objSize.childNodes[z].innerHTML;
                            }
                            else if (objSize.childNodes[z].className == 'divK8s')
                            {
                                objK8Container = objSize.childNodes[z];
                            }
                        }
                    }
                    arySize[1] = new Array();
                    aryRange[1][intSize] = arySize;
                    for (k=0;k<objK8Container.childNodes.length;k++)
                    {
                        if (objK8Container.childNodes[k].nodeType == 1 && objK8Container.childNodes[k].className == 'divContentK8')
                        {
                            var aryK8 = new Array();
                            var objK8 = objK8Container.childNodes[k];
                            for (z=0;z<objK8.childNodes.length;z++)
                            {
                                if (objK8.childNodes[z].nodeType == 1)
                                {
                                    if (objK8.childNodes[z].className == 'aLinkBlue')
                                    {
                                        aryK8[0] = objK8.childNodes[z].id.replace('k8', '');
                                        for (y=0;y<objK8.childNodes[z].childNodes.length;y++)
                                        {
                                            if (objK8.childNodes[z].childNodes[y].nodeType == 1)
                                            {
                                                if (objK8.childNodes[z].childNodes[y].className == 'spanK8Image')
                                                {
                                                    aryK8[1] = objK8.childNodes[z].childNodes[y].firstChild.src.replace('SmallThumb','Preview');
                                                }
                                                else if (objK8.childNodes[z].childNodes[y].className == 'spanK8Desc')
                                                {
                                                    aryK8[2] = objK8.childNodes[z].childNodes[y].innerHTML;
                                                }
                                            }
                                        }
                                    }
                                    else if (objK8.childNodes[z].className == 'divK8Symbols')
                                    {
                                        aryK8[3] = objK8.childNodes[z].innerHTML;
                                    }
                                }
                            }
                            arySize[1][intK8] = aryK8;
                            intK8 += 1;
                        }
                    }
                    intSize += 1;
                }
            }
            intRange += 1;
        }
    }
    previewK8(strK8);
    document.getElementById('divImagePreview').style.display='block';
    document.getElementById('divImagePreviewTop').style.display='block';
    document.getElementById('divImagePreviewTop').style.top = f_scrollTop() + 'px';
    scrollPreview();
    document.body.onresize = function() {scrollPreview()};
    document.body.onscroll = function() {scrollPreview()};
    window.onscroll = function() {scrollPreview()};
}

function scrollPreview()
{
    document.getElementById('divImagePreview').style.top = f_scrollTop() + 'px';
    document.getElementById('divImagePreviewTop').style.top = f_scrollTop() + 'px';
}

function previewK8(strK8)
{
    for (i=0;i<aryGroupRange.length;i++)
    {
        for (j=0;j<aryGroupRange[i][1].length;j++)
        {
            for (k=0;k<aryGroupRange[i][1][j][1].length;k++)
            {
                if (strK8 == aryGroupRange[i][1][j][1][k][0])
                {
                    document.getElementById('aImagePreviewPrev').style.visibility = 'visible';
                    document.getElementById('aImagePreviewNext').style.visibility = 'visible';
                    var strPrev;
                    var strNext;
                    var pi = ni = i;
                    var pj = nj = j;
                    var pk = nk = k;
                    if (pk>0)
                    {
                        pk-=1;
                    }
                    else
                    {
                        if (pj>0)
                        {
                            pj-=1;
                            pk=aryGroupRange[pi][1][pj][1].length-1;
                        }
                        else
                        {
                            if (pi>0)
                            {
                                pi-=1;
                                pj=aryGroupRange[pi][1].length-1;
                                pk=aryGroupRange[pi][1][pj][1].length-1;
                            }
                            else
                            {
                                document.getElementById('aImagePreviewPrev').style.visibility = 'hidden';
                            }
                        }
                    }
                    if (nk<aryGroupRange[ni][1][nj][1].length-1)
                    {
                        nk+=1;
                    }
                    else
                    {
                        if (nj<aryGroupRange[ni][1].length-1)
                        {
                            nj+=1;
                            nk=0;
                        }
                        else
                        {
                            if (ni<aryGroupRange.length-1)
                            {
                                ni+=1;
                                nj=0;
                                nk=0;
                            }
                            else
                            {
                                document.getElementById('aImagePreviewNext').style.visibility = 'hidden';
                            }
                        }
                    }
                    strPrev = aryGroupRange[pi][1][pj][1][pk][0];
                    strNext = aryGroupRange[ni][1][nj][1][nk][0];
                    document.getElementById('divImagePreviewK8Header').innerHTML = aryGroupRange[i][0];
                    document.getElementById('divImagePreviewK8Size').innerHTML = aryGroupRange[i][1][j][0];
                    document.getElementById('divImagePreviewK8Image').style.backgroundImage = 'url(' + aryGroupRange[i][1][j][1][k][1] + ')';
                    document.getElementById('divImagePreviewK8Desc').innerHTML = aryGroupRange[i][1][j][1][k][2];
                    document.getElementById('divImagePreviewK8Symbols').innerHTML = aryGroupRange[i][1][j][1][k][3];
                    document.getElementById('aImagePreviewPrev').href = "javascript:previewK8('" + strPrev + "');"
                    document.getElementById('aImagePreviewNext').href = "javascript:previewK8('" + strNext + "');"
                    return;
                }
            }
        }
    }
}

function basketPreview(obj)
{
    var strPrefix = obj.id.substring(0,obj.id.lastIndexOf('_')+1);
    var strImageUrl = document.getElementById('hdnImagesPath').value + 'Preview/' + document.getElementById(strPrefix + 'hdnImage').value.substring(document.getElementById(strPrefix + 'hdnImage').value.length-2) + '/' + document.getElementById(strPrefix + 'hdnImage').value + '.jpg';
    document.getElementById('divImagePreviewK8Header').innerHTML = document.getElementById(strPrefix.substring(0,strPrefix.lastIndexOf('rptK8')) + 'divBasketRange').innerHTML;
    document.getElementById('divImagePreviewK8Size').innerHTML = document.getElementById(strPrefix + 'divBasketK8Size').innerHTML;
    document.getElementById('divImagePreviewK8Image').style.backgroundImage = 'url(' + strImageUrl + ')';
    document.getElementById('divImagePreviewK8Desc').innerHTML = document.getElementById(strPrefix + 'divBasketK8Code').firstChild.innerHTML + ' - ' + document.getElementById(strPrefix + 'divBasketK8Desc').firstChild.innerHTML;
    document.getElementById('divImagePreviewK8PrevNext').style.visibility = 'hidden';
    scrollPreview();
    document.body.onresize = function() {scrollPreview()};
    document.body.onscroll = function() {scrollPreview()};
    window.onscroll = function() {scrollPreview()};
    document.getElementById('divImagePreview').style.display='block';
    document.getElementById('divImagePreviewTop').style.display='block';
    document.getElementById('divImagePreviewTop').style.top = f_scrollTop() + 'px';
    return false;
}

function closePreview()
{
    document.getElementById('divImagePreview').style.display = 'none';
    document.getElementById('divImagePreviewTop').style.display = 'none';
}


/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
try
{
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
    try
    {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e2)
    {
        xmlHttp = false;
    }
}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

function ajaxPreview(strK8,borderURL,strPrefix)
{
    if (document.getElementById('div' + strPrefix))
    {
        createK8Preview(strK8,strPrefix);
    }
    else
    {
        xmlHttp.open("GET",borderURL,true);
        xmlHttp.onreadystatechange = function() { createAjaxPreview(strK8,strPrefix)};
        xmlHttp.send(null);
    }
}

function createAjaxPreview(strK8,strPrefix)
{
    if (xmlHttp.readyState == 4)
    {
        var response = xmlHttp.responseText.replace(/id=\"/gi,'id="' + strPrefix);
        response = response.replace(/id=\'/gi,'id=\'' + strPrefix);
        var x = response.indexOf("<body");
        var y = response.lastIndexOf("</body>");
        response = response.slice(x,y);
        var divAjax = document.createElement('div');
        divAjax.id = 'div' + strPrefix;
        divAjax.innerHTML = response;
        divAjax.style.display = 'none';
        document.body.appendChild(divAjax);
        createK8Preview(strK8,strPrefix);
    }
}