function Tooltip(){
    var This = this;
	this.ie = navigator.appName.indexOf("xplorer") > 0 ? true : false;
	
	var el = new Element(document.body);
	//var tip = el.append("div", "", 'class="tooltip" style="position:absolute;z-index:9000"');
		//el = document.getElementById("wrap").appendChild(el);  
	
    this.tip = new Animation("tooltip",{alpha:0.01});
	
	this.show = function(message, e){
	   var ei = new EventInfo(e, true);
	   This.tip.element.setContent(message);
	   This.tip.element.show('block');
	   This.tip.effect({alpha:99.9,duration:0.3});
	   ei.source.onmousemove = function(e){   
		    var ein = new EventInfo(e, true);  
			var y = 0;
			Window.construct();
			if(This.ie){
				if(Window.scrolledy){
				    y = ein.ymouse-17+Window.scrolledy; 
				}else{//alert(win.vscroll);
					y = ein.ymouse-17;
				} 
				//y = (ein.ymouse-17) + (win.vsrcoll - win.height); 
			}else{
				y = ein.ymouse-17
			}
			This.tip.element.setPosition(ein.xmouse + 5, y - 5);
	   } 
	}                
	
	this.hide = function(e){
	   
	  	This.tip.element.hide('none'); //effect({alpha:0.01,duration:0.3}); 
	
	}
	
}

var Photos = {
	body:null,
	matte:null,
	img:null,
	make:function(){
		var imgs = document.getElementById("wrap").getElementsByTagName("img");
		for(var i = 0; i < imgs.length; i++){
			var src = imgs[i].getAttribute("src");
			if(imgs[i].className.indexOf("photo") >= 0 && src.match(/_square|_small|_medium/)){
				imgs[i].style.cursor = "pointer";
				imgs[i].onclick = Photos.enlarge;
			}
		}
	},
	enlarge:function(e){
		var ei = new EventInfo(e, true);
		var src = ei.source.getAttribute("src");
		Photos.body = new Element(document.body);
		Window.construct();
		var matte = Photos.body.append("div", "<span>LOADING</span>", 'class="photomatte" style="width:100%;height:100%;" onclick="Photos.delarge();"');
			matte.style.height = Window.height + 'px';
			matte.style.top = Window.scrolledy + 'px';
			
		Photos.matte = new Animation(matte, {alpha:0.01});
		Photos.matte.element.show('block');
		Photos.matte.effect({alpha:90, duration:0.2, fps:1/50, trans:physics.easeOut});
				
		src = src.replace(/_small|_medium|_square/,'_large');
		var img = Photos.body.append("img", false, 'src="'+src+'" style="visiblity:hidden;position:absolute;top:0;left:0;z-index:6002;"');
			img.onload = Photos.onload;
							
		Photos.img = new Animation(img,{alpha:0.01});	
	},
	onload:function(e){
		Window.construct();
		var ei = new EventInfo(e, true);
		Photos.matte.element.setContent("");

		var left = (Window.width/2) - Photos.img.element.getRealWidth()/2;
		var top = (Window.height/2) + Window.scrolledy - (Photos.img.element.getRealHeight()/2);
		
		Photos.img.element.element.style.top = top + 'px';
		Photos.img.element.element.style.left = left + 'px';
		
		Photos.img.element.show();
		Photos.img.effect({alpha:99.9, duration:0.2, fps:1/50, trans:physics.easeOut});
	},
	delarge:function(){
		Photos.img.effect({alpha:0.01});
		Photos.matte.effect({alpha:0.01,duration:0.2}, function(){ 
			Photos.body.element.removeChild(Photos.img.element.element);
			Photos.body.element.removeChild(Photos.matte.element.element);
		});
		
	},
	track:function(){	
		if(Photos.img){
				Window.construct();			
				var left = (Window.width/2) - Photos.img.element.getRealWidth()/2;
				var top = (Window.height/2) + Window.scrolledy - (Photos.img.element.getRealHeight()/2);
				Photos.matte.element.element.style.top = Window.scrolledy + 'px';
					
				Photos.img.element.element.style.top = top + 'px';
				Photos.img.element.element.style.left = left + 'px';			
		}
	}	
}

var Slide = {
	layer:null,
	slider:null,
	cont:null,
	imgs:null,
	full:false,
	make:function(){
		Slide.slider = new Animation("slider", {x:1, y:1});	
		Slide.imgs = Slide.slider.element.getChildren("img");
		var w = 0;
		for(var s = 0; s < Slide.imgs.length; s++){
			var lft = (s * (Slide.imgs[0].offsetWidth + 10));	
			Slide.imgs[s].style.left = (s * (Slide.imgs[0].offsetWidth + 10)) + 'px';		
			w = lft + Slide.imgs[0].offsetWidth;
		}
		Slide.slider.element.element.style.width = w + 'px'; 
		var lft = Slide.slider.element.element.offsetWidth + 10;
		var clone = Slide.slider.element.element.cloneNode(true);
			clone.style.position = 'absolute';

		document.getElementById("slideshow").appendChild(clone);
		Slide.cont = new Animation(clone,{ x:lft, y:10});
		
	},
	advance:function(){
		
		var nx = Slide.slider.element.getRealLeft() - 223;
		Slide.slider.effect({x:nx,y:1, duration:0.3, trans:physics.easeOut}, function(){																					   
			Slide.slider.element.element.style.left = nx + 'px';
			if(nx + Slide.slider.element.getRealWidth() < 0){
			 	Slide.slider.element.element.style.left = Slide.cont.element.getRealLeft() + Slide.cont.element.getRealWidth() + 'px';
			}
		});
		 
		
		var cnx = Slide.cont.element.getRealLeft() - 223;
		Slide.cont.effect({x:cnx,y:1, duration:0.3, trans:physics.easeOut}, function(){																					   
			Slide.cont.element.element.style.left = cnx + 'px';
			if(cnx + Slide.cont.element.getRealWidth() < 0){
			 	Slide.cont.element.element.style.left = Slide.slider.element.getRealLeft() + Slide.slider.element.getRealWidth() + 18 + 'px';
			}
		});
								
		//window.setTimeout(Slide.advance, 2000);
	},
	fullscreen:function(pid, aid){
			Slide.full = new Animation("fullflash", {alpha:0.01, units:'%', width:100, height:100});
			Slide.full.element.show("block");
			Slide.full.element.setContent('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="90%" height="90%" id="flshslideshow"><param name="bgcolor" value="#222222" /><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="http://studio.legitify.com/player/slideshow.swf?a='+aid+'&post_id='+pid+'" /><param name="quality" value="high" /><embed src="http://studio.legitify.com/player/slideshow.swf?a='+aid+'&post_id='+pid+'" quality="high" bgcolor="#2222222" width="90%" height="90%" name="slideshow" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></center>');				
			Slide.full.effect({alpha:90});
			Window.construct();					
			Slide.full.element.element.style.top = Window.scrolledy + 'px';	
			Slide.full.element.element.style.height = Window.height;
			
			
	var cls = document.createElement("a");
				cls = Slide.full.element.element.appendChild(cls); //, Slide.full.element.element.firstChild);
				cls.innerHTML = "{ CLOSE SLIDESHOW }";
				cls.className = "closelink";
				cls.onclick = Slide.closefull;
		
	},
	track:function(){		

		Window.construct();			
		Slide.full.element.element.style.top = Window.scrolledy + 'px';										
		
	},
	closefull:function(){			
			Slide.full = document.getElementById("fullflash");
			Slide.full.style.display = "none";
			Slide.full.innerHTML = "";
	},
	previous:function(){
		var nx = Slide.slider.element.getRealLeft() + 220;
		Slide.slider.effect({x:nx,y:0, duration:0.3, trans:physics.easeOut}, function(){																					   
			Slide.slider.element.element.style.left = nx + 'px';
			if(nx > 210){
			 	Slide.slider.element.element.style.left = 210 - Slide.cont.element.getRealWidth() + 'px';
			}
		});
		 
		
		var cnx = Slide.cont.element.getRealLeft() + 220;
		Slide.cont.effect({x:cnx,y:0, duration:0.3, trans:physics.easeOut}, function(){																					   
			Slide.cont.element.element.style.left = cnx + 'px';
			if(cnx + Slide.cont.element.getRealWidth() > 0){
			 	Slide.cont.element.element.style.left = Slide.slider.element.getRealLeft() + Slide.slider.element.getRealWidth() + 20 + 'px';
			}
		});
	}
}

//addWindowLoadListener("scroll",Photos.make);

addWindowEventListener("scroll",Photos.track);
addWindowEventListener("scroll",Slide.track);
