var sliderDelayId = 0;
var sliderIntervalId = 0;
var slideSpeed = 10;
var slideInterval = 70; //in milliseconds
var slideDelay = 1000; //in milliseconds
var subCatTableHeight = 0;

var isMouseOver = false;
var sliding = false;
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;

function ShowSubCategories(id) 
{
    if(isMouseOver)
        return;

    isMouseOver = true;
    
    cellHeader = document.getElementById('ctl00_CntPlcHld_' + id + '_tdCategoryBoxHeader');
    cellBody = document.getElementById('ctl00_CntPlcHld_' + id + '_tdCategoryBoxBody');
    cellFooter = document.getElementById('ctl00_CntPlcHld_' + id + '_tdCategoryBoxFooter');
     
    cellHeader.className = 'CategoryBoxHeaderHover';
    cellBody.className = 'CategoryBoxBordersHover';
    cellFooter.className = 'CategoryBoxBottomLineHover';
	
    var divTop = findPosY(cellBody) + cellBody.offsetHeight;
    var divLeft = findPosX(cellBody);
    
    divSubCat = document.getElementById('ctl00_CntPlcHld_' + id + '_divSubCategories'); 

  divSubCat.style.top = divTop + 'px';
    divSubCat.style.left = divLeft + 'px';
    
    hdnSlide = document.getElementById('ctl00_CntPlcHld_' + id + '_hdnSlide'); 
    slideVal = parseInt(hdnSlide.value);

    //Slide only if sub categories present.
    if(slideVal > 0)
        sliderDelayId = setTimeout("StartSlide('" + id + "')", slideDelay);
}


function StartSlide(id)
{
    //Set animated arrow Gif for Categories link
    imgArrow = document.getElementById('ctl00_CntPlcHld_' + id + '_imgAnimatedArrow');
    imgArrow.src = '/KodakGCG/KodakGCGPages/Images/v_arrow_white.gif';
    sliderIntervalId = setInterval("SlideDown('" + id + "')", slideInterval);
}
        

function SlideDown(id)
{
    divSubCat = document.getElementById('ctl00_CntPlcHld_' + id+ '_divSubCategories');
    tblSubCat =  document.getElementById('ctl00_CntPlcHld_' + id + '_tblSubCategories');
	if(isIE)
	{
		divSubCat.style.marginLeft = "1px";
	}
    
    //Get divSubCategories height (as integer)
    subCatTableHeight = tblSubCat.offsetHeight + 8;
    strHeight = divSubCat.style.height;
    divSubCatHeight = parseInt(strHeight.substring(0, strHeight.indexOf('px', 0))); 

    //Get divSubCatFooter position
    var divFooterTop = findPosY(divSubCat);   

    if(divSubCatHeight >= subCatTableHeight)
    {
        divSubCatHeight = subCatTableHeight;
        divSubCat.style.height = subCatTableHeight + 'px';
        sliding = false;
        clearInterval(sliderIntervalId);
    }
    else
    {
        divSubCatHeight += slideSpeed;
        
        if(divSubCatHeight > subCatTableHeight)
            divSubCatHeight = subCatTableHeight;
        
        divSubCat.style.height = divSubCatHeight + 'px';        
    }
	    
    //Sliding effect for divSubCatFooter
    divFooterTop += divSubCatHeight - 3;        
    divSubCatFooter = document.getElementById('ctl00_CntPlcHld_' + id + '_divSubCatFooter'); 

    divSubCatFooter.style.top = divFooterTop + 'px';    	
}
                
function HideSubCategories(e, obj, id)
{
    var toElement = '';
    if (document.all) 
    {
	toElement = e.toElement; 
    } 
    else 
    { 
	toElement = e.relatedTarget; 
    }    
    
    //Return if event is fired due to mouse hover child elements
    if(toElement == obj || IsChild(toElement, obj)) 
        return;
    
    //Clear timer for StartSlide and SlideDown functions
    clearTimeout(sliderDelayId);
    clearInterval(sliderIntervalId);
        
    isMouseOver = false;
        
    cellHeader = document.getElementById('ctl00_CntPlcHld_' + id + '_tdCategoryBoxHeader');
    cellBody = document.getElementById('ctl00_CntPlcHld_' + id +'_tdCategoryBoxBody');
    cellFooter = document.getElementById('ctl00_CntPlcHld_' + id + '_tdCategoryBoxFooter'); 
    
    cellHeader.className = 'CategoryBoxHeader';
    cellBody.className = 'CategoryBoxBorders';
    cellFooter.className = 'CategoryBoxBottomLine';

    //Set divSubCategory height to 0
    divSubCat = document.getElementById('ctl00_CntPlcHld_' + id + '_divSubCategories');
    divSubCat.style.height = '0px';
      
    //Set divSubCatFooter position 
    var divFooterTop = findPosY(divSubCat);
    divSubCatFooter = document.getElementById('ctl00_CntPlcHld_' + id + '_divSubCatFooter'); 

    divSubCatFooter.style.top = divFooterTop + 'px';   


    //Set static arrow Gif for categories link
    imgArrow = document.getElementById('ctl00_CntPlcHld_' + id + '_imgAnimatedArrow');
    imgArrow.src = '/KodakGCG/KodakGCGPages/Images/h_arrow_black.gif';
}
        
function IsChild(obj, ParentObj)
{ 
    var retVal = false; 
    
    if(obj)  
    { 
	while(obj.parentNode)  
	{ 
	    obj = obj.parentNode; 
    	    
	    if(obj == ParentObj)  
	    { 
	         retVal = true; 
	         break; 
	    } 
	} 
    } 

    return (retVal); 
}



function findPosY(obj) 
{
    var curtop = 0;

    if(obj.offsetParent)
    {
         while(1)
        {
            curtop += obj.offsetTop;
            if(!obj.offsetParent)
                break;
            obj = obj.offsetParent;
        }
    }
    else if(obj.y)
    {
        curtop += obj.y;
    }

    return curtop;
}  


function findPosX(obj) 
{
    var curleft = 0;
    
    if(obj.offsetParent)
    {
        while(1)
        {
            curleft += obj.offsetLeft;
            if(!obj.offsetParent)
                break;
            obj = obj.offsetParent;
        }
    }
    else if(obj.x)
    {
        curleft += obj.x;
    }

    return curleft;
}