var fonts = function() {
	Cufon.replace('h1,h2,.sitemap_txt,.cufon_fix, .viewlink');
}

function setup_functions() {
	fonts();
}

document.addEvent("domready", function() {
	// review the size of the page
	
	setup_functions();
	if ($("port_expo")) {
		var initpos = document.getElement('#port_expo .item').getCoordinates();
		$("port_peek").setStyles({ 'top' : initpos.top, 'left' : initpos.left});
		
		$$('#port_expo .item').each(function(elmt){
			var id = elmt.getElement("img").getAttribute('rel');
			var last = null;
			var currentHeight = 0;
			//elmt.setStyle('opacity',0.5);
			elmt.addEvents({
				'mouseenter' : function(e) {
					$$('#port_expo .item').each(function(el){
						el.removeClass("opaque");
					});
					elmt.addClass("opaque");
					$("port_peek").set('load', {
						method : 'post',
						data : 'page=site/portfolio_expo.php&id='+id,
						evalScripts: true,
						onComplete : function(event) {
							setup_functions();
							$('close_port_peek').addEvent('click',function(e) {
								$("port_peek").fade('out');
								e.stop();
							});
							if ($("port_peek").getStyle('opacity') == 0) {
								$("port_peek").fade('in');					
							}
						
							$("port_peek").setStyle("display","");
							var pos = elmt.getCoordinates();
							var real_height = $('peek_wrapper').getScrollSize().y - 10;
							var bodyheight  = document.getElement('body').getScrollSize().y - 40;
							var destx = pos.left+(pos.width/2);
							var desty = pos.top+(pos.height/2);
							if (desty + real_height > bodyheight) {
								desty = bodyheight - real_height;
							}
							$("port_peek").set('morph', {
								duration : 400
							}).morph({
								'height' : real_height, 
								'top' : desty,
								'left' : destx
							});
							
							
							// next pop up
							var more = $("port_peek").getElement('.more_port_peek');
							more.addEvent("click", function(ev) {
			
								var id = more.getAttribute("id").substring('more_port_peek_'.length);
								$('lightbox_nav').setStyle("display","none");
								ajaxLightbox.show(id,false);
								$("port_peek").setStyle("visibility","hidden");
								$('lightbox_close').addEvent('click', function(e) {
									ajaxLightbox.close();
									$("port_peek").setStyle("visibility","visible");
									return false;
								});
								$("port_peek").setStyle("display","none");
								ev.stop();
							});
						}
					}).load('ajax.php');
				}
			});
		});
		
		
	}
	
	$('header').setStyles({ display: '', 'opacity': 0}).set('tween', { duration: 1700 }).fade('in');
	
	//sizeHeader();
	//Event.observe(window, 'resize', sizeHeader);
	if($('teampage')) {
		$$(".team_link").each(function(e){
			e.addEvent(
				"click", function() {
					var idattr = e.get("id");
					var id = idattr.substring("team_link_".length);
					getPersonelInfo(id,function(){
						$$(".team_link").each(function(e) {
							if (e.getChildren('.teamcover').hasClass('hidden')) {
								e.getChildren('.teamcover').removeClass('hidden');
								e.removeClass("selected");
							}
							if (e.get("id") == idattr) {
								e.getChildren('.teamcover').addClass('hidden');
								e.addClass("selected");
							} 
						});
						setup_functions();
					});
					return false;
				}
			);
			e.addEvent("mouseenter", function() {
				e.setStyle("opacity",1);
			});
			e.addEvent("mouseleave", function() {
				if (!e.hasClass("selected")){
		
				}	
			});
		});
		
		var el = document.getElement(".team_link"); 
		if (el) {
			el.addClass('selected');
			el.getChildren('.teamcover').addClass('hidden');
		}
		
		$$(".team_link_list").each(function(e){
			e.addEvent(
				"click", function() {
					var idattr = e.get("id");
					var id = idattr.substring("team_link_list_".length);
					$("team_link_"+id).fireEvent("click");
					$("gridviewlink").fireEvent("click");
					return false;
				}
			);
		});
		
		$("gridviewlink").addEvent("click",function(event) {
			$("team_content").setStyle("display","");
			$("team_content_list").setStyle("display","none");
			$("gridviewlink").setStyle("color","#ff00aa");
			$("listviewlink").setStyle("color","#003f65");
			return false;
		});
		
		$("listviewlink").addEvent("click",function(event) {
			curGalleryHeight  = $("team_content").getScrollSize().y;
			$("team_content").setStyle("display","none");
			$("team_content_list").setStyle("display","");
			$("gridviewlink").setStyle("color","#003f65");
			$("listviewlink").setStyle("color","#ff00aa");
			return false;
		});
		if(location.hash == "#list") {
			$("listviewlink").fireEvent("click");
		}
	}
	
	if($("portfoliopage")) {
		ajaxLightbox.initialize();
		var next = 390+9;
		var curGalleryHeight = 0;
		
		$("gridviewlink").addEvent("click",function(e) {
			$("gridview").setStyle("display","");
			$("listview").setStyle("display","none");
			$("gridviewlink").setStyle("color","#ff00aa");
			$("listviewlink").setStyle("color","#003f65");
			return false;
		});
		
		$("listviewlink").addEvent("click",function(event) {
			$("gridview").setStyle("display","none");
			$("listview").setStyle("display","");
			$("gridviewlink").setStyle("color","#003f65");
			$("listviewlink").setStyle("color","#ff00aa");
			return false;
		});
		
		
		$$(".gallery").each(function(e){
			e.set("tween",{
				duration : 1000,
				transition : Fx.Transitions.Quad.easeOut
			});
		});
		
		$$(".portfolio_item .gallery .port_link").each(function(e){
			e.addEvent("mouseenter",function() {
				/*
				e.set("morph", {
					duration : 500,
					transition : Fx.Transitions.Quad.easeOut,
					link : "chain"
				});
				*/
			});
		});
		
		$$(".portfolio_item .next_button").each(function(e){
			var id = e.get("id").substring("next_button_".length);
			if ($('gallery_'+id)) {
				$("gallery_"+id).tween("left", 0);
				if ($('gallery_'+id).getSize().x-4 < next)  e.setStyle("visibility","hidden");					
				$("gallery_"+id).set('pos', 0);
				e.addEvent("click", function() {
					if (Math.abs(curPosition[id]-next) >= $('gallery_'+id).getSize().x) return;
					$("prev_button_"+id).setStyle("visibility","visible");
			
					var curx = $("gallery_"+id).getPosition($("gallery_window_"+id)).x;
					var pos = $("gallery_"+id).get('pos');
					pos--;
					$("gallery_"+id).set('pos', pos);
					$("gallery_"+id).tween("left", (pos * next));
					
					curPosition[id] -= next;
					if (Math.abs(curPosition[id]-next) >= $('gallery_'+id).getSize().x) {e.setStyle("visibility","hidden");}
				});
				e.addEvent("mouseenter", function() { 
					e.set("src","img/but_next_h.gif");
				});
				e.addEvent("mouseleave", function() { 
					e.set("src","img/but_next.gif");
				});
			} else {
				e.setStyle("visibility","hidden");	
			}
		});
		
		$$(".portfolio_item .prev_button").each(function(e){
			e.setStyle("visibility","hidden");
			var id = e.get("id").substring("prev_button_".length);
			if ($('gallery_'+id)) {
				e.addEvent("click", function() {
					$("gallery_"+id).tween("left", 0);
					if (curPosition[id] >= 0) return;
					$("next_button_"+id).setStyle("visibility","visible");
					
					var curx = $("gallery_"+id).getPosition($("gallery_window_"+id)).x;
					var pos = $("gallery_"+id).get('pos');
					pos++;
					$("gallery_"+id).set('pos', pos);
					
					$("gallery_"+id).tween("left", (pos * next));
					curPosition[id] += next;
					if (curPosition[id] >= 0) {e.setStyle("visibility","hidden");}					
				});
				
				e.addEvent("mouseenter", function() { 
					e.set("src","img/but_prev_h.gif");
				});
				e.addEvent("mouseleave", function() { 
					e.set("src","img/but_prev.gif");
				});
			} else {
				 e.setStyle("visibility","hidden");	
			}
			
		});
		
		if(location.hash == "#list") {
			$("listviewlink").fireEvent("click");
		}
	}
	
});

function getPersonelInfo(id, completeFunction) {
	new Request.HTML({
		url: 'ajax.php',
		method: 'post',
		update: 'details',
		data : 'page=site/team_detail.php&person='+id,
		evalScripts: true,
		onComplete: completeFunction
	}).send();	
}

