var Event = YAHOO.util.Event;
var Anim = YAHOO.util.Anim;
var Dom = YAHOO.util.Dom;

var blockBuilder = {
	blocks : [],
	
	init : function()
	{
		IE = /*@cc_on!@*/false;
		loopSpeed = (IE)?1:20;
		
		var p = Dom.get("content").getElementsByTagName("p");
		var blockContainer = Dom.get("blocks");
		Dom.setStyle("contact","display","none");
		for(var i=0; i < p.length; i++)
		{
			//temp no portfolio
			if(Dom.hasClass(p[i],"portfolio")) continue;
			
			var cont = document.createElement("div");
			cont.id = p[i].id;
			blockContainer.appendChild(cont);
			blockBuilder.build(p[i].innerHTML,p[i].className,cont);
		};
		
		var oldContent = Dom.get("content");
		oldContent.parentNode.removeChild(oldContent);
		
		blockBuilder.addContact();
	
		blockBuilder.blocks = getElementsByClassName("block");
		//blockBuilder.blocks = blockBuilder.shuffle(blockBuilder.blocks);
		
		Dom.setStyle(blockBuilder.blocks,"opacity",0);
		curr = 0;
		blockBuilder.fade();
		},
	
	build : function(obj,objClass, cont)
	{
		obj = obj.split("");
	
		var newCont = document.createElement("div");
		var createNewCont = 1;
		
		for(var i=0; obj.length > i; i++)
		{
			if(createNewCont == 1) var newCont = document.createElement("div");
			
			if(obj[i] == " " || obj[i] == "!") createNewCont = 1;
			else createNewCont = 0;
			
			var el = document.createElement("span");
			el.className = objClass;
			el.innerHTML = obj[i];
			if(obj[i] == heart) el.id = "heart";
			
			if(createNewCont == 0){
				if(IE) Dom.addClass(newCont,"ie-nofloat");
				newCont.appendChild(el);
				cont.appendChild(newCont);
			}else{
				cont.appendChild(el);
			}
		}		
	},
	
	addContact : function()
	{
		var contactBlocks = Dom.getChildren("contact");
		var linksLength = contactBlocks.length;
		for(var i=0; i<linksLength; i++) Dom.insertBefore(contactBlocks[i],"intro");
	},
	
	fade : function()
	{		
		if(curr == blockBuilder.blocks.length-1) initPortfolio();
		if(Dom.getStyle("heart","opacity") != "1") Dom.setStyle("heart","fontSize", "18px");
		
		var myAnim = new YAHOO.util.Anim(blockBuilder.blocks[curr], {opacity: { to: 1 } }, .5, YAHOO.util.Easing.easeOutStrong);
		myAnim.animate();
		curr++;
		if(curr != blockBuilder.blocks.length) setTimeout(blockBuilder.fade, loopSpeed);
	},
	
	shuffle : function()
	{
		for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
		return o;
	}
}


var initPortfolio = function()
{
	Dom.setStyle("portfolio","display","none");
	
	//infoBox = Dom.get("infobox");
	//var portfolio = Dom.getChildren("portfolio");
	//for(var i=0; i < portfolio.length; i++) {
	//	Event.on(portfolio[i],"mouseover",showInfoBox);
	//	Event.on(portfolio[i],"mouseout",showInfoBox);
	//}
	//Event.on(infoBox,"mouseover",function(){okToHide = 0});
	//Event.on(infoBox,"mouseout",function(){okToHide = 1});
}

var showInfoBox = function(e)
{
	var yPos = Dom.getRegion(this).top-35;
		hideInfoBox = 0;
	
	if(e.type == "mouseover")
	{
		hideInfoBox = 1;
		infoBox.innerHTML = "<p>"+this.title+"</p>";
		Dom.setStyle(infoBox,"opacity",0);
		
		var xPos = Dom.getRegion(this).left-70;
		Dom.setStyle(infoBox,"left",xPos+"px");
		Dom.setStyle(infoBox,"top",yPos+"px");
		Dom.setStyle(infoBox,"display","block");
		
		var opacAnim = new YAHOO.util.Anim(infoBox, {opacity: { to: 1 } }, .5, YAHOO.util.Easing.easeOutStrong);
		var moveAnim = new YAHOO.util.Anim(infoBox, {top: {from:yPos-10, to: yPos } }, .5, YAHOO.util.Easing.easeOutStrong);
		moveAnim.animate();
		opacAnim.animate();	
		
	}else
	{
		var opacAnim = new YAHOO.util.Anim(infoBox, {opacity: { to: 0 } }, .5, YAHOO.util.Easing.easeOutStrong);
		var moveAnim = new YAHOO.util.Anim(infoBox, {top: {to: yPos+10 } }, .5, YAHOO.util.Easing.easeOutStrong);
		opacAnim.onComplete.subscribe(function(){if(hideInfoBox == 0) Dom.setStyle(infoBox,"display","none")});
		opacAnim.animate();
		moveAnim.animate();
	}
}



var initSite = function()
{
	blockBuilder.init();
}


Event.onDOMReady(initSite);
