/* Author: (c) Emmanuel C. Halos (my_mudspring@yahoo.com) Personal use only. */
function vnPhotoChanger(pS) { var fs = { o: { slide: '' }, t: { s: '' }, p: { timeout: 15000, random: 1, curSlide: -1, lastSlide: -1, dir: 'rand/', photos: [ { src: 'corn.jpg', alt: 'Photo of corn roots', cap: 'Resulting corn roots treated without &amp; with <b class="vnb">Vital N<sup>&reg;</sup></b>' }, { src: 'onionPlots.jpg', alt: 'Photo of onion demo plot', cap: 'Onion field with the left plot as control and right plot treated with <b class="vnb">Vital N<sup>&reg;</sup></b>' }, { src: 'onions.jpg', alt: 'Photo of onions', cap: 'Onions treated with <b class="vnb">Vital N<sup>&reg;</sup></b>' }, { src: 'riceDemoPlot.jpg', alt: 'Photo of Rice demo plot', cap: '<b class="vnb">Vital N<sup>&reg;</sup></b> Rice Demo Plot (110 Days)' }, { src: 'riceDemoPlot2.jpg', alt: 'Photo of Rice plot', cap: 'Right Rice Plot treated with <b class="vnb">Vital N<sup>&reg;</sup></b>' }, { src: 'hybridRice.jpg', alt: 'Photo of Rice roots', cap: 'Resulting rice roots treated without &amp; with <b class="vnb">Vital N<sup>&reg;</sup></b>' }, { src: 'bellPeppers.jpg', alt: 'Photo of bell peppers', cap: 'Bell peppers treated with <b class="vnb">Vital N<sup>&reg;</sup></b>' } ] }, s: { off: 'echOff' }, id: { slide: 'vnPhotoChanger' } }; this.init = init; function init(pS) { var ls = { ok: 1 }; if (pS.id) { setProp('fs.id', 'pS.id'); } if (pS.s) { setProp('fs.s', 'pS.s'); } for (ls.e in fs.o) { eval('fs.o.' + ls.e + ' = document.getElementById(fs.id.' + ls.e + ');'); } if (!fs.o.slide ) { ls.ok = 0; } if (ls.ok) { ls.iList = []; for (ls.i=0; ls.i<fs.p.photos.length; ls.i++) { ls.file = fs.p.dir + fs.p.photos[ls.i].src; ls.iList.push(ls.file); } ls.tmp = new echPackLoader({ files: ls.iList, oncomplete: function() { clearTimeout(fs.t.s); fs.t.s = setTimeout(swap, fs.p.timeout); } }); } return this; } function swap(pType) { var ls = { }; clearTimeout(fs.t.s); if (fs.o.slide) { ls.cE = function(pE) { return document.createElement(pE); }; do { ls.idx = Math.round(Math.random() * (fs.p.photos.length-1)); } while(ls.idx == fs.p.lastSlide); ls.photo = fs.p.photos[ls.idx]; fs.p.curSlide = ls.idx; fs.p.lastSlide = fs.p.curSlide; addClassName(fs.o.slide, fs.s.off); clearChildNodes(fs.o.slide); ls.oI = ls.cE('img'); ls.oI.src = fs.p.dir + ls.photo.src; ls.oI.alt = ls.photo.alt; fs.o.slide.appendChild(ls.oI); ls.oC = ls.cE('figcaption'); ls.oC.innerHTML = (ls.photo.cap.length) ? ls.photo.cap : ' '; fs.o.slide.appendChild(ls.oC); delClassName(fs.o.slide, fs.s.off); fs.t.s = setTimeout(swap, fs.p.timeout); } } function clearChildNodes(pNode) { if (pNode) { while (pNode.lastChild) { pNode.removeChild(pNode.lastChild); } } } function setProp(varObj, argObj) { var ls = { varObj: eval(varObj), argObj: eval(argObj) }; if (ls.argObj) { for (ls.p in ls.varObj) { ls.tmp = eval(varObj + '.' + ls.p); switch (typeof(ls.tmp)) { case 'string': case 'number': ls.tmp = eval(argObj + '.' + ls.p); if (typeof(ls.tmp) != 'undefined') { eval(varObj + '.' + ls.p + ' = ls.tmp'); } break; case 'object': setProp(varObj + '.' + ls.p, argObj + '.' + ls.p); break; } } } } function addClassName(pObj, pClass) { var ls = {}; if (!hasClassName(pObj, pClass)) { pObj.className += ((pObj.className.length) ? ' ' : '') + pClass; } } function hasClassName(pObj, pClass) { var ls = { hasClass: 0 }; ls.re1 = new RegExp('^' + pClass + '(\\s+|$)', 'g'); ls.re2 = new RegExp('\\s+' + pClass + '(\\s+|$)', 'g'); if (pObj.className.search(ls.re1) > -1 || pObj.className.search(ls.re2) > -1) { ls.hasClass = 1; } return ls.hasClass; } function delClassName(pObj, pClass) { var ls = {}; pObj.className = pObj.className.replace(new RegExp('(^|\s*)' + pClass + '(\s*|$)', 'ig'), ''); pObj.className = pObj.className.replace(/^\s+|\s+$/g, ''); } if (pS) { init(pS); } }
