var offsetfrommouse=[15,15];
var displayduration=0;
var currentimageheight = 270;
//document.write('<div id="trailimageid" style="position: absolute; z-index: 20">');
//document.write('</div>');
//document.write('<div id="test" style="position: absolute; left: 10; z-index: 20; background-color: cyan;">');
//document.write('</div>');

function getRealOffsetLeft(element) {
    var offset = 0;
    do {
        offset += element['offsetLeft'];
        element = element.offsetParent;
    } while (element != document.body && element != null);
    return offset;
}



function GetDocumentElementByID(objID) {
    var ie = document.all;
    var dom = document.getElementById;
  if ( ie ) {
    return document.all[objID];
  }
  else if ( dom ) {
    return document.getElementById(objID);
  }
}

function changeImages() {
     if (document.images && (preloadFlag == true)) {
          for (var i=0; i<changeImages.arguments.length; i+=2) {
               document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
          }
     }
}
var preloadFlag = false;
function preloadImages() {
     if (document.images) {
    blue = newImage("images/blue/toplogo.gif");
    pink = newImage("images/pink/toplogo.gif");
    lime = newImage("images/lime/toplogo.gif");
    gold = newImage("images/gold/toplogo.gif");
    grey = newImage("images/grey/toplogo.gif");
    preloadFlag = true;
     }
}

window.onload = function(e) {
  //var cookie = readCookie("style");
  //var title = cookie ? cookie : getPreferredStyleSheet();
  //setActiveStyleSheet(title);
}
window.onunload = function(e) {
  //var title = getActiveStyleSheet();
  //createCookie("style", title, 365);
}


ATTRIBUTE_NODE = 2;
CDATA_SECTION_NODE = 4;
COMMENT_NODE = 8;
DOCUMENT_FRAGMENT_NODE = 11;
DOCUMENT_NODE = 9;
DOCUMENT_TYPE_NODE = 10;
ELEMENT_NODE = 1;
ENTITY_NODE = 6;
ENTITY_REFERENCE_NODE = 5;
NOTATION_NODE = 12;
PROCESSING_INSTRUCTION_NODE = 7;
TEXT_NODE = 3;
UNINITIALIZED = 0;
LOADING = 1;
LOADED = 2;
INTERACTIVE = 3;
COMPLETE = 4;
OK = 200;
NOT_FOUND = 404;
DOM_VERSION = "0.1.2";

function encode(s) {
    var l = s.length;
    var cooked = "";
    for (var i = 0; i < l; i++) {
        var c = s.charAt(i);
        switch (c) {
            case '\'':
                cooked += "&apos;";
                break;
            case '<':
                cooked += "&lt;";
                break;
            case '>':
                cooked += "&gt;";
                break;
            case '&':
                cooked += "&amp;";
                break;
            case "\"":
                cooked += "&quot;";
                break;
            default:
                if (c >= 128) {
                    cooked += "&#" + (s.charCodeAt(i)) + ";";
                }
                break;
        }
    }    
    return cooked;
}


function getNextElement(id, name) { return nextElement(id, name); }
function nextElement(id, name) {
    var t = get(id);
    if (! t) { return false; }
    while (t = t.nextSibling) {
    
        if (t.nodeType == ELEMENT_NODE) {
        
            if (! name) {
                return t;    
        
            } else if (name.toLowerCase() == t.nodeName.toLowerCase()) {
                return t;
            }
        }
    }
    return false;
}
function reverseChildren(t) {
    var parent = get(t);
    if (! parent) { return false; }
    
    var children = parent.childNodes;
    var nodes = Array();
    var count = children.length;
   
    for (var i = 0; i < count; i++) {
        nodes[i] = children.item(0);
        parent.removeChild(children[0]);
    }
    for (var i = nodes.length - 1; i >= 0; i--) {
        parent.appendChild(nodes[i]);
    }
    
    return true;
}



function getNodeClass(obj) {
    var result = false;
    if (obj.getAttributeNode("class") != null) {
        result = obj.getAttributeNode("class").value;
    }
    return result;
}
function getByClass(parent, elementName, className) {
    var tag = false;
    if (arguments.length == 1) {
        tag = document;
        elementName = '*';
        className = arguments[0];
    } else if (arguments.length == 2) {
        tag = document;
        className = elementName;
        elementName = parent;
    } else {
        tag = get(parent);
    }
    if (! tag) { return false; }
    var nodes = new Array();
    var elements = getByTagName(tag, elementName);
    if (! elements) { return false; }
    for (var i = 0; i < elements.length; i++) {
        var c = getNodeClass(elements[i]);
        if (c && inArray(c.split(' '), className)) {
            nodes[nodes.length] = elements[i];
        }
    }
    return nodes;
}
function text(chars) {
    return document.createTextNode(chars);
}
function getParentNamed(tag, name, level) {
    if (! level) {
        level = 1;
    }
    var n = get(tag);
    if (! n) { return false; }
    var parent;
    var count = 0;
    while (parent = n.parentNode) {
        if (parent.nodeName.toLowerCase() == name.toLowerCase()) {
            count++;
            if (count == level) {
                return parent;
            }
        }
        n = parent;
    }
    return false;
}
function getFirstChildNamed(tag, name) {
    var parent = get(tag);
    var nodes = getByTagName(parent, name);
    
    if (nodes && nodes.length > 0) {
        return nodes[0];
    }
    return false;
}
function getByTagName(tag, name) {
    if (arguments.length == 1) {
        return document.getElementsByTagName(tag);
    } else {
        var t = get(tag);
        if (! t) { return false; }
        if (typeof name == "string") {
            name = new Array(name);
        }
        
    
        var tags = new Array();
        
        for (var i = 0; i < name.length; i++) {
            var result = t.getElementsByTagName(name[i]);
            for (var j = 0; j < result.length; j++) {
                if (result[j]) {
                    tags = tags.concat(result[j]);
                }
            }
        }
        if (! tags.length) {
            tags = false;
        }
        return tags;
    }
}
function getNodeValue(node) {
    var n = get(node);
    if (!n) { return false; }
    
    if (n.nodeType == TEXT_NODE) {
        return n.nodeValue;
    } else if (n.nodeType == ELEMENT_NODE && n.childNodes.length > 0) {
        var text = '';
        for (var i = 0; i < n.childNodes.length; i++) {
            text += getNodeValue(n.childNodes[i]);
        }
        return text;
    } else {
        return '';
    }
}




function isAlien(a) { return isObject(a) && typeof a.constructor != 'function'; }
function isArray(obj) { return(typeof(obj.length)=="undefined") ? false : true; }
function isBoolean(a) { return typeof a == 'boolean'; }
function isEmpty(o) {
    var i, v;
    if (isObject(o)) {
        for (i in o) {
            v = o[i];
            if (isUndefined(v) && isFunction(v)) { return false; }
        }
    }
    return true;
}
function isFunction(a) { return typeof a == 'function'; }
function isNull(a) { return typeof a == 'object' && !a;}
function isNumber(a) { return typeof a == 'number' && isFinite(a);}
function isObject(a) { return (a && typeof a == 'object') || isFunction(a);}
function isString(a) { return typeof a == 'string';}
function isUndefined(a) { return typeof a == 'undefined'; } 


function movePopupBox(popupElement, e){
    var xcoord = popupBoxOffsetFromMouse[0];
    var ycoord = popupBoxOffsetFromMouse[1];
    var docwidth = getDocWidth();
    var docheight = getDocHeight();
    if (typeof e != "undefined"){
    
        var x = 0;
        var y = 0;    
        
        if(e.pageX || e.pageY) {
            x = e.pageX;
            y = e.pageY;
        } else if (e.clientX || e.clientY) {
            x = e.clientX;
            y = e.clientY;
        
        
        }
        
                
        if (docwidth - x < popupElement.offsetWidth + xcoord){
            xcoord = x - xcoord - popupElement.offsetWidth;
        } else {
            xcoord += x;
        } 
                    
        if (docheight + getTrueBody().scrollTop - y < popupElement.offsetHeight + ycoord){
            ycoord = y - ycoord - popupElement.offsetHeight;
        } else {
            ycoord += y;
        }
    } else if (typeof window.event != "undefined"){
    
        if (docwidth - event.clientX < popupElement.offsetWidth + xcoord){
            xcoord = event.clientX - xcoord - popupElement.offsetWidth + getTrueBody().scrollLeft;
        } else {
            xcoord += event.clientX + getTrueBody().scrollLeft;
        }
        if (docheight - event.clientY < popupElement.offsetHeight + ycoord){
            ycoord = event.clientY - ycoord - popupElement.offsetHeight + getTrueBody().scrollTop;
        } else {
            ycoord += event.clientY + getTrueBody().scrollTop;
        }
    }    else {
        return;
    }
    
    popupElement.style.left = xcoord+"px"
    popupElement.style.top = ycoord+"px"
}
var SIDE_TOP = 1;
var SIDE_BOTTOM = 2;
var SIDE_LEFT = 4;
var SIDE_RIGHT = 8;
var QUADRANT_TOP_LEFT = SIDE_TOP | SIDE_LEFT;
var QUADRANT_TOP_RIGHT = SIDE_TOP | SIDE_RIGHT;
var QUADRANT_BOTTOM_LEFT = SIDE_BOTTOM | SIDE_LEFT;
var QUADRANT_BOTTOM_RIGHT = SIDE_BOTTOM | SIDE_RIGHT;
function whichQuadrant(pageX, pageY, pointX, pointY){
    var quadrant = 0;
    var halfX = pageX/2;
    var halfY = pageY/2;
    if ( pointX < halfX ){
        quadrant |= SIDE_LEFT;
    } else {
        quadrant |= SIDE_RIGHT;
    }
    if ( pointY < halfY ){
        quadrant |= SIDE_TOP;
    } else {
        quadrant |= SIDE_BOTTOM;
    }
    return quadrant;
}
function getDocWidth(){
    return (document.all? getTrueBody().scrollLeft+getTrueBody().clientWidth : pageXOffset+window.innerWidth-15);
}
function getDocHeight(){
    return (document.all? Math.min(getTrueBody().scrollHeight, getTrueBody().clientHeight) : Math.min(window.innerHeight));
}
function getTrueBody(){
    return ( (!window.opera && document.compatMode && document.compatMode!="BackCompat") || window.opera)? document.documentElement : document.body
}
function debugOnClickEventHandler(e){
    s = typeof e + ":\n";
    s += 'type = ' + e.type + "\n";
    s += 'target = ' + e.target + "\n";
    s += 'layerX = ' + e.layerX + "\n";
    s += 'layerY = ' + e.layerY + "\n";
    s += 'pageX = ' + e.pageX + "\n";
    s += 'pageY = ' + e.pageY + "\n";
    s += 'screenX = ' + e.screenX + "\n";
    s += 'screenY = ' + e.screenY + "\n";
    s += 'which = ' + e.which + "\n";
    s += 'modifiers = ' + e.modifiers + "\n";
    alert(s);
}
var offsetfrommouse=[15,15];
var displayduration=0;
var currentimageheight = 270;
var docheight = getDocHeight();  

//document.write('<div id="trailimageid" style="position: absolute; z-index: 20">TESTING');
//document.write('</div>');


function gettrailobj(){
return document.getElementById("trailimageid").style;
//return document.getElementById("trailimageid");
}

function gettrailobjnostyle(){
return document.getElementById("trailimageid");
}

function truebody(){
return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function over(imagename,w,h){
    document.onmousemove=followmouse;
    dw = w + 4;
    dh = h + 4;
    newHTML = '<div style="padding:3px;background-color:#FFF;border:1px solid #888;width:'+dw+'px;height:'+dh+'px;">';
    newHTML = newHTML + '<div align="center" style="padding: 1px 1px 1px 1px;">';
    newHTML = newHTML + '<img id="trailimg" src="' + imagename + '" style="width:'+w+'px;height:'+h+'px;"';
    newHTML = newHTML + ' border="0"/></div>';
    newHTML = newHTML + '</div>';
    document.getElementById("trailimageid").innerHTML = newHTML;
    document.getElementById("trailimageid").style.display="inline";
    followmouse;
}

function preload_images(image_array){
    preload_image_object = new Array();  
    var i = 0;
    var max = image_array.length;
    for(i=0; i<max; i++){
        preload_image_object[i] = new Image(); 
        preload_image_object[i].src = image_array[i];
    }
}

function off(){
    document.getElementById("trailimageid").innerHTML = " ";
    document.getElementById("trailimageid").style.display="none"
    document.onmousemove=""
    document.getElementById("trailimageid").style.left="-500px"
}
function followmouse(e){
    var xcoord=offsetfrommouse[0]
    var ycoord=offsetfrommouse[1]
    //var docwidth = window.pageXOffset+window.innerWidth-15;
    //var docheight = Math.min(window.innerHeight);
    var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
    var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)
    var popupwidth = document.getElementById("trailimg").width + 10;
    var popupheight = document.getElementById("trailimg").height + 10;
    if (typeof e != "undefined"){
    //firefox
        if (e.pageX + popupwidth > docwidth){
            xcoord = e.pageX - xcoord - popupwidth;
        } else {
            xcoord += e.pageX;
        }
        if (e.pageY + ycoord + popupheight > docheight){
        
            if ( document.body ){
                scrollTop = Math.max(truebody().scrollTop, document.body.scrollTop);
            } else {
                scrollTop = truebody().scrollTop;
            }
            ycoord = Math.max(0,(e.pageY - ycoord - popupheight));
        } else {
            ycoord += e.pageY;
        }
        //document.getElementById("test").innerHTML = "X: " + xcoord + "<br>Y: " + ycoord + "<br>pageX: " + e.pageX + "<br>pageY: " + e.pageY + "<br>ImgW: " + document.getElementById("trailimg").width + "<br>ImgH: " + document.getElementById("trailimg").height + "<br>docW: " + docwidth + "<br>docH: " + docheight;
    } else if (typeof window.event != "undefined"){
    //internet explorer
        if (event.clientX + xcoord + popupwidth > docwidth){
            xcoord = event.clientX + truebody().scrollLeft - xcoord - popupwidth;
        } else {
            xcoord += truebody().scrollLeft + event.clientX
        }
        if (event.clientY + ycoord + popupheight > docheight){
            ycoord += Math.max(0,(event.clientY - ycoord - popupheight));
        } else {
            ycoord += truebody().scrollTop + event.clientY;
        }
        //document.getElementById("test").innerHTML = "X: " + xcoord + "<br>Y: " + ycoord + "<br>clientX: " + event.clientX + "<br>clientY: " + event.clientY + "<br>ImgW: " + document.getElementById("trailimg").width + "<br>ImgH: " + document.getElementById("trailimg").height + "<br>docW: " + docwidth + "<br>docH: " + docheight;
    }
    if(ycoord < 0) { ycoord = ycoord*-1; }
    
    document.getElementById("trailimageid").style.left=xcoord+"px"
    document.getElementById("trailimageid").style.top=ycoord+"px"
}

function offproduct(){ 
    document.getElementById("trailimageid").innerHTML = " ";
    document.getElementById("trailimageid").style.display="none";
    document.onmousemove="";
    document.getElementById("trailimageid").style.left="-500px";
}

function overproduct(imagename, alt_texti){
    var displayalt = rtrim(alt_text[alt_texti].replace(/CRLF/gi, "\r")); 
    if (displayalt.length > 0) {
        //document.onmousemove=followmouseproduct;
        document.onmousemove=followmouseproduct;
        newHTML = '<div class="mouseoverimage" style="padding: 3px; background-color: #FFF; border: 1px solid #888; color: #888;">';
        newHTML = newHTML + rtrim(alt_text[alt_texti].replace(/CRLF/gi, "\r"));
        newHTML = newHTML + '</div>';
        document.getElementById("trailimageid").innerHTML = newHTML;
        document.getElementById("trailimageid").style.display="inline";
        //document.getElementById("trailimageid").style.color="black";
        followmouseproduct;
    }
}

function followmouseproduct(e){
    var xcoord=offsetfrommouse[0]
    var ycoord=offsetfrommouse[1]
    //var docwidth = window.pageXOffset+window.innerWidth-15;
    //var docheight = Math.min(window.innerHeight);
    var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
    var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)
    var popupwidth = 0;
    var popupheight = 0;
    if (typeof e != "undefined"){
    //firefox
        if (e.pageX + popupwidth > docwidth){
            xcoord = e.pageX - xcoord - popupwidth;
        } else {
            xcoord += e.pageX;
        }
        if (e.pageY + ycoord + popupheight > docheight){
        
            if ( document.body ){
                scrollTop = Math.max(truebody().scrollTop, document.body.scrollTop);
            } else {
                scrollTop = truebody().scrollTop;
            }
            ycoord = Math.max(0,(e.pageY - ycoord - popupheight));
        } else {
            ycoord += e.pageY;
        }
        //document.getElementById("test").innerHTML = "X: " + xcoord + "<br>Y: " + ycoord + "<br>pageX: " + e.pageX + "<br>pageY: " + e.pageY + "<br>ImgW: " + document.getElementById("trailimg").width + "<br>ImgH: " + document.getElementById("trailimg").height + "<br>docW: " + docwidth + "<br>docH: " + docheight;
    } else if (typeof window.event != "undefined"){
    //internet explorer
        if (event.clientX + xcoord + popupwidth > docwidth){
            xcoord = event.clientX + truebody().scrollLeft - xcoord - popupwidth;
        } else {
            xcoord += truebody().scrollLeft + event.clientX
        }
        if (event.clientY + ycoord + popupheight > docheight){
            ycoord += Math.max(0,(event.clientY - ycoord - popupheight));
        } else {
            ycoord += truebody().scrollTop + event.clientY;
        }
        //document.getElementById("test").innerHTML = "X: " + xcoord + "<br>Y: " + ycoord + "<br>clientX: " + event.clientX + "<br>clientY: " + event.clientY + "<br>ImgW: " + document.getElementById("trailimg").width + "<br>ImgH: " + document.getElementById("trailimg").height + "<br>docW: " + docwidth + "<br>docH: " + docheight;
    }
    if(ycoord < 0) { ycoord = ycoord*-1; }
    
    document.getElementById("trailimageid").style.left=xcoord+"px"
    document.getElementById("trailimageid").style.top=ycoord+"px"
}

function rtrim(stringToTrim) {
    return stringToTrim.replace(/\s+$/,"");
}

function followmouse2(e){
    var xcoord=offsetfrommouse[0]
    var ycoord=offsetfrommouse[1]
    //var docwidth = window.pageXOffset+window.innerWidth-15;
    //var docheight = Math.min(window.innerHeight);
    var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
    var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)
    var popupwidth = document.getElementById("trailimageid").width + 10;
    var popupheight = document.getElementById("trailimageid").height + 10;
    if (typeof e != "undefined"){
    //firefox
        if (e.pageX + popupwidth > docwidth){
            xcoord = e.pageX - xcoord - popupwidth;
        } else {
            xcoord += e.pageX;
        }
        if (e.pageY + ycoord + popupheight > docheight){
        
            if ( document.body ){
                scrollTop = Math.max(truebody().scrollTop, document.body.scrollTop);
            } else {
                scrollTop = truebody().scrollTop;
            }
            ycoord = Math.max(0,(e.pageY - ycoord - popupheight));
        } else {
            ycoord += e.pageY;
        }
        //document.getElementById("test").innerHTML = "X: " + xcoord + "<br>Y: " + ycoord + "<br>pageX: " + e.pageX + "<br>pageY: " + e.pageY + "<br>ImgW: " + document.getElementById("trailimg").width + "<br>ImgH: " + document.getElementById("trailimg").height + "<br>docW: " + docwidth + "<br>docH: " + docheight;
    } else if (typeof window.event != "undefined"){
    //internet explorer
        if (event.clientX + xcoord + popupwidth > docwidth){
            xcoord = event.clientX + truebody().scrollLeft - xcoord - popupwidth;
        } else {
            xcoord += truebody().scrollLeft + event.clientX
        }
        if (event.clientY + ycoord + popupheight > docheight){
            ycoord += Math.max(0,(event.clientY - ycoord - popupheight));
        } else {
            ycoord += truebody().scrollTop + event.clientY;
        }
        //document.getElementById("test").innerHTML = "X: " + xcoord + "<br>Y: " + ycoord + "<br>clientX: " + event.clientX + "<br>clientY: " + event.clientY + "<br>ImgW: " + document.getElementById("trailimg").width + "<br>ImgH: " + document.getElementById("trailimg").height + "<br>docW: " + docwidth + "<br>docH: " + docheight;
    }
    if(ycoord < 0) { ycoord = ycoord*-1; }
    
    document.getElementById("trailimageid").style.left=xcoord+"px"
    document.getElementById("trailimageid").style.top=ycoord+"px"
}
