/* login page functions */

function enterSubmit(thisForm, e) {
	if (window.event && window.event.keyCode == 13) {
		loginAttempt();
		return false;
	} else if (e && e.which == 13) {
		loginAttempt();
		return false;
	} else {
		return true;
	}
}

function updateLoginStatus(msg, msgType) {
	var statusHeader = (msgType == "statuserror" ? ilcTrans(5504,"Error Message") : ilcTrans(5619,"Status Message"));

	if($("#error").hasClass(msgType)) {
		$("#error")
			.html("<h3>"+statusHeader+"</h3><ul><li>"+msg+"</li>");
	} else {
		// add/remove classes
		var ary = ['statuserror', 'statusconfirm', 'statusverify'];
		for (var i=0; i<ary.length; i++) {
			if ($("#error").hasClass(ary[i]) || msgType == ary[i])
				$("#error").toggleClass(ary[i]);
		}
		$("#error")
		//	.toggleClass("statuserror").toggleClass("statusconfirm")
			.html("<h3>"+statusHeader+"</h3><ul><li>"+msg+"</li>");
	}

	if ($("#error").css("display") == "none") {
		$("#error").show("fast")
	}
}

function loginAttempt() {
	var form = document.login;

	updateLoginStatus(ilcTrans(5649,"Validating log-in information..."), 'statusverify');

	// remove 8.6 and 9.0 cookies
	var domainAry = location.host.split(".");
	if (domainAry[domainAry.length-1].match(/\D+/) && form.hosted.value == '1') { // ensure that the domain is not an IP address
		var delDomain = domainAry[domainAry.length-2] + "." + domainAry[domainAry.length-1];
		delCookie('vendor','/','.'+delDomain,useSSLCookie);
		delCookie('auth','/','.'+delDomain,useSSLCookie);
	}

	// clear codebaby cookies
	delCookie('ilcCbDash','/',cookieDomain,useSSLCookie);

	var ajaxObj = new ilincAjax('loginAttempt', 'loginAttemptReturn');
	ajaxObj.addParam('user_name', form.user_name.value);
	ajaxObj.addParam('password', form.password.value);
	ajaxObj.addParam('username_label', form.username_label.value);
	ajaxObj.addParam('password_label', form.password_label.value);
	ajaxObj.send();
}
function loginAttemptReturn(retObj) {
	var status = '';
	var statusType = 'statuserror';

	if (retObj) {
		if (retObj.error_id == 0) {
			status = ilcTrans(5558,"Login validation succeeded");
			statusType = 'statusconfirm';
			updateLoginStatus(status, statusType);
			$("#login").submit();
		} else {
			status = retObj.errorMsg;
			statusType = 'statuserror';
			updateLoginStatus(status, statusType);
			
			// clear password field on error
			var form = document.login;
			form.password.value = '';

			// codebaby
			codeBabyLoginAttempt++;
			if (codeBabyLoginAttempt > 2) {
				CB_play('ILFL_1');
				codeBabyLoginAttempt = 0; // reset it
			}
		}
	} else {
		status = ilcTrans(5445,"An unknown error occured.");
		statusType = 'statuserror';
		updateLoginStatus(status, statusType);
	}
}
function preloadLoginImages() {
	// preload login css images from cc/docs/images
	var imgAry = ['error_24.png', 'confirm_24.png', 'verify_24.png'];
	for (var i=0; i<imgAry.length; i++) {
		var img = new Image();
		img.src = ilcCCDocsDir+'/images/'+imgAry[i];
	}
}

