function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

function alternate(id)
{
	if(document.getElementsByTagName)
	{  
		var parent = document.getElementById(id);  
		var rows = /*parent.*/getElementsByClassName(document, "span", "product_item"); 
		var j = 1;
		var current_pos = "odd";
		for(i = 0; i < rows.length; i++)
		{          
			if (j > 2) // numarul de casute consecutive de aceeasi culoare
			{
				j = 1;
				if (current_pos == "odd")
				{
					current_pos = "even";
					rows[i].className = "product_item " + current_pos;
				}
				else
				{
					current_pos = "odd";
					rows[i].className = "product_item " + current_pos;
				}
			}
			else
			{
				rows[i].className = "product_item " + current_pos;
			}
			j++;
		}
	}
}