window.onload = initQuiz;

var correctCount = 0;
var initHTML;

function initQuiz()
{
	initHTML = xGetElementById("container").innerHTML;

	for (var i = 0; i < 6; i++)
	{
		var elem;
		
		// Set up drag capability
		elem = xGetElementById("drag_" + ( i + 1));
		xEnableDrag("drag_" + (i + 1), fnDragStart, fnDrag, fnDragEnd);
		elem.initX = xLeft(elem);
		elem.initY = xTop(elem);
	}
}

function fnDragStart(ele, mdx, mdy)
{
  var container =  ele.offsetParent;
	while (container.parentNode && (container.id.indexOf('container')==-1)) container = container.offsetParent;
	ele.offL = 0;
	ele.offR = 0;
	ele.offT = 0;
	ele.offB = 0;
	ele.bL = xPageX(container)-xPageX(ele);
	ele.bT = xPageY(container)-xPageY(ele);
	ele.bR = ele.bL+xWidth(container)-xWidth(ele);
	ele.bB = ele.bT+xHeight(container)-xHeight(ele);
	ele.style.clear = "left";
	ele.style.zIndex = 10;
}

function fnDrag(ele, mdx, mdy)
{
  ele.offL+=mdx;
  ele.offT+=mdy;
	var x = Math.min(ele.bR,Math.max(ele.bL,ele.offL));
	var y = Math.min(ele.bB,Math.max(ele.bT,ele.offT));

	
	xMoveTo(ele, x, y);
}


function fnDragEnd(ele, mx, my)
{
	var ret;
	
	ret = fnValidTarget(ele.id, mx, my);

	if (ret == null)
	{
		ele.className = "quiz_drag3";
		xSlideTo(ele, ele.initX, ele.initY, 250);
	}
	else
	{
		ret.innerHTML = ele.innerHTML;
		ret.className = "quiz_drop_correct_7";
		xDisableDrag(ele);
		ele.style.visibility = "hidden";
		correctCount++;
	}
}

function fnValidTarget(id, mx, my)
{
	var elem;
	var ret = null;
	var sep = id.indexOf("_");
	var num = id.substring(sep + 1);
	
	for (var i = 0; i < 6; i++)
	{
		elem = xGetElementById("drop_" + ( i + 1));
		if (mx >= xPageX(elem) && mx <= (xPageX(elem) + xWidth(elem)))
		{
			if (my >= xPageY(elem) && my <= (xPageY(elem) + xHeight(elem)))
			{
				sep = elem.id.indexOf("_");
				if (elem.id.substring(sep + 1) == num)
				{
					ret = elem;
				}
			}
		}
	}
	return ret;
}

function fnResetQuestion()
{
	xGetElementById("container").innerHTML = initHTML;
	correctCount = 0;
	initQuiz();
}
