/* 
 * 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}" title="{merchTitle}"><img src="{merchImage}" alt="{merchTitle}"/></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}"  title="{merchTitle}"><img src="{merchImage}" alt="{merchTitle}" width="230px"/></a></div>\
										<div class="merchHCRightCon">\
										     <div class="merchEnclose">\
											<h3 class="merchHCPrice">{merchPrice}</h3>\
											{merchDesc}\
											{merchSizes}\
											</div>\
											<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>';

$(document).ready(function(){
	
	
		
	
	
	var categoryLen = 18;
	var LenForty = 40;
	
	/*START - Fixes for truncating */
			$('#blog_listing-294512.blog_listing .module .content .articles li .title h4 a').each(function(){
				var trunc = (this).innerHTML;
				if (trunc.length > categoryLen) {
					trunc = trunc.substring(0, categoryLen);
					trunc += '<span>' + '...</span>';
					(this).innerHTML = trunc;
				}	
			})	
			
			$('.grid_5 .topics li.topic .title h4 a').each(function(){
				var trunc = (this).innerHTML;
				if (trunc.length > categoryLen) {
					trunc = trunc.substring(0, categoryLen);
					trunc += '<span>' + '...</span>';
					(this).innerHTML = trunc;
				}	
			})
			
			$('.grid_6 .topics li.topic .title h4 a').each(function(){
				var trunc = (this).innerHTML;
				if (trunc.length > LenForty) {
					trunc = trunc.substring(0, LenForty);
					trunc += '<span>' + '...</span>';
					(this).innerHTML = trunc;
				}	
			})			
	/*END - Fixes for truncating */
	
	
    /* Suppresses display of empty footers on IE */
    /*$('.module .foot:empty').addClass('empty');*/
	
	$("html").addClass($.os.name);
	$("body").addClass($.browser.className);
    $("body").addClass($.browser.name);
	
	

	
    /* 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 */
    
	
		
    /* 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 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 */
	
		
    $("a[href^=http://starterfanclub1.wmg.ciscoeos.com]").parent(".custom").addClass("Fanclub");
	
	/* START: Community drop-down for top nav */
    //Define XHTML source for the community subnav inn the variable below	
  	  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);
    /* END: Community drop-down for top nav */
    
    /* 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 (/^Fan Club$/i).test($(this).text())
	}).parent()
	  .addClass('nav-custom')
	  .addClass('dropdown')
	  .removeClass('nav-home')
	  .append(FCSubNav);
	  
	 $customNavs.filter(function(){
		  return (/^Store$/i).test($(this).text())
		}).parent()
    	  .addClass('nav-custom')
		  .addClass('dropdown')
		  .addClass('nav-store');
		  
	$customNavs.filter(function(){
		  return (/^Demo tapes/i).test($(this).text())
		}).parent()
    	  .addClass('nav-custom')
		  .addClass('nav-demotapes');

	$customNavs.filter(function(){
		  return (/^Artists/i).test($(this).text())
		}).parent()
    	  .addClass('nav-custom')
		  .addClass('nav-artists');
	  
	 $customNavs.filter(function(){
		  return (/^Global$/i).test($(this).text())
		 }).parent()
 		  .addClass('nav-custom')
		  .addClass('dropdown')
		  .addClass('nav-global_int')
		  .append(globalSubNav);
		  
	/* START: Bio drop-down for top nav */

 	var bioNavCell = $(".nav_main ul li.nav-bio"); //change this selector to target a diffent cell in the top nav
 	bioNavCell.addClass('dropdown');
 	bioNavCell.append(bioSubNav);
	/* END: Bio drop-down for top nav */
	
	/* 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();}
	);

	
    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("/community_landing/") != -1) {
        communityNavCell.addClass("active");
        $("#communityNav").addClass("active");
    }
	
	 if (location.href.indexOf("/extras/") != -1) {
        communityNavCell.addClass("active");
        $("#extrasNav").addClass("active");
    }
	/*For international pages*/
	var globalNavCell=$(".nav_main ul li.nav-global");
	
	 if (location.href.indexOf("/es/") != -1) {
		globalNavCell.addClass("active");
		$("#esNav").addClass("active");
		}
		if (location.href.indexOf("/jp/") != -1) {
		globalNavCell.addClass("active");
		$("#jpNav").addClass("active");
		} 
		
		if (location.href.indexOf("/gb/") != -1) {
		globalNavCell.addClass("active");
		$("#gbNav").addClass("active");
		} 
		 if (location.href.indexOf("/de/") != -1) {
		globalNavCell.addClass("active");
		$("#deNav").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 */	
	

	$(".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 */	
	
	
	$("#regFooterLeft").append("<div id='regJoinFooter'></div>");	
	$("#regJoinFooter").append($("#regFooterSign"));
	$("#regFooterSign").append(("join photofinishrecords.com"));
	
	
	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");
	
	
    
    //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;
	});
	
	/*post a new blog fic replacing more with new */
		var $blogFootFix = $('.blog_listing .nav_meta .more a');
 $blogFootFix.filter(function(){
 return (/^Post/i).test($(this).text())
 }).parent()
 .removeClass('more')
 .addClass('new'); 
 /*end of post new blog fix*/

/*post a new blog fic replacing more with new */
		var $blogReadMoreFix = $('#blog_listing-327529.blog_listing .articles li .description a');
 $blogReadMoreFix.filter(function(){
 return (/^...Read/i).test($(this).text())
 }).addClass('readmore'); 
 /*end of post new blog fix*/

      /* Start comments and filed under change */
var blogDate;       
var blogCategory;
var blogAuthor;
var blogComment;

       $(".grid_9 ul.articles li.article").each(function(){
           
		 blogDate = $(this).find(".date");
           blogAuthor = $(this).find(".author");
		blogCategory = $(this).find(".category");
		blogComment = $(this).find(".activity .comment").html().replace("Comments", "").replace("Comment", "").replace(")", "").replace("(", "");;
           $(this).find(".title").append(blogAuthor);
           $(this).find(".title").append(blogDate);
		$(this).find(".title").append(blogCategory);
		$(this).find(".activity .comment").html(blogComment);
		
       });
	   
	   $(".grid_9 .content div.article").each(function(){
           
		 blogDate = $(this).find(".date");
           blogAuthor = $(this).find(".author");
		blogCategory = $(this).find(".category");
		blogComment = $(this).find(".activity .comment").html().replace("Comments", "").replace("Comment", "").replace(")", "").replace("(", "");;
           $(this).find(".title").append(blogAuthor);
           $(this).find(".title").append(blogDate);
		$(this).find(".title").append(blogCategory);
		$(this).find(".activity .comment").html(blogComment);
		
       });
	   
	   /* End comments and filed under change */
	  
	  /* Start - for Become a fan shift */
	 
	 var becomeFan = $('.grid_6 #member_listing-340499.member_listing .module .content .foot .nav_meta ul li.register');
	 var moreFan = $('.grid_6 #member_listing-340499.member_listing .module .content .foot .nav_meta ul li.more');
	 var memberUl = $('.grid_6 #member_listing-340499.member_listing .module .content .body ul.members');	
		memberUl.append("<div class='addedlinks'></div>");
		memberUl.find(".addedlinks").append(becomeFan,moreFan);
		
		
		
	 
	 var morePhotoWrap = $('.grid_6 #photo_thumbnail-340501.photo_thumbnail .module .content .foot .nav_meta ul li.more');
	 var photoUl = $('.grid_6 #photo_thumbnail-340501.photo_thumbnail .module .content .body ul.photos');	
		photoUl.append("<div class='addedlinks'></div>");
		photoUl.find(".addedlinks").append(morePhotoWrap);
		
		
		var moreVideoWrap = $('.grid_6 #video_thumbnail-340502.video_thumbnail .module .content .foot .nav_meta ul li.more');
	 var videoUl = $('.grid_6 #video_thumbnail-340502.video_thumbnail .module .content .body ul.videos');	
		videoUl.append("<div class='addedlinks'></div>");
		videoUl.find(".addedlinks").append(moreVideoWrap);
		
		var becomeFanLand = $('.grid_9 #member_listing-666354.member_listing .module .content .foot .nav_meta ul li.register');
	 var memberUlLand = $('.grid_9 #member_listing-666354.member_listing .module .content .body ul.members');	
		memberUlLand.append("<div class='addedlinks'></div>");
		memberUlLand.find(".addedlinks").append(becomeFanLand);


 /* End - for Become a fan shift */

/* Start adding footer div */
$('#about_me-294479.about_me .module .content').append("<div class='foot'></div>");
/* End adding footer div */


/* Start - Post buttons to the header */

var postPhotoLand = $('#categories-294516 .foot .nav_meta');
$('#categories-294516 .module .content .head').append(postPhotoLand);

var postPhotoDet = $('#categories-294520 .foot .nav_meta');
$('#categories-294520 .module .content .head').append(postPhotoDet);

var postVideoLand = $('#categories-294517 .foot .nav_meta');
$('#categories-294517 .module .content .head').append(postVideoLand);

var postVideoDet = $('#categories-294521 .foot .nav_meta');
$('#categories-294521 .module .content .head').append(postVideoDet);

/* End - Post buttons to the header */

/* Start - Adjusting height for fans landing footer */	

if($('#member .grid_9.omega .nav_page ul').length >= 1)
{
$('#member .grid_9.omega .foot').addClass('paginate');
}

if($('#photo_detail .grid_9.omega .nav_page ul').length >= 1)
{
$('#photo_detail .grid_9.omega .foot').css('height','auto');
}

if($('#video_detail .grid_9.omega .nav_page ul').length >= 1)
{
$('#video_detail .grid_9.omega .foot').css('height','auto');
}

if($('#photo .grid_6 .nav_page ul').length >= 1)
{
$('#photo .grid_6 .foot').addClass('paginate');
}

if($('#video .grid_6 .nav_page ul').length >= 1)
{
$('#video .grid_6 .foot').addClass('paginate');
}

if($('#video .grid_6 .nav_page ul').length >= 1)
{
$('#video .grid_6 .foot').addClass('paginate');
}

if($('#discussion .grid_6 .nav_page ul').length >= 1)
{
$('#discussion .grid_6 .foot').addClass('paginate');
}

$('#tour_dates .grid_9.omega .nav_page').each(function(){
	if($(this).children('ul').length >= 1){
		$(this).parents('.foot').addClass('paginate');
	}
});

/* End - Adjusting height for fans landing footer */
	
});

function eoscInit(){
	
	/* Start - for Become a fan shift */
	
	var becomeFanLand = $('.grid_9 #member_listing-666354.member_listing .module .content .foot .nav_meta ul li.register');
	 var memberUlLand = $('.grid_9 #member_listing-666354.member_listing .module .content .body ul.members');	
		memberUlLand.append("<div class='addedlinks'></div>");
		memberUlLand.find(".addedlinks").append(becomeFanLand);
		
	/* End - for Become a fan shift */
	
/* Start - Adjusting height for fans landing footer */	

if($('#member .grid_9.omega .nav_page ul').length >= 1)
{
$('#member .grid_9.omega .foot').addClass('paginate');
}

if($('#photo_detail .grid_9.omega .nav_page ul').length >= 1)
{
$('#photo_detail .grid_9.omega .foot').css('height','auto');
}

if($('#video_detail .grid_9.omega .nav_page ul').length >= 1)
{
$('#video_detail .grid_9.omega .foot').css('height','auto');
}

if($('#photo .grid_6 .nav_page ul').length >= 1)
{
$('#photo .grid_6 .foot').addClass('paginate');
}

if($('#video .grid_6 .nav_page ul').length >= 1)
{
$('#video .grid_6 .foot').addClass('paginate');
}

if($('#discussion .grid_6 .nav_page ul').length >= 1)
{
$('#discussion .grid_6 .foot').addClass('paginate');
}

$('#tour_dates .grid_9.omega .nav_page').each(function(){
	if($(this).children('ul').length >= 1){
		$('#tour-dates .grid_9.omega .foot').addClass('paginate');
	}
});



/* End - Adjusting height for fans landing footer */	
	
	/* Start comments and filed under change */
var blogDate;
       var blogAuthor;
	var blogCategory;
	var blogComment;
       $(".grid_9 ul.articles li.article").each(function(){
           blogDate = $(this).find(".date");
           blogAuthor = $(this).find(".author");
		blogCategory = $(this).find(".category");
		blogComment = $(this).find(".activity .comment").html().replace("Comments", "").replace("Comment", "").replace(")", "").replace("(", "");;
           $(this).find(".title").append(blogAuthor);
           $(this).find(".title").append(blogDate);
		$(this).find(".title").append(blogCategory);
		$(this).find(".activity .comment").html(blogComment);
		
       });
	   
	   $(".grid_9 .content div.article").each(function(){
           
		 blogDate = $(this).find(".date");
           blogAuthor = $(this).find(".author");
		blogCategory = $(this).find(".category");
		blogComment = $(this).find(".activity .comment").html().replace("Comments", "").replace("Comment", "").replace(")", "").replace("(", "");;
           $(this).find(".title").append(blogAuthor);
           $(this).find(".title").append(blogDate);
		$(this).find(".title").append(blogCategory);
		$(this).find(".activity .comment").html(blogComment);
		
       });
	   
	   /* End comments and filed under change */
	
	
	/*post a new blog fic replacing more with new */
		var $blogFootFix = $('.blog_listing .nav_meta .more a');
 $blogFootFix.filter(function(){
 return (/^Post/i).test($(this).text())
 }).parent()
 .removeClass('more')
 .addClass('new'); 
 /*end of post new blog fix*/

/*start blog entries 'Read more' fix */
		var $blogReadMoreFix = $('#blog_listing-327529.blog_listing .articles li .description a');
 $blogReadMoreFix.filter(function(){
 return (/^...Read/i).test($(this).text())
 }).addClass('readmore'); 
 /* End blog entries 'Read more' fix */

	
	//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(); 		
	
	
	
	
	/* SP Start */
	$(".edit_account #accountData .buttons.input .button.submit input.submit").removeAttr("onclick");
	$(".edit_account #accountQuestoins .buttons.input .button.submit input.submit").removeAttr("onclick");
	
	$('.edit_account #accountData .buttons.input .button.submit input.submit').die();
	$('.edit_account #accountQuestoins .buttons.input .button.submit input.submit').die();
	
	$.wmgfeature.spFeatureEditAccountAccData(".edit_account #accountData .buttons.input .button.submit input.submit", "edit_account-294534", true, arrElementIDs, "http://photofinishrecords.wmg.ciscoeos.com", "3176644");
	$.wmgfeature.spFeatureEditAccountAccQuestions(".edit_account #accountQuestoins .buttons.input .button.submit input.submit", "edit_account-294534", true, arrElementIDs, "http://photofinishrecords.wmg.ciscoeos.com", "3176644");
	/* SP End */
	
}

   $.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);
		if (omnitureString.charAt(omnitureString.length-1) != "/" ){omnitureString += "/";}
		regExCapture = omnitureString.match(omnitureStrRegex);
		//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{
			if (omnitureString.indexOf('?') != -1){
				var intCmpString = '&intcmp';
			}else {
				var intCmpString = '?intcmp';
			}
			omnitureArrayLinks["page-title"] = omnitureString.replace(/\/$/,intCmpString + '=page-title');
			omnitureArrayLinks["page-button"] = omnitureString.replace(/\/$/,intCmpString + '=page-button');
			omnitureArrayLinks["page-thumb"] = omnitureString.replace(/\/$/,intCmpString + '=page-thumb');
			omnitureArrayLinks["hovercard-title"] = omnitureString.replace(/\/$/,intCmpString + '=hovercard-title');
			omnitureArrayLinks["hovercard-thumb"] = omnitureString.replace(/\/$/,intCmpString + '=hovercard-thumb');
			omnitureArrayLinks["hovercard-button"] = omnitureString.replace(/\/$/,intCmpString + '=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();
		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();
		}
	
		$("li.merch .merchName a").each(function(){
			var merchText = $(this).text().trim();
			if(merchText.length > 48){
				var newMerchText = merchText.substring(0,48);
				merchText = newMerchText + "...";
				$(this).text(merchText);
			}
		});
	
	});
    /* End of Functions for New Merch */
			

	



