/**
 * @author göran hellström
 */
var hasSeed = false;
var loggedIn = false;
var internalPage;
var seed_id = 0;
var seed = 0;
dojo.require("dojo.crypto.*");

function login()
{
	getSeed();
}
function getSeed()
{
	if (!loggedIn && !hasSeed) 
	{
		dojo.io.bind(
			{
				url: 'data/functions.php',
				method: 'post',
				content: {
					func: 'getSeed'
				},
				load: 
					function(evt, data)
						{
							handleSeed(data);
						}
			}
		)
	}	
}
function handleSeed(cb){
	var ot = cb.split("ERR:");
	if(ot.length >1){
		alert(ot[1].replace(/#/gi,'\n'));
	}
	else{
		var results = ot[0].split('|');
		seed_id = results[0];
		seed = results[1];
		hasSeed = true;
		validateLogin();
	}
}
function validateLogin()
{
/*	if (loggedIn){
		top.location.href = internalPage;
		return;
	}
*/
	var username = dojo.byId('user').value;
	var password = dojo.byId('password').value;

	if (username != '' && password  != '') {
		hash = dojo.crypto.MD5.compute(dojo.crypto.MD5.compute(password,dojo.crypto.outputTypes.Hex) + seed,dojo.crypto.outputTypes.Hex);
	
		dojo.io.bind(
			{
				url: 'data/functions.php',
				method: 'post',
				content: {
					func: 'checkLogin',
					id: seed_id,
					username: username,
					hash: hash
				},
				load: 
					function(evt, data)
						{
							handleValidate(data);
						}
			}
		)

	}
}
function handleValidate(cb)
{
	var ot = cb.split("ERR:");
	if(ot.length == 2){
		alert(ot[1].replace(/#/gi,'\n'));
		hasSeed = false;
		loggedIn = false;
	}
	else{
		var results = ot[0].split('|');
		if(results[0]=='true'){
			hasSeed = false;
			loggedIn = true;
			internalPage = results[1];
			top.location.href = internalPage;
		}
	}
}
