﻿var screen_size;

function ShowFrame(file)
{
    var div = document.getElementById('popup');
    div.style.zIndex = 100;
    div.style.display = 'inline';

    var pic = document.getElementById('canvas_pic');

    var text = document.getElementById('canvas_text');
    text.innerHTML = "Loading...";

    LoadCanvasPic(pic, file, text);
}

function HideFrame()
{
    var div = document.getElementById('popup');
    div.style.zIndex = -1;
    div.style.display = 'none';

    var pic = document.getElementById('canvas_pic');
    pic.src = "Images/loading.gif";

    var text = document.getElementById('canvas_text');
    text.innerHTML = "Loading...";
}

function ChangePage(content)
{
    document.getElementById("pageFrame").src = content;
}

function ChangePageName(name)
{
    document.title = name;
}

function ShowAlert(text)
{
    alert(text);
}

function MenuSelect(item)
{
    var items = document.getElementById('menu').getElementsByTagName('a');
    
    var selected = document.getElementById(item);
    var selectedsubs = document.getElementById(item + '_sub');

    for (var i = 0; i < items.length; i++)
    {
        items[i].blur();
    
        if (items[i].parentNode.className != "menu_sub")
        {
            items[i].parentNode.className = "menu_border_pull";

            var subs = document.getElementById(items[i].parentNode.id + '_sub')
            if (subs != null)
            {
                subs.style.display = 'none';
            }
        }
    }

    selected.className = "menu_border_push";

    if (selectedsubs != null)
    {
        selectedsubs.style.display = 'block';
    }

    ChangePage(selected.getAttribute("page"));
    ChangePageName("Crawley Creatures - " + selected.getAttribute("name"));
}

function MenuSubSelect(name, page)
{
    var items = document.getElementById('menu').getElementsByTagName('a');
    for (var i = 0; i < items.length; i++)
    {
        items[i].blur();
    }
    
    ChangePageName(name);
    ChangePage(page);
}

function Loaded()
{
    Hide();
    ResizeTitle();
    populateReel();
    ResizeContents();
}

function Resize()
{
    if (screen_size == null)
    {
        screen_size = getWindowSize();
        Loaded();
    }
    else
    {
        var new_screen_size = getWindowSize();

        if (new_screen_size[0] != screen_size[0] || new_screen_size[1] != screen_size[1])
        {
            screen_size = new_screen_size;
            Loaded();
        }
    }
}

function LoadHome()
{
    ResizeTitle();
    ResizePics();
}

function ResizeHome()
{
    if (screen_size == null)
    {
        screen_size = getWindowSize();
        LoadHome();
    }
    else
    {
        var new_screen_size = getWindowSize();

        if (new_screen_size[0] != screen_size[0] || new_screen_size[1] != screen_size[1])
        {
            screen_size = new_screen_size;
            LoadHome();
        }
    }
}

function ResizePics()
{
    var table = document.getElementById('section_table');
    table.setAttribute('cellSpacing', table.clientWidth * 0.02);
    
    var sec1 = document.getElementById('sec1');
    var sec1frame = document.getElementById('sec1frame');  
    LoadPic(sec1, 'MakeThumb.aspx?image=' + sec1.getAttribute('orig_src') + '&height=' + sec1frame.clientHeight + '&width=' + sec1frame.clientWidth);

    var sec2 = document.getElementById('sec2');
    var sec2frame = document.getElementById('sec2frame');
    LoadPic(sec2, 'MakeThumb.aspx?image=' + sec2.getAttribute('orig_src') + '&height=' + sec2frame.clientHeight + '&width=' + sec2frame.clientWidth);

    var sec3 = document.getElementById('sec3');
    var sec3frame = document.getElementById('sec3frame');
    LoadPic(sec3, 'MakeThumb.aspx?image=' + sec3.getAttribute('orig_src') + '&height=' + sec3frame.clientHeight + '&width=' + sec3frame.clientWidth);

    var sec4 = document.getElementById('sec4');
    var sec4frame = document.getElementById('sec4frame');
    LoadPic(sec4, 'MakeThumb.aspx?image=' + sec4.getAttribute('orig_src') + '&height=' + sec4frame.clientHeight + '&width=' + sec4frame.clientWidth);

    var sec5 = document.getElementById('sec5');
    var sec5frame = document.getElementById('sec5frame');
    LoadPic(sec5, 'MakeThumb.aspx?image=' + sec5.getAttribute('orig_src') + '&height=' + sec5frame.clientHeight + '&width=' + sec5frame.clientWidth);

    var sec6 = document.getElementById('sec6');
    var sec6frame = document.getElementById('sec6frame');
    LoadPic(sec6, 'MakeThumb.aspx?image=' + sec6.getAttribute('orig_src') + '&height=' + sec6frame.clientHeight + '&width=' + sec6frame.clientWidth);
}

function Hide()
{
    var element = document.getElementById("news_container");    
    var contents = element.getElementsByTagName("div");

    for (var i = 0; i < contents.length; i++)
    {
        contents[i].style.display = 'block';
    }

    for (var j = 0; j < contents.length; j++)
    {
        if (checkOverflow(element))
        {
            var last_child = contents.item(contents.length - (1 + j));
            last_child.style.display = 'none';
        }
        else
        {
            j = contents.length;
        }
    }
}

function ResizeTitle()
{
    var c = document.getElementById("title_container");
    var t = document.getElementById("title_content");

    var max = ConvertCssPxToInt(c.style.height);

    for (var i = 0; i < 60; i=i+5)
    {
        t.style.fontSize = i + 'px';

        if (c.clientHeight > max)
        {
            try
            {
                t.style.fontSize = (i - 5) + 'px';
            }
            catch (err) { }

            break;
        }
    }
}

function ConvertCssPxToInt(cssPxValueText)
{

    // Set valid characters for numeric number.
    var validChars = "0123456789.";

    // If conversion fails return 0.
    var convertedValue = 0;

    // Loop all characters of
    for (i = 0; i < cssPxValueText.length; i++)
    {

        // Stop search for valid numeric characters,  when a none numeric number is found.
        if (validChars.indexOf(cssPxValueText.charAt(i)) == -1)
        {

            // Start conversion if at least one character is valid.
            if (i > 0)
            {
                // Convert validnumbers to int and return result.
                convertedValue = parseInt(cssPxValueText.substring(0, i));
                return convertedValue;
            }
        }
    }

    return convertedValue;
}

function ResizeContents()
{
    var contents = document.getElementById("content_structure");

    if (contents != null)
    {
        var parent = contents.parentNode.parentNode.parentNode;

        if (parent.clientWidth < 800)
        {
            contents.width = parent.clientWidth;
        
            if (contents.clientHeight > parent.clientHeight)
            {
                contents.width = parent.clientWidth - 20;
            }
        }
        else
        {
            contents.width = 800;
        }
    }
}

function checkOverflow(el)
{
    var curOverflow = el.style.overflow;
    if (!curOverflow || curOverflow === "visible")
        el.style.overflow = "hidden";

    var isOverflowing = el.clientWidth < el.scrollWidth
      || el.clientHeight < el.scrollHeight;

    el.style.overflow = curOverflow;

    isOverflowing = isOverflowing || el.clientHeight > el.parentNode.clientHeight;

    return isOverflowing;
}

function Blur(section)
{
    var items = document.getElementById(section).getElementsByTagName('a');
    for (var i = 0; i < items.length; i++)
    {
        items[i].blur();
    }
}

function ResizeCanvas()
{
    var pic = document.getElementById('canvas_pic');

    pic.removeAttribute("width");
    pic.removeAttribute("height");

    var pic_height = pic.height;
    var pic_width = pic.width;

    pic.style.display = 'none';

    var size = getWindowSize();

    var x_scale = pic_width / (size[0] * 0.8);
    var y_scale = pic_height / (size[1] * 0.8);

    if (x_scale > y_scale)
    {
        x_scale = 1 / x_scale;
    
        if (x_scale < 1)
        {
            pic.width = pic_width * x_scale;
            pic.height = pic_height * x_scale;
        }
    }
    else
    {
        y_scale = 1 / y_scale;
        
        if (y_scale < 1)
        {
        
            pic.width = pic_width * y_scale;
            pic.height = pic_height * y_scale;
        }
    }

    pic.style.display = 'block';

    var row1 = document.getElementById('popup').getElementsByTagName("tr")[0];
    row1.style.height = (size[1] - pic.clientHeight) / 2;
    var row3 = document.getElementById('popup').getElementsByTagName("tr")[2];
    row3.style.height = (size[1] - pic.clientHeight) / 2;

    var col1 = document.getElementById('popup').getElementsByTagName("td")[0];
    col1.style.width = (size[0] - pic.clientWidth) / 2;
    var col3 = document.getElementById('popup').getElementsByTagName("td")[2];
    col3.style.width = (size[0] - pic.clientWidth) / 2;
}

function getWindowSize()
{
    var myWidth = 0, myHeight = 0;
    if (typeof (window.innerWidth) == 'number')
    {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } else if (document.body && (document.body.clientWidth || document.body.clientHeight))
    {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }

    var result = new Array(2);
    result[0] = myWidth;
    result[1] = myHeight;

    return result;
}

function populateReel()
{
    if (reelfeed == '')
    {
        return;
    }

    var frame_height = 80;
    var frame_width = (frame_height / 2) * 3;
    var table = document.getElementById("reel_table");

    var row = table.getElementsByTagName("tr")[0];
    var parent = row.parentNode;
    parent.removeChild(row);
    row = document.createElement("tr");
    parent.appendChild(row);   
    
    var orig_width = table.clientWidth;
    var amount = Math.floor(orig_width / (frame_width + 10));

    if (reelfeed.length < amount)
    {
        amount = reelfeed.length;
    }
    
    for (var i = 0; i < amount; i++)
    {
        var rand = Math.floor(Math.random() * reelfeed.length)
        var src = "Images\\" + section + "\\" + reelfeed[i];

        var cell = document.createElement('td');
        cell.setAttribute('class', 'reel_frame');
        cell.setAttribute('className', 'reel_frame');
        
        var div = document.createElement('div');
        div.setAttribute('class', 'img_frame');
        div.setAttribute('className', 'img_frame');
        div.style.width = frame_width;
        div.onclick = ShowFrameHandler(src.replace(/\\/g, '/'));

        var img = document.createElement('img');        
        img.setAttribute('class', 'img_bg');
        img.setAttribute('className', 'img_bg');
        img.setAttribute('oncontextmenu', 'return false;');
        img.setAttribute('loadsrc', 'MakeThumb.aspx?image=' + src + '&height=' + frame_height + '&width=' + frame_width);
        img.setAttribute('src', 'Images/loading.gif');
        img.style.height = frame_height + 'px';
        img.style.width = 'auto';
        img.oncontextmenu = function() { return false; };

        LoadPic(img, 'MakeThumb.aspx?image=' + src + '&height=' + frame_height + '&width=' + frame_width);

        div.appendChild(img);
        cell.appendChild(div);
        row.appendChild(cell);
    }
}

function ResizeReel()
{
    if (reelfeed == '')
    {
        return;
    }

    var frame_height = 80;
    var frame_width = (frame_height / 2) * 3;
    var table = document.getElementById("reel_table");
    var row = table.getElementsByTagName("tr")[0];

    for (var i = 0; i < row.childNodes.length; i++)
    {
        row.childNodes[i].style.display = 'none';
    }

    var orig_width = table.clientWidth;
    var amount = Math.floor(orig_width / (frame_width + 10));

    if (reelfeed.length < amount)
    {
        amount = reelfeed.length;
    }

    for (var j = 0; j < row.childNodes.length; j++)
    {
        if (j < amount)
        {
            row.childNodes[j].style.display = 'block';
        }
    }
}

var ShowFrameHandler = function(src)
{
    return function() { ShowFrame(src); };
}

function LoadCanvasPic(img, source, text)
{
    img.src = "Images/loading.gif";

    var loader = new Image();
    loader.onload = CanvasLoadHandler(img, text, loader);
    loader.onerror = function() { img.src = source; };
    loader.src = source;

    setTimeout(function() { CheckPic(loader, img, source) }, 3000);
}

var CanvasLoadHandler = function(img, text, obj_img)
{
    return function()
    {
        img.setAttribute('src', obj_img.src);

        var path = obj_img.src;
        var bits = path.split('/');
        bits = bits[bits.length - 1].split('.');
        var name = bits[0].replace(/_/g, ' ');

        text.innerHTML = name;
    };
}

var LoadHandler = function(img, obj_img)
{
    return function()
    {
        var rel_path = obj_img.src.substr(obj_img.src.indexOf('MakeThumb'));
        img.setAttribute('src', rel_path);
    };
}

function resize_gallery()
{

    var frame = document.getElementById('scroll_frame');
    var menu = document.getElementById('gallery_menu');
    var list = menu.getElementsByTagName("div")[0];
    list.style.height = 100;
    frame.style.height = 100;

    var scroll = document.getElementById('content_scroll');
    scroll.style.overflowY = 'hidden';

    var list_div = menu.getElementsByTagName("tr")[0];

    list.style.height = list_div.clientHeight;

    var frame_h = menu.clientHeight;
    frame.style.height = frame_h;

    gallery_scroll();
    menu_scroll();
}

function gallery_scroll()
{
    var frame = document.getElementById('scroll_frame');

    if (frame.scrollTop > scroll_pos)
    {
        scroll_pos = frame.scrollTop;

        var grid = document.getElementById('ctl00_scrolling_content_gallery_grid');
        var images = grid.getElementsByTagName('img');

        for (var i = 0; i < images.length; i++)
        {
            if (getTop(images[i]) < frame.clientHeight + scroll_pos + 100)
            {
                images[i].setAttribute('src', images[i].getAttribute('loadsrc'));               
            }
            else
            {
                break;
            }
        }
    }
}

function menu_scroll()
{
    var menu = document.getElementById('gallery_menu');
    var list = menu.getElementsByTagName("div")[0];

    var items = list.getElementsByTagName("td");

    for (var i = 0; i < items.length; i++)
    {
        if (items[i].firstChild.tagName == 'SPAN')
        {        
            var pos = (i + 1) * 16;
            pos = pos - (menu.clientHeight / 2);
            
            list.scrollTop = pos;
        }
    }
}

function ShowVid()
{
    var div = document.getElementById('popup');
    div.style.zIndex = 100;
    div.style.height = '100%';
    div.style.width = '100%';
    div.style.visibility = "visible";
    document.getElementById("vid").src = "http://www.youtube.com/watch_popup?v=4HLVP8RIr-8";
}

function HideVid()
{
    var div = document.getElementById('popup');
    div.style.zIndex = -1;
    div.style.height = 10;
    div.style.width = 10;
    div.style.visibility = "hidden";
    document.getElementById("vid").src = "about:blank";
}

function LoadPic(img, source)
{
    img.src = "Images/loading.gif";

    var loader = new Image();
    loader.onload = LoadHandler(img, loader);
    loader.onerror = function() { img.src = source; };
    loader.src = source;
}

function CheckPic(loader, img, source)
{
    if (!loader.complete)
    {
        LoadPic(img, source);
    }
}

function LoadCreatureList()
{
    CreatureListSelect();
    ResizeCreatureList();
}

function ResizeCreatureList()
{    
    var frame = document.getElementById('content_scroll');
    frame.style.overflowY = 'hidden';
    var header = document.getElementById('creaturelist_table_header');
    header.style.width = 10;
    var table = document.getElementById('ctl00_scrolling_content_creature_table');
    var scroller = document.getElementById('creaturelist_scroll');
    scroller.style.height = 10;
    var parent = scroller.parentNode.clientHeight;
    parent = scroller.parentNode.clientHeight;

    scroller.style.height = parent - 20 - header.clientHeight;

    if (ie)
    {
        if (parent - 20 - header.clientHeight < table.clientHeight)
        {
            header.style.width = header.parentNode.clientWidth - 17;
        }
        else
        {
            header.style.width = header.parentNode.clientWidth;
        }
    }
    else
    {
        header.style.width = table.clientWidth + 2;
    }

    if (table.clientHeight == 0)
    {
        header.style.visibility = 'hidden';
    }
}

function getQueryString()
{
    var result = {}, queryString = location.search.substring(1),
      re = /([^&=]+)=([^&]*)/g, m;

    while (m = re.exec(queryString))
    {
        result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
    }

    return result;
}

function getTop(el)
{
    yPos = el.offsetTop;
    tempEl = el.offsetParent;
    while (tempEl != null)
    {
        yPos += tempEl.offsetTop;
        tempEl = tempEl.offsetParent;
    }
    return yPos;
}

function select_section(name)
{
    var table = document.getElementById(name + 'fade');
    var top = table.getElementsByTagName('td')[0];

    top.setAttribute('class', 'section_top_selected');
    top.setAttribute('className', 'section_top_selected');
}

function deselect_section(name)
{
    var table = document.getElementById(name + 'fade');
    var top = table.getElementsByTagName('td')[0];

    top.setAttribute('class', 'section_top_deselected');
    top.setAttribute('className', 'section_top_deselected');
}

function linkto(page)
{
    window.location = page;
}

function CreatureListSelect()
{
    if (getQueryString()["sec"] != null)
    {
        var index = getQueryString()["sec"];

        var sec = document.getElementById('sec' + index);

        sec.setAttribute('class', 'creaturelist_selected');
        sec.setAttribute('className', 'creaturelist_selected');
    }
}

function hover_creaturelist(name)
{
    var cell = document.getElementById(name);

    if (cell.getAttribute('class') != 'creaturelist_selected')
    {
        cell.setAttribute('class', 'creaturelist_hover');
        cell.setAttribute('className', 'creaturelist_hover');
    }
}

function leave_creaturelist(name)
{
    var cell = document.getElementById(name);

    if (cell.getAttribute('class') != 'creaturelist_selected')
    {
        cell.setAttribute('class', 'creaturelist_leave');
        cell.setAttribute('className', 'creaturelist_leave');
    }
}

function getCookie(c_name)
{
    var i, x, y, ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++)
    {
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+$/g, "");
        if (x == c_name)
        {
            return unescape(y);
        }
    }
}

function basket_click()
{
    var button = document.getElementById('basket_button');
    var basket = document.getElementById('basket_area');

    if (button.getElementsByTagName('span')[0].innerHTML.indexOf('Show Order') > -1)
    {
        button.getElementsByTagName('span')[0].innerHTML = "Hide Order";
        build_basket();
        basket.style.display = "Block";
    }
    else
    {
        button.getElementsByTagName('span')[0].innerHTML = "Show Order";
        basket.style.display = "None";
    }
}

function addtobasket(id)
{
    var quantity = document.getElementById('ctl00_scrolling_content_quantity_' + id);

    var current_basket = getCookie("basket");

    if (current_basket == "empty" || current_basket == null)
    {
        current_basket = '';
    }

    var items = current_basket.split(',');
    var new_basket = '';
    var done = false;

    for (var i = 0; i < items.length - 1; i++)
    {
        var info = items[i].split('x');

        if (info[0] != id)
        {
            new_basket = new_basket + items[i] + ",";
        }
        else
        {
            var new_quantity = parseInt(info[1]) + parseInt(quantity.value);         
            new_basket = new_basket + info[0] + "x" + new_quantity + ",";
            done = true;
        }
    }

    if (!done)
    {
        new_basket = new_basket + id + "x" + quantity.value + ",";
    }

    document.cookie = "basket =" + new_basket;

    var button = document.getElementById('ctl00_scrolling_content_add_' + id);
    button.blur();

    build_basket();
    
    current_basket = getCookie("basket");

    if (current_basket == null)
    {
        alert("Cookies must be enabled to use the store!");
    }
}

function removefrombasket(id)
{
    var current_basket = getCookie("basket");

    if (current_basket == null)
    {
        alert("Cookies must be enabled to use the store!");
        return;
    }

    var items = current_basket.split(',');
    var new_basket = '';

    for (var i = 0; i < items.length - 1; i++)
    {
        if (i != id)
        {
            new_basket = new_basket + items[i] + ",";
        }
    }

    document.cookie = "basket =" + new_basket;

    build_basket();
}

function clear_basket()
{
    document.cookie = "basket = empty";

    build_basket();
}

function build_basket()
{
    var basket = document.getElementById('basket');
    var rows = basket.getElementsByTagName('tr');
    var list = rows[0].parentNode;
    var amount = rows.length - 2;

    for (var i = 0; i < amount; i++)
    {
        list.removeChild(list.childNodes[1]);
    }

    var current_basket = getCookie("basket");

    if (current_basket == "empty" || current_basket == null)
    {
        current_basket = '';
    }

    var items = current_basket.split(',');

    if (items.length == 1)
    {
        var row = document.createElement('tr');

        var id = document.createElement('td');
        id.innerHTML = "Empty";
        id.setAttribute("colSpan", "4");
        id.style.textAlign = "center";
        row.appendChild(id);

        list.insertBefore(row, list.childNodes[1]);

        var clear_button = document.getElementById('clear_button');
        clear_button.style.display = 'none';

        var submit_button = document.getElementById('submit_button');
        submit_button.style.display = 'none';
    }
    else
    {
        var clear_button = document.getElementById('clear_button');
        clear_button.style.display = 'block';

        var submit_button = document.getElementById('submit_button');
        submit_button.style.display = 'block';
    }

    for (var i = 0; i < items.length - 1; i++)
    {
        var info = items[i].split('x');

        var row = document.createElement('tr');
        
        var id = document.createElement('td');
        id.innerHTML = info[0];
        id.style.borderRight = "solid 1px silver";
        row.appendChild(id);

        var quantity = document.createElement('td');
        quantity.innerHTML = "x " + info[1];
        quantity.style.textAlign = "right";
        quantity.style.borderRight = "solid 1px silver";
        row.appendChild(quantity);

        var price = document.createElement('td');
        price.innerHTML = CurrencyFormatted(get_price(info[0]) * parseInt(info[1]));
        price.style.textAlign = "right";
        price.style.borderRight = "solid 1px silver";
        row.appendChild(price);

        var remove = document.createElement('td');
        remove.innerHTML = "<img src=\"Images/cross.jpg\" style=\"cursor:pointer\" onclick=\"removefrombasket(" + (i) + ")\"/>";
        remove.style.textAlign = "center";
        row.appendChild(remove);

        list.insertBefore(row, list.childNodes[1]);
    }

    if (items.length > 1)
    {
        rows[rows.length - 1].getElementsByTagName('td')[0].innerHTML = "£ " + CurrencyFormatted(get_total());
    }
    else
    {
        rows[rows.length - 1].getElementsByTagName('td')[0].innerHTML = "£ " + CurrencyFormatted(0);
    }
}

function get_price(id)
{
    var list = document.getElementById('ctl00_scrolling_content_buglist');
    var rows = list.getElementsByTagName('tr');

    for (var i = 1; i < rows.length; i++)
    {
        var row_id = rows[i].getElementsByTagName('td')[0].innerHTML;

        if (parseInt(row_id, 10) == parseInt(id, 10))
        {
            var price = rows[i].getElementsByTagName('td')[4].innerHTML.split("£")[1].replace(",", "");            
            return parseFloat(price);
        }
    }

    return 999;
}

function get_total()
{
    var basket = document.getElementById('basket');
    var items = basket.getElementsByTagName('tr');

    var total = 0;

    for (var i = 1; i < items.length - 1; i++)
    {
        total = total + parseFloat(items[i].getElementsByTagName('td')[2].innerHTML.replace(",", ""));
    }

    return total;
}

function CurrencyFormatted(amount)
{
    var i = parseFloat(amount);
    if (isNaN(i)) { i = 0.00; }
    var minus = '';
    if (i < 0) { minus = '-'; }
    i = Math.abs(i);
    i = parseInt((i + .005) * 100);
    i = i / 100;
    s = new String(i);

    if (s.length > 3)
    {
        var pos = s.length - 3;    
        s = s.substr(0, pos) + "," + s.substr(pos)
    }
    
    if (s.indexOf('.') < 0) { s += '.00'; }
    if (s.indexOf('.') == (s.length - 2)) { s += '0'; }
    s = minus + s;
    return s;
}

function submit_order()
{
    var floating = document.getElementById('content_float');
    var window = document.getElementById('content_scroll');
    floating.style.right = 0;
    floating.style.width = window.parentNode.clientWidth;
    floating.style.height = window.parentNode.clientHeight;
    document.getElementById('basket_button').style.marginRight = 20;
    document.getElementById('basket_area').style.marginRight = 20;

    var submit_details = document.getElementById('submit_details');

    if (ie == 0)
    {
        submit_details.style.display = "inline-table";
    }
    else
    {
        submit_details.style.display = "block";
    }

    var email = document.getElementById('Text1');
    var tel = document.getElementById('Text2');

    email.style.border = "solid 1px black";
    tel.style.border = "solid 1px black";

    email.focus();
}

function cancel_submission()
{
    var floating = document.getElementById('content_float');
    floating.style.right = 20;
    floating.style.width = 200;
    floating.style.height = null;
    document.getElementById('basket_button').style.marginRight = 0;
    document.getElementById('basket_area').style.marginRight = 0;

    var submit_details = document.getElementById('submit_details');
    submit_details.style.display = "none";
}

function accept_submission()
{
    var email = document.getElementById('Text1');
    var tel = document.getElementById('Text2');

    if (email.value == '' && tel.value == '')
    {
        email.style.border = "solid 1px red";
        email.focus();

        tel.style.border = "solid 1px red";
    }
    else
    {
        document.cookie = "basket=" + getCookie("basket") + email.value + "," + tel.value;
        navigateWithReferrer('StoreSubmit.aspx');
    }
}

function navigateWithReferrer(url)
{
    var fakeLink = document.createElement("a");
    if (typeof (fakeLink.click) == 'undefined')
        location.href = url; // sends referrer in FF, not in IE
    else
    {
        fakeLink.href = url;
        document.body.appendChild(fakeLink);
        fakeLink.click(); // click() method defined in IE only
    }
}

function store_scroll()
{
    var frame = document.getElementById('content_scroll');

    if (frame.onscroll == null)
    {
        frame.onscroll = function() { store_scroll(); };
    }

    if (frame.scrollTop > scroll_pos)
    {
        scroll_pos = frame.scrollTop;

        var grid = document.getElementById('ctl00_scrolling_content_buglist');
        var images = grid.getElementsByTagName('img');

        for (var i = 0; i < images.length; i++)
        {
            if (getTop(images[i]) < frame.clientHeight + scroll_pos + 100)
            {
                var src = images[i].getAttribute('src').substr(images[i].getAttribute('src').indexOf('Images'));
                var loadsrc = images[i].getAttribute('loadsrc').substr(images[i].getAttribute('loadsrc').indexOf('Images'));

                if (src != loadsrc + "&height=50&width=50")
                {
                    LoadPic(images[i], "MakeThumb.aspx?image=" + images[i].getAttribute('loadsrc') + "&height=50&width=50");
                }

                images[i].onclick = ShowFrameHandler(loadsrc);
                images[i].oncontextmenu = function() { return false; };
            }
            else
            {
                break;
            }
        }
    }
}
