function resetPuzzle() {
	Sortable.create("puzzle",{tag:'img',
					overlap:'horizontal',
					constraint: false,
					onUpdate:function(){
					p = $("puzzle");
					p.moves = p.moves || 0;
					p.moves++;
					$('puzzleinfo').innerHTML = 
						"You've made " + p.moves + " move" + 
						(p.moves>1 ? "s" : "");
					if(Sortable.serialize("puzzle")==
					   "puzzle[]=1&puzzle[]=2&puzzle[]=3&puzzle[]=4&" +
					   "puzzle[]=5&puzzle[]=6&puzzle[]=7&puzzle[]=8&" +
					   "puzzle[]=9&puzzle[]=10&puzzle[]=11&puzzle[]=12") {
						$('puzzleinfo').innerHTML = "You've solved the puzzle in " + p.moves + " moves!";
						Element.Class.add('puzzleinfo','congrats');
					}
				}
			});
	$('puzzle').moves = 0;
}
resetPuzzle();
function randOrd(a, b){
	return (Math.round(Math.random())-0.5);
}
function randPuzzle() {
	var pa = new Array();
	pa[0]=Array(1,"gv650_01.png");
	pa[1]=Array(2,"gv650_02.png");
	pa[2]=Array(3,"gv650_03.png");
	pa[3]=Array(4,"gv650_04.png");
	pa[4]=Array(5,"gv650_05.png");
	pa[5]=Array(6,"gv650_06.png");
	pa[6]=Array(7,"gv650_07.png");
	pa[7]=Array(8,"gv650_08.png");
	pa[8]=Array(9,"gv650_09.png");
	pa[9]=Array(10,"gv650_10.png");
	pa[10]=Array(11,"gv650_11.png");
	pa[11]=Array(12,"gv650_12.png");
	pa.sort(randOrd);
	t = "";
	for(i=0;i<12;i++) {
		t += "<img id=\"image_"+pa[i][0]+"\" src=\"images/"+pa[i][1]+"\" alt=\"\" />";
	}
	$('puzzle').innerHTML = t;
	resetPuzzle();
	$('puzzleinfo').innerHTML = "(no move made yet)";
}
randPuzzle();
