/**
 * pnpLogin Class
 *
 * @author	Tommy Lacroix <tlacroix@orangetango.com>
 */
function pnpLogin()
{
	// Abstract Class
	throw "Cannot instantiate class";
}

pnpLogin.defaultValues = {};
pnpLogin.initialized = false;
pnpLogin.error = false;

pnpLogin.initialize = function(defaultEmail, defaultPassword, error) {
	if (pnpLogin.initialized) return;
	
	if ((error != false) && (error != undefined)) {
		pnpLogin.error = error;
		YAHOO.util.Event.onDOMReady(pnpLogin.showError);
	}
	
	pnpLogin.initialized = true;
	
	var emailInput = document.getElementById('login_email');
	if (emailInput != undefined) {
		pnpLogin.initControl(emailInput,defaultEmail);
	}
	
	var passwordInput = document.getElementById('login_password');
	if (passwordInput != undefined) {
		pnpLogin.initControl(passwordInput,defaultPassword);
	}
}

pnpLogin.showError = function() {
	setTimeout('alert(pnpLogin.error)', 500);
}

pnpLogin.initControl = function(control,defaultValue) {
	// Save default Value
	if ((defaultValue == undefined) || (defaultValue === false)) {
		pnpLogin.defaultValues[control.id] = control.value;
	} else {
		pnpLogin.defaultValues[control.id] = defaultValue;
	}
	
	// Add event handlers
	YAHOO.util.Event.addListener(control, "focus", pnpLogin.onFocus);
	YAHOO.util.Event.addListener(control, "blur", pnpLogin.onBlur);
}

pnpLogin.onFocus = function(evt) {
	if (this.value == pnpLogin.defaultValues[this.id]) {
		this.value = '';
	}
}

pnpLogin.onBlur = function(evt) {
	if (this.value == '') {
		this.value = pnpLogin.defaultValues[this.id];
	}
}

pnpLogin.submit = function() {
	document.getElementById('login_form').submit();
}

// Trigger initialization upon DOM loading
YAHOO.util.Event.onDOMReady(pnpLogin.initialize);

