Event.observe(window, 'load', function() {
	lastaction = '';	
	// package slideshow JS
	if ($$(".package").length != 0) {
		if ((typeof(currentSlideNumber) == "undefined") || (currentSlideNumber == "undefined")) currentSlideNumber = 1;
	}
	
	var defaultSlide = "display_slide_"+currentSlideNumber;

	if (window.location.href.indexOf('backtourl') == -1) {
	//	console.log('changing default');
		requestedSlide = (window.location.hash != "") ? "display_"+window.location.hash.substr(1) : defaultSlide;
	}
	else {
	//	console.log('usign'+defaultSlide);
		requestedSlide = defaultSlide;
	}
	
	
	
	if (typeof(contentID) == "undefined") var contentID = "";
	if (typeof(contentTitle) == "undefined") var contentTitle = "";
	
	cookieset = GetCookie(contentID);
	
	if ($$('.package').length > 0) {
		if (window.location.hash != '' || cookieset == 'true') {
			if (typeof(showslides) == 'function') {
				showslides();
			}
		}
		else {
			if ($$('.welcomelogo_ad_container').length > 0) {
				$$('.package_loader')[0].style.display = 'none';
				$$('.welcomelogo_ad_container')[0].style.display = 'block';
				PackagesetCookie(contentID, 'true');
			}
		}
	}
	
	
	
	if (requestedSlide.indexOf('&rsc')) {
		requestedSlide = requestedSlide.split('&')[0];
	
	}
	
	var totalSlides; 
	
	if ($$('body.howto').length > 0) {
		showcar = requestedSlide.split('_')[2];
		set_active_howto_car(showcar);
	}

	
	if (document.getElementById("package_slideshow")) {

		totalSlides = document.getElementById("package_slideshow").getElementsByTagName("li").length;

		displayActiveSlide(requestedSlide, false);
		
		var backButtons = $("package_slideshow").getElementsByClassName("slide_back");
		var nextButtons = $("package_slideshow").getElementsByClassName("slide_forward");
		var nextSlideLinks = $("package_slideshow").getElementsByClassName("next_slide");


		for (var i = 0; i < backButtons.length; i++) {
			var el = backButtons[i];
			el.onclick = function() {
				var current = $(this).up('li').id;
				if (changeSlide(current, 'back')) {
					return false;
				} else {
					return true;
				}
			}
		}

		for (var i = 0; i < nextSlideLinks.length; i++) {
			var el = nextSlideLinks[i].getElementsByTagName("a")[0];
			if(document.body.className.indexOf('howto') == '-1') {
				if (typeof(el) != 'undefined') {
					el.onclick = function() {
						var current = $(this).up('li').id;
						if (changeSlide(current, 'next')) {
							return false;
						} else {
							return true;
						}
					}
				}
			
				var el = nextSlideLinks[i].getElementsByTagName("span")[0];
				if (typeof(el) != 'undefined') {
					el.onclick = function() {
						var current = $(this).up('li').id;
						if (changeSlide(current, 'next')) {
							return false;
						} else {
							return true;
						}
					}
				}
			}
		}


		for (var i = 0; i < nextButtons.length; i++) {
			var el = nextButtons[i];
			el.onclick = function() {
				var current = $(this).up('li').id;
				if (changeSlide(current, 'next')) {
					return false;
				} else {
					return true;
				}
			}
		}
		
		
		if (typeof($("package_slideshow").getElementsByClassName("recirc")[0]) != 'undefined') {
			var nextGalleryLink = $("package_slideshow").getElementsByClassName("recirc")[0].getElementsByClassName("slide_forward")[0];
			nextGalleryLink.onclick = function() {
				return true;
			}
			
			if ($$(".buy")) {
				thirdPartyNewWindows();
			}
		}
		

	}
	
});



countclick = 0;
var refreshAdRate = 1;

function changeSlide(current, direction) {
	lastaction = direction;
	countclick++;
	function removeint() {
		document.getElementsByClassName('interstitial_ad')[0].style.display = 'none';
		return false;
	}
	
	function removeint_goback() {
		document.getElementsByClassName('interstitial_ad')[0].style.display = 'none';
		var current = $$('.current_slide')[0].id;
		if (lastaction != 'back') {
			changeSlide(current, 'back');
		}
		return false;
	}
	if (countclick%6 == 0 && typeof(document.getElementsByClassName('interstitial_ad')[0]) != 'undefined') {
	
	
			document.getElementById('package_slideshow').style.position = 'relative';
			document.getElementsByClassName('interstitial_ad')[0].style.display = 'block';
			document.getElementsByClassName('interstitial_ad')[0].style.position = 'absolute';
			document.getElementsByClassName('interstitial_ad')[0].style.top = '0';
			document.getElementsByClassName('interstitial_ad')[0].style.left = '0';
			document.getElementsByClassName('interstitial_ad')[0].style.width = '640px';
			document.getElementsByClassName('interstitial_ad')[0].style.height = '466px';
			
			document.getElementsByClassName('interstitial_ad')[0].getElementsByClassName('ad_nav')[0].getElementsByClassName('six_click_forward_link')[0].onclick = removeint;
			document.getElementsByClassName('interstitial_ad')[0].getElementsByClassName('ad_nav')[0].getElementsByClassName('six_click_back_link')[0].onclick = removeint_goback;
			
			document.getElementsByClassName('interstitial_ad')[0].getElementsByClassName('ad_nxt_link')[0].onclick = removeint;
			
			
			
		
			
			var prevAdNum = adnumber;
			if (typeof(totalAds)!= 'undefined' && typeof(adnumber)!= 'undefined'){
				if (adnumber>=totalAds){
					adnumber = 1;
				}else{
					adnumber = adnumber+1;
				}
			}
			
			//605 x 390
			if (document.getElementById("interstitial_ad")){
				var theAd = document.getElementById("interstitial_ad").getElementsByTagName("iframe")[0];
				var theAdSrc = theAd.src;
				theAdSrc = theAdSrc.replace("ad"+"number="+prevAdNum+";", "ad"+"number="+adnumber+";");
				top.frames['adrefresh_605'].location.href= theAdSrc;
			}

/*
			if (document.getElementsByClassName('ad_nav')[0].childNodes[1].tagName != 'SPAN') {
				document.getElementsByClassName('ad_nav')[0].removeChild(document.getElementsByClassName('ad_nav')[0].childNodes[1]);

				var newspan = document.createElement('span');
				newspan.innerHTML = 'Skip this Ad'
				document.getElementsByClassName('ad_nav')[0].appendChild(newspan);
			}
*/


	
	}
	var current_index = current.split("_")[2];
	var newSlide;
	if ((current == 1) || (current == totalSlides)) {
		// at the end or beginning of the show.

		if (current == 1) {
			if (direction == "next") {
				current_index++;
			} else {
				return false;
			}
		} else if (current == totalSlides) {
			if (direction == "next") {
				return false;
			} else {
				current_index--;
			}
		}

	} else {
		
		if (direction == "next") {
			current_index++;
		} else {
			current_index--;
		}
	}
	
	newSlide = "display_slide_"+current_index;
	displayActiveSlide(newSlide, true);
	
	if ($$('body.howto').length > 0) {
		set_active_howto_car(current_index);
	}
	
	setUrlToSlide(current_index);
	randnum=Math.random()*10000000000000000;
	ord=Math.floor(Math.random()*9999999999999999);
 


	// 728 x 90
	if (document.getElementById("ms-article-hdr-ad")) {
		theAd = document.getElementById("ms-article-hdr-ad").getElementsByTagName("iframe")[0];
	}
	if (document.getElementById("masthead")) {
		theAd = document.getElementById("masthead").getElementsByTagName("iframe")[0];
	}

	if ((countclick%refreshAdRate == 0) && (typeof(theAd) != 'undefined')) {
		theAdSrc = theAd.src.split("ord=")[0];
		theAdSrc += "ord="+ord;
		top.frames['adrefresh_lead'].location.href = theAdSrc;
	}
	

	// 300 x 250
	if ((countclick%refreshAdRate == 0) && (document.getElementById("ad_300-250"))) {
		var theAd = document.getElementById("ad_300-250").getElementsByTagName("iframe")[0];
		theAdSrc = theAd.src.split("ord=")[0];
		theAdSrc += "ord="+ord;
		top.frames['adrefresh_300'].location.href = theAdSrc;
	}
	

	
	if (countclick%6 == 0 && typeof(document.getElementsByClassName('interstitial_ad')[0]) != 'undefined') {
		slideel =  (document.getElementsByClassName('current_slide')[0].getElementsByTagName('h2')[0]);
			
		if (typeof(slideel.getElementsByTagName('a')[0]) != 'undefined') {
			slideel = slideel.getElementsByTagName('a')[0];
		}
		
		nextslidename = slideel.innerHTML;
		//document.getElementsByClassName('ad_nxt_link')[0].getElementsByTagName('A')[0].innerHTML = nextslidename;
		$$('.ad_nxt_link a')[0].innerHTML = nextslidename;

	}
	
	
	return true;
	
}

function setUrlToSlide(slidenum) {
	location.hash = '#slide_'+slidenum;
}

function displayActiveSlide(slide, submitOmniture) {
	
	var slides = document.getElementById("package_slideshow").getElementsByTagName("li");
	for (var i = 0; i < slides.length; i++) {
		if ($(slides[i]).hasClassName("current_slide")) {
			$(slides[i]).removeClassName("current_slide");
		}
	}
	
	// fetch & display image
	var imageURL = $(slide).getElementsByClassName("view_image")[0].href;
	// var imageURL = $(slide).getElementsByTagName("a")[1].href;
	$(slide).getElementsByTagName("img")[0].src = imageURL;
	
	$(slide).addClassName("current_slide");
	
	var theSlideElement = (typeof($(slide).getElementsByTagName("h2")[0]) != "undefined") ? $(slide).getElementsByTagName("h2")[0] : "";
	if (theSlideElement != "") {
		if (theSlideElement.getElementsByTagName("a").length == 0) {
			theslide = theSlideElement.innerHTML;
		} else {
			theslide = theSlideElement.getElementsByTagName("a")[0].innerHTML;
		}
	}
	
	// var theslide = (typeof($(slide).getElementsByTagName("h2")[0]) != "undefined") ? $(slide).getElementsByTagName("h2")[0].innerHTML : "";
	if ($(slide).getElementsByTagName("h1").length > 0) {
		var slideshow = $(slide).getElementsByTagName("h1")[0].innerHTML;
	}
	var pkg = $('package_title').innerHTML;
	
	//console.log('repos if nec');
	// re-position logo if necessary
	if ($$(".products .current_slide .slide_info .logo_image").length > 0) {
		var logoImg = $$(".products .current_slide .slide_info .logo_image")[0];
		if (logoImg.ancestors()[0].toString().indexOf("http") != -1) {
			var logoLink = logoImg.ancestors()[0];
			var wrapper = "<div class=\"logo_wrapper\"><a href=\""+logoLink.href+"\"><img src=\""+logoImg.src+"\" /></a></div>";
			logoImg.remove();
			logoLink.remove();
		} else {
			var wrapper = "<div class=\"logo_wrapper\"><img src=\""+logoImg.src+"\" /></div>";
			logoImg.remove();
		}
		var newLogo = new Insertion.Bottom($$(".products .current_slide .slide_content")[0], wrapper);
		$$(".products .current_slide .logo_wrapper")[0].style.display = "block";
		$$(".products .current_slide .logo_wrapper img")[0].style.display = "block";
		
	}
	//console.log('checking if howto');
	if ($$('.howto').length > 0) {
	
		if ($$('.current_slide .slide_info h2').length > 0) {
			theslide = $$('.current_slide .slide_info h2')[0].innerHTML;
			slideshow = $$('#article_title')[0].innerHTML;
			pkg = $$('.current_slide .slide_info strong')[0].innerHTML;
		}
		
		//console.log('screwing with displayslide');
		if (slide == 'display_slide_0' && $$('#part_of_flash').length > 0) {
			$$('#part_of_flash')[0].style.display = 'block';
			$$('#package_slideshow')[0].addClassName('partof');
		}
		else {
			if ($$('#part_of_flash').length > 0) {
				$$('#part_of_flash')[0].style.display = 'none';
			}
			$$('#package_slideshow')[0].removeClassName('partof');
		}
		
	}
	//console.log('updating title');
	if (typeof(theslide) != 'undefined') {
		updateTitle(theslide, slideshow, pkg);
	}
	




	var ul = document.getElementById('package_slideshow');
	if (submitOmniture) {
		var type = ul.attributes.getNamedItem("rel").value;
		updateOmnitureVars(theslide, slideshow, type);
		submitOmnitureFromSP();
	}

	
}


function updateTitle(slide, slideshow, pkg) {
	var t
	if (slide != "") {
		t = slide +" - "+ slideshow +" - "+ pkg +" - MarthaStewart.com";
	} else {
		t = slideshow +" - "+ pkg +" - MarthaStewart.com";
	}
	
	if (t.length > 32) {
		document.title = t;
	}
	else if ($$('.howto').length > 0){
		document.title = $$('#article_title')[0].innerHTML + " - More Like This - MarthaStewart.com"
	}

}



function updateOmnitureVars(slide, slideshow_name, type) {

	var userStatus = s.prop28;
	var u = userStatus.split(":")[0];
	
    //s.pageName=slideshow_name;
    omniturePageName=slideshow_name;
   // s.prop4="package-collection ("+type+")";
	s.prop8="";
    s.prop28=u+":"+slideshow_name;
    /* E-commerce Variables */;
    //s.eVar29="package-collection ("+type+")";

	if ($$("li.current_slide .slide_nav").length > 0) {
		var slideNavText = $$("li.current_slide .slide_nav span")[0].innerHTML;
		var sArray = slideNavText.split(" of ");
		slideNo = sArray[0];
		totalSlides = sArray[1];
		contentTitle = contentTitle.replace(/\s+/g,"-");
		s.prop32 = contentTitle+"_"+slideNo+"_"+totalSlides;
	}
}



function thirdPartyNewWindows() {
	
	var buyLinks = $$('.products .recipe a');
	var theHref;
	var theLink;
	for (var i = 0; i < buyLinks.length; i++) {
		// theHref = buyLinks[i].getAttribute('href');
		theLink = buyLinks[i];
		
		theLink.onclick = function() {
			popNewWindow($(this));
			return false;
		}
		
	}
}

function popNewWindow(link) {
	
	var u = link.getAttribute('href');
	var w = window.open(u);
	
}



accordion = {
	//cache the accordions so we dont have to re-grab em out of the dom every time
	all_accordions: $$('.accordion_content'),
	lpg_height: '20px',
	active: '',
	
	open: function(element) {
		//console.log(element);
		//get the parent - hdr is formatted <h2><span w/ click></h2>
		var parent = $(element).up();
		//if its a lpg accordion item
		if (parent.up().hasClassName('lpg_container')) {
			//hide the rest
			this.hide_all_accordions_at_this_level(parent.up());
			if (this.active == element) {
				parent.up().style.height = this.lpg_height;
				this.active = '';
			}
			else {
				parent.up().style.height = 'auto';
				this.active = element;
				parent.up().addClassName('active');
			}
		}
		else {
			//get the next element (the accordion content)
			next = parent.next();
			//hide the rest
			this.hide_all_accordions_at_this_level(parent);
			if (this.active == element || this.parentaccord == element) { 
				next.hide(); //hide
				this.active = '';
				this.parentaccord == '';
			}
			else {
				next.show(); //show it
				this.active = element;
				parent.addClassName('active');
				parent.next().addClassName('active');
			}
		}

		if (parent.tagName == 'H4') {
			this.parentaccord = $(parent).up().previous().down('span');
		}
		if (parent.tagName == 'H3') {
			//console.log(parent.hasClassName('active'));
			this.parentaccord = '';
			chihack = element.up().next().down('H4');
			this.hide_all_accordions_at_this_level(chihack);
			if (parent.hasClassName('active')) {
				accordion.open(element.up().next().down('span'));
			}
		}

	},
	
	hide_all_accordions_at_this_level: function(triggering_element) {
		//console.log('trig'+triggering_element);
		if (typeof(triggering_element) != 'undefined') {
			possible_accordions = triggering_element.up()
			possible_accordions = possible_accordions.descendants();
	
			possible_accordions.each(function(el) {
				if (el.tagName == 'H3' || el.tagName == 'H4' || el.tagName == 'DIV' || el.tagName == 'SPAN' || el.tagName == 'UL') {
					//checks for inner accordions then outer accordions and makes sure its not a lpg - those are handled below
					if 	((triggering_element.tagName == 'H4' && el.tagName == 'UL') || 
						(triggering_element.tagName == 'H3' && el.tagName == 'DIV' && !el.hasClassName('lpg_container')) ||
						(triggering_element.tagName == 'DIV' && el.hasClassName('accordion_content') && !el.hasClassName('lpg') && el.hasClassName('menu'))
						) {
							
							$H(el).hide();
					}
					if (el.up() && el.up().hasClassName('accordion_content') && triggering_element.tagName =='H3') {
	
					}
					else {
						el.removeClassName('active');
					}
				}
				
				
			});
			
			//recast it for scope
			lpg_height = this.lpg_height
			//hide all the lpg containers
			lpgcontainers = $$('.lpg_container');
				lpgcontainers.each(function(el) {
				el.style.height = lpg_height;
			});
		}	
	}

}



Event.observe(window, 'load', function() {
	if (document.getElementById('package_index')) {
		accordion.open($$('.toggle')[0]);
	}
	if (typeof(contentTitle) != "undefined") {
		s.pageName = contentTitle.replace(/\s+/g,"-")+':'+contentID;                
		s.prop32 = contentTitle.replace(/\s+/g,"-")+'_'+currentSlideNumber+'_'+totalSlides;
	}

});


       


function incrementSlide()	{
	currentSlideNumber = currentSlideNumber +1;
	contentTitle = contentTitle.replace(/\s+/g,"-");
	s.prop32=contentTitle+'_'+currentSlideNumber+'_'+totalSlides;
	//s.pageName = contentTitle+':'+contentID;
}
function decrementSlide() {
	currentSlideNumber = currentSlideNumber -1;
	contentTitle = contentTitle.replace(/\s+/g,"-");
	s.prop32=contentTitle+'_'+currentSlideNumber+'_'+totalSlides;
	//s.pageName = contentTitle+':'+contentID;
}

function set_active_howto_car(current_index) {
	smallSlides = document.getElementsByClassName('slideitem');	
	for (var i = 0; i < smallSlides.length; i++) {
		$(smallSlides[i]).removeClassName('current');
	}
	
	if (window.location.href.indexOf('backtourl') == -1) {
		$('small_slide_'+current_index	).addClassName('current');
	}

}


function PackagesetCookie(c_name,value,expiredays) //no, there is nothing specific to package, just naming to prevent conflict
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}