// -------------------------
//
// Random stuff
//
// -------------------------

function getElementsByClassName(oElm, strTagName, strClassName)
{
   var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
   var arrReturnElements = new Array();
   strClassName = strClassName.replace(/-/g, "\-");
   var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
   var oElement;
   for(var i = 0; i < arrElements.length; i++)
   {
      oElement = arrElements[i];
      if(oRegExp.test(oElement.className))
      {
         arrReturnElements.push(oElement);
      }
   }
   return (arrReturnElements);
}

function findPos(obj) 
{
    var curleft = curtop = 0;
    if (obj.offsetParent) 
    {
        do 
        {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        return [curleft,curtop];
    }
}

function getWindowWidth() 
{
    var windowWidth = 0;
    if (typeof(window.innerWidth) == 'number') 
    {
        windowWidth = window.innerWidth;
    }
    else 
    {
        if (document.documentElement && document.documentElement.clientWidth) 
        {
            windowWidth = document.documentElement.clientWidth;
        }
        else if (document.body && document.body.clientWidth) 
        {
            windowWidth = document.body.clientWidth;
        }
    }
    return windowWidth;
}
	
// -------------------------
//
// Fade in/out stuff
//
// -------------------------

var fadeTimeouts = new Array();

function fadeContent(content, time)
{
    thedoc = document.getElementById(content);
    setOpacity(thedoc, 0);
    thedoc.style.visibility = 'visible';
    fadeIn(content, 0, time);
}

function fadeIn(objId, opacity, time) 
{
    if(fadeTimeouts[objId] != "") clearTimeout(fadeTimeouts[objId]);
    
    if (document.getElementById) 
    {
        obj = document.getElementById(objId);
        if (opacity <= 100) 
        {
            obj.style.visibility = "visible";
            setOpacity(obj, opacity);
            opacity += 5;
            fadeTimeouts[objId] = window.setTimeout("fadeIn('"+objId+"',"+opacity+","+time+")", time);
        }
    }
}

function fadeOut(objId,opacity, time) 
{
    if(fadeTimeouts[objId] != "") clearTimeout(fadeTimeouts[objId]);
    
    if (document.getElementById) 
    {
        obj = document.getElementById(objId);
        if (opacity > 0) 
        {
            setOpacity(obj, opacity);
            opacity -= 5;
            fadeTimeouts[objId] = window.setTimeout("fadeOut('"+objId+"',"+opacity+","+time+")", time);
        }
        else
        {
            obj.style.visibility = "hidden";
        }
    }
}

function setOpacity(obj, opacity) 
{
    opacity = (opacity == 100)?99.999:opacity;
          
    // IE/Win
    obj.style.filter = "alpha(opacity:"+opacity+")";
          
    // Safari<1.2, Konqueror
    obj.style.KHTMLOpacity = opacity/100;
          
    // Older Mozilla and Firefox
    obj.style.MozOpacity = opacity/100;
          
    // Safari 1.2, newer Firefox and Mozilla, CSS3
    obj.style.opacity = opacity/100;
}

function fadeEach()
{
    var allimages = document.getElementsByClassName("productimage");
    numofImages = allimages.length;
    var tempX = 0, speed=0, tempend = 0;
    for(var i = 0; i < allimages.length; i++)
    {
        setOpacity(allimages[i], 0);
        
        allimages[i].style.position = "absolute";
        allimages[i].style.left = getWindowWidth()+"px";
        
        allimages[i].style.visibility = 'visible';
        setTimeout("fadeIn('"+allimages[i].id+"', 0, 10)", 100*i);
        setTimeout("moveToLeft('"+allimages[i].id+"', '"+(getWindowWidth()-imgWidth)+"px', "+tempend+",50)", 150*i);
        tempend += (allimages[i].childNodes[0].tagName == 'A')?imgWidth:txtWidth;
    }
}

function restoreEach()
{
    var allimages = document.getElementsByClassName("productimage");
    for(var i = 0; i < allimages.length; i++)
    {
        allimages[i].style.position = "relative";
        allimages[i].style.left = "0px";
    }
    document.getElementById("productbrowser").scrollLeft = 0;
}
		
function moveToLeft(objId,left,end,change)
{
    if (document.getElementById) 
    {
        obj = document.getElementById(objId);
        left = parseInt(left.substr(0, left.length-2));
        left -= change;
        if (left > end) 
        {
            if(left-end < 240) { change = (change-5 <= 1)?1:change-5; }     // slow it down
            obj.style.left = left+"px";
            window.setTimeout("moveToLeft('"+objId+"','"+left+"px', "+end+", "+change+", 1)", 1);
        }
        else
        {
            obj.style.left = end+"px";
            if(++loadedImages == numofImages) { restoreEach(); }
        }
    }
}

function nextPic(min, max) 
{
    if(++lookbookpic > max) lookbookpic = min;
    
    var speed = Math.round(500 / 100);
    var timer = 0; 
    
    document.getElementById("lookbookbrowser").style.backgroundImage = "url(" + document.getElementById("lookbookpic").src + ")";
    
    setOpacity(document.getElementById("lookbookpic"), 0);
    
    document.getElementById("lookbookpic").src = "images/lookbook/lookbook"+lookbookpic+".jpg";

    for(i = 0; i <= 100; i++) 
    {
        setTimeout("setOpacity(document.getElementById('lookbookpic'), "+i+")", (timer*speed));
        timer++;
    }
} 

var menuLocks = new Array();
function menuLevel2()
{
    var menu = document.getElementById("menu");
    var secondUL = null;
    for(var i = 0; i < menu.childNodes.length; i++)
    {
        if(menu.childNodes[i].childNodes.length > 0)
        {
            secondULs = menu.childNodes[i].getElementsByTagName("ul");
            if(secondULs.length != 0)
            {
                menuLocks[i] = false;
                var menuPos = findPos(menu.childNodes[i]);
                secondULs[0].style.left = (menuPos[0]-100) + "px";
                secondULs[0].style.top = (menuPos[1]-30) + "px";
                secondULs[0].style.visibility = "hidden";
                eval("menu.childNodes[i].onmouseover = function(e) { menuLocks[i] = true; if(document.getElementById('"+secondULs[0].id+"').style.visibility=='hidden') fadeIn('"+secondULs[0].id+"', 0, 20); }");
                eval("menu.childNodes[i].onmouseout = function(e) { menuLocks[i] = false; setTimeout(\"if(menuLocks[\"+i+\"]==false) fadeOut('"+secondULs[0].id+"', 100, 20);\", 100); }");
            }
        }
    }
}

/*function h2(amount)
{
    if(amount == null)
    {
        document.getElementById("h2").style.visibility = "hidden";
        setTimeout("h2(0)", 500);
        return;
    }
    
    amount += 10;

    if(amount < 75)
    { 
        document.getElementById("h2").style.fontSize = amount+"%";
        setTimeout("h2("+amount+")", 1);
    }
    else
    {
        document.getElementById("h2").style.visibility = "visible";
        fadeIn("h2", 0, 5);
    }
}*/