//Random Transitions Slideshow- By JavaScript Kit (http://www.javascriptkit.com)
//Created: Nov 3rd, 2008
var symb="-";
var modurl="on";
if(modurl=="on"){
	var modpath="";
}else{
	var modpath="index.php?op=";
}
var global_transitions=[ //array of IE transition strings
	"progid:DXImageTransform.Microsoft.Barn()",
	"progid:DXImageTransform.Microsoft.Blinds()",
	"progid:DXImageTransform.Microsoft.CheckerBoard()",
	"progid:DXImageTransform.Microsoft.Fade()",
	"progid:DXImageTransform.Microsoft.GradientWipe()",
	"progid:DXImageTransform.Microsoft.Inset()",
	"progid:DXImageTransform.Microsoft.Iris()",
	"progid:DXImageTransform.Microsoft.Pixelate(maxSquare=15)",
	"progid:DXImageTransform.Microsoft.RadialWipe()",
	"progid:DXImageTransform.Microsoft.RandomBars()",
	"progid:DXImageTransform.Microsoft.RandomDissolve()",
	"progid:DXImageTransform.Microsoft.Slide()",
	"progid:DXImageTransform.Microsoft.Spiral()",
	"progid:DXImageTransform.Microsoft.Stretch()",
	"progid:DXImageTransform.Microsoft.Strips()",
	"progid:DXImageTransform.Microsoft.Wheel()",
	"progid:DXImageTransform.Microsoft.Zigzag()"
]

function flashyslideshow(setting){
	this.wrapperid=setting.wrapperid
	this.imagearray=setting.imagearray
	this.pause=setting.pause
	this.transduration=setting.transduration/1000 //convert from miliseconds to seconds unit to pass into el.filters.play()
	this.currentimg=0
	var preloadimages=[] //temp array to preload images
	for (var i=0; i<this.imagearray.length; i++){		
			preloadimages[i]=new Image()		
			preloadimages[i].src=this.imagearray[i][0];
	}
	document.write('<div id="'+this.wrapperid+'" class="'+setting.wrapperclass+'"><div id="'+this.wrapperid+'_inner" style="width:100%">'+this.getSlideHTML(this.currentimg)+'</div></div>')
	var effectindex=Math.floor(Math.random()*global_transitions.length) //randomly pick a transition to utilize
	var contentdiv=document.getElementById(this.wrapperid+"_inner")
	if (contentdiv.filters){ //if the filters[] collection is defined on element (only in IE)
		contentdiv.style.filter=global_transitions[effectindex] //define transition on element
		this.pause+=setting.transduration //add transition time to pause
	}
	this.filtersupport=(contentdiv.filters && contentdiv.filters.length>0)? true : false //test if element supports transitions and has one defined
	var slideshow=this
	flashyslideshow.addEvent(contentdiv, function(){slideshow.isMouseover=1}, "mouseover")
	flashyslideshow.addEvent(contentdiv, function(){slideshow.isMouseover=0}, "mouseout")
	setInterval(function(){slideshow.rotate()}, this.pause)
}

flashyslideshow.addEvent=function(target, functionref, tasktype){
	if (target.addEventListener)
		target.addEventListener(tasktype, functionref, false);
	else if (target.attachEvent)
		target.attachEvent('on'+tasktype, function(){return functionref.call(target, window.event)});
},

flashyslideshow.setopacity=function(el, degree){ //sets opacity of an element (FF and non IE browsers only)
	if (typeof el.style.opacity!="undefined")
		el.style.opacity=degree
	else
		el.style.MozOpacity=degree
	el.currentopacity=degree
},

flashyslideshow.prototype.getSlideHTML=function(index){	//alert(this.imagearray[index][5]);
	var slideHTML=(this.imagearray[index][1])? '' : '' //hyperlink slide?
	if(this.imagearray[index][4]=="on"){
		annual=' + $49 annual fee';
	}else{
		annual='';
	}//alert(annual);
	var titl=this.imagearray[index][7].toLowerCase();
	var reptit=titl.replace(" ","-");
	slideHTML+='<div class="sldleft">'
		slideHTML+='<div  style="width:600px;padding:3px">'
		slideHTML+='<h2 style="font-size:32px">'+this.imagearray[index][1].truncate(30,"..")+'</h2> '
		slideHTML+='</div>'
		slideHTML+='<div style="width:600px;padding:3px">'
		slideHTML+='<h3>'+this.imagearray[index][2].truncate(100,"..")+'</h3>'
		slideHTML+='</div>'
		slideHTML+='<div style="width:600px;padding:3px">'
		slideHTML+='<h3 style="padding-top:10px">'+'Starting at $'+this.imagearray[index][3]+annual+'</h3>'
		slideHTML+='</div>'	
		slideHTML+='<div style="width:600px;padding:3px">'
		slideHTML+='<a href="'+modpath+reptit+symb+'services'+symb+this.imagearray[index][6]+'" style="cursor:pointer"><img src="imgs/slideshow/details.png" align="absmiddle" border="0" width="139" height="37" class="fix" ></a>'+''
		slideHTML+='</div>'	
	slideHTML+='</div>'
	slideHTML+='<div class="sldright">'
	if(this.imagearray[index][0]!=""){
		slideHTML+='<img src="'+this.imagearray[index][0]+'" class="fix" width="248" height="246" />'
	}
	slideHTML+='</div>'	
	return slideHTML //return HTML for the slide at the specified index
}

flashyslideshow.prototype.rotate=function(){
	var contentdiv=document.getElementById(this.wrapperid+"_inner")
	if (this.isMouseover){ //if mouse is over slideshow
		return
	}
	this.currentimg=(this.currentimg<this.imagearray.length-1)? this.currentimg+1 : 0
	if (this.filtersupport){
		contentdiv.filters[0].apply()
	}
	else{
		flashyslideshow.setopacity(contentdiv, 0)
	}
	contentdiv.innerHTML=this.getSlideHTML(this.currentimg)
	if (this.filtersupport){
		contentdiv.filters[0].play(this.transduration)
	}
	else{
		contentdiv.fadetimer=setInterval(function(){
			if (contentdiv.currentopacity<1)
				flashyslideshow.setopacity(contentdiv, contentdiv.currentopacity+0.1)
			else
				clearInterval(contentdiv.fadetimer)
		}, 50) //end setInterval
	}
}


///Sample call on your page
/*
var flashyshow=new flashyslideshow({ //create instance of slideshow
	wrapperid: "myslideshow", //unique ID for this slideshow
	wrapperclass: "flashclass", //desired CSS class for this slideshow
	imagearray: [
		["summer.jpg", "http://en.wikipedia.org/wiki/Summer", "_new", "Such a nice Summer getaway."],
		["winter.jpg", "http://en.wikipedia.org/wiki/Winter", "", "Winter is nice, as long as there's snow right?"],
		["spring.jpg", "", "", "Flowers spring back to life in Spring."],
		["autumn.jpg", "", "", "Ah the cool breeze of autumn."]
	],
	pause: 2000, //pause between slides (milliseconds)
	transduration: 1000 //transition duration (milliseconds)
})
*/