function getRecArray() {
var recArray=new Array();
recArray[0]= new recItem(20298526,20659089,'Fall-Inspired Wedding Cakes','http://img2.timeinc.net/instyle/images/2009/weddings/081709-buttercream1-75.jpg','wedding cakes');
recArray[1]= new recItem(20293262,20642287,'Couture Cakes','http://img2.timeinc.net/instyle/images/2009/weddings/063009-couture3-75x75.jpg','couture cakes');
recArray[2]= new recItem(20293276,20642265,'Cakes for Every Season','http://img2.timeinc.net/instyle/images/2009/weddings/063009-cake8-75x75.jpg','cakes');
recArray[3]= new recItem(20281824,20626953,'To Have & To Hold','http://img2.timeinc.net/instyle/images/2009/weddings/053009_cakes_75x75.jpg','cakes');
recArray[4]= new recItem(20245985,20555488,'Season's Eatings','http://img2.timeinc.net/instyle/images/2008/weddings/030408_cake01_75x75.jpg','cake');
recArray[5]= new recItem(20258560,20578756,'10 Standout Cakes','http://img2.timeinc.net/instyle/images/2009/weddings/021109_LEADvilla_75x75.jpg','Cakes');
recArray[6]= new recItem(20203796,20464408,'Celebrity Wedding Cakes','http://img2.timeinc.net/instyle/images/2008/weddings/060208_celeb04_75x75.jpg','Celeb Wedding - King');
recArray[7]= new recItem(20175366,20396980,'Twisted Tiers','http://img2.timeinc.net/instyle/images/2008/weddings/012408_crookedlead_75x75.jpg','crooked cake');
recArray[8]= new recItem(20175325,20401310,'Classic Cakes','http://img2.timeinc.net/instyle/images/2008/weddings/012408_talllead_75x75.jpg','tall cake');
recArray[9]= new recItem(20175357,20396956,'Colorful Cakes','http://img2.timeinc.net/instyle/images/2008/weddings/012408_tall12_75x75.jpg','tall cake');
recArray[10]= new recItem(20200103,20456770,'Groom's Cakes','http://img2.timeinc.net/instyle/images/2008/galleries/051408_cake03_75x75.jpg','Groom's Cakes');
recArray[11]= new recItem(20199356,20454488,'Chic Floral Cakes','http://img2.timeinc.net/instyle/images/2008/weddings/050909_blackroses_75x75.jpg','Petal Craft Cakes');
return recArray;
}
function recItem (id,lastSlideID,title,image_src,alt) {
this.id = id;
this.lastSlideID = lastSlideID;
this.title = title;
this.image_src = image_src;
this.alt = alt;
this.getLink = function() {
var str = '/weddings/gallery/0,,' + this.id + ',00.html'
return str;
}
this.getLastSlideLink = function() {
var str = '/weddings/gallery/0,,' + this.id + '_' + this.lastSlideID + ',00.html'
return str;
}
this.renderDisplay = function(classtxt) {
var disp = '';
if (classtxt.indexOf('current') == -1) {
disp = '

' + this.title + '
'
} else {
disp = '
' + this.title + '
'
}
return disp
}
}
function recComponent () {
var _arr = new Array();
var _currentID = '-1';
var _nextObj = "";
var _prevObj = "";
var _filteredArray = new Array();
var iswStaticPath = "http://img2.timeinc.net/weddings/static/2008";
this.setOverride = function(oarr) {
_arr = oarr;
}
this.setCurrentID = function(cid) {
_currentID = cid;
}
this.initialize = function () {
try {
// remove duplicates from array
var tmpArray = _arr.concat(getRecArray());
var usedIDs = "";
var counter = 0;
for (i=0; i < tmpArray.length; i++) {
var itemObj = tmpArray[i];
var id = itemObj.id;
if (usedIDs.indexOf('-'+id+'-') == -1) {
_filteredArray[counter] = itemObj;
counter++;
}
usedIDs = usedIDs + id + '-';
}
if (typeof(_filteredArray[0]) != 'undefined') {
_nextObj = _filteredArray[0];
_prevObj = _filteredArray[_filteredArray.length -1];
}
for (i=0; i < _filteredArray.length; i++) {
var itemObj = _filteredArray[i];
var id = itemObj.id;
if (id == _currentID) {
if (i > 0) {
_prevObj = _filteredArray[i-1];
}
if (i < _filteredArray.length -1) {
_nextObj = _filteredArray[i+1];
}
break;
}
}
} catch (err) {
alert('Problem with initializing more gallery: ' + err.description);
}
}
this.drawPreviousLink = function () {
try {
if (_prevObj != "") {
var str = '
';
document.write(str);
}
} catch(err) {
alert('Problem with drawPreviousLink: ' + err.description);
}
}
this.drawNextLinkTitle = function () {
try {
if (_nextObj != "") {
var str = '';
document.write(str);
}
} catch(err) {
alert('Problem with drawNextLinkTitle: ' + err.description);
}
}
this.drawNextLink = function () {
try {
if (_nextObj != "") {
var str = 'Next Gallery
'
document.write(str);
}
} catch(err) {
alert('Problem with drawNextLink: ' + err.description);
}
}
this.renderDisplay = function() {
var max = 12;
var display = '';
var tmpdisplay = '';
try {
for (i=0; i < _filteredArray.length; i++) {
var itemObj = _filteredArray[i];
var id = itemObj.id;
var counter = i + 1;
var txt = '';
if (_currentID == id) {
txt = 'current ';
}
if (counter % 6 == 0) {
txt = txt + 'last';
}
if (txt != "") {
txt = ' class="' + txt.replace(/^s*/, "").replace(/s*$/, "") + '"';
}
tmpdisplay = tmpdisplay + itemObj.renderDisplay(txt);
if (counter % 6 == 0 || max == counter || counter == _filteredArray.length) {
display = display + ''
tmpdisplay = "";
}
if (max == counter) {
break;
}
}
} catch(err) {
alert('Problem with rendering more gallery: ' + err.description);
}
return display
}
this.draw = function () {
document.write(this.renderDisplay());
}
}