/**
 * ACG Cardholder Login
 */

// includes
var inclBase = location.protocol+'//'+location.hostname+(-1!=location.pathname.indexOf('pl_test/')?'/acgpl_test/':'/acgpl/');
document.write('<script type="text/javascript" src="'+inclBase+'js/utils.js"></script>');
document.write('<script type="text/javascript" src="'+inclBase+'js/request.js"></script>');
document.write('<script type="text/javascript" src="'+inclBase+'js/md5.js"></script>');


function LoginErrorMsg(m)
{
	var e = document.getElementById('acg-lgn-msg');
	e.style.backgroundColor = '#fee';
	setDivText('acg-lgn-msg', m);
}

function LoginStatMsg(m)
{
	var e = document.getElementById('acg-lgn-msg');
	e.style.backgroundColor = '#eee';
	setDivText('acg-lgn-msg', m);	
}

function LoginDoRetry()
{
	document.acg_lgn_form.acg_lgn_id.options.length = 0;
	showElem('acg-lgn-grp');
	hideElem('acg-lgn-select');
	LoginStatMsg('Cardholder login:');
}

function LoginCheckHandler(respData)
{
	if ('undefined' != typeof respData.error)
	{
		LoginErrorMsg('Communication error. Please try again.');
		return;
	}

	// count the cards
	var numCards = 0;
	var firstId = 0;
	for (key in respData)
	{
		if (!numCards)
			firstId = key;
		++numCards;
	}
	
	// nothing in card popup list
	document.acg_lgn_form.acg_lgn_id.options.length = 0;

	// just one so we're good
	if (1 == numCards) {
		LoginStatMsg('Logging in...');
		
		// inject id for post
		document.acg_lgn_form.acg_lgn_id.options[0] = new Option(respData[firstId], firstId, true, false);
		document.acg_lgn_form.submit();
	}
	
	// multiple accounts
	else 
		if (numCards > 1) {
			var o = 0;
			for (key in respData) 
				document.acg_lgn_form.acg_lgn_id.options[o++] = new Option(respData[key], key, false, false);
			
			LoginErrorMsg('Multiple cards found. Please select one:');
			document.getElementById('acg-lgn-select').style.display = 'block';
			//showElem('acg-lgn-select');
			hideElem('acg-lgn-grp');
		}
		else
		{
			LoginErrorMsg('Account not found.');
			//LoginErrorMsg('Login not found, password = ' + md5('12345'));
		}
}

function LoginStrip(c)
{
	c = c.split(' ').join('');
	
	var i;
	for (i=0; i<c.length; ++i)
	{
		if (c.charAt(i) != '0')
			break;
	}
	
	return c.substring(i);
}

function LoginClicked()
{
	var email = LoginStrip(document.acg_lgn_form.acg_lgn_email.value);
	document.acg_lgn_form.acg_lgn_email.value = email;
	var password = document.acg_lgn_form.acg_lgn_password.value;
	var id = document.acg_lgn_form.acg_lgn_id.value;
	
	// selected card and ready to go
	if (parseInt(id) > 0)
	{
		LoginStatMsg('Logging in...');
		document.acg_lgn_form.submit();
		return;
	}
	
	if ('' == email)
	{
		LoginErrorMsg('Please enter email or card.');
		return;
	}

	if ('' == password)
	{
		LoginErrorMsg('Please enter password.');
		return;
	}

	// encode password
	password = MD5(password);
	
	LoginStatMsg('Checking...');
	request('', 'logincheck', {e : email, p : password}, LoginCheckHandler);
}

function LoginSubmit()
{
	LoginClicked();
	return false;
}

