// Homepage function calls: Important to our Homepage functionality function showMe(id) { var el = document.getElementById(id+'Text').style; show(id); el.color="666666"; //el.background="#7691ac url(http://cache.gifts.com/images/public/arrowWhTransp4x7.gif) 141px center no-repeat"; el.background="#cccccc url(http://cache.gifts.com/images/public/homepage/new/imgArrowWhiteGrey.gif) 130px center no-repeat"; el.border="0px solid #ffffff"; el.borderRight=""; el.padding="2px 0 2px 10px"; } function hideMe(id) { var el = document.getElementById(id+'Text').style; hide(id); el.color="666666"; el.background="#ffffff url(http://cache.gifts.com/images/public/homepage/easter2008/arrow_menu.gif) 130px center no-repeat"; el.border=""; el.padding="2px 0 2px 10px"; } function showMePersonality(id) { var el = document.getElementById(id+'Text').style; el.color="666666"; el.background="#cccccc"; el.border="0px solid #ffffff"; el.borderRight=""; el.padding="2px 0 2px 10px"; } function hideMePersonality(id) { var el = document.getElementById(id+'Text').style; el.color="666666"; el.background="#ffffff"; el.border=""; el.padding="2px 0 2px 10px"; } //Homepage rotation script 9/10/07 var fadeimages=new Array() //SET IMAGE PATHS. Extend or contract array as needed fadeimages[0]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgBirthdayBB.jpg", "/ideas/birthday", "", "B: HP - BB - Birthday Gifts"] fadeimages[1]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgWeddingBB.jpg", "/ideas/wedding", "", "B: HP - BB - Wedding Gifts"] fadeimages[2]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgAnnivBB.jpg", "/ideas/anniversary", "", "B: HP - BB - Anniversary Gifts"] fadeimages[3]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgOccasionBB.jpg", "/search/occasions", "", "B: HP - BB - More Occasions"] var fadebgcolor="white" ////NO need to edit beyond here///////////// var fadearray=new Array() //array to cache fadeshow instances var fadeclear=new Array() //array to cache corresponding clearinterval pointers var dom=(document.getElementById) //modern dom browsers var iebrowser=document.all function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder) { this.pausecheck = pause this.mouseovercheck = 0 this.delay = delay this.degree = 10 //initial opacity degree (10%) this.curimageindex = 0 this.nextimageindex = 1 fadearray[fadearray.length] = this this.slideshowid = fadearray.length - 1 this.canvasbase = "canvas" + this.slideshowid this.curcanvas = this.canvasbase + "_0" if (typeof displayorder != "undefined") theimages.sort(function() { return 0.5 - Math.random(); }) //thanks to Mike (aka Mwinter) :) this.theimages = theimages this.imageborder = parseInt(borderwidth) this.postimages = new Array() //preload images for (p = 0; p < theimages.length; p++) { this.postimages[p] = new Image() this.postimages[p].src = theimages[p][0] } var fadewidth = fadewidth + this.imageborder * 2 var fadeheight = fadeheight + this.imageborder * 2 if (iebrowser && dom || dom) //if IE5+ or modern browsers (ie: Firefox) document.write('
') else document.write('
') if (iebrowser && dom || dom) //if IE5+ or modern browsers such as Firefox this.startit() else { this.curimageindex++ setInterval("fadearray[" + this.slideshowid + "].rotateimage(timeToRotate,0)", this.delay) } } function fadepic(obj) { if (obj.degree < 100) { obj.degree += 10 if (obj.tempobj.filters && obj.tempobj.filters[0]) { if (typeof obj.tempobj.filters[0].opacity == "number") //if IE6+ obj.tempobj.filters[0].opacity = obj.degree else //else if IE5.5- obj.tempobj.style.filter = "alpha(opacity=" + obj.degree + ")" } else if (obj.tempobj.style.MozOpacity) obj.tempobj.style.MozOpacity = obj.degree / 101 else if (obj.tempobj.style.KhtmlOpacity) obj.tempobj.style.KhtmlOpacity = obj.degree / 100 } else { clearInterval(fadeclear[obj.slideshowid]) obj.nextcanvas = (obj.curcanvas == obj.canvasbase + "_0")? obj.canvasbase + "_0" : obj.canvasbase + "_1" obj.tempobj = iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas) obj.populateslide(obj.tempobj, obj.nextimageindex) currentId = obj.nextimageindex; obj.nextimageindex = (obj.nextimageindex < obj.postimages.length - 1)? obj.nextimageindex + 1 : 0 obj.timeout = setTimeout("fadearray[" + obj.slideshowid + "].rotateimage(timeToRotate, "+ currentId +")", obj.delay); } } fadeshow.prototype.populateslide = function(picobj, picindex) { var slideHTML = "" if (this.theimages[picindex][1] != "") //if associated link exists for image slideHTML = '
' slideHTML += '' if (this.theimages[picindex][1] != "") //if associated link exists for image slideHTML += '
' slideHTML += "" picobj.innerHTML = slideHTML } fadeshow.prototype.restartit = function (index) { this.stop = 0; this.curimageindex = index; this.startit(); } fadeshow.prototype.stopit = function () { this.stop = 1; clearTimeout(this.timeout); clearTimeout(this.rotateTimer); clearInterval(fadeclear[this.slideshowid]); } fadeshow.prototype.rotateimage = function(callback, index) { if (this.pausecheck == 1) //if pause onMouseover enabled, cache object var cacheobj = this if (this.stop == 1) return; else if (this.mouseovercheck == 1) this.rotateTimer = setTimeout(function() { cacheobj.rotateimage(callback, index) }, 100) else this.rotate(callback, index); this.curimageindex = (this.curimageindex < this.postimages.length - 1)? this.curimageindex + 1 : 0 } fadeshow.prototype.rotate = function (callback, index) { this.curimageindex = index; if (iebrowser && dom || dom) { this.resetit() var crossobj = this.tempobj = iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas) crossobj.style.zIndex++ fadeclear[this.slideshowid] = setInterval("fadepic(fadearray[" + this.slideshowid + "])", 10) this.curcanvas = (this.curcanvas == this.canvasbase + "_0")? this.canvasbase + "_1" : this.canvasbase + "_0" callback(index); } else { var ns4imgobj = document.images['defaultslide' + this.slideshowid] ns4imgobj.src = this.postimages[this.curimageindex].src callback(index); } } fadeshow.prototype.resetit = function() { this.degree = 10 var crossobj = iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas) if (crossobj.filters && crossobj.filters[0]) { if (typeof crossobj.filters[0].opacity == "number") //if IE6+ crossobj.filters(0).opacity = this.degree else //else if IE5.5- crossobj.style.filter = "alpha(opacity=" + this.degree + ")" } else if (crossobj.style.MozOpacity) crossobj.style.MozOpacity = this.degree / 101 else if (crossobj.style.KhtmlOpacity) crossobj.style.KhtmlOpacity = obj.degree / 100 } fadeshow.prototype.startit = function() { var crossobj = iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas) this.populateslide(crossobj, this.curimageindex) if (this.pausecheck == 1) { //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER var cacheobj = this var crossobjcontainer = iebrowser? iebrowser["master" + this.slideshowid] : document.getElementById("master" + this.slideshowid) crossobjcontainer.onmouseover = function() { cacheobj.mouseovercheck = 1 } crossobjcontainer.onmouseout = function() { cacheobj.mouseovercheck = 0 } } this.rotateimage(timeToRotate, this.curimageindex) } //SET IMAGE PATHS. Extend or contract array as needed changeimages = new Array(); changeimages[0]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgBirthdayOn.jpg", "http://cache.gifts.com/images/public/homepage/new/billboard/imgBirthdayOff.jpg", "http://", ""] //plain image syntax changeimages[1]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgWeddingOn.jpg", "http://cache.gifts.com/images/public/homepage/new/billboard/imgWeddingOff.jpg", "http://", ""] //image with link syntax changeimages[2]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgAnnivOn.jpg", "http://cache.gifts.com/images/public/homepage/new/billboard/imgAnnivOff.jpg", "http://", ""] //image with link and target syntax changeimages[3]=["http://cache.gifts.com/images/public/homepage/new/billboard/imgOccasionOn.jpg", "http://cache.gifts.com/images/public/homepage/new/billboard/imgOccasionOff.jpg", "http://", ""] //image with link and target syntax function timeToRotate(index) { for (i = 0; i < changeimages.length; i++) { var name = "menu" + i; if (index == i) { if ($(name)) $(name).src = changeimages[i][0]; } else { if ($(name)) $(name).src = changeimages[i][1]; } } } function overImageRoll(index) { fader.stopit(); fader.restartit(index); }