// hide or show text given an id

var currentMove = 0;
var unlock_flag = 0;

function showText(id) 
{
	e = document.getElementById(id);  
	e.style.display = "block";
}

function hideText(id) 
{
	e = document.getElementById(id);	
	e.style.display = "none";
}

function showName (name, length) 
{
	for (var i = 1; i <= length; i++) 
	{
		var id = name + i;
		showElement(id);
	} 
}

function hideName (name, length) 
{
	for (var i = 1; i <= length; i++) 
	{
		var id = name + i;
		hideElement(id);
	} 
}

function hideElement(id)
{
	//alert(id);
	var e = document.getElementById(id);
	e.style.display = "none";

}

function showElement(id)
{
	var e = document.getElementById(id);
	e.style.display = "block";

}

function hidePicture(id)
{
	//alert(id);
	var e = document.getElementById(id);
	e.style.display = "none";
	
	var b = document.getElementById('board');
	b.style.display = "block";

}

function showPicture(id)
{
	var e = document.getElementById(id);
	e.style.display = "block";

	var b = document.getElementById('board');
	b.style.display = "none";
}


function test1()
{
	jumpToMove(4);

}

function test2()
{
	jumpToMove(7);
}

function hideAllImages()
{
	hideElement("duchampchessset");
}


function loadindex()
{
	currentMove = 0;

	//hideAllImages();
	
	// make sure the previous moves are reset

	showElement("hidepiece1");
	showElement("hidepiece2");
	showElement("hidepiece3");
	showElement("hidepiece4");
	showElement("hidepiece5");
	showElement("hidepiece6");
	showElement("hidepiece8");
	
	// hide all move descriptions

	showElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");

	// hide all pieces portion
	hideElement("piece1");
	hideElement("piece2");
	hideElement("piece3");
	hideElement("piece4");
	hideElement("piece5");
	hideElement("piece6");
	hideElement("piece7");
	hideElement("piece8");
	hideElement("piece9a");
	hideElement("piece9b");

	// setup link portion
	showElement("link0");
	showElement("link1");
	hideElement("link2");
	hideElement("link3");
	hideElement("link4");
	hideElement("link5");
	hideElement("link6");
	hideElement("link7");
	hideElement("link8");


	// hide non link portion

	hideElement("greylink1");
	hideElement("greylink2");
	hideElement("greylink3");
	hideElement("greylink4");
	hideElement("greylink5");
	hideElement("greylink6");
	hideElement("greylink7");
	hideElement("greylink8");

	

/*
	DisableEnableLinks("link1", false);
	DisableEnableLinks("link2", false);
	DisableEnableLinks("link3", false);
	DisableEnableLinks("link4", false);
	DisableEnableLinks("link5", false);
	DisableEnableLinks("link6", false);
	DisableEnableLinks("link7", false);
	DisableEnableLinks("link8", false);
	*/
}

function jumpToMove(number)
{
	if(number >= 0)
	{
		currentMove = 1; 
		loadindex();
	}

	if(number >= 1) 
	{
		currentMove = 2; 
		loadmove1();
	}
	if(number >= 2) 
	{
		currentMove = 3; 
		loadmove2();
	}
	if(number >= 3) 
	{
		currentMove = 4; 
		loadmove3();
	}
	if(number >= 4) 
	{
		currentMove = 5; 
		loadmove4();
	}
	if(number >= 5) 
	{
		currentMove = 6; 
		loadmove5();
	}
	if(number >= 6) 
	{
		currentMove = 7; 
		loadmove6();
	}
	if(number >= 7) 
	{
		currentMove = 8; 
		loadmove7();
	}

}


function pieceMouse(show, moveNum)
{
	var number = currentMove + 1;

	if(moveNum == number)
	{
		if(show == 1)
		{
			showElement("temppiece"+number);
		}
		else
		{
			hideElement("temppiece"+number);
		}
	}

}

function preview(number)
{
	hideElement("hidepiece"+number);
	showElement("temppiece"+number);
	
}

function hidePreview(number)
{
	showElement("hidepiece"+number);
	hideElement("temppiece"+number);
}


function loadmove1()
{
	currentMove = 1;

	hideElement('temppiece1');

	// text portion
	hideElement("move0");
	showElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");

	// pieces portion
	hideElement("hidepiece1");
	showElement("piece1");

	// link portion

	showElement("greylink1");
	hideElement("link1");
	showElement("link2");


}

function loadmove2()
{
	currentMove = 2;

	hideElement('temppiece2');

	hideElement("move0");
	hideElement("move1");
	showElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");

	// pieces portion
	hideElement("hidepiece2");
	showElement("piece2");

	// link portion

	showElement("greylink2");
	hideElement("link2");
	showElement("link3");

}

function loadmove3()
{
	currentMove = 3;

	hideElement('temppiece3');

	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	showElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");

	// pieces portion
	hideElement("hidepiece3");
	showElement("piece3");

	// link portion

	showElement("greylink3");
	hideElement("link3");
	showElement("link4");

}

function loadmove4()
{
	currentMove = 4;

	hideElement('temppiece4');

	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	showElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");

	// pieces portion
	hideElement("hidepiece4");
	showElement("piece4");


	// link portion

	showElement("greylink4");
	hideElement("link4");
	showElement("link5");

}

function loadmove5()
{
	currentMove = 5;

	hideElement('temppiece5');

	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	showElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");


	// pieces portion
	hideElement("hidepiece5");
	showElement("piece5");

	// link portion

	showElement("greylink5");
	hideElement("link5");
	showElement("link6");

}

function loadmove6()
{
	currentMove = 6;

	hideElement('temppiece6');

	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	showElement("move6");
	hideElement("move7");
	hideElement("move8");


	// pieces portion
	hideElement("hidepiece6");
	showElement("piece6");

	// link portion

	showElement("greylink6");
	hideElement("link6");
	showElement("link7");

}

function loadmove7()
{
	currentMove = 7;

	hideElement('temppiece7');

	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	showElement("move7");
	hideElement("move8");


	// pieces portion
	hideElement("piece5");
	showElement("piece7");

	// link portion

	showElement("greylink7");
	hideElement("link7");
	showElement("link8");

}

function loadmove8()
{
	currentMove = 8;
	unlock_flag = 1;

	hideElement('temppiece8');

	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	showElement("move8");


	// pieces portion
	hideElement("hidepiece8");
	showElement("piece8");

	// link portion

	//showElement("greylink8");
	//hideElement("link8");

	// open up all the other moves

	
	showElement("link1");
	showElement("link2");
	showElement("link3");
	showElement("link4");
	showElement("link5");
	showElement("link6");
	showElement("link7");
	showElement("link8");
	
	hideElement("greylink1");
	hideElement("greylink2");
	hideElement("greylink3");
	hideElement("greylink4");
	hideElement("greylink5");
	hideElement("greylink6");
	hideElement("greylink7");
	hideElement("greylink8");
	

}

function loadmove9()
{
	hideElement("move0");
	hideElement("move1");
	hideElement("move2");
	hideElement("move3");
	hideElement("move4");
	hideElement("move5");
	hideElement("move6");
	hideElement("move7");
	hideElement("move8");
	showElement("move9");

	// pieces portion
	hideElement("hidepiece9a");
	hideElement("hidepiece9b");
	showElement("piece9a");
	showElement("piece9b");
}


// function borrowed and modified from
// http://radio.javaranch.com/pascarello/2005/05/17/1116355421179.html

function DisableEnableLinks(id, xHow)
{

	var e = document.getElementById(id);

	if(!xHow)
		e.style.color = "none";
	else
		e.style.color = "black";

  
    e.disabled = xHow;
    //link with onclick
    if(e.onclick && xHow)
	{  
        e.onclick = new Function("return false;" + e.onclick.toString().getFuncBody());
    }
    //link without onclick
    else if(xHow)
		 {  
      e.onclick = function(){return false;}
    }
    //remove return false with link without onclick
    else if(!xHow && e.onclick.toString().indexOf("function(){return false;}") != -1){            
      e.onclick = null;
    }
    //remove return false link with onclick
    else if(!xHow && e.onclick.toString().indexOf("return false;") != -1){  
      strClick = e.onclick.toString().getFuncBody().replace("return false;","")
      e.onclick = new Function(strClick);
    }



}

// function borrowed from
// http://radio.javaranch.com/pascarello/2005/05/17/1116355421179.html

String.prototype.getFuncBody = function(){ 
  var str=this.toString(); 
  str=str.replace(/[^{]+{/,"");
  str=str.substring(0,str.length-1);   
  str = str.replace(/\n/gi,"");
  if(!str.match(/\(.*\)/gi))str += ")";
  return str; 
} 

  // borrowed from ecology lab
  // http://ecologylab.cs.tamu.edu/

var popupArgs	= 'resizable=yes,scrollbars=yes,location=yes';

var ourWindow;

function popupSize(href, title, width, height)
{
	ourWindow = popup10(href, title, width, height, popupArgs, true);
}

function popupTitle(href,title)
{
   var width	= Math.min(screen.availWidth, 1024);
   var height	= Math.min(screen.availHeight, 768);

   ourWindow = popup10(href, title, width, height, popupArgs, true);
}

function siiPopup(href)
{
   var width	= Math.min(screen.availWidth, 1024);
   var height	= Math.min(screen.availHeight, 768);

   ourWindow = popup10(href, 'sii_content', width, height, popupArgs, true);
}

function popup10(href, title, width, height, args, globalWin) // Window(URL,String,int,int,String,boolean)
{
   args	= args ? "," + args : "";
   args = "width=" + width +",height="+ height + args;
   var w;
   if (globalWin)
   {
      if (!popup3Win || popup3Win.closed)
	 popup3Win	= open("", title, args);
      w			= popup3Win;
   }
   else
   {
      w			= open("", title, args);
      w.location	= "about:blank";
   }
   w.focus();
   w.location.href	= href;
   return w;
}

var popup3Win;
/**
 * This version of popup is for handling windows with content that is
 * tainted from here. It puts our blank in, before the content.
 */
function popup3(href, title, width, height, args, globalWin) // Window(URL,String,int,int,String,boolean)
{
   args	= args ? "," + args : "";
   args = "width=" + width +",height="+ height + args;
//   return popup4(href, title, args, globalWin);
   var w;
   if (globalWin)
   {
      if (!popup3Win || popup3Win.closed)
	 popup3Win	= open("", title, args);
      w			= popup3Win;
   }
   else
      w			= open("", title, args);
   w.location	= href;
   w.focus();
   return w;
}




