// johnny cison
// www.toomuchstupid.com
// if you're swiping the code, please leave my name in it.

var fptr;

function pzinit(p) { req_send('/fun/sudoku/req/init.php?p='+p); }

function pzsubmit()
{
	var valid=1, sqdata='', val;
	for (var r=1; r<=9; r++)
	{
		for (var c=1; c<=9; c++)
		{
			if (fptr['sq_'+c+r])
			{
				if (! fptr['sq_'+c+r].value.length) { valid=0; }
			}
		}
	}

	if (valid)
	{
		document.getElementById('d_submit').style.visibility='hidden';

		var params='fnc=submit';
		var i=0;
		while (fptr.elements[i]) { params += '&'+fptr.elements[i].name+'='+encodeURIComponent(fptr.elements[i].value); i++; }
		req_post('/fun/sudoku/req/submit.php', params);
	}
	else { msgshow('You must complete the entire puzzle!', 5); }
}

function pzlevel(level) { document.location='/fun/sudoku/l_'+level; }

function sqenter(sid)
{
	document.getElementById('d_sq_'+sid).style.background='#fcc';
	iptr=fptr['sq_'+sid];
	iptr.style.background='#fcc'; iptr.focus();
}

function sqleave(sid)
{
	sqcheck(sid);
	document.getElementById('d_sq_'+sid).style.background='#fff';
	iptr=fptr['sq_'+sid];
	iptr.style.background='#fff'; iptr.blur();
}

function sqtype(sid) { fptr['sq_'+sid].value=''; }

function sqcheck(sid)
{
	var val=fptr['sq_'+sid].value;
	if ((val.search(/\D/) >= 0) || (val.search(/0/) >= 0)) { fptr['sq_'+sid].value=''; }
}

function msgshow(msg, hide)
{
	mptr=document.getElementById('d_msg');
	mptr.innerHTML=msg;
	mptr.style.visibility='visible';
	if (hide) { setTimeout('msghide()', hide*1000); }
}

function msghide() { document.getElementById('d_msg').style.visibility='hidden'; }
