window.addEvent("load",function(){ID_videoPlayer.initialize()});var ID_videoPlayer={max:50,startIndex:1,links:new Array(),mostRecent:"",plumbingArray:new Array(),lightingArray:new Array(),handleArray:new Array(),miscArray:new Array(),howTo:new Array(),design:new Array(),manufacturer:new Array(),scroller:"",mainSite:"www.faucetdirect.com",playerVar:"ID_videoPlayer",scrollerNum:15,initialize:function(scrollerNum,playerVar){if(playerVar!==""&&playerVar!==false&&playerVar!==undefined){this.playerVar=playerVar}if(typeof scrollerNum=="number"&&isFinite(scrollerNum)){this.scrollerNum=scrollerNum-1}var loadingGif=new Element("div",{id:"videoPlayerLoading"});$("outerVideoFrame").grab(loadingGif,"before");loadingGif.fade("hide").fade("in");if($("scrollWrapper")){$("scrollWrapper").fade("hide")}this.callYouTube();$("videoDescription").setStyles({height:"auto","min-height":150});$("scroller").setStyles({position:"relative","margin-top":-20});$$("div.videos").setStyle("position","relative");$("manufacturer").setStyles({"margin-left":20,"margin-top":10});$("videoPlayer").setStyles({height:"auto","min-height":490})},callYouTube:function(){var youTubeCall=new Element("script",{type:"text/javascript",src:"http://gdata.youtube.com/feeds/users/improvementdirect/uploads?alt=json-in-script&format=5&callback="+this.playerVar+".sortYouTubeData&max-results="+this.max+"&start-index="+this.startIndex});$(document.body).adopt(youTubeCall)},sortYouTubeData:function(data){var self=this;if(!data.feed.entry){this.links.sort(this.sortByTitle);this.listVideos(this.links)}else{var feed=data.feed;var entries=feed.entry;entries.each(function(item,index){var newDescription=item.media$group.media$description.$t;var words=item.media$group.media$keywords.$t.split(",");var prodId="";words.each(function(item,index){if(item.contains("ProdID-")){prodId=item.split("ProdID-",2)[1]}});if(!words[1]){words[1]=""}if(!words[2]){words[2]=self.mainSite}var entry={href:item.media$group.media$content[0].url,text:item.media$group.media$title.$t,keywords:item.media$group.media$keywords.$t,prodId:prodId,manufacturer:words[1].trim(),site:words[2].trim(),description:newDescription,thumbnail:item.media$group.media$thumbnail[0].url,published:item.published.$t.split("T",2)[0]};self.links.include(entry)});self.startIndex+=self.max;self.callYouTube()}},listVideos:function(links){var self=this;var lightingList=new Element("ul",{id:"productLighting"});lightingList.addClass("mainVideoList");var lightingHeader=new Element("li");var lightingH4=new Element("h4",{text:"Lighting"});lightingHeader.adopt(lightingH4);lightingList.adopt(lightingHeader);var plumbingList=new Element("ul",{id:"productPlumbing"});plumbingList.addClass("mainVideoList");var plumbingHeader=new Element("li");var plumbingH4=new Element("h4",{text:"Plumbing"});plumbingHeader.adopt(plumbingH4);plumbingList.adopt(plumbingHeader);var handleList=new Element("ul",{id:"handleReviewList"});handleList.addClass("mainVideoList");var handleHeader=new Element("li");var handleH4=new Element("h4",{text:"Handle Sets"});handleHeader.adopt(handleH4);handleList.adopt(handleHeader);var miscList=new Element("ul",{id:"miscReviewList"});miscList.addClass("mainVideoList");var miscHeader=new Element("li");var miscH4=new Element("h4",{text:"Other Reviews"});miscHeader.adopt(miscH4);miscList.adopt(miscHeader);var manufacturerList=new Element("ul");manufacturerList.addClass("mainVideoList");links.sort(self.sortByTitle);links.each(function(item,index){var anchorText;if(item.text.contains(":")){anchorText=item.text.split(":")[1].trim()}else{anchorText=item.text}var link=new Element("a",{href:item.href,text:anchorText,title:item.text.trim()});link.set("prod_id",item.prodId);link.set("keywords",item.keywords.trim());link.set("site",item.site.trim());link.set("manufacturer",item.manufacturer.trim());link.set("description",item.description);link.set("date",item.published);link.addClass("videoLinks");var list=new Element("li");list.adopt(link);if(item.text.contains("Real Review")){if(item.keywords.contains("faucetdirect")||item.keywords.contains("plumbing")){self.plumbingArray.include(item);plumbingList.adopt(list)}else{if(item.keywords.contains("lightingdirect")){self.lightingArray.include(item);lightingList.adopt(list)}else{if(item.keywords.contains("handlesets")){self.handleArray.include(item);handleList.adopt(list)}else{self.miscArray.include(item);miscList.adopt(list)}}}}else{if(item.text.contains("Basics")){self.howTo.include(item);$("howTo").adopt(list)}else{if(item.text.contains("Design")){self.design.include(item);$("design").adopt(list)}else{if(item.text.contains("Product Spotlight")){self.manufacturer.include(item);$("manufacturer").adopt(list)}}}}});if(self.mainSite.contains("faucetdirect.com")){$("productReviews").adopt(plumbingList,lightingList,handleList,miscList)}else{if(self.mainSite.contains("lightingdirect.com")){$("productReviews").adopt(lightingList,plumbingList,handleList,miscList)}else{if(self.mainSite.contains("handlesets.com")){$("productReviews").adopt(handleList,plumbingList,lightingList,miscList)}}}var first="";if(self.mainSite.contains("faucetdirect.com")){var plumbingArray_date=self.plumbingArray.sort(self.sortByDate);self.mostRecent=plumbingArray_date.filter(function(item,index){return index<=self.scrollerNum});first=plumbingArray_date[0]}else{if(self.mainSite.contains("lightingdirect.com")){var lightingArray_date=self.lightingArray.sort(self.sortByDate);first=lightingArray_date[0];self.mostRecent=lightingArray_date.filter(function(item,index){return index<=self.scrollerNum})}else{if(self.mainSite.contains("handlesets.com")){var handleArray_date=self.handleArray.sort(self.sortByDate);first=handleArray_date[0];self.mostRecent=handleArray_date.filter(function(item,index){return index<=self.scrollerNum})}}}var params=self.getParams();if(params){var video=params.video;links.each(function(item,index){if(item.href.contains(video)){self.switchVideo(item.text,item.href,item.description,item.prodId,item.manufacturer,item.site,item.keywords,"",1)}})}else{self.switchVideo(first.text,first.href,first.description,first.prodId,first.manufacturer,first.site,first.keywords,first.thumbnail,first.published,"",0)}if(self.switchScroller(self.mostRecent)){self.scroller=new ID_scroll({container:"innerScroller",leftHandle:"leftClicker",rightHandle:"rightScroller",numShown:5,speed:3000});$("scrollWrapper").fade("in")}$$("div.videoListWrapper").each(function(item,index){var lists=item.getChildren("div.videoListContainer")[0].getChildren("div.videos")[0].getChildren("ul.mainVideoList");var listSize=0;lists.each(function(item,index){listSize+=item.getSize().y});if(listSize>326){var sliderWrapper=new Element("div",{id:"sliderWrapper"+index});sliderWrapper.addClass("sliderWrapper");var sliderBar=new Element("div",{id:"sliderBar"+index});sliderBar.addClass("sliderBar");var sliderHandle=new Element("div",{id:"sliderHandle"+index});sliderHandle.addClass("sliderHandle");sliderBar.adopt(sliderHandle);sliderWrapper.adopt(sliderBar);item.grab(sliderWrapper,"top");var slider=new Slider(sliderBar,sliderHandle,{wheel:true,mode:"vertical",range:[0,326],steps:100,onChange:function(value){self.scrollList(value,item.getElement("div.videoListContainer"))}})}});$$("#videoList h3").addEvents({click:function(){var rel=this.getProperty("rel");var videoArray="";switch(rel){case"reviews":videoArray=self.mostRecent;break;case"manufacturerVideos":videoArray=self.manufacturer;break;case"howTo":videoArray=self.howTo;break;case"design":videoArray=self.design;break}self.switchScroller(videoArray)}});$$("a.videoLinks").addEvent("click",$lambda(false));$$("a.videoLinks").addEvents({click:function(){var linkItem=$(this);$$("div.videos ul.mainVideoList li").removeClass("selected");$(this).getParent().addClass("selected");var title=linkItem.get("title");var link=linkItem.get("href");var description=linkItem.get("description");var prodId=linkItem.get("prod_id");var manufacturer=linkItem.get("manufacturer");var site=linkItem.get("site");var keywords=linkItem.get(keywords);var myFx=new Fx.Tween($("innerVideoFrame"),{duration:200});myFx.start("opacity",0).chain(function(){$("videoPlayerLoading").setStyles({visibility:"visible",opacity:1});self.switchVideo(title,link,description,prodId,manufacturer,site,keywords,"",1);$("innerVideoFrame").fade("show")})}});$$("div.videos ul.mainVideoList li").addEvents({mouseenter:function(){if($(this).getChildren()[0].get("tag")=="a"){$(this).addClass("hovered")}},mouseleave:function(){$(this).removeClass("hovered")},click:function(){$$("div.videos ul.mainVideoList li").removeClass("selected");$(this).addClass("selected");var linkItem=$(this).getElement("a");var title=linkItem.get("title");var link=linkItem.get("href");var description=linkItem.get("description");var prodId=linkItem.get("prod_id");var manufacturer=linkItem.get("manufacturer");var site=linkItem.get("site");var keywords=linkItem.get(keywords);var myFx=new Fx.Tween($("innerVideoFrame"),{duration:200});myFx.start("opacity",0).chain(function(){$("videoPlayerLoading").setStyles({visibility:"visible",opacity:1});self.switchVideo(title,link,description,prodId,manufacturer,site,keywords,"",1);$("innerVideoFrame").fade("show")});return false}});$$("div.videoListWrapper").addEvents({mousewheel:function(evt){evt.preventDefault().stopPropagation();if($(this).getElement("div.sliderWrapper")){var sliderHandle=$(this).getChildren("div.sliderWrapper")[0].getChildren("div.sliderBar")[0].getChildren("div.sliderHandle");if(sliderHandle){if(parseInt(sliderHandle.getStyle("top"))>=0&&parseInt(sliderHandle.getStyle("top"))<=316){sliderHandle.setStyle("top",-evt.wheel+parseInt(sliderHandle.getStyle("top")));self.scrollList(0,$(this).getElement("div.videoListContainer"))}if(parseInt(sliderHandle.getStyle("top"))<=0){sliderHandle.setStyle("top",0)}if(parseInt(sliderHandle.getStyle("top"))>=316){sliderHandle.setStyle("top",316)}}return false}}});new Accordion($$("#videoList h3"),$$("#videoList div.videoListWrapper"),{alwaysHide:false,transition:Fx.Transitions.Quad.easeInOut,duration:1000,opacity:false,onActive:function(toggler,element){toggler.getChildren("span").addClass("active")},onBackground:function(toggler,element){toggler.getChildren("span").removeClass("active")}})},switchVideo:function(title,href,description,prodId,manufacturer,site,keywords,thumbnail,autoplay){var self=this;if($("videoPlayerLoading")){$("videoPlayerLoading").fade("out")}if(Browser.Plugins.Flash.version>=7){var swfobj=new Swiff(href+"&autoplay="+autoplay,{id:"myVideo",width:620,height:350,container:$("innerVideoFrame"),params:{wmode:"opaque"}})}var prodDesc=new Element("p");var search=description.match(/www.[a-zA-Z]*.com/g);var newDescription=description.replace(/www.[a-zA-Z]*.com/g,'<a href="http://'+search+'">'+search+"</a>");var firstLetter=newDescription.substr(0,1);newDescription=firstLetter.toUpperCase()+newDescription.substr(1);prodDesc.set("html",newDescription);if(prodId){var prodLink=new Element("a",{href:"/index.cfm/page/product:display/productId/"+prodId+"/manufacturer/"+manufacturer,text:"View Product"});prodLink.addClass("productLink")}var linkWrapper=new Element("p",{id:"linkWrapper"});if(prodId){linkWrapper.adopt(prodLink)}if(!prodId){prodId=""}var title=new Element("h3",{text:title});$("videoDescription").set("html","");$("videoDescription").adopt(title);$("videoDescription").adopt(linkWrapper);$("videoDescription").adopt(prodDesc)},scrollList:function(value,container){var self=this;var listHeight=0;listHeight=container.getElement("div.videos").getSize().y;var scrollHandleHeight=parseInt(container.getParent().getElement("div.sliderHandle").getStyle("top"));var factor=listHeight/parseInt(container.getParent().getElement("div.sliderBar").getSize().y);container.getChildren("div.videos")[0].setStyle("top",-(scrollHandleHeight*factor))},switchScroller:function(videos){var self=this;var fadeScroller=new Fx.Tween("innerScroller",{duration:300});if($("innerScroller").getChildren("div").length>0){$("innerScroller").getChildren("div").each(function(item,index){item.dispose()})}videos.each(function(item,index){var linkText=item.text;if(item.text.contains(":")){linkText=item.text.split(":",2)[1]}var img=new Element("img",{src:item.thumbnail});var imgLink=new Element("a",{href:item.href,title:item.text.trim()});var imgTitle=new Element("span",{text:linkText});imgLink.set("prod_id",item.prodId);imgLink.set("keywords",item.keywords.trim());imgLink.set("site",item.site.trim());imgLink.set("manufacturer",item.manufacturer.trim());imgLink.set("class","videoLinks");imgLink.set("description",item.description.trim());imgLink.set("date",item.published);imgLink.adopt(img,imgTitle);var imgDiv=new Element("div");imgDiv.adopt(imgLink);$("innerScroller").adopt(imgDiv);$("innerScroller").setStyle("min-height",170)});if(self.scroller!==""){self.scroller.setScroller()}return true},getParams:function(){var url=window.location.href;var getVars=url.split("?",2);if(getVars[1]){var vars=getVars[1].split("&");var params={};var i=0;for(i;i<getVars.length;i++){var param=getVars[i].split("=");params[param[0]]=param[1]}if(params){return params}else{return false}}},sortByTitle:function(a,b){var x=a.text.toLowerCase();var y=b.text.toLowerCase();return((x<y)?-1:((x>y)?1:0))},sortByDate:function(a,b){var x=a.published.replace("-","");var y=b.published.replace("-","");return((x>y)?-1:((x<y)?1:0))}};var ID_scroll=new Class({Implements:[Options],options:{leftHandle:null,rightHandle:null,container:null,speed:1000,startIndex:0,numShown:6,autoScroll:true,autoScrollTime:4000,displayWidth:null},initialize:function(options){this.setOptions(options);this.leftHandle=this.options.leftHandle;this.rightHandle=this.options.rightHandle;this.container=this.options.container;this.startIndex=this.options.startIndex;this.numShown=this.options.numShown;this.autoScroll=this.options.autoScroll;this.autoScrollTime=this.options.autoScrollTime;this.speed=this.options.speed;this.displayWidth=this.options.displayWidth;this.count=0;this.moveFx=new Fx.Tween($(this.container),{duration:this.speed,link:"cancel",transition:Fx.Transitions.Quad.easeInOut,onComplete:this.dimHandle.bind(this)});this.children=$(this.container).getChildren("div");var childrenChildren=this.children[0].getChildren();this.newHeight=150;this.imgWidth=(parseInt(this.children[0].getSize().x)+parseInt(this.children[0].getStyle("margin-right")))*this.children.length;if(this.displayWidth==null){this.displayWidth=(parseInt(this.children[0].getSize().x)+parseInt(this.children[0].getStyle("margin-right")))*this.numShown}this.displayHeight=(parseInt(this.children[0].getSize().y)+parseInt(this.children[0].getStyle("margin-top"))+parseInt(this.children[0].getStyle("margin-bottom"))+parseInt(this.children[0].getStyle("padding-top"))+parseInt(this.children[0].getStyle("padding-bottom")));var handleHeight=$(this.leftHandle).getSize().y;var handleMargin=(this.newHeight-handleHeight)/2;$(this.leftHandle).setStyle("margin-top",handleMargin);$(this.rightHandle).setStyle("margin-top",handleMargin);this.getMargin=this.newHeight-parseInt(this.children[0].getScrollSize().y);$(this.container).setStyles({height:170});$(this.container).getParent().setStyles({width:this.displayWidth,"padding-right":0,height:this.newHeight,"padding-top":5,"padding-bottom":5});if($(this.container).getParent().getParent().getChildren()[0].getProperty("id")=="scrollerTitle"){var scrollerTitleWidth=parseInt($("scrollerTitle").getStyle("padding"));$("scrollerTitle").setStyles({width:this.displayWidth-5})}this.leftPos=this.children[this.startIndex].getCoordinates($(this.container)).left;if(this.leftPos<this.imgWidth){$(this.container).setStyle("left",-this.leftPos)}else{$(this.container).setStyle("left",-this.imgWidth)}if(this.autoScroll==true&&this.children.length>this.numShown){this.periodical=this.timedScroll.periodical(this.autoScrollTime,this,self)}if(this.startIndex==0){$(this.leftHandle).fade(0.3)}$(this.leftHandle).addEvent("mouseenter",this.leftHover.bind(this));$(this.rightHandle).addEvent("mouseenter",this.rightHover.bind(this));$(this.leftHandle).addEvent("mouseleave",this.stopScrolling.bind(this));$(this.rightHandle).addEvent("mouseleave",this.stopScrolling.bind(this))},setScroller:function(){var self=this;this.children=$(this.container).getElements("div");var childrenChildren=this.children[0].getChildren();this.imgWidth=(parseInt(this.children[0].getSize().x)+parseInt(this.children[0].getStyle("margin-right")))*this.children.length;this.displayWidth=(parseInt(this.children[0].getSize().x)+parseInt(this.children[0].getStyle("margin-right")))*this.numShown;this.displayHeight=(parseInt(this.children[0].getSize().y)+parseInt(this.children[0].getStyle("margin-top"))+parseInt(this.children[0].getStyle("margin-bottom"))+parseInt(this.children[0].getStyle("padding-top"))+parseInt(this.children[0].getStyle("padding-bottom")));this.getMargin=this.newHeight-parseInt(this.children[0].getScrollSize().y);$(this.container).setStyles({height:170});$(this.container).getParent().setStyles({width:this.displayWidth,"padding-right":0,height:this.newHeight,"padding-top":5,"padding-bottom":5});$clear(this.periodical);this.count=0;var autoFx=new Fx.Tween($(this.container),{duration:1000,link:"cancel",transition:Fx.Transitions.Quad.easeInOut});autoFx.start("left",0);if(this.autoScroll==true&&this.children.length>this.numShown){this.periodical=this.timedScroll.periodical(this.autoScrollTime,this,self)}},leftHover:function(){$clear(this.periodical);this.fadeIn.delay(100,this);var start=parseInt($(this.container).getStyle("left"));this.moveFx.start("left",start,0)},rightHover:function(){$clear(this.periodical);this.fading=this.fadeIn.delay(100,this);var end=this.displayWidth-this.imgWidth;this.moveFx.start("left",end)},stopScrolling:function(){this.moveFx.cancel()},timedScroll:function(){this.count++;var start=parseInt($(this.container).getStyle("left"));var end=parseInt(this.children[0].getStyle("width"))+parseInt(this.children[0].getStyle("margin-right"));end=start-end;if(start<0){this.fadeIn()}if(this.count>=this.children.length-this.numShown){this.count=0}if(end<(this.displayWidth-this.imgWidth)){end=0}var autoFx=new Fx.Tween($(this.container),{duration:1000,link:"cancel",transition:Fx.Transitions.Quad.easeInOut});autoFx.start("left",start,end)},dimHandle:function(){if(parseInt($(this.container).getStyle("left"))>=0){$(this.leftHandle).fade(0.3)}else{if(parseInt($(this.container).getStyle("left"))>=(this.displayWidth-this.imgWidth)){$(this.rightHandle).fade(0.3)}}},fadeIn:function(){var scrollPos=parseInt($(this.container).getStyle("left"));if(scrollPos<0){$(this.leftHandle).fade(1)}if(scrollPos>(this.displayWidth-this.imgWidth)){$(this.rightHandle).fade(1)}}});