var tsos = {
	
	flygo: false,
	
	initGallery : function(e)
	{
		// get slides
		var slides = [];
		slides = dom.byClass("slide", dom.byId("gslider"));
		
		// turn on all slides
		dom.setDisplay(slides, "");
		
		//	get controls
		var controls = dom.byTag("a", dom.byId("gallery_menu"));
		
		for (var i = 0; i < controls.length; i ++) {
			if (controls[i].id.length) {
				controls[i].onclick = function(e){				
					tsos.setGalleryControl(e);
					tsos.setGallery(e) ;
					return false;
				}
			}
		}
	},
	
	setGalleryControl : function(e)
	{
		if(!sfx.slideStarted){
			//reset any existing set "on" buttons
			dom.swapClass(dom.byTag("li", dom.byId("gallery_menu")), "on", "");
			
			// set "on" for control
			dom.addClass([(dom.getEventElement(e).parentNode)], "on");
		}
	},
	
	setGallery : function(e)
	{
		// get requested slide value
		var obj = dom.getEventElement(e);		
		var slideNo = (obj.parentNode.id).replace(/item*/, "");
		var vc = dom.byClass("viewcard")[0];
		vc.id = obj.parentNode.href.replace(/^.*id=([0-9]+)/, "$1");

		// start sliding
		sfx.slideStart( dom.byId("gslider") ,slideNo);
		// stop butterflies, reinstate on slide completion
		tsos.flygo = false;
		sfx.slideCallback = "tsos.flyToggle(); tsos.playSound('"+vc.id+"');";
		
		//show menu options
		if( dom.byId("sprinkles").style.display == "" ){
			sfx.fadeSwitch(dom.byId("sprinkles"), dom.byId("gallery_menu_opts"), 5);
		}
		dom.byId("collogo").onclick = function(e){
			sfx.fadeSwitch(dom.byId("gallery_menu_opts"), dom.byId("sprinkles"), 5);
			sfx.slideStart( dom.byId("gslider") ,0);
			dom.swapClass(dom.byTag("li", dom.byId("gallery_menu")), "on", "");
			return false;
		}
		// setup lightbox								
		vc.onclick = function(e){
			
			var lb = lightbox.create({"lbId":"gdc"});
			
			var img 			= dom.create("img");
			img.src 			= "images/loader_lrg.gif"; 
			img.style.position 	= "absolute";
			img.style.top 		= "275px";
			img.style.left 		= "50%";

			lb.appendChild(img); 
			sfx.show(lb);
			
			//ajax.delay = 500;
			ajax.request("_includes/_requests_ajax.php?request=displaycase&id=" + vc.id + "", tsos.showDisplayCase);
			return false;		
		}	
	},
		
	showDisplayCase : function(ajaxReq){
		
		
		var dc 			= dom.byId("gdc");
		dc.innerHTML= "";
		dc.style.top 			 = "100px";
		dc.style.width 			 = "478px";
		
		
		var d = dom.create("div", "s");
		d.innerHTML = ajaxReq.responseText;
		sfx.setOpacity(d, 0);
		
		d.style.top 			 = "100px";
		d.style.width 			 = "478px";
		d.style.backgroundColor = "#ffffff";
		
		dc.appendChild(d);
		
		var dcclose = dom.byId("dc_close");
		dcclose.href = "";
		dcclose.onclick =  function(e){
			dom.delParentByClass(dom.getEventElement(e).parentNode, "lbdiv");
			return false;
		}
		sfx.setOpacity(d, 101);
		//sfx.show(dc, false, 20);
	},
	
	playSound: function(id)
	{
		var qt = dom.byId("qt");
		if (qt) {
			qt.parentNode.removeChild(qt);
		}
		qt = dom.create("embed");
		qt.id = "qt";
		qt.width = "50%";
		qt.height = "1";
		qt.style.position = "absolute";
		qt.style.top = "-100px";
		dom.byId("gallery").appendChild(qt);
		qt.src = "images/sounds/" + id + ".wav";
	},
	
	flyToggle: function()
	{
		tsos.flygo = !tsos.flygo;
		if (tsos.flygo) tsos.flyButts();
	},
	
	flyButts: function()
	{
		if (tsos.flygo) {
			var m = dom.byId("main");
			var mv = 5;
			m.style.position = "relative";
			for (var w = 1; w <= 3; w ++) {
				var b = dom.byId("butterfly" + w);
				if (! b) {
					var pos = [{x:220,y:150}, {x:620,y:160}, {x:380,y:80}];
					b = dom.create("img");
					b.id = "butterfly" + w;
					b.src = "images/Butterfly" + w + ".gif";
					b.style.position = "absolute";
					b.style.left = pos[w - 1].x + "px";
					b.style.top = pos[w - 1].y + "px";
					b.style.zIndex = 5;
					m.appendChild(b);
				}
				else {
					var x = ["-","+"];
					eval("var l = " + x[Math.round(Math.random())] + " " + Math.floor((Math.random() + 1) * mv) + ";");
					eval("var t = " + x[Math.round(Math.random())] + " " + Math.floor((Math.random() + 1) * mv) + ";");
					
					if (b.offsetLeft + l > 0 && b.offsetLeft + l < m.offsetWidth) {
						b.style.left = (b.offsetLeft + l) + "px";
					}
					else {
						b.style.left = (b.offsetLeft - (l * 2)) + "px";
					}
					
					if (b.offsetTop + t > 0 && b.offsetTop + t < (m.offsetHeight - 90)) {
						b.style.top = (b.offsetTop + t) + "px";
					}
					else {
						b.style.top = (b.offsetTop - (t * 2)) + "px";
					}
				}
			}
			setTimeout(tsos.flyButts, 150);
		}
	}
}

var loc = document.location.href;

if (loc.search(/collections.php/) != -1 || loc.search(/.php/) == -1) {
	dom.addEvent(window, "load", tsos.flyToggle, false);
}

/* 
bug: clicking on an previously selected product makes butterflies chop out (nav)
looks like the position code is being called multiple times.
*/