/**
 * @author Aaron.Lisman
 */
Site.Page = {
	
	PreInit: function() {
		this.CreateFlashHero();	
		
	},
	Init: function() {
		
	},
	CreateFlashHero: function(){
		swfobject.embedSWF("http://a248.e.akamai.net/f/248/430/30d/www.merck.com/includes/audio-video/swf/merck_homepagehero_pureas3.swf", "hero", "975", "440", "9.0.0", null, {videoPlayerSkinURL:"http://a248.e.akamai.net/f/248/430/30d/www.merck.com/includes/audio-video/swf/assets/swfs/homevideoskin.swf",dataXMLURL:"http://a248.e.akamai.net/f/248/430/30d/www.merck.com/includes/audio-video/swf/assets/xml/homepagehero.xml"}, {wmode:"opaque",allowScriptAccess:"always"}, {id:"hero"},this.SwfCallback);
	},
	SwfCallback: function(e) {
		if(!e.success) {
			Site.Page.HTMLBackup.Init();
		}
	}
	
}


Site.Page.HTMLBackup = {
	TargetEl:"#hero",
	XMLPath: "http://a248.e.akamai.net/f/248/430/30d/www.merck.com/includes/audio-video/swf/assets/xml/homepagehero.xml",
	WrapperEl:null,
	Id:"HTMLbackupHero",
	Slides: [],
	Init: function() {
		$.get(this.XMLPath,null, this.HandleDataReturn ,"xml");
		this.SlideRotator.Init();
	},
	HandleDataReturn: function(data) {
		var self = this;
		var slides = $(data).find("slide");
		$(slides).each(		
			
			function() {
				var props = {					
					type: $(this).find("type").text(),
					duration: $(this).find("duration").text(),
					header: $(this).find("header").text(),
					subheader: $(this).find("subheader").text(),
					caption: $(this).find("caption").text(),
					moreinfobutton: $(this).find("moreinfobutton").text(),
					moreinfourl: $(this).find("moreinfourl").text(),
					backgroundimageurl: $(this).find("backgroundimageurl").text(),
					thumbnailimageurl: $(this).find("thumbnailimageurl").text(),
					thumbnaillabel: $(this).find("thumbnaillabel").text(),
					bubblecolor: $(this).find("bubblecolor").text()
				}
				var slide = new Slide();
				$.extend(slide,props);
				Site.Page.HTMLBackup.Slides.push(slide);
				
			}		
		); // end each
		Site.Page.HTMLBackup.RenderSlides();
	},
	RenderSlides:function() {
		var self = this;
		$(this.Id).remove(); // get rid of existing
		$(this.TargetEl).empty();
		this.WrapperEl = $(HTMLTemplates.HeroWrapper).attr("id",this.Id)
													 .prependTo(this.TargetEl);
		
		this.Controller = $(HTMLTemplates.SlideControl)
										 .prependTo(this.WrapperEl);
		
		$.each(this.Slides,function() {
				self.WrapperEl.append(this.GetSlide());
				$(this.GetThumb()).appendTo(self.Controller);
		});
	}

}

Site.Page.HTMLBackup.SlideRotator = {
	
	Slides: Site.Page.HTMLBackup.Slides,
	Delay: 5000,
	Interval:null,
	CurrentPlace:0,
	Init: function() {
		var self = this;
		this.Interval = setInterval( function() { self.Next();  },this.Delay);
	},
	Next: function() {
		if (this.CurrentPlace < (this.Slides.length-1)) {
			this.CurrentPlace++;
			this.Slides[this.CurrentPlace].ShowSlide();
		} else {
			this.CurrentPlace = 0;
			this.Slides[this.CurrentPlace].ShowSlide();
		}			
	}
}


function Slide(){
	
}
Slide.prototype = {
	El:null,
	Button:null,
	GetImg:function() {
		return HTMLTemplates.HeroBackupImg.supplant(this);
	},
	GetSlide:function(){
		var s = $(HTMLTemplates.Slide.supplant(this)); // get frame HTML 
		this.El = s;
		return s;
	},
	GetThumb:function(){
		var self = this;
		var t = $(HTMLTemplates.Thumb.supplant(this));
		t.click( function() { 
			// kill interval so that the auto rotation stops
			clearInterval(Site.Page.HTMLBackup.SlideRotator.Interval);
			self.ShowSlide(); 
		}); 
		this.Button = t;
		return t;
	},
	ShowSlide: function() {
		$("ul.slideControl li img").removeClass("selected");
		this.Button.find("img").addClass("selected");
		this.El.hide()
			   .siblings("div.slide").hide()
			   .end().fadeIn();
	}
	
}

var HTMLTemplates = {
	
	HeroBackupImg: "<img src='{backgroundimageurl}' />",
	HeroWrapper: "<div></div>",
	SlideControl: "<ul class='slideControl'></ul>",
	Slide: "<div class='slide'><div><h4>{header}</h4><h5>{subheader}</h5><p>{caption}</p><a href='{moreinfourl}' class='actionButton'>{moreinfobutton}</a></div><img src='{backgroundimageurl}' /></div>",
	Thumb: "<li><a href='javascript:void(0)'><img src='{thumbnailimageurl}' /></a></li>"
}
