function alternate(){
    if(document.getElementsByTagName){

        // get array of elements with 'conWebDoc' class var aryClassElements = 
        var aryClassElements = getElementsByClassName( 'conWebDoc', document.body );
        
        for ( var i = 0; i < aryClassElements.length; i++ ) {
    
            var tables = aryClassElements[i].getElementsByTagName("table");

            if (! tables) { return; }

            for (var t = 0; t < tables.length; t++) {

                // by definition, tables can have more than one tbody
                // element, so we'll have to get the list of child
                // &lt;tbody&gt;s 
                var tbodies = tables[t].getElementsByTagName("tbody");

                // and iterate through them...
                for (var h = 0; h < tbodies.length; h++) {

                    // find all the &lt;tr&gt; elements... 
                    var trs = tbodies[h].getElementsByTagName("tr");

                    // ... and iterate through them
                    for (var i = 0; i < trs.length; i++) {

                        //manipulate rows
                        if(i % 2 == 0){

                            // check if this is the last row
                            if(i == trs.length - 1){
                                trs[i].className = "even";

/*
                                var tds = trs[i].getElementsByTagName("td");
                                for (var k = 0; k < tds.length; k++) {
                                    tds[k].className = "lastCell";
                                }
*/

                                var tds = trs[i].getElementsByTagName("td");
                                for (var k = 0; k < tds.length; k++) {
                                    tds[k].className = "lastCell";
                                }
                                
                                var ths = trs[i].getElementsByTagName("th");
                                for (var m = 0; m < ths.length; m++) {
                                    ths[m].className = "lastCell";
                                }
                            }
                            else{
                                trs[i].className = "even";
                            }

                        }else{

                            // check if this is the last row
                            if(i == trs.length - 1){
                                trs[i].className = "odd";

                                var tds = trs[i].getElementsByTagName("td");
                                for (var k = 0; k < tds.length; k++) {
                                    tds[k].className = "lastCell";
                                }
                                
                                var ths = trs[i].getElementsByTagName("th");
                                for (var m = 0; m < ths.length; m++) {
                                    ths[m].className = "lastCell";
                                }
                            }
                            else {
                                trs[i].className = "odd";
                            }

                        }
                    }
                }
            }
        }
    }
}


function getElementsByClassName( strClassName, obj ) {
    var ar = arguments[2] || new Array();
    var re = new RegExp("\\b" + strClassName + "\\b", "g");

    try
    {
   	 if (obj.className && re.test(obj.className) ) {
        	ar.push( obj );
	    }
    }
    catch (ex)
    {
        return ar;
    }
    for ( var i = 0; i < obj.childNodes.length; i++ )
        getElementsByClassName( strClassName, obj.childNodes[i], ar );

    return ar;
}
