/* http://simon.incutio.com/archive/2004/05/26/addLoadEvent */
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

function forgot_password()
{
  var email = document.forgotForm.emailAddress.value;
  if(!/^\w[\w\.-]*@[\w\.-]+\.[\w\.-]+$/.test(email))
  {
    alert("Please enter a valid e-mail address.");
    document.forgotForm.emailAddress.focus();
  }
  else
  {
    document.forgotForm.what.value = "remind";
    document.forgotForm.submit();
  }
}

/* show / hide login box */
function loginBox()
{
	var plogin = $('login');
	var loginbox = $('loginBox');       
	var cancel = $('cancel');
        if(plogin)
        {
          plogin.onclick = function()
          {
                  loginbox.toggle(); 
				  $('emailAddress').focus();
                  /* this link is cancelled out if JS isn't present, 
                  otherwise the user will be directed to a login page */
                  this.getAttribute('href');
                  return false;
          }    
		  cancel.onclick = function()
		  {
			loginbox.toggle();
		  } 
			Event.observe('emailAddress', 'keydown', sendLogin);
			Event.observe('password', 'keydown', sendLogin);
        }

}

function sendLogin(event) {
	if ($F('emailAddress') && $F('password')) {
		var e = event || window.event;
		if (e.keyCode == 13) {
			document.loginForm.submit();
			return false;
		}
	}
}

addLoadEvent(loginBox);

/* show / hide login box */
function calendar()
{
	var pcalendar = $('calendar');
	var calendar_popup = $('calendar_popup');       
	var cancel = $('calendar_cancel');
	
	if (pcalendar)
	{
		pcalendar.onclick = function()
		{   
			calendar_popup.toggle(); 
			/* this link is cancelled out if JS isn't present, 
			otherwise the user will be directed to a login page */
			this.getAttribute('href');
			return false;
		}     
		
		cancel.onclick = function()
		{
			calendar_popup.toggle();
		}
	}
}   



//addLoadEvent(calendar);

/* show / hide login box */
function calendar2()
{
	var pcalendar2 = $('calendar2');
	var calendar_popup = $('calendar_popup');       
	var cancel = $('calendar_cancel');
	
	if (pcalendar2)
	{
		pcalendar2.onclick = function()
		{   
			calendar_popup.toggle(); 
			/* this link is cancelled out if JS isn't present, 
			otherwise the user will be directed to a login page */
			this.getAttribute('href');
			return false;
		}     
		
		cancel.onclick = function()
		{
			calendar_popup.toggle();
		}
	}
}   

//addLoadEvent(calendar2);

function eltByEvent(evt) {
	if (evt.srcElement)
		return evt.srcElement;
	else
		return evt.target;
}



function addFormFocus() {
	$$("input.a10grey, textarea.a10grey").each(function(elt) {
		Event.observe(elt, "focus", function(event) {
			var e = eltByEvent(event);
			e.addClassName("focused");
		});
		Event.observe(elt, "blur", function(event) {
			var e = eltByEvent(event);
			e.removeClassName("focused");
		});
	});
}
addLoadEvent(addFormFocus);

function formFocus() {
	var find = false;
	$$('form').each(function(f) {
		if (f.name != 'loginForm' && f.name != '_formSent') {
			var elt = f.findFirstElement();
			if (elt) {
				elt.focus();
				throw $break;
			}
		}
	});
}
addLoadEvent(formFocus);

function checkElt(nameElt, noValid, number) {
	var elt = $(nameElt) || $(document._form.elements[nameElt]);
	var value = $F(elt);
	if (number)
		value = parseInt(value);
	elt.removeClassName("inputError");
	if (value.length == 0 || value == noValid) {
		showErrElt(elt);
		return false;
	}
	return true;
}

function showErrElt(elt) {
	elt.addClassName("inputError");
	if (!foc) {
		elt.focus();
		foc = true;
	}
}
/*
Event.observe(window, 'load', function() {
	$$('input.a10grey').each(function() {
		Event.observe(this, 'focus', function(event) {
			alert(event);
			if (event.target.hasClassName('a10grey')) {
				event.target.value = '';
				event.target.setSetyle({color:'#666666'});
			}
		});
		if (this.value != this.readAttribute('value'))
			this.setSetyle({color:'#666666'});
	});
});
*/