tar_portfolio={
	init:function(){
		tar_portfolio.setup();
	},
	setup:function(){
		$("#portfolio_categories ul li:eq(0)").addClass("selected").append('<div id="portfolio_li_sel_mark"></div>');
		$("#portfolio_detcol .section").hide();
		$("#portfolio_detcol .section:eq(0)").addClass("selected").fadeIn(function(){ $(this).removeAttr("style"); });
		
		var gettitle=$("#portfolio_list").attr("class").replace("proj_","");
		if (gettitle!=""){
			var getproj=$("#portfolio_list .thumb_list li").index($("#portfolio_list a[rel="+gettitle+"]").parent());
		} else {
			var getproj=0;
		}
		$("#portfolio_list .thumb_list li:eq("+getproj+")").addClass("selected");
		
		$("#portfolio_list").attr("rel",0);
		$("#portfolio_images").attr("rel",0);
		$("#portfolio_list_highlight").addClass("pos"+(1+getproj));
		
		var licount=$("#portfolio_list .thumb_list li").length;
		for(i=0;i<licount;i++){
			$("#portfolio_list .thumb_list li:eq("+i+")").addClass("pos_"+(i%5)+" item_"+i);
			if(i>4){ $("#portfolio_list .thumb_list li:eq("+i+")").hide(); }
		}
		
		var catcount=$("#portfolio_categories ul li").length;
		for(i=0;i<catcount;i++){
			$("#portfolio_categories ul li:eq("+i+")").attr("rel",i);
		}
		
		tar_portfolio.createportable();
		tar_portfolio.setupthumbs();
		
		$(".thumb_scroll").each(function(){
			tar_portfolio.setupthumbscroll(this);
		});
		
		var imgcount=$("#portfolio_list .thumb_list li").length;
		var adjust=(imgcount%5>0)?1:0;
		var pagecount=(imgcount>5)?parseInt(imgcount/5)+adjust:1;
		
		tar_portfolio.events(pagecount-1);
	},
	setupthumbs:function(){
		var thumbcount=$("#portfolio_images .thumb_list li").length;
		for(i=0;i<thumbcount;i++){
			$("#portfolio_images .thumb_list li:eq("+i+")").addClass("pos_"+(i%4)+" item_"+i).find("img").attr("rel",(i%4));
			if(i>3){ $("#portfolio_images .thumb_list li:eq("+i+")").hide(); }
			
			$("#portfolio_images .thumb_list img").css({"width":90,"height":68});
			$("#portfolio_images .thumb_list img:eq(0)").addClass("selected").css({"width":100,"height":75});
		}
	},
	setupthumbscroll:function(elem){
		perpage=($(elem).parent().attr("id")=="portfolio_list")?5:4;
		
		var imgcount=$(elem).prev().find("img").length;
		var adjust=(imgcount%perpage>0)?1:0;
		var pagecount=(imgcount>perpage)?parseInt(imgcount/perpage)+adjust:1;
		
		$(elem).find(".list").empty();
		$(elem).find(".button").remove();
		
		if(pagecount>1){
			$(elem).find(".thumb_scroll_round").prepend('<span class="button prev"></span>');
			$(elem).find(".thumb_scroll_round").append('<span class="button next"></span>');
		}
		for(i=0;i<pagecount;i++){
			$(elem).find(".list").append('<span class="pagemark"></span>');
		}
	
		var projpage=$(elem).find(".pagemark").length;
		var buttons=$(elem).find(".button").length;
		var padding=parseInt($(elem).find(".thumb_scroll_round").css("padding-left"))+parseInt($(elem).find(".thumb_scroll_round").css("padding-right"));
		$(elem).css({"width":(padding+(projpage*20)+(buttons*20))});
	
		$(elem).find(".list").find(".pagemark:eq(0)").addClass("selected");
	},
	createportable:function(){
		$("#portfolio_title").before('<div id="portablefolio"><div class="topbar"><h3>Portablefolio</h3><div class="list"></div></div><div class="notify">The Portablefolio, conveniently located at the top of your browser. Roll over me to pick a new project to view.</div><div id="portablefolio_hitbox"></div></div>');
		$("#portfolio_list .thumb_list").clone().appendTo("#portablefolio .list");
		$("#portablefolio .list li").removeAttr("style");
	},
	events:function(pagecount){
		$("#portfolio_categories li").live("click",function(){
			if(!($(this).hasClass("selected"))){
				$("#portfolio_categories li.selected").removeClass("selected").css({"line-height":"49px","font-size":"2em"}).animate({"line-height":"30px","font-size":"1em"},100);
				$("#portfolio_li_sel_mark").remove();
				$(this).addClass("selected").css({"line-height":"30px","font-size":"1em"}).animate({"line-height":"49px","font-size":"2em"},100);
				var getdiv = $(this).attr("rel");
				$("#portfolio_detcol .section.selected").removeClass("selected").animate({"opacity":0,"left":300},300,function(){
					$("#portfolio_detcol .section:eq("+getdiv+")").addClass("selected").css({"opacity":0,"display":"block","left":40,"top":300}).animate({"opacity":1,"top":0},500,function(){ $(this).removeAttr("style"); });
					$("#portfolio_categories li.selected").append('<div id="portfolio_li_sel_mark"></div>');
					$("#portfolio_li_sel_mark").css({"left":443}).animate({"left":0},300);
				});
			}
			$(this).find("a").blur();
			return false;
		});
	
		$("#portfolio_images .thumb_list img").live("click",function(){
			if(!($(this).hasClass("selected"))){
				var myleft=parseInt($(this).css("left"));
				var mypos=parseInt($(this).attr("rel"));
				var itleft=parseInt($("#portfolio_images .thumb_list .selected").css("left"));
				var itpos=parseInt($("#portfolio_images .thumb_list .selected").attr("rel"));
			
				var offset=Math.abs(mypos-itpos);
			
				if(mypos>itpos){
					myadj=-10;
					itadj=0;
					highval=mypos;
					lowval=itpos;
					genadj=-10;
				} else {
					myadj=0;
					itadj=10;
					genadj=10;
					highval=itpos;
					lowval=mypos;
				}
			
				$("#portfolio_images .thumb_list .selected").removeClass("selected").animate({"width":90,"height":68,"left":itleft+itadj},50);
				$(this).addClass("selected").animate({"width":100,"height":75,"left":myleft+myadj},50);
			
				if(offset>1){
					for(i=lowval+1;i<highval;i++){
						var newleft=parseInt($("#portfolio_images .thumb_list img:eq("+i+")").css("left"));
						$("#portfolio_images .thumb_list img:eq("+i+")").animate({"left":newleft+genadj},50);
					}
				}
				
				var newimg=$(this).parent().attr("href");
				$("#portfolio_images .full_image").append('<img src="'+newimg+'" id="fadeinimg" style="position:absolute;top:0;left:0;z-index:10;display:none;"/>');
				$("#fadeinimg").fadeIn(300,function(){ $("#realimg").attr("src",newimg);$("#fadeinimg").remove(); });
				return false;
			}
			return false;
		});
	
		$("#portfolio_list .thumb_list li").live("click",function(){
			tar_portfolio.switchproject(this);
			return false;
		});
		$("#portablefolio .thumb_list li").live("click",function(){
			tar_portfolio.switchprojectsm(this);
			return false;
		});
	
		$("#portfolio_list .thumb_scroll .button").live("click",function(){
			var pagenum=parseInt($("#portfolio_list").attr("rel"));
			
			$("#portfolio_list_highlight").fadeOut(700);
			
			base=($(this).hasClass("next"))?1:-1;
			
			for(i=0;i<5;i++){
				dec=(base>0)?i:4-i;
				hitit=dec+pagenum*5;
				setTimeout('tar_portfolio.showroomeffects.takemeout($("#portfolio_list .item_'+hitit+'"))',100*i);
			}
			pagenum=tar_portfolio.limit(pagenum+base,pagecount);
			
			for(i=0;i<5;i++){
				dec=(base>0)?i:4-i;
				hitit=dec+pagenum*5;
				setTimeout('tar_portfolio.showroomeffects.bringmein($("#portfolio_list .item_'+hitit+'"),'+(base*100)+')',100*i+500);
			}
			$("#portfolio_list").attr("rel",pagenum);
			$("#portfolio_list .thumb_scroll .pagemark.selected").removeClass("selected");
			$("#portfolio_list .thumb_scroll .pagemark:eq("+pagenum+")").addClass("selected");
			return false;
		});
	
		$("#portfolio_images .thumb_scroll .button").live("click",function(){
			var pagenum=parseInt($("#portfolio_images").attr("rel"));
			
			base=($(this).hasClass("next"))?1:-1;
			
			for(i=0;i<4;i++){
				dec=(base>0)?i:3-i;
				hitit=dec+pagenum*4;
				setTimeout('tar_portfolio.showroomeffects.takemeout($("#portfolio_images .item_'+hitit+'"))',100*i);
			}
			pagenum=tar_portfolio.limit(pagenum+base,pagecount);
			
			for(i=0;i<4;i++){
				dec=(base>0)?i:3-i;
				hitit=dec+pagenum*4;
				setTimeout('tar_portfolio.showroomeffects.bringmein($("#portfolio_images .item_'+hitit+'"),'+(base*100)+')',100*i+500);
			}
			$("#portfolio_images").attr("rel",pagenum);
			$("#portfolio_images .thumb_scroll .pagemark.selected").removeClass("selected");
			$("#portfolio_images .thumb_scroll .pagemark:eq("+pagenum+")").addClass("selected");
			return false;
		});
		
		$(document).scroll(function(){
			var offset=$(document).scrollTop();
			var has=$("#portablefolio").hasClass("shown");
			var limit=320;//parseInt($("#portfolio_list").offset().top)+parseInt($("#portfolio_list").outerHeight())+parseInt($("#portfolio_categories").outerHeight())-40;
			if(offset>=limit){
				if(!(has)){
					$("#portablefolio").addClass("shown").animate({"top":0},300);
					var curselect=$("#portfolio_list li").index($("#portfolio_list li.selected"));
					$("#portablefolio .selected").removeClass("selected");
					$("#portablefolio li:eq("+curselect+")").addClass("selected");
				}
			} else {
				if(has){
					$("#portablefolio").removeClass("shown").animate({"top":-100},100);
				} else {
					$("#portablefolio").removeClass("shown").css({"top":-100});
				}
			}
		});
		
	},
	switchproject:function(elem){
		if(!($(elem).hasClass("selected"))){
			var getdata=$(elem).children("a").attr("rel");
			
			var classname=$(elem).attr("class").split(" ");
			var gotopos=parseInt(classname[0].replace("pos_",""));
			var gotoitem=parseInt(classname[1].replace("item_",""));
		
			$("#portfolio_list .thumb_list li.selected").removeClass("selected").find(".cover").fadeIn(700);
			$("#portfolio_list .thumb_list li.item_"+gotoitem).addClass("selected").find(".cover").css({"display":"block"});
			$("#portfolio_list_highlight").fadeOut(700,function(){
				$(this).removeAttr("class").attr("class",("pos"+(gotopos+1)));
			});
			
			tar_portfolio.json(getdata);
		}
	},
	switchprojectsm:function(elem){
		if(!($(elem).hasClass("selected"))){
			var classname=$(elem).attr("class").split(" ");
			var gotoitem=parseInt(classname[1].replace("item_",""));
			$("#portablefolio li.selected").removeClass("selected");
			$(elem).addClass("selected");
		
			tar_portfolio.switchproject($("#portfolio_list .thumb_list li:eq("+gotoitem+")"));
		}
	},
	showroomeffects:{
		bringmein:function(elem,offset){
			$(elem).css({"display":"block"});
			var myleft=parseInt($(elem).css("left"));
			$(elem).css({"left":myleft+offset,"opacity":0}).animate({"left":(myleft-(offset/2)),"opacity":1},200,function(){$(this).animate({"left":myleft},300);});
			if($(elem).hasClass("selected")){
				$("#portfolio_list_highlight").fadeIn(700);
			}
		},
		takemeout:function(elem){
			$(elem).fadeOut();
		}
	},
	limit:function(v,l){
		v=(v<0)?l:v;
		v=(v>l)?0:v;
		return v;
	},
	json:function(code){
		var getpage="http://www.mindseedlabs.com/ping/portfolio_profile/"+code+"/:fu="+(new Date().getTime());
		$("body").append('<div id="loadproj"><img src="/_layouts/new-layout/css/showroom/loadproj.gif" alt="Loading new Project"></div>');
		$.ajax({
			url:getpage,
			dataType:'json',
			success:function(json){
				$("#loadproj").fadeOut(function(){$(this).remove();});
				$("#portfolio_list .thumb_list li.selected .cover").fadeOut(700);
				$("#portfolio_list_highlight").fadeIn(700);
				$("#portfolio_title h1").animate({"left":-1200},function(){
					$(this).find(".title").html(json.title);
					$(this).find("a").attr("href",json.url);
					$(this).find("a span").html(json.url);
					$(this).animate({"left":0});
				});
				$("#portfolio_optcol").animate({"left":-1000},function(){
					$("#portfolio_categories ul").empty();
					var i=0;
					for(k in json.data){
						var formatted=(i==0)?'<li class="selected" rel="'+i+'"><span>'+k+'</span><div id="portfolio_li_sel_mark"></div></li>':'<li rel="'+i+'"><span>'+k+'</span></li>';
						$("#portfolio_categories ul").append(formatted);
						i++;
					}
					
					$("#portfolio_images .thumb_list ul").empty();
					$("#portfolio_images").attr("rel",0);
					
					$("#realimg").attr("src","resources/loading.gif");
					var totalimage=json.images.length;
					for(i=0;i<totalimage;i++){
						var newfull=(i==0)?json.fullpath+json.images[i]:newfull;
						$("#portfolio_images .thumb_list ul").append('<li><a href="'+json.fullpath+json.images[i]+'"><img src="'+json.thumbpath+json.images[i]+'"/></a></li>');
					}
					$("#realimg").attr("src",newfull);
					tar_portfolio.setupthumbs();
					tar_portfolio.setupthumbscroll($("#portfolio_images .thumb_scroll"));
					
					$("#portfolio_categories ul li span").css({"margin-left":-400});
					$("#portfolio_images .thumb_list").css({"margin-left":-400});
					$("#portfolio_optcol").animate({"left":0},1000,function(){
						var litotal=$("#portfolio_categories ul li").length;
						for(i=0;i<litotal;i++){
							setTimeout('$("#portfolio_categories ul li:eq('+i+') span").animate({"margin-left":0,"padding-left":60},function(){ $(this).animate({"margin-left":0,"padding-left":0}); })',100*i);
						}
					});
					
					$("#portfolio_images .thumb_list").css({"margin-left":-1000});
					$("#portfolio_detcol").animate({"left":1442},function(){
						$("#portfolio_detcol").empty();
						var i=0;
						for(k in json.data){
							var extraclass=(i==0)?' selected':'';
							var extrashow=(i==0)?' style="display:block;"':' style="display:none;"';
							var formatted='<div class="section'+extraclass+'" rel="'+i+'"'+extrashow+'><h2>'+k+'</h2>'+json.data[k]+'</div>';
							$("#portfolio_detcol").append(formatted);
							i++;
						}
						$("#portfolio_detcol h2").css({"margin-left":200});
						setTimeout('$("#portfolio_detcol").animate({"left":442},800)',1000);
						setTimeout('$("#portfolio_detcol h2").animate({"margin-left":0},1000)',1000);
						setTimeout('$("#portfolio_images .thumb_list").animate({"margin-left":50},function(){ $(this).animate({"margin-left":0}); })',1000);
					});
				});
			},
			error:function(XMLHttpRequest,textStatus,errorThrown){
				//alert("Poorly formed JSON response.\n\n\nFor Administrators:\n------------------------------------------------\nrequestedPage="+getpage+"\nXMLHttpRequest="+XMLHttpRequest.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown)
			}
		});
	}
}

$(document).ready(function(){
	if($("#portfolio").length){tar_portfolio.init()};
});

