
var dragobj;

function loadSequence()
{
	moveInit();
	makeAllLinksTargetBlank();
	makeAllResumeItemsReorderable();
	makeAllResumeItemsHighlightOnHover();
	makeAllResumeItemsMarkable();
	makeAllResumeItemsRemovable();
	document.getElementById("ExperienceTabs").style.display = "block";

//	selectExperienceTab(document.getElementById("timelineTab"));

	loadTimeline();
}

function selectExperienceTab(x)
{
	var ets = x.parentNode.childNodes;
	for (var i=0;i<ets.length;i++)
	{
		cssRemoveClass(ets[i],"selected");
	}
	cssAddClass(x,"selected");
	if (x.innerHTML=="Timeline View")
	{
		document.getElementById("instructions").style.display = "none";
		document.getElementById("ExperienceList").style.display = "none";
		document.getElementById("myTimeline").style.display = "block";
		document.getElementById("AcademicList").style.display = "block";
		document.getElementById("SkillsList").style.display = "block";
		loadTimeline();
	}
	else if (x.innerHTML=="Instructions")
	{
		document.getElementById("ExperienceList").style.display = "none";
		document.getElementById("myTimeline").style.display = "none";
		document.getElementById("AcademicList").style.display = "none";
		document.getElementById("SkillsList").style.display = "none";
		document.getElementById("instructions").style.display = "block";
	}
	else
	{
		document.getElementById("instructions").style.display = "none";
		document.getElementById("myTimeline").style.display = "none";	
		document.getElementById("AcademicList").style.display = "block";
		document.getElementById("SkillsList").style.display = "block";
		document.getElementById("ExperienceList").style.display = "block";	
	}
}

window.onload = function()
{
	loadSequence();
}
window.onresize = function()
{
	resizeTimeline();
}

function toggleMarking(d)
{
	if (cssHasClass(d,"marked"))
	{
		cssRemoveClass(d,"marked");
	}
	else
	{
		cssAddClass(d,"marked");
	}
}




var grb = function()
{

}
var drg = function()
{
	checkNode(dragobj);
	scrollWindow();
}
var drp = function()
{
	dropNode(dragobj,dragobj.parentNode);
}
function addHider()
{
	this.parentNode.parentNode.removeChild(this.parentNode);
}
function addGrabber()
{
	grab(this.parentNode,false,true,grb,drg,drp)
}
function makeMarkable()
{
	toggleMarking(this);
}



function makeAllResumeItemsMarkable()
{
	var ris = document.getElementsByClassName("resume_item");
	for (var i=0;i<ris.length;i++)
	{
		ris[i].onclick = makeMarkable;
	}
	
}


function findNotableBeforeMarker()
{
	var r = false;
	var n = document.getElementById("orderedResumeItems");
	for (var i=0;i<n.length;i++)
	{
		if (n.id=="notable_marker")
		{
			break;
		}
		else
		{
			r = true;
		}
	}
	return r;
}

function makeAllResumeItemsReorderable()
{
	var ris = document.getElementsByClassName("resume_item");
	for (var i=0;i<ris.length;i++)
	{
		if (ris[i].childNodes.length > 0)
		{
			var mt = document.createElement("div");
			mt.className = "movetab";
			mt.innerHTML = "Move";
			mt.onmousedown = addGrabber;
			ris[i].insertBefore(mt, ris[i].childNodes[0])
		}
	}	
}

function makeAllResumeItemsRemovable()
{
	var ris = document.getElementsByClassName("resume_item");
	for (var i=0;i<ris.length;i++)
	{
		if (ris[i].childNodes.length > 0)
		{
			var mt = document.createElement("div");
			mt.className = "hidetab";
			mt.innerHTML = "Hide";
			mt.onclick = addHider;
			ris[i].insertBefore(mt, ris[i].childNodes[0])
		}
	}	
}



function checkNode(node)
{
	var nodeY = getY(node);	
	var container = node.parentNode;
	var elements = document.getElementsByClassName("resume_item");	
	var stillLooking = true;
	for (var i=0;i<elements.length;i++)
	{
		cssRemoveClass(elements[i],"dropBefore");
		var elemY = getY(elements[i]);
		if ((nodeY < elemY) && cssHasClass(elements[i],"resume_item"))
		{
			if (stillLooking)
			{
				cssAddClass(elements[i],"dropBefore");
			}
			stillLooking = false;
		}
	}
}




function dropNode(node)
{
	var nodeY = getY(node);
	var container = node.parentNode;
	var elements = document.getElementsByClassName("resume_item");	
	var stillLooking = true;
	for (var i=0;i<elements.length;i++)
	{
		cssRemoveClass(elements[i],"dropBefore");
		var elemY = getY(elements[i]);
		if ((nodeY < elemY) && cssHasClass(elements[i],"resume_item"))
		{
			if (stillLooking)
			{
				insertNode(node, elements[i]);
			}
			stillLooking = false;
		}
	}	
}




function insertNode(node, before)
{

	cssRemoveClass(before,"dropBefore");
	node.style.position = "relative";
	node.style.top = "0px";
	before.parentNode.insertBefore(node, before);
}




var makeGlow = function()
{
	cssAddClass(this,"glow");
}
var stopGlow = function()
{
	cssRemoveClass(this,"glow");
}

function makeAllResumeItemsHighlightOnHover()
{
	var ris = document.getElementsByClassName("resume_item");
	for (var i=0;i<ris.length;i++)
	{
		ris[i].onmouseover = makeGlow;
		ris[i].onmouseout = stopGlow;		
	}
}


function makeAllLinksTargetBlank()
{
	var ls = document.getElementsByTagName('a');
	for (var i=0;i<ls.length;i++)
	{
		if ( (ls[i].href!="javascript:;") && (!(cssHasClass(ls[i].parentNode,"tabBar"))) )
		{
			ls[i].target = "_blank";
		}
	}
}



