// ------------------------------------------------------------
// Global variables
// ------------------------------------------------------------
var gArticleRows = new Array();

// ------------------------------------------------------------
// Adapts the height of the rows containing articles
// ------------------------------------------------------------
function adaptArticleRows()
{
    // Loop over all the article rows specified in the global array
    for (var i = 0; i < gArticleRows.length; i++)    
    {
        alignChildHeight(gArticleRows[i]);
    }
}

// ------------------------------------------------------------
// Sets the height of all the children of the specified element
// to the height of the highest child.
// ------------------------------------------------------------
function alignChildHeight(parentId)
{
    var parentElement = document.getElementById(parentId);
    if (parentElement)
    {
        var maxHeight = 0;

        // Loop over all children to find the maxHeight
        for (i = 0; i < parentElement.childNodes.length; i++)
        {
            if (parentElement.childNodes[i].clientHeight > maxHeight)
            {
                maxHeight = parentElement.childNodes[i].clientHeight;
            }
        }

        // Loop over all children and set the height
        for (i = 0; i < parentElement.childNodes.length; i++)
        {
            if (parentElement.childNodes[i].style && 
                (parentElement.childNodes[i].style.clear != 'both'))
            {
                parentElement.childNodes[i].style.height = maxHeight + 'px';
            }
        }
    }
}


function getElementsByClass(searchClass,nodename,tag) 
{
    var node = document.getElementById(nodename);	
	var classElements = new Array();
	
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
		
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function CollapseBanner(collapsableclass, parentnode, bannerid, imageid)
{
    var bannerblockimages = getElementsByClass("collapsableImage", parentnode, 'img');
    var element = null;
    
    for (var i = 0; i < bannerblockimages.length; i++) 
    {
        element = bannerblockimages[i];
        
        if(element != null)
            element.src = "/images/silva/expand_arrow.gif";
    };
    
    
    var bannerblock = getElementsByClass(collapsableclass, parentnode, 'div');
    
    
    var image = document.getElementById(imageid);
    
    for (var i = 0; i < bannerblock.length; i++) 
    {
        element = bannerblock[i];
        
        if(element.id == bannerid)
        {
            if(element.style.display != 'block' && element.style.display != '' )
            {
                element.style.display = 'block';
                image.src = "/images/silva/minimize_arrow.gif";
            }
            else
            {
                element.style.display = 'none';
                image.src = "/images/silva/expand_arrow.gif";
            }
        }
        else
        {
            element.style.display = 'none';
        }
    };
};


function changePageMenuImage(imagenr, imgsrc)
{
    var imageid = "PageMenu" + imagenr;
    var image = document.getElementById(imageid);
    
    if(image != null)
    {
        image.src = imgsrc;
    }
    
};


function toggleLanguage(divid)
{
    var menu = document.getElementById(divid);
    
    if(menu != null)
        menu.style.display = (menu.style.display == 'none') ? '' : 'none';
};

function textInputKeyDown(e, buttonid)
{
    if(!e)
       var e = window.event;
    
    var code;
    
    if (e.keyCode) 
        code = e.keyCode;
	else if (e.which) 
	    code = e.which;
    
    if(code == 13)
        document.getElementById(buttonid).focus();
};





function ProductSearchChangePageFwd(currpageid, activepageid, rewarrowid, fwdarrowid, CurrentPage, TotalPages)
{

	var currentPage = document.getElementById(currpageid+CurrentPage);
	var nextPage = document.getElementById(currpageid+(CurrentPage+1));
	
	currentPage.style.display = 'none';
	nextPage.style.display = 'block';
	
	CurrentPage = (CurrentPage + 1);
	
	var pagedisplay = document.getElementById(activepageid);
	pagedisplay.firstChild.nodeValue = (CurrentPage);
	
	var rewarrow = document.getElementById(rewarrowid);
	rewarrow.style.display = '';
	
	if(CurrentPage == TotalPages)
	{
		var fwdarrow = document.getElementById(fwdarrowid);
		fwdarrow.style.display = 'none';
	}
	
	return CurrentPage;
}

function ProductSearchChangePageRew(currpageid, activepageid, rewarrowid, fwdarrowid, CurrentPage, TotalPages)
{
	var currentPage = document.getElementById(currpageid+CurrentPage);
	var nextPage = document.getElementById(currpageid+(CurrentPage-1));
	
	currentPage.style.display = 'none';
	nextPage.style.display = 'block';
	
	CurrentPage = (CurrentPage - 1);
	
	var pagedisplay = document.getElementById(activepageid);
	pagedisplay.firstChild.nodeValue = (CurrentPage);
	
	var fwdarrow = document.getElementById(fwdarrowid);
	fwdarrow.style.display = '';
	
	if(CurrentPage == 1)
	{
		var rewarrow = document.getElementById(rewarrowid);
		rewarrow.style.display = 'none';
	}
	
	return CurrentPage;
}