﻿var themeColor = "navy";
var img = new Image();
img.src = "http://warner-music-group22.amazonwebstore.com/images/Shinedown_backgroundimage.jpg";

function getElementsByClassName(options) {
	// { className, startNode, tagName, onlyFindFirst }
	var options = options.className ? options : {className: options};
	var startNode = options.startNode || document;
	var els = startNode.getElementsByTagName(options.tagName || '*');
	options.className = typeof options.className === 'string' ? options.className : options.className.join('(\s|$)|(\s|^)');
	var re = new RegExp('(\s|^)(' + options.className + ')(\s|$)');
	if (options.onlyFindFirst === true) {
		for (var i = 0, j = els.length; i < j; i++)
			if (re.test(els[i].className))
				return els[i];
		return false;
	} else {
		var found = [];
		for (var i = 0, j = els.length; i < j; i++)
			if (re.test(els[i].className))
				found.push(els[i]);
		return found;
	}
}

function findParentByTagName(startNode, tagName) {
	var node = startNode;
	tagName = tagName && tagName.toLowerCase ? tagName.toLowerCase() : null;
	if (node) {
		while (node.tagName && node.tagName.toLowerCase() !== tagName && node.parentNode) {
			node = node.parentNode;
		}
	}
	return (node.tagName && node.tagName.toLowerCase() === tagName) ? node : false;
}

// fix document.getElementById('description') for IE
if (document.all && navigator.userAgent.indexOf('MSIE') > 0) {
	document.nativeGetElementById = document.getElementById;
	document.getElementById = function(id){
		var elem = document.nativeGetElementById(id);
		if(elem) {
			if (elem.attributes['id'] && elem.attributes['id'].value === id) {
				return elem;
			} else {
				var elements = document.all[id];
				if (!elements.length) return elements;
				for (var i = 0, elem; elem = elements[i]; i++)
					if(elem.attributes['id'] && elem.attributes['id'].value === id)
						return elem;
			}
		}
		return null;
	};
}

function addClass(el, classname) {
	var re = new RegExp("( ?\\b" + classname + "\\b|$)");
	el.className = el.className ? el.className.replace(re, " " + classname) : classname;
	return el;
}

function removeClass(el, classname) {
	var re = new RegExp(" ?\\b" + classname + "\\b", "");
	el.className = el.className.replace(re, "");
	return el;
}

function removeImg() {
	var oImgs = document.getElementsByTagName("img"),
	    re = new RegExp("\/" + themeColor + "\/images\/1_pixel.gif");
	for (var i = 0, img; img = oImgs[i]; i++) {
		if (re.test(img.src)) {
			img.parentNode.removeChild(img);
			i--;
		}
	}
}

function removeCellSpacing() {
	var tds = getElementsByClassName({
		className: 'hideme',
		tagName: 'td'
	});
	for(var i = 0, td; td = tds[i]; i++)
		if (td.offsetParent)
			td.offsetParent.setAttribute('cellSpacing', '0'); // the offsetParent of any TD is the TABLE
}

function removeCellSpacings2() {
	var tables = getElementsByClassName({
		className: 'widenme',
		tagName: 'table'
	});
	for (var i = 0, table; table = tables[i]; i++)
		table.setAttribute('cellSpacing', '0');
}

function removeCellPadding() {
	var links = getElementsByClassName({
		className: 'homeProductTitle',
		tagName: 'a'
	});
	for (var i = 0, link; link = links[i]; i++) {
		var table = findParentByTagName(link, 'table');
		table.setAttribute('cellPadding', '0');
		table.setAttribute('id', 'artist-prod-widget');
		addClass(table, "sliderTd");
	} 
}

function addVertBorders() {
	var trs = getElementsByClassName({
		className: ['bottom', 'catProdName'],
		tagName: 'tr'
	});

    if (trs.length === 0) return;
	
	// count number of columns in the first table row
	var columns = 0;
	for (var i = 0, tds = trs[0].getElementsByTagName('td'), td; td = tds[i]; i++)
	    if (td.firstChild) columns++;

    // loop through each table row and apply the class 'separator' to empty table cells in each row
	for (var i = 0, tr; tr = trs[i]; i++) {
	    var tds = tr.getElementsByTagName('td');

	    // the last table cell of the last table row won't get an empty table cell at the end... add it so we can put the separator on it
	    if (tds[tds.length - 1].firstChild) {
	        tr.appendChild(document.createElement('td'));
	        tds = tr.getElementsByTagName('td');
	    }
	    
	    // actually loop through each cell... starting at 1, stopping before the last
		for (var j = 1, td, numSeparators = 0; (td = tds[j]) && numSeparators < columns - 1; j++)
			if (td.innerHTML == '') {
				addClass(td, 'separator');
				numSeparators++;
			}
	}
}

function addHorizBorders() {
	var tables = getElementsByClassName({
		className: 'widenme',
		tagName: 'table'
	});
	for (var i = 0, table; table = tables[i]; i++) {
		var re = /\bbottom\b|\bcatProdName\b/;
		var trs = table.getElementsByTagName('tr');
		for (var j = 1, k = trs.length - 1, tr; j < k && (tr = trs[j]); j++) {
			if (!re.test(tr.className)) {
				while (tr.firstChild) tr.removeChild(tr.firstChild);
				addClass(tr, 'hseparator');
				var td = addClass(document.createElement('td'), 'horzSep');
				td.setAttribute('colSpan', '10');
				tr.appendChild(td);
			}
		}
	}
}



//--------------------
var wbaProdWidgets = getElementsByClassName({
	className: 'wba_prod_widget',
	tagName: 'table'
});

function addID() {
	for (var i = 0, table; table = wbaProdWidgets[i]; i++)
		table.parentNode.setAttribute('id', 'artist-prod');
}

function addClassOnProductPage(){
	for (var i = 0, table; table = wbaProdWidgets[i]; i++)
		addClass(table.parentNode, 'prodPage');
}
//--------------------


//CALL ON PAGE WHERE TO ADD A CLASS TO THE BODY - PASS IN VARIABLE: bodyClassName
function addBodyClass(){
	addClass(document.body, bodyClassName);
}

function replaceBreadCrumbSep(){
	var spanCrumbSep = getElementsByClassName({
		className: 'crumbPast',
		tagName: 'span'
	});
	for (var i = 0, span; span = spanCrumbSep[i]; i++)
		span.style.background = "url('/images/crumb_arrow.gif') 0 center no-repeat";
}

function replaceBreadCrumbSepBuckcherry(){
	var spanCrumbSep = getElementsByClassName({
		className: 'crumbPast',
		tagName: 'span'
	});
	for (var i = 0, span; span = spanCrumbSep[i]; i++)
		span.style.background = "url('/images/grey_crumb_arrow.gif') 0 center no-repeat";
}

function removeLogoTr(){
    var rmLogo = document.getElementById("wba_logo_bg");
    var rmLogo1 = rmLogo.parentNode;
    rmLogo1.style.display = "none";
    var rmTr = rmLogo1.nextSibling;
    rmTr.style.display = "none";
    var rmTr1 = rmTr.nextSibling;
    rmTr1.style.display = "none";
    var rmTr2 = rmTr1.nextSibling;
    rmTr2.style.display = "none";
    var rmTr3 = rmTr2.nextSibling;
    rmTr3.style.display = "none";
    rmLogo1.className = "notDisplayed";
    rmTr.className = "notDisplayed";
    rmTr1.className = "notDisplayed";
    rmTr2.className = "notDisplayed";
    rmTr3.className = "notDisplayed";
}

function removeLogoTr2(){
    var rmLogo = document.getElementById("wba_logo_bg");
    var rmLogo1 = rmLogo.parentNode;
    var rmTr = rmLogo1.nextSibling;
    var rmTr1 = rmTr.nextSibling;
    var rmTr2 = rmTr1.nextSibling;
    var rmTr3 = rmTr2.nextSibling;
    var rmTr4 = rmTr3.nextSibling;
    var rmTr5 = rmTr4.nextSibling;
    var rmTr6 = rmTr5.nextSibling;
    rmLogo1.style.display = "none";
    rmTr.style.display = "none";
    rmTr1.style.display = "none";
    rmTr2.style.display = "none";
    rmTr3.style.display = "none";
    rmTr4.style.display = "none";
    rmTr5.style.display = "none";
    rmTr6.style.display = "none";
    rmTr6.parentNode.removeChild(rmTr6);
    rmTr5.parentNode.removeChild(rmTr5);
    rmTr4.parentNode.removeChild(rmTr4);
    rmTr3.parentNode.removeChild(rmTr3);
    rmTr2.parentNode.removeChild(rmTr2);
    rmTr1.parentNode.removeChild(rmTr1);
    rmTr.parentNode.removeChild(rmTr);
    rmLogo1.parentNode.removeChild(rmLogo1);
}

function removeHidemeTr() {
    var tds = document.getElementsByTagName("td");
    for(m=0; m<tds.length; m++){
        if(tds[m].className == "hideme"){
            var bbb = tds[m].firstChild.firstChild.firstChild;
            bbb.style.display = "none";
            var ccc = bbb.nextSibling;
            ccc.style.display = "none";
            var ddd = ccc.nextSibling;
            ddd.style.display = "none";
            var eee = ddd.nextSibling;
            eee.style.display = "none";
        }
    }
}

function removeTrMainPage() {
    var rmLogo = document.getElementById("wba_logo_bg");
    var rmLogo1 = rmLogo.parentNode;
    var rmTr = rmLogo1.nextSibling;
    var rmTr1 = rmTr.nextSibling;
    var rmTr2 = rmTr1.nextSibling;
    var rmTr3 = rmTr2.nextSibling;
    var rmTr4 = rmTr3.nextSibling;
    rmTr4.style.display = "none";
    var rmTr5 = rmTr4.nextSibling;
    rmTr5.style.display = "none";
    var rmTr6 = rmTr5.nextSibling;
    rmTr6.style.display = "none";
}

function addPagingId() {
    var pageTd = document.getElementsByTagName('td');
    for(var i=0;i<pageTd.length;i++){
        if(pageTd[i].className == "page"){
            var pageTable = pageTd[i].parentNode.parentNode.parentNode;
            pageTable.setAttribute('id', 'pagingTable');
            if (pageTd[i].innerHTML == ""){
                pageTd[i].style.display = "none";
            }
        }
    }
}

//USE ONLY ON SECTION PAGES
function addPagingToTop(){
    var pagingTable = document.getElementById('pagingTable');
    var pagingTablePNode = pagingTable.parentNode.parentNode.className == "greyBar";
    if(pagingTablePNode){
        var pagingTd = pagingTable.getElementsByTagName('td');
        for(var i=0;i<pagingTd.length;i++){
            if(pagingTd[i].className == "page"){
                var newPageTd = pagingTd[i].innerHTML;
                for (q=0; q<newPageTd.length; q++){
                    if ((q == 1)&&(document.getElementById('sortBy'))){
                        document.getElementById('sortBy').innerHTML += "<div class='paging'>" + newPageTd + "</div>";
                    }
                }
            }
        }
    }
}
function addPagingToTop2(){
    var pagingTable = document.getElementById('pagingTable');
    var pagingTablePNode = pagingTable.parentNode.parentNode.className == "greyBar";
    if(pagingTablePNode){
        var pagingTd = pagingTable.getElementsByTagName('td');
        for(var i=0;i<pagingTd.length;i++){
            if(pagingTd[i].className == "page"){
                if(pagingTd[i].innerHTML == ""){
			var bcrumbs = document.getElementById('bcrumbs');
			if (bcrumbs) bcrumbs.parentNode.innerHTML += "<div class='paging'><br /></div>";
                } else {
                var newPageTd = pagingTd[i].innerHTML;
                    for (q=0; q<newPageTd.length; q++){
                        if (q == 1){
				var bcrumbs = document.getElementById('bcrumbs');
				if (bcrumbs) bcrumbs.parentNode.innerHTML += "<div class='paging'>" + newPageTd + "</div>";
                        }
                    }
                }
            }
            
        }
    }
}
function addPagingToTopSearchPage(){
    var pagingTable = document.getElementById('pagingTable');
    var pagingTablePNode = pagingTable.parentNode.parentNode.className == "greyBar";
    if(pagingTablePNode){
        var pagingTd = pagingTable.getElementsByTagName('td');
        for(var i=0;i<pagingTd.length;i++){
            if(pagingTd[i].className == "page"){
                if(pagingTd[i].innerHTML == ""){
			var bcrumbs = document.getElementById('bcrumbs');
			if (bcrumbs) bcrumbs.parentNode.innerHTML += "<div class='paging'><br /></div>";
                }
                var newPageTd = pagingTd[i].innerHTML;
                for (q=0; q<newPageTd.length; q++){
                    if (q == 1){
			var bcrumbs = document.getElementById('bcrumbs');
                        if (bcrumbs) bcrumbs.parentNode.innerHTML += "<div class='paging'>" + newPageTd + "</div>";
                    }
                }
            }
            
        }
    }
}
function addDivToProductPage(){
var pagingTable = document.getElementById('wba_prod_page_lightGreyBar');
    var pagingTd = pagingTable.getElementsByTagName('td');
    for(var i=0;i<pagingTd.length;i++){
	var bcrumbs = document.getElementById('bcrumbs');
        if (bcrumbs) bcrumbs.parentNode.innerHTML += "<div class='paging'><br /></div>";
    }
}
function removeArrowImg(){
 var oImgs = document.getElementsByTagName("img");
  for(var i=0; i<oImgs.length; i++){
    if (oImgs[i].src.match("\/" + themeColor + "\/images\/img_arrow.gif")) {
        oImgs[i].parentNode.removeChild(oImgs[i]);
        i--;
    }
  }
}
function removeArrowImg2(){
 var oImgs = document.getElementsByTagName("img");
  for(var i=0; i<oImgs.length; i++){
    if (oImgs[i].src.match("\/" + themeColor + "\/images\/img_arrow_left.gif")) {
        oImgs[i].parentNode.removeChild(oImgs[i]);
        i--;
    }
  }
}
//USE ONLY ON SUBSECTION PAGES
function addCategoryTitle(){
    var title = document.getElementById('category-title').getElementsByTagName('h1');
    for(var i=0;i<title.length;i++){
        if(i == 0){
            var category = title[i].innerHTML;
            var tr1 = document.getElementsByTagName('tr');
            for(var j=0;j<tr1.length;j++){
              if(tr1[j].className == "greyBar"){
                var newtr = tr1[j].nextSibling;
                newtr.setAttribute('id', 'cat-title');
                var newtd = newtr.getElementsByTagName('td');
                newtd[0].className = "";
                newtd[0].innerHTML = "<div>" + category + "</div>";
              }
            }
        }
    }
}
function addSearchTitle(){
    var title = document.getElementById('pagingTable').getElementsByTagName('td');
    for(var i=0;i<title.length;i++){
        if (title[i].className == "crumbRoot"){
            if(i == 0){
                var category = title[i].innerHTML;
                var tr1 = document.getElementsByTagName('tr');
                for(var j=0;j<tr1.length;j++){
                  if(tr1[j].className == "greyBar"){
                    var newtr = tr1[j].nextSibling;
                    newtr.setAttribute('id', 'cat-title');
                    var newtd = newtr.getElementsByTagName('td');
                    newtd[0].className = "";
                    newtd[0].innerHTML = "<div> Search Results:&nbsp;'" + category + "'</div>";
                  }
                }
            }
        }
    }
}
function addSpacerOnProdPage(){
    var tr1 = document.getElementsByTagName('tr');
    for(var j=0;j<tr1.length;j++){
      if(tr1[j].className == "greyBar"){
        var newtr = tr1[j].nextSibling;
        var newtd = newtr.getElementsByTagName('td');
        newtd[0].className = "";
        newtd[0].innerHTML = "<br />";
      }
    }
}
function addDivToBCrumbs(){
    var span1 = document.getElementsByTagName('span');
    for(j=0;j<span1.length;j++){
        if(span1[j].className=="crumbHome"){
            var v = span1[j].parentNode.innerHTML;
            var x = "<div id='bcrumbs'>";
            var y = "</div>";
            span1[j].parentNode.innerHTML = x + v + y;
        }
    }
}
function addMenuId(){
    var tbles = document.getElementsByTagName("table");
    for (i=0; i<tbles.length; i++){
        if(tbles[i].className == "wba_main_table"){
            var tbles1 = tbles[i].getElementsByTagName("div");
            for (m=0; m<tbles1.length; m++){
                if(tbles1[m].className == "clear"){
                    var menu = tbles1[m].parentNode.tagName.toLowerCase() === 'widget' ?
			tbles1[m].parentNode.nextSibling :
			tbles1[m].nextSibling;
		    if(menu.tagName != "/WIDGET"){
			menu.setAttribute("id", "favs-menu");
		    } else {
			menu.nextSibling.setAttribute("id", "favs-menu");
		    }
                }
            }
        }
    }
}
function addClassToWidget(){
    var tds = document.getElementsByTagName("td");
    for(i=0; i<tds.length; i++){
        if(tds[i].className == "wba_ProductGap"){
            var tds2 = tds[i].nextSibling;
            tds2.className = "mainTd";
            var divs = tds2.getElementsByTagName("div");
            for (p=0; p<divs.length; p++){
                if(divs[p].className != "") {
                    var tempclass = divs[p].className;
                    divs[p].className = tempclass + " upped-div" + p;
                    } else {
                    addClass(divs[p], "upped-div" + p);
                    //divs[p].className = "upped-div" + p;
                    }
            }
        }
    }
}
function replaceCTEandEmailBtns(){
    var tCell = document.getElementById("imageArea").getElementsByTagName("img");
    for (i=0; i<tCell.length; i++){
        if (tCell[i].className == "wba_zoom_btn"){
             tCell[i].src = "/images/upped_click_to_enlarge.gif";
        }
        if (tCell[i].className == "wba_email_btn"){
             tCell[i].src = "/images/upped_email_friend.gif";
        }
    }
}
function replaceATCBtns(){
    var imgsrc = document.getElementById("prodInfoArea").getElementsByTagName("input");
    for(var i=0; i<imgsrc.length; i++){
        if (imgsrc[i].className.match(/\bwba_add_to_cart_btn\b/)){
            imgsrc[i].src = "/images/sc_atc.gif";
         }
    }
}
function moveDesc(){
    var trDes = document.getElementById("description");
    if(trDes){
        var trDesCont = trDes.innerHTML;
        trDes.style.display = "none";
        var inpt = document.getElementById("prodInfoArea").getElementsByTagName("input");
        for(var i=0; i<inpt.length; i++){
            if (inpt[i].className.match(/\bwba_add_to_cart_btn\b/)){
                inpt[i].parentNode.parentNode.setAttribute("id", "atc-row");
                inpt[i].parentNode.innerHTML += "<div id='description'><span class='descTitle'>Product Description</span><br />" + trDesCont + "</div>";
                if(document.getElementById("features")){
                    var feat = document.getElementById("features").parentNode;
                    feat.setAttribute("id", "featured-ul");
                    var grabFeat = feat.parentNode.innerHTML;
                    feat.style.display = "none";
                    inpt[i].parentNode.innerHTML += "<div id='features'><span class='descTitle'>Product Features</span>" + grabFeat + "</div>";
                }
            } 
        }
    }
}

function replaceStars(){
 var oImgs = document.getElementsByTagName("img");
  for(var i=0; i<oImgs.length; i++){
    if (oImgs[i].src.match("\/customer-reviews\/stars-0-0.gif")) {
        oImgs[i].src = "/images/upped_no_star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-0-5.gif")) {
        oImgs[i].src = "/images/upped_half_star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-1-0.gif")) {
        oImgs[i].src = "/images/upped_1star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-1-5.gif")) {
        oImgs[i].src = "/images/upped_1_5star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-2-0.gif")) {
        oImgs[i].src = "/images/upped_2star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-2-5.gif")) {
        oImgs[i].src = "/images/upped_2_5star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-3-0.gif")) {
        oImgs[i].src = "/images/upped_3star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-3-5.gif")) {
        oImgs[i].src = "/images/upped_3_5star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-4-0.gif")) {
        oImgs[i].src = "/images/upped_4star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-4-5.gif")) {
        oImgs[i].src = "/images/upped_4_5star.gif";
    }
    if (oImgs[i].src.match("\/customer-reviews\/stars-5-0.gif")) {
        oImgs[i].src = "/images/upped_5star.gif";
    }
  }
}

function adArea(){
    var getTables = document.getElementsByTagName("table");
    for(var i = 0; i<getTables.length; i++){
        if(getTables[i].cellSpacing == '2'){
            var adsArea = getTables[i];
            adsArea.className = "ad-area";
            adsArea.setAttribute("cellSpacing", "0");
            var adsImg = adsArea.getElementsByTagName("img");
            for (var k = 0; k<adsImg.length; k++){
                adsImg[k].className = "ads-img";
            }
        }
    }
}

function removeConts(){
    var shinetab = document.getElementsByTagName("table");
    for(var jj=0; jj<shinetab.length; jj++){
        if(/\bwidenme\b/.test(shinetab[jj].className)){
            shinetab[jj].parentNode.removeChild(shinetab[jj]);
        }
    }
}

function addseps(){
    var wbaProdWidget = getElementsByClassName({
        className: 'wba_prod_widget',
        onlyFindFirst: true
    });
    if (wbaProdWidget) {
        var tds = wbaProdWidget.getElementsByTagName('td');
        for (var i = 0, td; td = tds[i]; i++) {
            if (td.getElementsByTagName("table").length === 2) {
                var cn = td.parentNode.childNodes, indexOf = 0;
                for (var n; n = cn[indexOf] && td !== cn[indexOf]; indexOf++);
                td.className += ' hsep' + (indexOf !== (cn.length - 1) ? ' vsep' : '');
            }
        }
    }
}

