function pga_msLoginSubmit() {
	var pga_msRemember = $('rememberPass').value;
	var pga_msEmail = $('emailAddress').value;
	if(pga_msRemember == 'yes') {
		pga_msUserData.pga_msRememberEmailAddress = pga_msEmail;
		pga_msCookie.setroot('RememberEmailAddress', pga_msUserData.pga_msRememberEmailAddress);
	} else {
		pga_msCookie.erase('RememberEmailAddress');
	}
	return true;
}

function pga_msLogout() {
	pga_msResetCookies();
	pga_msRefresh();
}

/* ***************************************************************
	Draw
   *************************************************************** */
function pga_msDrawLogin() {
	if($('loginContent').hasClassName('pgaHide') == true) {
		pga_msDrawLoginShow();
	} else {
		pga_msDrawLoginHide()
		pga_msDrawResetPasswordHide();
	}
}

function pga_msDrawLoginHide() {
	$('loginContent').removeClassName('pgaShow');
	$('loginContent').addClassName('pgaHide');
}

function pga_msDrawLoginShow() {
	$('loginContent').removeClassName('pgaHide');
	$('loginContent').addClassName('pgaShow');
}

function pga_msDrawResetPassword() {
	if($('pga_msPasswordReset').hasClassName('pgaHide') == true) {
		pga_msDrawResetPasswordShow();
	} else {
		pga_msDrawResetPasswordHide();
	}
}

function pga_msDrawResetPasswordHide() {
	$('pga_msPasswordReset').removeClassName('pgaShow');
	$('pga_msPasswordReset').addClassName('pgaHide');
}

function pga_msDrawResetPasswordShow() {
	$('pga_msPasswordReset').removeClassName('pgaHide');
	$('pga_msPasswordReset').addClassName('pgaShow');
}

function pga_msDrawLoginError() {
	pga_msDrawLoginShow();
	var html = $("loginContent").innerHTML;
	var error_html = '<span class="pga_msError">' + pga_msUserData.pga_msLoginErrorMessage + '</span>';
	$("loginContent").innerHTML = error_html + html;
	pga_msCookie.erase("LoginErrorMessage");
}

function pga_msDrawResetError() {
	pga_msDrawLoginShow();
	pga_msDrawResetPasswordShow();
	var html = $("pga_msPasswordReset").innerHTML;
	var error_html = '<span class="pga_msError">' + pga_msUserData.pga_msResetErrorMessage + '</span><br/>';
	$("pga_msPasswordReset").innerHTML = error_html + html;
	pga_msCookie.erase("ResetErrorMessage");
}

function pga_msDrawUserLoggedIn() {
	var pga_msHtml = '<div class="loginTitle">Welcome ' + pga_msUserData.pga_msUserFirstname.truncate(7, '') + '!</div>';
	pga_msHtml += '<div class="loginOptions">';
	pga_msHtml += '<a href="' + pga_msReturnUrl(pga_msMsibConfig.pga_msMsibRoot + pga_msMsibConfig.pga_msMsibEditUser) + '">Edit Profile</a>';
	pga_msHtml += '&nbsp;|&nbsp;';
	pga_msHtml += '<a href="javascript:pga_msLogout();">Sign Out</a>';
	pga_msHtml += '</div>';
	pga_msHtml += '<div class="clearAll"></div>';
	$('loginBar').innerHTML = pga_msHtml;
}

function pga_msDrawLoginOptions() {
	var pga_msHtml = '<div class="loginTitle">PGA.COM ACCOUNT</div>';
	pga_msHtml += '<div class="loginOptions">';
	pga_msHtml += '<a href="javascript:pga_msDrawLogin();">Sign In</a>';
	pga_msHtml += '&nbsp;|&nbsp;';
	pga_msHtml += '<a href="' + pga_msReturnUrl(pga_msMsibConfig.pga_msMsibRoot + pga_msMsibConfig.pga_msMsibRegister) + '">Register</a>';
	pga_msHtml += '</div>';
	pga_msHtml += '<div class="clearAll"></div>';
	$('loginBar').innerHTML = pga_msHtml;
}

function pga_msDrawFormTag(pga_msAction, pga_msMethod, pga_msName, pga_msId, pga_msClass, pga_msOnSubmit) {
	/*<script type="text/javascript">
		pga_msDrawFormTag(
	    	pga_msAction, 
	    	pga_msMethod, 
	    	pga_msName, 
	    	pga_msId, 
	    	pga_msClass, 
	    	pga_msOnSubmit
	   );
	</script> */
	if(typeof pga_msAction == 'undefined') pga_msAction = '';
	if(typeof pga_msMethod == 'undefined') pga_msMethod = '';
	if(typeof pga_msName == 'undefined') pga_msName = '';
	if(typeof pga_msId == 'undefined') pga_msId = '';
	if(typeof pga_msClass == 'undefined') pga_msClass = '';
	if(typeof pga_msOnSubmit == 'undefined') pga_msOnSubmit = '';
	document.open();
	document.write('<form action="'+pga_msAction+'" method="'+pga_msMethod+'" name="'+pga_msName+'" id="'+pga_msId+'" class="'+pga_msClass+'" onsubmit="'+pga_msOnSubmit+'">');
	document.close();
}

/* ***************************************************************
	Utility
   *************************************************************** */
function pga_msRefresh() {
	location.reload();
}
function pga_msShowCheckedRememberBox() {
	$('rememberPass').value = 'yes';
	$('checkbox').addClassName('checked');
}

function pga_msHideCheckedRememberBox() {
	$('rememberPass').value = 'no';
	$('checkbox').removeClassName('checked');
	pga_msUserData.pga_msRememberEmailAddress = null;
	pga_msCookie.erase('RememberEmailAddress');
}

function pga_msToggleCheckedRememberBox() {
	if($('rememberPass').value == 'no') {
		pga_msShowCheckedRememberBox();
	} else {
		pga_msHideCheckedRememberBox();
	}
}

function pga_msResetCookies() {
	pga_msCookie.erase("LoginErrorMessage");
	pga_msCookie.erase("ResetErrorMessage");
	//pga_msCookie.erase("RememberEmailAddress");
	pga_msCookie.erase("UserFirstname");
	pga_msCookie.erase("TEGId");
	pga_msCookie.erase("authid");
}

function pga_msReturnUrl(pga_msUrl) {
	return (location.href.indexOf('url=')==-1) ? pga_msUrl + '&url=' + escape(location.href) : pga_msUrl + location.href.substr(location.href.indexOf('&url='));
}

/* ***************************************************************
	Test
   *************************************************************** */
function TestLogin() {
	pga_msCookie.setroot('UserFirstname', 'Buddy');
	pga_msCookie.setroot('TEGId', '1234');
	pga_msCookie.setroot('authid', '5678');
	pga_msCookie.erase('LoginErrorMessage'); 
	pga_msRefresh();
}

function TestLoginError() {
	pga_msCookie.setroot('LoginErrorMessage', 'An error occured while trying to log you in.');
	pga_msRefresh();
}

function MakeResetError() {
	pga_msCookie.setroot('ResetErrorMessage', 'An error occured while trying to reset your password.');
	pga_msRefresh();
}

function TestReset() {
	pga_msCookie.erase("LoginErrorMessage");
	pga_msCookie.erase("ResetErrorMessage");
	pga_msCookie.erase("RememberEmailAddress");
	pga_msCookie.erase("UserFirstname");
	pga_msCookie.erase("TEGId");
	pga_msCookie.erase("authid");
	pga_msRefresh();
}