
function doLogin(theForm)
{
  var url = '/Ajax/Login.html';

  var frmName = ( theForm ) ? theForm.name : 'frmLogin';

  var user = document.forms[frmName].email.value;
  var pass = document.forms[frmName].password.value;
  var remember = document.forms[frmName].rememberme.value;

  if ( ! user || ! pass ) {
	alert( "Please enter your email address and password" );
	return false;
  }

  params = 'u=' + user + '&p=' + pass;

  if (remember == 'remember' ) {
	params += "&r=1";
  }

  makeHttpRequest(url, "cb_login", 'POST', params, true);

  return false;
}

function cb_login( responseXML )
{

  var status = responseXML.getElementsByTagName("status")[0].firstChild.data;

  if ( status != 'OK' ) {
    var msg    = responseXML.getElementsByTagName("message");
    if ( msg ) {
	msg = msg[0].firstChild.data;
	alert( "Error: " + msg );
    }
    else {
	alert( "Login Failed." );
    }
    return false;
  }

  // SUCCESS

  var re = new RegExp( 'User/ResetPassword/' ); 

  if ( location.href.match( re ) ) {

	var newURL = location.href;
  	newURL = newURL.replace( re, "" );

	location.href = newURL;
  }
  else {
  	location.reload(true);
  }

  return true;
}

function doTerms(theButton)
{
  var url = '/Ajax/Terms.html';

  params = 'action=' + theButton.value;

  makeHttpRequest(url, "cb_terms", 'POST', params, true);
}

function cb_terms( responseXML )
{
  location.reload(true);
}

function showLoginBox()
{
	var el = document.getElementById('pageBody');
	if ( el ) {
		el.style.display = '';
	}

	el = document.getElementById( 'login_box' );
	if ( el ) {
		el.style.display = '';
	}
	document.frmLoginPopup.email.focus();
}

function closeLoginBox()
{
	document.getElementById( 'login_box' ).style.display = 'none';
	document.getElementById('pageBody').style.display = 'none';

}

function checkEnter(e,theForm){ //e is event object passed from function invocation

	var characterCode; // literal character code will be stored in this variable

	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	}
	else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		if ( typeof theForm == 'object' ) {
			theForm.submit();
		}
		else {
			document.forms[theForm].onsubmit();
		}
		return false 
	}
	else{
		return true 
	}
}

function LoadTopUtils()
{
  url = "/Ajax/Page-Top/";
  makeHttpRequest(url, "cb_top_utils", 'GET', '', false);
}

function cb_top_utils( responseText ) {

  var theDiv = document.getElementById( 'top-utils' );
  if ( theDiv ) {
	theDiv.innerHTML = responseText;
  }
}

function setupPlaceHolders(theForm) {

	var objForm = document.forms[ theForm ];
	if ( ! objForm ) {
		alert( "Cant find form: " + theForm );
		return 0;
	}

	var remembered = ( document.cookie.indexOf( 'rsg_u' ) != -1 ) ? 1 : 0;

	if ( ! remembered ) {
		var fldUser = objForm.elements['email'];
		if ( fldUser ) {
			setHandlers( fldUser );
		}
	}
	var fldPass = objForm.elements['password'];
	setHandlers( fldPass );
}

function setHandlers( theField ) {

	if ( ! theField ) {
		return;
	}

	theField.onfocus = function(event) {

		var theField = this;
		if ( theField.value == theField.getAttribute( 'placeholder' ) ) {
			theField.value = '';
		}
	}
	theField.onblur = function( event ) {
		var theField = event.target;
		if ( theField.value = '' ) {
			theField.value = theField.getAttribute( 'placeholder' );
		}
	}
}

