
var isol={root:(document.location.href.indexOf('zMz')==-1)?'/':'/zMz/',getElement:function(a,n){if(typeof a=='string'){n=n||document;var b=a.indexOf('.');if(b!=-1){var d=[],tg=a.substr(0,b),c=a.substr(b+1),s,f;if(c&&n.getElementsByClassName){d=n.getElementsByClassName(c);if(s=tg)f=this.isTag}else{d=n.getElementsByTagName(tg||'*');if(s=c)f=this.hasClass}if(s&&f){for(var i=0;a=d[i];i++){if(!f(s)){d.splice(i,1);$i--}}}return d}else{return n.getElementById(a)}}return a},addEvent:function(a,b,c){var c=this.getElement(c)||window;if(c.addEventListener){c.addEventListener(a,b,false)}else if(c.attachEvent){c.attachEvent('on'+a,function(){return b.call(c,window.event)})}},loadScript:function(a,b,c){if(b){this.addEvent('load',function(){isol.loadScript(a,false,c)})}else{var d=document.createElement("script");if(typeof c=='function'){if(d.readyState){d.onreadystatechange=function(){if(d.readyState=="loaded"||d.readyState=="complete"){d.onreadystatechange=null;c()}}}else{d.onload=function(){c()}}}d.src=a;document.getElementsByTagName('head')[0].appendChild(d)}},loadModule:function(a,b,c){if(typeof this[a]=='undefined'){this.loadScript(this.root+'js/isol/'+a+'.js',b,c)}},hasClass:function(a,c){var b=new RegExp("(?:^|\\s)"+c+"(?:$|\\s)");return(a.className&&a.className.indexOf(c)!=-1&&b.test(a.className))},isTag:function(a,b){return(a.tagName==b)}}


isol.rotate = {

	sets: [],

	imageSet: function(image_obj,delay,fade,fadetime,randomize) {

		var that=this;
		var curImage = 0;
		var curOpacity = 100;
		var prevImage = 0;
		var imagelist = [];
		var set_index = isol.rotate.sets.length;	

		this.delay = delay*1000 || 3000;
		this.fade = fade;
		this.fadetime = fadetime || 35;
		this.opstep = (fadetime > 500) ? 5 : ((fadetime > 250) ? 11 : 24);
		this.randomize = randomize || false;

		getImages(image_obj);

		this.rotate = function(opacity) {
			if (opacity < 100) {
				setFade(curImage,opacity);
				if (this.fade)	{					
					opacity += this.opstep;
					window.setTimeout(function(){that.rotate(opacity)},this.fadetime);
				} else {
					setFade(curImage,100);
					this.rotate(100);
				}
			} else {
				setFade(prevImage,0);
				prevImage=curImage;
				if (this.randomize) {
					while (curImage == prevImage) {
						curImage = Math.floor(Math.random() * imagelist.length);
					}
				} else {
					curImage+=1;
					if (curImage>=imagelist.length) {
						curImage=0;
					}
				}				
				imagelist[prevImage].style.zIndex = 0;
				imagelist[curImage].style.zIndex = 100;
				opacity=0;
				window.setTimeout(function(){that.rotate(opacity)},this.delay);
			}			
		}		

		function getImages(image_obj) {

			var image_obj = isol.getElement(image_obj);

			var node = image_obj.firstChild;
			while (node) {
				if (node.nodeType==1) {					
					imagelist.push(node);
				}
				node = node.nextSibling;
			}
			for(i=0;i<imagelist.length;i++) {
				imagelist[i].style.position='absolute';
				imagelist[i].style.top=0;
				imagelist[i].style.zIndex=0;
				setFade(i,0);
			}
			image_obj.style.visibility = 'visible';
			prevImage = imagelist.length-1;
			setFade(curImage,100);		
		}

		function setFade(index,opacity) {

			var img=imagelist[index];

			if (img.style.MozOpacity!=null) {
				img.style.MozOpacity = (opacity/100) - .001;
			} else if (img.style.opacity!=null) {
				img.style.opacity = (opacity/100) - .001;
			} else if (img.style.filter!=null) {
				img.style.filter = "alpha(opacity="+opacity+")";
			}
		}
	},

	addSet: function(image_obj,delay,fade,fadetime,randomize) {

		if (isol.getElement(image_obj))		{
			isol.rotate.sets.push(new isol.rotate.imageSet(image_obj,delay,fade,fadetime,randomize));
		}			
	},

	init: function() {	
		if (typeof isol.rotate.sets != 'undefined') {
			for (var i = 0; i < isol.rotate.sets.length; i++) {
				isol.rotate.sets[i].rotate(100);
			}
		}
	}
}

isol.addEvent('load',isol.rotate.init);

