
//
// The API reference for these JavaScript functions can be found at http://www.walterzorn.com/dragdrop/api_e.htm
//

var yPos = 270;
var Slot1 = 175;

var S1x = 70;
var S2x = 311;
var S3x = 552;

var S1y = 410;
var S2y = 410;
var S3y = 410;

function CheckBr()
{
	var browser,brType
	browser =  navigator.userAgent;
	//alert(browser);
	brType = "Other"
	if (browser.indexOf("MSIE")!=-1)
	{
		if (browser.indexOf("America Online")!=-1)
		brType = "AOL";
		else if (browser.indexOf("Opera")!=-1)
		brType = "Opera";
		else
		brType ="IE";
	}
	if (browser.indexOf("Netscape")!=-1)
		brType = "Netscape";
	if (browser.indexOf("Firefox")!=-1)
		brType = "Firefox";
	if (browser.indexOf("Opera")!=-1)
		brType = "Opera";
		
	return brType;
}

function checkPosition(element,strQLabel) {

var brType123 = CheckBr();
//alert(brType123);

if(brType123 == "Firefox")
{
	Slot1 = 175 - 3;
	S1x = 70 - 2;
	S2x = 311 -2;
	S3x = 552 - 2;
	
	S1y = 410 - 8;
	S2y = 410 - 8;
	S3y = 410 - 8;
}
else if(brType123 == "AOL")
{
	Slot1 = 175 - 3;
	S1x = 70 - 1;
	S2x = 311 - 1;
	S3x = 552 - 1;
	
	// No Need to do for AOL	
}

	if(element.y >yPos)  // 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 < Slot1)
		{	element.moveTo(S1x,S1y);			//Original position --> 55,363
		    var frmElement = document.getElementById(strQLabel);
			frmElement.value=1;
		}
		else if(element.x < 425)
		{	element.moveTo(S2x,S1y);		//Original position --> 295,413
		    var frmElement = document.getElementById(strQLabel);
			frmElement.value=2;		
		}
		else
		{	element.moveTo(S3x,S1y);		//Original position --> 535,413
		    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 < Slot1)
		{	
			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(S1x,300+intYConst);				// Original    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(S2x,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(S3x,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()


//-->

