
//
// The API reference for these JavaScript functions can be found at http://www.walterzorn.com/dragdrop/api_e.htm
//


function checkPosition(element,strQLabel) {
	if(element.y >200)  // allow cards to be temporarily moved to the bottom of the screen i.e. they have to be vertically level with the piles to be snapped into place horizontally
	{
		if(element.x < 175)
		{	element.moveTo(55,363);		
		    var frmElement = document.getElementById(strQLabel);
			frmElement.value=1;
		}
		else if(element.x < 425)
		{	element.moveTo(295,363);		
		    var frmElement = document.getElementById(strQLabel);
			frmElement.value=2;		
		}
		else
		{	element.moveTo(535,363);	
		    var frmElement = document.getElementById(strQLabel);
			frmElement.value=3;
		}
	}	
	else
	{
		var frmElement = document.getElementById(strQLabel);
		frmElement.value="";
	}
}  // end checkPosition()


function frmSubmit()
{
	if(ValidateSort())
	{
		document.forms[0].submit();
	}
}

function ValidateSort()
{
  var QLabel = document.forms[0].QLabel.value;
  arrValidations = document.forms[0].Validations.value.split("|")
  for(x=1;x<arrValidations.length;x++)
	{
	  if(arrValidations[x-1] == "1")
		{
		  if(document.forms[0][QLabel + '_' + x].value.length==0)
			{
			  alert("Please place each card into one of the piles.")	  
			  return false;
			  break;
			}
		}
	}
	return true;
}

function checkRankPosition(element,strValue,strQLabel,xvalue,yvalue,intNumPiles,intYConst) {
	for(k=1;k<intNumPiles+1;k++)
	{

	  var frmElement = document.getElementById(strQLabel + "_" + k);

	  if(frmElement.value==strValue)
		{
		  frmElement.value=""
		}
	}
	if(element.y <425+intYConst)  // allow cards to be temporarily moved to the bottom of the screen i.e. they have to be vertically level with the piles to be snapped into place horizontally
	{
		if(element.x < 175)
		{	
			var frmElement = document.getElementById(strQLabel + "_1");
			if(frmElement.value.length>0)
			{
				alert("You may only place one card in each pile. Please remove the current card before placing a new one.");				
				//alert(xvalue);
				element.moveTo(xvalue,yvalue);
			}
			else
			{
			element.moveTo(55,300+intYConst);				    
			frmElement.value=strValue;
			}
		}
		else if(element.x < 425)
		{	
			var frmElement = document.getElementById(strQLabel + "_2");
			if(frmElement.value.length>0)
			{
				alert("You may only place one card in each pile. Please remove the current card before placing a new one.");				
				//alert(xvalue);
				element.moveTo(xvalue,yvalue);
			}
			else
			{
			element.moveTo(295,300+intYConst);				    
			frmElement.value=strValue;	
			}
		}
		else
		{	var frmElement = document.getElementById(strQLabel + "_3");
			if(frmElement.value.length>0)
			{
				alert("You may only place one card in each pile. Please remove the current card before placing a new one.");				
				//alert(xvalue);
				element.moveTo(xvalue,yvalue);
			}
			else
			{
			element.moveTo(535,300+intYConst);			    
			frmElement.value=strValue;
			}
		}
	}	
	
}  // end checkPosition()

function RankSubmit()
{
	if(ValidateRank())
	{
		document.forms[0].submit();
	}
}

function ValidateRank()
{
  var QLabel = document.forms[0].QLabel.value;
  arrValidations = document.forms[0].Validations.value.split("|")
  for(x=1;x<arrValidations.length;x++)
	{
	  if(arrValidations[x-1] == "1")
		{
		  //alert(document.forms[0][QLabel + '_' + x].value.length)
		  if(document.forms[0][QLabel + '_' + x].value.length<1)
			{
			  alert("Please place one card into each pile.")	  
			  return false;
			  break;
			}
		}
	}
	return true;
}

function preprocess () {

	numCards = 12; 			// specify the total number of cards	
	validForDemo = 0; 	// check to ensure that there is a card in the first group so the next page will work properly

	for(i=0;i<numCards;i++)
	{
		if( !( group1(dd.elements[i].x, dd.elements[i].y) ) && !( group2(dd.elements[i].x, dd.elements[i].y) ) && !( group3(dd.elements[i].x, dd.elements[i].y) ) && !( group4(dd.elements[i].x, dd.elements[i].y) ) && !( group5(dd.elements[i].x, dd.elements[i].y) ) ) { alert("Every card must be pulled from the deck and placed in a pile!"); return(false); }
		
		if( group5(dd.elements[i].x, dd.elements[i].y) )
		{ document.forms[0].elements[i].value = 5; validForDemo++;}
		else if( group4(dd.elements[i].x, dd.elements[i].y) )
		{ document.forms[0].elements[i].value = 4; }
		else if( group3(dd.elements[i].x, dd.elements[i].y) )
		{ document.forms[0].elements[i].value = 3; }
		else if( group2(dd.elements[i].x, dd.elements[i].y) )
		{ document.forms[0].elements[i].value = 2; }
		else if( group1(dd.elements[i].x, dd.elements[i].y) )
		{ document.forms[0].elements[i].value = 1; }
	}
	
	// if(validForDemo < 2)  { alert("For the purposes of this demo, please place at least two cards in the 'Definitely Would Buy' pile."); return(false); }
} // end preprocess()

function group5(xvalue, yvalue) {

	var min_xvalue5 = 30;
	var max_xvalue5 = 70;
	var min_yvalue5 = 88;
	var max_yvalue5 = 128;
	
	if( xvalue < min_xvalue5 || xvalue > max_xvalue5 || yvalue < min_yvalue5 || yvalue > max_yvalue5 ) { return(false); } else { return(true);}

} // end group5()

function group4(xvalue, yvalue) {

	var min_xvalue4 = 178;
	var max_xvalue4 = 218;
	var min_yvalue4 = 88;
	var max_yvalue4 = 128;
	
	if( xvalue < min_xvalue4 || xvalue > max_xvalue4  ||  yvalue < min_yvalue4 || yvalue > max_yvalue4 ) { return(false); } else { return(true);}

} // end group4()

function group3(xvalue, yvalue) {

	var min_xvalue3 = 326;
	var max_xvalue3 = 366;
	var min_yvalue3 = 88;
	var max_yvalue3 = 128;
	
	if( xvalue < min_xvalue3 || xvalue > max_xvalue3  ||  yvalue < min_yvalue3 || yvalue > max_yvalue3 ) { return(false); } else { return(true);}

} // end group3()

function group2(xvalue, yvalue) {

	var min_xvalue2 = 474;
	var max_xvalue2 = 514;
	var min_yvalue2 = 88;
	var max_yvalue2 = 128;
	
	if( xvalue < min_xvalue2 || xvalue > max_xvalue2  ||  yvalue < min_yvalue2 || yvalue > max_yvalue2 ) { return(false); } else { return(true);}

} // end group2()

function group1(xvalue, yvalue) {

	var min_xvalue1 = 622;
	var max_xvalue1 = 662;
	var min_yvalue1 = 88;
	var max_yvalue1 = 128;
	
	if( xvalue < min_xvalue1 || xvalue > max_xvalue1  ||  yvalue < min_yvalue1 || yvalue > max_yvalue1 ) { return(false); } else { return(true);}

} // end group1()


//-->

