/* 
 * Jquery browser detect plugin to identify browser/os detection.
 * jQuery Browser Plugin - http://jquery.thewikies.com/browser/
 */
(function($){
    $.browserTest = function(a, z){
        var u = 'unknown', x = 'X', m = function(r, h){
            for (var i = 0; i < h.length; i = i + 1) {
                r = r.replace(h[i][0], h[i][1]);
            }
            return r;
        }, c = function(i, a, b, c){
            var r = {
                name: m((a.exec(i) || [u, u])[1], b)
            };
            r[r.name] = true;
            r.version = (c.exec(i) || [x, x, x, x])[3];
            if (r.name.match(/safari/) && r.version > 400) {
                r.version = '2.0';
            }
            if (r.name === 'presto') {
                r.version = ($.browser.version > 9.27) ? 'futhark' : 'linear_b';
            }
            r.versionNumber = parseFloat(r.version, 10) || 0;
            r.versionX = (r.version !== x) ? (r.version + '').substr(0, 1) : x;
            r.className = r.name + r.versionX;
            return r;
        };
        a = (a.match(/Opera|Navigator|Minefield|KHTML|Chrome/) ? m(a, [[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/, ''], ['Chrome Safari', 'Chrome'], ['KHTML', 'Konqueror'], ['Minefield', 'Firefox'], ['Navigator', 'Netscape']]) : a).toLowerCase();
        $.browser = $.extend((!z) ? $.browser : {}, c(a, /(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/, [], /(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));
        $.layout = c(a, /(gecko|konqueror|msie|opera|webkit)/, [['konqueror', 'khtml'], ['msie', 'trident'], ['opera', 'presto']], /(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);
        $.os = {
            name: (/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase()) || [u])[0].replace('sunos', 'solaris')
        };
        if (!z) {
            $('html').addClass([$.os.name, $.browser.name, $.browser.className, $.layout.name, $.layout.className].join(' '));
        }
    };
    $.browserTest(navigator.userAgent, true);
})(jQuery);

/*
 * Jquery Plugin - opens external links in a new window.
 * Checks if the links are relative, and are of the same domain.
 * Sampe Usage - $("#someDiv a").makeLinksExternal();
 */
jQuery.fn.makeLinksExternal = function(){
    return this.each(function(){
        var a = $(this).attr("href");
        if (a.indexOf(location.host) == -1 && a.indexOf("/") != 0) {
            $(this).attr("target", "_blank")
        }
    })
};


/* Supplant Function. Remedial JS. Thanks to Douglas Crockford. 
 * Substitues the variables in a string. The variables must be preceded by {}.
 */
if (!String.prototype.supplant) {
    String.prototype.supplant = function(a){
        return this.replace(/{([^{}]*)}/g, function(d, c){
            var e = a[c];
            return typeof e === "string" || typeof e === "number" ? e : d
        })
    }
};
/*Templates for the Merch Module */
var merchModuleTemplate = '<li class="merch small item{index}">\
				<div class="merchImg"><a href="{omnitureLinksPThumb}"><img src="{merchImage}"/></a><div class="merchZoomIcon"></div></div>\
				<div class="merchDetail">\
					<div class="merchPriceWrapper"><div class="merchName"><a href="{omnitureLinksPTitle}" >{merchTitle}</a></div><div class="merchPrice">{merchPrice}</div></div>\
					<div class="merchBuy"><a href="{omnitureLinksPButton}" class="merchBuyLink">{merchPrice}</a></div>\
				</div>\
				<!-- HOVERCARD -->\
		</li>';

/* Templates for the Hovercard module.*/
var merchHCTemplate = '<div class="merchHC merchHC{index}">\
							<div class="merchHCWrapper">\
								<div class="merchHCInnerWrapper">\
									<div class="merchHCHead"><a href="{omnitureLinksHTitle}">{merchTitle}</a></div>\
									<div class="merchHCBody">\
										<div class="merchHCLeftCon"><a href="{omnitureLinksHThumb}"><img src="{merchImage}" width="230px"/></a></div>\
										<div class="merchHCRightCon">\
											<h3 class="merchHCPrice">{merchPrice}</h3>\
											{merchDesc}\
											{merchSizes}\
											<div class="merchHCBuyNowCon"><a class="merchHCBuyNow" href="{omnitureLinksHButton}">Buy Now &raquo;</a></div>\
										</div>\
										<div class="clear"></div>\
									</div>\
									<div class="merchHCFoot"></div>\
								</div>\
							</div>\
						</div>';

var merchCountryTemplate = '<li><a class="flag {countryName}" href="{countryLink}" target="_new">{countryText}</a></li>';
var merchHeaderTemplate = '<div class="{positionClass}">\
						   		<div class="visitStore">\
									<a class="visitStoreLink" href="{merchViewAllLink}" rel="external" target="_new">Visit Artist Store</a>\
									<ul style="display: none;" class="visitStoreFlyout">\
										<!-- MERCH COUNTRIES -->\
									</ul>\
								</div>\
						   </div>';



/************** MEDIA RESIZE CODE *******************/

function modifyMediaSize(cssSelector,thumbSize,avatarAncStyle,avatarImgStyle,isVideo){
	$(cssSelector).each(function(){
		var photoImageSrc = $(this).attr("src");
		var photoImageSrcNew = "";
		var anchorRef ="";
		if (null != photoImageSrc) {
			var slashpoint = photoImageSrc.lastIndexOf("/");
			var uspoint = photoImageSrc.lastIndexOf("_");
			var dotpoint = photoImageSrc.lastIndexOf(".");
			var srcLength = photoImageSrc.length;			
			var imgPath_1 = photoImageSrc.substring(0, slashpoint);
			var imgPath_2 = photoImageSrc.substring(slashpoint, uspoint);
			var imgPath_3 = photoImageSrc.substring(dotpoint, (srcLength));
			photoImageSrcNew = imgPath_1 + imgPath_2 + thumbSize + imgPath_3;
			$(this).parent().attr("style", avatarAncStyle);
			anchorRef = $(this).parent().attr("href");
			$(this).attr("style", avatarImgStyle);
			var avatarDivStyle = "background:transparent url(" + photoImageSrcNew + ") no-repeat 0px 0px;";
			$(this).attr("src", photoImageSrcNew);
			$(this).parent().parent().attr("style", avatarDivStyle);
			if(isVideo){
				$(this).parent().parent().append("<a class='preplayIcon' "+ "href = '" + anchorRef + "'></a>");
			}
			
			
		}
	});	
}

var photoFCCategories = new Array("category_47291", "category_47292","category_47400");
var videoFCCategories = new Array("category_47380", "category_47379");
var forumFCCategories = new Array("category_47376", "category_47378","category_47375");
var blogFCCategories = new Array("category_47294");
var fanclubNotifier=true;
/************** END MEDIA RESIZE CODE *******************/

$(document).ready(function(){
	
	
		
	
	var backtosite='<div class="backtosite"><a href="/" class="backtositelink">Backtosite</a></div>';
	$("#kidrockfoundation #nav_global ul li#nav_user").after(backtosite);
	$("#kidrockfoundation #nav_global ul li#nav_member").after(backtosite);
	
	
if(fanclubNotifier){
	
		$('.photo_thumbnail li.photo').each(function(){
				for (count = 0; count < photoFCCategories.length; count++) {
					$(".photo_thumbnail li." + photoFCCategories[count] + ".photo").addClass("fanClub");
				}
		});
		
		$('.discussion_listing li.topic').each(function(){
				for (count = 0; count < forumFCCategories.length; count++) {
					$(".discussion_listing li." + forumFCCategories[count] + ".topic").addClass("fanClub");
				}
		});
		
		$('.video_thumbnail li.video').each(function(){
				for (count = 0; count < videoFCCategories.length; count++) {
					$(".video_thumbnail li." + videoFCCategories[count] + ".video").addClass("fanClub");
				}
		});
		
		$('.blog_listing li.article').each(function(){
				for (count = 0; count < blogFCCategories.length; count++) {
					$(".blog_listing li." + blogFCCategories[count] + ".article").addClass("fanClub");
				}
		});		
	
	}
   
   $('#blog_listing-327529 .module .content .nav_meta a[href^=/news/new/]').parent("li").removeClass("more").addClass("newBlog");
   $('#blog_listing-294510 .module .content .nav_meta a[href^=/news/new/]').parent("li").removeClass("more").addClass("newBlog");
   $('#blog_entry-294508 .module .content .nav_meta a[href^=/news/new/]').parent("li").removeClass("more").addClass("newBlog");
  
   $('#edit_account #fbcLoginButton p').remove();
   $('#edit_account #facebookSettings .title').append('<p>Click on the Facebook Connect button to share your comments, photos, videos and discussion posts with your Facebook friends.</p>');
   
   $(".song_playlist li.audio" ).append('<div id="audiolist"/>');
   $("#login-294554 .module .body ul li.input.submit").append('<div id="lineseparator"/>');
  
   /*adding link to tour modules*/
    tdviewalllink = document.createElement('div');
		$(tdviewalllink).attr("class","tdviewall");
		$(tdviewalllink).append('<a class="viewall" href="/tour-dates/"></a>');
		$(".grid_5 .rss_in .head").append(tdviewalllink);

    /* Suppresses display of empty footers on IE */
    $('.module .foot:empty').addClass('empty');
	
	$('#list_album-383749.list_album .module .albums li .txt .author:empty').addClass('empty');
    
    $("html").addClass($.os.name);
    $("body").addClass($.browser.className);
    $("body").addClass($.browser.name);
	
	
	/*START - Truncating title in the discussions page*/
			$('.discussion_listing .topics li.topic .txt .title h4 a').each(function(){
				var trunc = $(this).html();
				trunc = trunc.trim();
				if (trunc.length > 30) {
					trunc = trunc.substring(0, 30);
					trunc += '<span>' + '...</span>';
					$(this).html(trunc);
				}	
			})		
	/*END - Truncating title in the discussions page*/
	
	
    
    
var myClass = $('body').attr("class");
var myid = $('body').attr("id");
    if ((myClass.indexOf("m32") != -1) || (myid == "group_detail_5536")){
		$("body").addClass("background2");
        $("html").removeClass("htmlBackground2");
        $("html").removeClass("htmlBackground1");
    }
    else {
		
        if (!$.cookie("background_option")) {
            $("body").addClass("background2");
            $("html").addClass("htmlBackground2");
            $.cookie("background_option", "1");
        }
        else 
            if ($.cookie("background_option") == "1") {
                $("body").addClass("background1");
                $("html").addClass("htmlBackground1");
                $.cookie("background_option", "2");
            }
            else 
                if ($.cookie("background_option") == "2") {
                    $("body").addClass("background2");
                    $("html").addClass("htmlBackground2");
                    $.cookie("background_option", "1");
                }
    }
    
    
    /* Community Landing - band member style - Start */
	
	/* Community Landing - band member style - Start */
	var profileImg = "<img src='http://static.global.ciscoeos.com/zipupload/37d/de4/1cd5a82f5420aaa7ecfb7cbada/images/bg_band_member.png'>";
	$("#member_listing-366839 .members li.member .avatar .img a").append(profileImg);
	$("#member_listing-366839 .members li.member .avatar .img a img").each(function(){  
		//$(this).attr("src") = "http://static.global.ciscoeos.com/zipupload/37d/de4/1cd5a82f5420aaa7ecfb7cbada/images/bg_band_member.png"
		var photoImageSrc=$(this).attr("src");
		photoImageSrc = "http://static.global.ciscoeos.com/zipupload/37d/de4/1cd5a82f5420aaa7ecfb7cbada/images/bg_band_member.png";		
		var photoImageSrcNew="";
		if(null!=photoImageSrc){
			var slashpoint=photoImageSrc.lastIndexOf("/");
			var uspoint=photoImageSrc.lastIndexOf("_");
			var dotpoint=photoImageSrc.lastIndexOf(".");
			var srcLength=photoImageSrc.length;
			var thumbSize="_member";
			var imgPath_1=photoImageSrc.substring(0,slashpoint);
			var imgPath_2=photoImageSrc.substring(slashpoint,uspoint);
			var imgPath_3=photoImageSrc.substring(dotpoint,(srcLength));
			photoImageSrcNew=imgPath_1+imgPath_2+thumbSize+imgPath_3;
			$(this).attr("src",photoImageSrcNew);
			$(this).attr("width","280");
			$(this).attr("height","280");
			var avatarAncStyle="display:block !important;width:280px !important;height: 280px !important;";
			var avatarImgStyle="display:block !important;width:281px !important;height: 280px !important;cursor:pointer !important;";
			$(this).parent().attr("style",avatarAncStyle);
			$(this).attr("style",avatarImgStyle);
			var avatarDivStyle="background:transparent url("+photoImageSrcNew+") no-repeat 0px 0px;width:280px;height:280px;";
			$(this).parent().parent().attr("style",avatarDivStyle);
			
	}
	
});
	modifyMediaSize("#photo_thumbnail-340501.photo_thumbnail .photos  li .img a img","_6","display:block !important;width:130px !important;height: 130px !important;","display:block !important;width:130px !important;height: 130px !important;cursor:pointer !important;",false);
	modifyMediaSize("#photo_thumbnail-3236817.photo_thumbnail .photos  li .img a img","_6","display:block !important;width:265px !important;height: 265px !important;","display:block !important;width:265px !important;height: 265px !important;cursor:pointer !important;",false);
	modifyMediaSize("#video_thumbnail-340502.video_thumbnail .videos li .img a img","_6","display:block !important;width:130px !important;height: 85px !important;margin-left:0px !important;","display:block !important;width:130px !important;height: 85px !important;cursor:pointer !important;",true);
	modifyMediaSize("#video_thumbnail-3236816.video_thumbnail .videos li .img a img","_6","display:block !important;width:265px !important;height: 180px !important;margin-left:0px !important;","display:block !important;width:265px !important;height: 180px !important;cursor:pointer !important;",true);
		
    /* Community Landing - band member style - End */
    
    
    
    /* START Add "Launch Player" links to footer nav of all audio playlist modules */
    var launchLink = $('<li class="launchPlayer"><a href="/music-player/" class="launchPlayerLink">Launch Player</a></li>');
    $(".song_playlist .module .content .nav_meta ul").prepend(launchLink);
    /* END Add "Launch Player" links to footer nav of all audio playlist modules */
    
    
    //inserts the merch module into left wrapper
    $('#html-2050857.html .module .content .body .description .chatContainer #leftWrap').append($('#html-327531.html .module .content .body .description #merchContainer'));
    
    /* add popup onClick handler for audio player links */
    $("a.launchPlayerLink").click(function(){
        window.open("/music-player/", "Window2", "width=368,height=270,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no");
        return false;
    });
    
    /* Make store top nav link open in a new window */
    $('.nav_main ul li.custom a[href*=amazon.com]').attr("rel", "external");
    
    /*START - Fix for truncating author name in the discussions page #698 */
    $('.discussion_listing .topics li .author a').each(function(){
		var discussionAuthorLen = 20;
        var trunc = (this).innerHTML;
        if (trunc.length > discussionAuthorLen) {
            trunc = trunc.substring(0, discussionAuthorLen);
            trunc += '<span>' + '...</span>';
            (this).innerHTML = trunc;
        }
    })
    /*END - Fix for truncating author name in the discussions page #698 */
    
    
    /* START: Community drop-down for top nav */
    //Define XHTML source for the community subnav inn the variable below	
	
	var videoNavCell = $(".nav_main ul li.nav-video");   //change this selector to target a diffent cell in the top nav
	videoNavCell.addClass('dropdown');
	videoNavCell.append(videoSubNav);

	var photoNavCell = $(".nav_main ul li.nav-photo");   //change this selector to target a diffent cell in the top nav
	photoNavCell.addClass('dropdown');
	photoNavCell.append(photoSubNav);
	
		 var charityNavCell = $(".nav_main ul li.nav-charity"); //change this selector to target a diffent cell in the top nav
    charityNavCell.addClass('dropdown');
    charityNavCell.append(charitySubNav);
    
    
	
    var communityNavCell = $(".nav_main ul li.nav-community_landing"); //change this selector to target a diffent cell in the top nav
    communityNavCell.addClass('dropdown');
    communityNavCell.append(communitySubNav);
    
     
    /* START: FC drop-down for top nav */
    //Define XHTML source for the FC subnav inn the variable below	
    var krcSubNavCell = $(".nav_main ul li.nav-fanclub"); //change this selector to target a diffent cell in the top nav
    krcSubNavCell.addClass('dropdown');
    krcSubNavCell.append(krcSubNav);
    
    
    
    /* END: Community drop-down for top nav */
	 /*Google search flyout */
	var searchDown = $(".googleSearch a.searchDown"); 
	searchDown.addClass('dropdown');
    searchDown.append(searchNav);
	
	$(".googleSearch .sitesearchNav").click(function(){
		
		$('#sitesearchDiv').css("display", "block");
	});
	
	$(".googleSearch .sitesearchNav").click(function(){
		
		$('#sitesearchDiv').css("display", "block");
		$('#cse').css("display", "none");
	});
	
	$(".googleSearch .membersNav").click(function(){
		$('#cse').css("display", "block");
		$('#sitesearchDiv').css("display", "none");
	});
    
    /* START: Custom drop-downs for top nav */
    var $customNavs = $('.nav_main ul li.nav-custom a');
    
    $customNavs.filter(function(){
        return (/^Music/i).test($(this).text())
    }).parent().addClass('nav-custom').addClass('nav-music');
    
    $customNavs.filter(function(){
        return (/^Store$/i).test($(this).text())
    }).parent().addClass('nav-custom').addClass('dropdown').addClass('nav-store').append(storeSubNav);
	
	$customNavs.filter(function(){
	  return (/^The KRC$/i).test($(this).text())
	}).parent().addClass('nav-custom').addClass('nav-fanclub');
 
    
    var musicNavCell = $(".nav_main ul li.nav-custom.nav-music"); //change this selector to target a diffent cell in the top nav
    musicNavCell.addClass('dropdown');
    musicNavCell.append(musicSubNav);
 
 	var storeInternational=$('.nav_main ul li.nav-store ul#storeSubNav li#internationalNav');
	storeInternational.addClass('dropdownStore');
	var storeCountry=$('.nav_main ul li.nav-store ul#storeSubNav li#internationalNav ul#country');
	storeCountry.addClass('flyoutStore');
    
    /* END: Custom drop-downs for top nav */
    
    $("body#bio #bioLinks").delegate("a", "click", function(){
        $($(this).attr("href")).scrollToViewPort();
        return false;
    })
    
    $("body#bio .bioBack").click(function(){
        $($(this).attr("href")).scrollToViewPort();
        return false;
    });
    
    /* ********** Home Page SS3 *********************** */
    
    /* Removing the upload from the top, and adding at the bottom; */
    var uploadDiv = $("#homepage_ss3 .nav_main ul li.upload");
    $("#homepage_ss3 .nav_main div > ul").append(uploadDiv);
    
    /* Carousel Button */
    /* algo 
     * Have an event handler for the click of the buttons.
     * Have global variables like currentActiveCaros
     *
     *
     */
    var carosActiveCurrent = 0;
    var carosTotal = $("#carosUnitWrapper .carosUnit").length;
    
    if (carosTotal > 1) {
        $("#rightCarosButton").addClass('active');
        $("#carosUnitWrapper .carosUnit:eq(" + carosActiveCurrent + ")").toggle(100);
    }
    
    $("#rightCarosButton").click(function(event){
        if (carosTotal - carosActiveCurrent != 1) {
            $("#carosUnitWrapper .carosUnit:eq(" + carosActiveCurrent + ")").toggle(100);
            carosActiveCurrent++;
            $("#carosUnitWrapper .carosUnit:eq(" + carosActiveCurrent + ")").toggle(100);
        }
        setCarosButtonsState();
        
    });
    $("#leftCarosButton").click(function(event){
        if (carosActiveCurrent > 0) {
            $("#carosUnitWrapper .carosUnit:eq(" + carosActiveCurrent + ")").toggle();
            carosActiveCurrent--;
            $("#carosUnitWrapper .carosUnit:eq(" + carosActiveCurrent + ")").toggle();
        }
        setCarosButtonsState();
    });
    function setCarosButtonsState(){
    
        if (carosActiveCurrent == carosTotal - 1) {
            $("#rightCarosButton").removeClass('active');
        }
        else {
            $("#rightCarosButton").addClass('active');
        }
        if (carosActiveCurrent == 0) {
            $("#leftCarosButton").removeClass('active');
        }
        else {
            $("#leftCarosButton").addClass('active');
        }
    };
    
    /* ********** Home Page SS3 ends *********************** */
    
    
    
    var storeNavCell = $(".nav_main ul li.nav-store");
    
    /*Hover event handler for all drop-downs in top nav */
    $(".dropdown").hover(function(){
        $(".flyoutMenu", this).show();
    }, function(){
        $(".flyoutMenu", this).hide();
    });
    
    $(".dropdownStore").hover(function(){
        $(".flyoutStore", this).show();
    }, function(){
        $(".flyoutStore", this).hide();
    });
    
    if (location.href.indexOf("/forums/") != -1) {
        communityNavCell.addClass("active");
        $("#discussionsNav").addClass("active");
    }
	
    if (location.href.indexOf("/ringtones/") != -1) {
        storeNavCell.addClass("active");
        $("#ringtonesNav").addClass("active");
    }
	
	  if (location.href.indexOf("/links/") != -1) {
        communityNavCell.addClass("active");
        $("#linksNav").addClass("active");
    }
	
	  if (location.href.indexOf("/bio/") != -1) {
        communityNavCell.addClass("active");
        $("#bioNav").addClass("active");
    }
	
    
    if (location.href.indexOf("/community_landing/") != -1) {
        communityNavCell.addClass("active");
        $("#communityNav").addClass("active");
    }
    
    if (location.href.indexOf("/extras/") != -1) {
        communityNavCell.addClass("active");
        $("#extrasNav").addClass("active");
    }  
	  
	if (location.href.indexOf("/group/kid-rock-congregation/") != -1) {
         $(".nav-fanclub").addClass("active");
    }

    
    var photoNavCell = $(".nav_main ul li.photo");
    if (location.href.indexOf("/cellstream/") != -1) {
        photoNavCell.addClass("active");
    }
    
    if (location.href.indexOf("/music/") != -1) {
        $("a[href^=/album/]").parent(".nav-custom").addClass("active");
        
    }
    
    if (location.href.indexOf("/album/") != -1) {
        $("a[href^=/album/]").parent(".nav-custom").addClass("active");
    }
    /* ********** Merch module code ********* */
    $('#merchContainer').parent(".description").parent(".body").siblings(".head").addClass("clearfix");
    $('#merchContainer').parent(".description").parent(".body").siblings(".head").children("h3").css({
        'border': 'none',
        'font-size': '25px'
    });
    $('#merchContainer').parent(".description").parent(".body").siblings(".head").css({
        'position': 'relative',
        'z-index': '100'
    });
    $('#merchContainer').parent(".description").parent(".body").siblings(".foot").css({
        'z-index': '98',
        'overflow': 'visible'
    });
    $('#merchContainer').parent(".description").parent(".body").css({
        'position': 'relative',
        'clear': 'both',
        'z-index': '99'
    });
    
    var visitStorehead = $('#merchContainer').parent(".description").parent(".body").siblings(".head");
    $('#merchContainer .merchHead').appendTo(visitStorehead);
    
    var visitStoreFoot = $('#merchContainer').parent(".description").parent(".body").siblings(".foot");
    $('#merchContainer .merchFoot').appendTo(visitStoreFoot);
    
    $('#merchContainer').parent(".description").parent(".body").siblings(".foot.empty").addClass("emptyfix");
    
    /* START: Merch module drop-downs */
    $(".merchHead .visitStore").hover(function(){
        $(".visitStoreFlyout", this).show();
    }, function(){
        $(".visitStoreFlyout", this).hide();
    });
    $(".merchFoot .visitStore").hover(function(){
        $(".visitStoreFlyout", this).show();
    }, function(){
        $(".visitStoreFlyout", this).hide();
    });
    $(".firstitem .merchBuy").hover(function(){
        $(".merchBuyFlyout", this).show();
    }, function(){
        $(".merchBuyFlyout", this).hide();
    });
    $(".seconditem .merchBuy").hover(function(){
        $(".merchBuyFlyout", this).show();
    }, function(){
        $(".merchBuyFlyout", this).hide();
    });
    $(".thirditem .merchBuy").hover(function(){
        $(".merchBuyFlyout", this).show();
    }, function(){
        $(".merchBuyFlyout", this).hide();
    });
    /* END: Merch module drop-downs */
    
    if ($("#sign_up-294578 li.input input").attr('class') == "focused") {
        $descriptionDisplay = $("#sign_up-294578 li.input input.focused").parent().contents().filter(".message").children();
        if ($descriptionDisplay.css("display") == "inline" || $descriptionDisplay.css("display") == "none") {
            $descriptionDisplay.css("display", "block");
        }
    }
    
    $("#sign_up-294578 li.input input").click(function(){
        // In this check for the corresponding description div. 		
        $descriptionDisplay = $(this).next().filter(".message").children();
        if ($descriptionDisplay.css("display") == "inline") {
            $descriptionDisplay.css("display", "block");
        }
    });
    
    $("#sign_up-294578 li.select input").click(function(){
        // In this check for the corresponding description div. 
        $descriptionDisplay = $(this).parent().contents().filter(".message").children();
        if ($descriptionDisplay.css("display") == "inline") {
            $descriptionDisplay.css("display", "block");
        }
    });
    
    /* Make rel="external" links open in a new window */
    $("a[rel=external]").attr("target", "_new");
    
    /* Fixing the target for the digg link */
    $(".shareweb .digg a").attr("target", "_new");
    
    /* Append labels to elements in discussion module */
    $(".topics li.list .category li:first-child").prepend("Category: ");
    $(".topics li.list .activity").prepend("Replies: ");
    $(".topics li.list .date").prepend("Last Reply: ");
    
    /* Add "Close" text to close link in social media sharebox on photo and video detail pages */
    $(".sharebox .sb_head .sb_title a.shareclose").prepend("Close");
    
    var noOfImageDscDtl = $("#discussion_entry-294529 .topic .description img").length;
    for (i = 0; i < noOfImageDscDtl; i++) {
        var discussionImageElement = $("#discussion_entry-294529 .topic .description img:eq(" + i + ")");
        var imgHeight = discussionImageElement.height();
        var imgWidth = discussionImageElement.width();
        if (imgHeight > 200 && imgWidth > 200) {
            var calcheight = (imgHeight / imgWidth) * 200;
            discussionImageElement.css("height", calcheight);
            discussionImageElement.css("width", 200);
        }
    }
    
    var noOfImageDscDtl = $("#discussion_listing-340654  .topic .description img").length;
    for (i = 0; i < noOfImageDscDtl; i++) {
        var discussionImageElement = $("#discussion_listing-340654 .topic .description img:eq(" + i + ")");
        var imgHeight = discussionImageElement.height();
        var imgWidth = discussionImageElement.width();
        if (imgHeight > 200 && imgWidth > 200) {
            var calcheight = (imgHeight / imgWidth) * 200;
            discussionImageElement.css("height", calcheight);
            discussionImageElement.css("width", 200);
        }
        
    }
    
    // Functionality for add new blogs.
    $(".blog_listing .nav_meta .more a").bind("click", function(e){
    
        $.cookie("blog_body", blogTwitterBlurbText, {
            path: "/"
        });
    });
    if ($("body").attr("id") == "add_new_blog") {
        $.cookie("blog_body", blogTwitterBlurbText, {
            path: "/"
        });
    }
    
    
    //Album detail stuff 
    $buylinks = $('#album_info-383751 .foot .nav_meta ul');
    $buylinks.insertBefore('#album_info-383751 .album .txt div.description');
    $('#album_info-383751.album_info .module .content .foot .nav_meta ul').css("display", "block");
    
   /* $("#video_thumbnail-3585500.video_thumbnail .videos li .img a img").each(function(){
        var photoImageSrc = $(this).attr("src");
        var photoImageSrcNew = "";
        if (null != photoImageSrc) {
            var slashpoint = photoImageSrc.lastIndexOf("/");
            var uspoint = photoImageSrc.lastIndexOf("_");
            var dotpoint = photoImageSrc.lastIndexOf(".");
            var srcLength = photoImageSrc.length;
            var thumbSize = "_6";
            var imgPath_1 = photoImageSrc.substring(0, slashpoint);
            var imgPath_2 = photoImageSrc.substring(slashpoint, uspoint);
            var imgPath_3 = photoImageSrc.substring(dotpoint, (srcLength));
            photoImageSrcNew = imgPath_1 + imgPath_2 + thumbSize + imgPath_3;
            $(this).attr("src", photoImageSrcNew);
            $(this).attr("width", "170");
            $(this).attr("height", "116");
            $(this).attr("height", "116");
            var avatarAncStyle = "display:block !important;width:170px !important;height: 116px !important;";
            var avatarImgStyle = "display:block !important;width:170px !important;height: 116px !important;cursor:pointer !important;";
            $(this).children("a").attr("style", avatarAncStyle);
            $(this).attr("style", avatarImgStyle);
        }
    }); */

    
	
	
	
	//Modifying the legal text in the log in and sign up pages.
    $("body#sign_up #cmsgData\\[agreeToTerms\\]").next().html(privacyPolicyText + "").show();
    $("body#join #cmsgData\\[agreeToTerms\\]").next().html(privacyPolicyText + "").show();
    
    /*START- code which obfuscates email addresses #2420*/
    var m_ = "mailto:";
    var a_ = "@";
    var d_ = ".";
    var i = 0;
    var j = 0;
    var q_ = "?";
    var e_ = "=";
    
    $('span.ciReplace').each(function(){
        if (cId[i].format == "") {
            $(this).html('<a href="' + m_ + cId[i].name + a_ + cId[i].domain + d_ + cId[i].tld + '">' + cId[i].name + a_ + cId[i].domain + d_ + cId[i].tld + '</a>');
        }
        else {
            if (cId[i].param == "") {
                $(this).html('<a href="' + m_ + cId[i].name + a_ + cId[i].domain + d_ + cId[i].tld + '">' + cId[i].format + '</a>');
            }
            else {
                $(this).html('<a href="' + m_ + cId[i].name + a_ + cId[i].domain + d_ + cId[i].tld + q_ + 'subject' + e_ + cId[i].param + '">' + cId[i].format + '</a>');
            }
        }
        i++;
    });
    
    
    $('span.footReplace').each(function(){
        if (fId[j].format == "") {
            $(this).html('<a href="' + m_ + fId[j].name + a_ + fId[j].domain + d_ + fId[j].tld + '">' + fId[j].name + a_ + fId[j].domain + d_ + fId[j].tld + '</a>');
        }
        else {
            if (fId[j].param == "") {
                $(this).html('<a href="' + m_ + fId[j].name + a_ + fId[j].domain + d_ + fId[j].tld + '">' + fId[j].format + '</a>');
            }
            else {
                $(this).html('<a href="' + m_ + fId[j].name + a_ + fId[j].domain + d_ + fId[j].tld + q_ + 'subject' + e_ + fId[j].param + '">' + fId[j].format + '</a>');
            }
        }
    });
    
    /*End - code which obfuscates email addresses #2420*/
    
    var prvteCont = "<i class='prText'>&nbsp;&nbsp;</i>";
    
    $('#join-294550.join .annotation span.private').each(function(){
        var cont = (this).innerHTML;
        (this).innerHTML = prvteCont + cont;
    })
    
    $('li.input.private').each(function(){
        var liCont = (this).innerHTML;
        (this).innerHTML = liCont + prvteCont;
    });
	/* Changing the Venue to Hyperlinks End */

	$('<div class="blogkidrocklogo" />').insertBefore("#blog .blog_listing li.article.category_47294 .img");
	$('<div class="blogkidrocklogo" />').insertBefore("#home .blog_listing li.article.category_47294 .title");
	$("#group_detail_5536 .blog_listing li").removeClass('blogkidrocklogo');
	
	
	//Badges implementation
	$(".badges ul").each(function(){	
		if ($(this).find("li").length > 0) {	
			$(this).html('<li class="badge"><a class="badgeImageReplace" href="/group/kid-rock-congregation/"></a></li>');
		}
	});
$('#search_landing #searchWrapper #searchModule #searchContent .head').append('<div class=title><h3>Search Results</h3></div>');

    
});



$.urlParam = function(name){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (results == null) {
        return 0;
    }
    else {
        return results[1];
    }
}


/* Functions for New Merch.*/

/*
 * This function is used to tag store links with different omniture tags,
 * to track them. This will enable us to track which links the user clicked.
 *
 * */
function getMerchOmnitureArray(omnitureString){
    var omnitureArrayLinks = new Array();
    var omnitureStrRegex = /intcmp=(.*)(&.*|\/)$/;
	
    omnitureString = $.trim(omnitureString);
	writeToConsole(omnitureString+"omnitureString");
    if (omnitureString.charAt(omnitureString.length - 1) != "/") {
        omnitureString += "/";
    }
    writeToConsole("This is the omnitureString " + omnitureString);
    regExCapture = omnitureString.match(omnitureStrRegex);
	writeToConsole(regExCapture+"regExCapture");
    //A JSON object could be used and a fuction to populate that could be used. 
    if (regExCapture != null && regExCapture != "") {
        var regularExpCapture = regExCapture[1];
        omnitureString = omnitureString.replace(/\/$/, '');
		
        omnitureArrayLinks["page-title"] = omnitureString.replace(regularExpCapture, regularExpCapture + '-page-title');
        omnitureArrayLinks["page-button"] = omnitureString.replace(regularExpCapture, regularExpCapture + '-page-button');
        omnitureArrayLinks["page-thumb"] = omnitureString.replace(regularExpCapture, regularExpCapture + '-page-thumb');
        omnitureArrayLinks["hovercard-title"] = omnitureString.replace(regularExpCapture, regularExpCapture + '-hovercard-title');
        omnitureArrayLinks["hovercard-thumb"] = omnitureString.replace(regularExpCapture, regularExpCapture + '-hovercard-thumb');
        omnitureArrayLinks["hovercard-button"] = omnitureString.replace(regularExpCapture, regularExpCapture + '-hovercard-button');
    }
    else {
		var hcomnstr="?intcmp";
		writeToConsole("asdfasfd"+omnitureArrayLinks["page-title"]);
		if(omnitureString.indexOf("?")>0){
			hcomnstr="&intcmp";
		}
        omnitureArrayLinks["page-title"] = omnitureString.replace(/\/$/, hcomnstr+'=page-title');
        omnitureArrayLinks["page-button"] = omnitureString.replace(/\/$/, hcomnstr+'=page-button');
        omnitureArrayLinks["page-thumb"] = omnitureString.replace(/\/$/, hcomnstr+'=page-thumb');
        omnitureArrayLinks["hovercard-title"] = omnitureString.replace(/\/$/, hcomnstr+'=hovercard-title');
        omnitureArrayLinks["hovercard-thumb"] = omnitureString.replace(/\/$/, hcomnstr+'=hovercard-thumb');
        omnitureArrayLinks["hovercard-button"] = omnitureString.replace(/\/$/, hcomnstr+'=hovercard-button');
    }
    return omnitureArrayLinks;
}

/*
 * Function to add the hovercard to the template,
 * if set in the config xml.
 *
 * */
function prepareMerchTemplate(merchHoverCardPresent){
    if (merchHoverCardPresent) {
        merchModuleTemplate = merchModuleTemplate.replace("<!-- HOVERCARD -->", merchHCTemplate);
    }
    else {
        merchModuleTemplate = merchModuleTemplate.replace("<!-- HOVERCARD -->", "");
    }
    
}

function getMerchHeader($merchCountries, merchViewAllLink, positionClass){
    var merchHeaderString = "";
    var merchCountryString = "";
    var countryParams;
    var merchParams = {
        merchViewAllLink: merchViewAllLink,
        positionClass: positionClass
    };
    $merchCountries.each(function(){
    
        countryParams = {
            countryName: $(this).children(".countryName").html(),
            countryLink: $(this).children(".countryLink").html(),
            countryText: $(this).children(".countryText").html()
        };
        merchCountryString += merchCountryTemplate.supplant(countryParams);
        
    })
    
    merchViewAllLink = "javscript:void(0)";
    
    merchHeaderString = merchHeaderTemplate.supplant(merchParams);
    merchHeaderString = merchHeaderString.replace("<!-- MERCH COUNTRIES -->", merchCountryString);
    return merchHeaderString;
}

/*
 * This function generates the structure of the merch module.
 * The structure is created using templates defined earlier in the page.
 */
function generateMerchStructure(){
    var $merchData = $("#merchData");
    var $merchItem = $merchData.children(".merchItems")
    var merchViewAllLink = $merchData.children(".merchViewAll").html();
    $(".grid_3 .merchHoverCardPresent").html("true");
    var merchHoverCardPresent = $merchData.children(".merchHoverCardPresent").html().trim();
    merchHoverCardPresent = !!merchHoverCardPresent;
    prepareMerchTemplate(merchHoverCardPresent);
    
    /* Code for the Merch Head */
    var merchHead = '<div class="merchHead"><div class="visitStore"><a href="' + merchViewAllLink + '" class="visitStoreLink"  >ALL</a></div></div>'
    merchHead = getMerchHeader($("#merchInternational .country"), merchViewAllLink, "merchHead");
    var visitStorehead = $('#merchContainer').parent(".description").parent(".body").siblings(".head");
    $(merchHead).appendTo(visitStorehead);
    $(visitStorehead).find("a").makeLinksExternal();
    
    
    /* End of Code for Merch Module */
    
    var merchBody = '<ul class="merchItems">';
    $.each($merchItem.children(".merchItem"), function(i){
        var merchBuyNow = $(this).children(".merchBuyNow").html();
		
        var omnitureLinks = getMerchOmnitureArray(merchBuyNow);
		
        var merchSizes = $(this).children(".merchSizes").html();
        if (merchSizes != "" && merchSizes != null) {
            merchSizes = '<h3>Sizes</h3><div>' + merchSizes + '</div>';
        }
        var merchDesc = $(this).children(".merchDesc").html();
        if (merchDesc != "" && merchDesc != null) {
            merchDesc = '<h3>Description</h3><div>' + merchDesc + '</div>';
        }
        var merchParsedData = {
            index: (i + 1),
            merchImage: $(this).children(".merchImage").html(),
            merchTitle: $(this).children(".merchTitle").html(),
            merchDesc: merchDesc,
            merchSizes: merchSizes,
            merchPrice: $(this).children(".merchPrice").html(),
            omnitureLinksPTitle: omnitureLinks["page-title"],
            omnitureLinksPThumb: omnitureLinks["page-thumb"],
            omnitureLinksPButton: omnitureLinks["page-button"],
            omnitureLinksHTitle: omnitureLinks["hovercard-title"],
            omnitureLinksHThumb: omnitureLinks["hovercard-thumb"],
            omnitureLinksHButton: omnitureLinks["hovercard-button"]
        }
        merchBody = merchBody + merchModuleTemplate.supplant(merchParsedData);
    });
    merchBody += '</ul><div class="clear"></div>';
    
    var merchFoot = '<div class="clear"></div><div class="merchFoot"><div class="visitStore"><a href="' + merchViewAllLink + '" class="visitStoreLink" >View ALL</a></div></div>';
    merchFoot = '<div class="clear"></div>';
    merchFoot += getMerchHeader($("#merchInternational .country"), merchViewAllLink, "merchFoot");
    var visitStoreFoot = $('#merchContainer').parent(".description").parent(".body").siblings(".foot");
    $(merchFoot).appendTo(visitStoreFoot);
    $(visitStoreFoot).find("a").makeLinksExternal();
    
    return merchBody;
}



/*These functions are used by the merch HC so that casual hovers less than 300 seconds
 * are omitted.
 */
function bringMerchHCOn(merchImg){
    merchImg.showTimer = window.setTimeout(function(){
        $(merchImg).siblings(".merchHC").fadeIn(300);
    }, 300);
}

function killMerchHC(merchImg){
    if (merchImg.showTimer) {
        window.clearTimeout(merchImg.showTimer);
    }
}




/* Registereing the hover events */
function registerMerchHoverEvents(){
    $(".merchImg").hover(function(){
        bringMerchHCOn(this);
    }, function(){
        killMerchHC(this);
    });
    $(".merchHC").hover(function(){
    }, function(){
        $(this).fadeOut(300);
    });
    
    $(".visitStore").hover(function(){
        $(".visitStoreFlyout", this).show();
    }, function(){
        $(".visitStoreFlyout", this).hide();
    });
}

/* The piece of code which generates the merch, adds the dom and registers the events. */

$(document).ready(function(){
    if ($("#merchContainer").length > 0) {
        $("#merchContainer").html(generateMerchStructure());
        $("#merchData").empty();
        $("#merchContainer a").makeLinksExternal();
        registerMerchHoverEvents();
    }    
    
    /* SP to Eos Use Plugin Configuration set the parametres as per the modulecontainer */
    $.wmgfeature.spFeatureJoin("#join .input .button.submit input", "join-294550", false, arrElementIDs, "http://www.kidrock.com/", "2863211");
    $.wmgfeature.spFeatureEditProfile(".edit_profile .input .button.submit input", "edit_profile-294536", true, arrElementIDs, "http://www.kidrock.com/", "2863211");
    /* End SP Migration Changes */


});
/* End of Functions for New Merch */






