
/***************************************************************
*  Copyright notice
*
*  (c) 2006 WIV GmbH (info@wiv-gmbh.de)
*  All rights reserved
*
*
***************************************************************/
/**
 * form-functions-javascript for the 'Pferde.de-Relaunch 2006'-project
 *
 * @author	Andreas Richter <richter@wiv-gmbh.de>
 */




/*
 * object for form buttons
 *
 */

function forms_Button(left, icon, text, right) {
	this.left 			= left;
	this.icon 			= icon;
	this.text 			= text;
	this.right 			= right;

	this.disabled		= true;	
	
	this.enable = function() {
		this.disabled = false;
		document.getElementById(this.left).src 			= document.getElementById(this.left).src.replace(/disabled\./,"inactive.");
		document.getElementById(this.icon).src 			= document.getElementById(this.icon).src.replace(/disabled\./,"inactive.");
		document.getElementById(this.right).src 		= document.getElementById(this.right).src.replace(/disabled\./,"inactive.");
		document.getElementById(this.text).className	= document.getElementById(this.text).className.replace(/_disabled/,"_inactive");
	}

	this.disable = function() {
		this.disabled = true;
		document.getElementById(this.left).src 			= document.getElementById(this.left).src.replace(/inactive\./,"disabled.");
		document.getElementById(this.icon).src 			= document.getElementById(this.icon).src.replace(/inactive\./,"disabled.");
		document.getElementById(this.right).src 		= document.getElementById(this.right).src.replace(/inactive\./,"disabled.");
		document.getElementById(this.text).className	= document.getElementById(this.text).className.replace(/_inactive/,"_disabled");
		document.getElementById(this.left).src 			= document.getElementById(this.left).src.replace(/active\./,"disabled.");
		document.getElementById(this.icon).src 			= document.getElementById(this.icon).src.replace(/active\./,"disabled.");
		document.getElementById(this.right).src 		= document.getElementById(this.right).src.replace(/active\./,"disabled.");
		document.getElementById(this.text).className	= document.getElementById(this.text).className.replace(/_active/,"_disabled");
	}
	
	
}

/*
 * check login form
 *
 */

function forms_checkLoginForm(username, password, loginButton, fpUsername, fpButton) {
	if (username.value.length>0 && password.value.length>0) {
		if (loginButton.disabled) {
			loginButton.enable();
		}
	}
	else {
		if (!loginButton.disabled) {
			loginButton.disable();
		}
	}
	if (fpUsername) {
		fpUsername.value = username.value;
		if (fpUsername.value.length>0) {
			if (fpButton.disabled) {
				fpButton.enable();
			}
		}
		else {
			if (!fpButton.disabled) {
				fpButton.disable();
			}
		}

	}
}

function forms_checkForgottenPasswordForm(fpUsername, fpButton) {
	if (fpUsername.value.length>0) {
		if (fpButton.disabled) {
			fpButton.enable();
		}
	}
	else {
		if (!fpButton.disabled) {
			fpButton.disable();
		}
	}
	
}


/*
 * Button Mouse-Over/Out-functions
 *
 */

function forms_buttonOver(button) {
	document.getElementById(button.left).src 		= document.getElementById(button.left).src.replace(/inactive\./,"active.");
	document.getElementById(button.icon).src 		= document.getElementById(button.icon).src.replace(/inactive\./,"active.");
	document.getElementById(button.right).src 		= document.getElementById(button.right).src.replace(/inactive\./,"active.");
	document.getElementById(button.text).className	= document.getElementById(button.text).className.replace(/_inactive/,"_active");
}

function forms_buttonOut(button) {
	document.getElementById(button.left).src 		= document.getElementById(button.left).src.replace(/active\./,"inactive.");
	document.getElementById(button.icon).src 		= document.getElementById(button.icon).src.replace(/active\./,"inactive.");
	document.getElementById(button.right).src 		= document.getElementById(button.right).src.replace(/active\./,"inactive.");
	document.getElementById(button.text).className	= document.getElementById(button.text).className.replace(/_active/,"_inactive");
}




/*
 * object for Ajax Messages
 *
 */

function forms_MessageContainer(load, complete, failure, loggedIn, loggedOut) {
	this.load 			= load;
	this.complete 		= complete;
	this.failure 		= failure;
	
	this.loggedIn		= loggedIn;
	this.loggedOut		= loggedOut;	
}

var forms_standardMessageContainer = new forms_MessageContainer(false,false,false,false,false);




function forms_preFormLogin(usernameField, passwordField, sendURL, prefixId, loadMessageId, failureMessageId, loginContainerLoggedInAreaId, loginContainerLoggedOutAreaId, loginContainerUserNameId) {
	//var password = MD5(passwordField.value);
	password = passwordField.value;	
	passwordField.value = '';

	forms_standardMessageContainer.load 		= loadMessageId;
	forms_standardMessageContainer.failure 		= failureMessageId;
	var params = prefixId + '[username]=' + usernameField.value + '&' + prefixId + '[password]=' + password + '&no_cache=1';
	document.getElementById(forms_standardMessageContainer.load).style.display = 'block';
	
	new ajax(sendURL, {postBody:params,onComplete:function() {
		
		document.getElementById(forms_standardMessageContainer.load).style.display = 'none';
		if (this.transport.responseText.search(/failure/)>=0) {
			document.getElementById(forms_standardMessageContainer.failure).style.display = 'block';
		}
		else {
			
			document.cookie = getXMLValue(this.transport.responseText, 'cookiecode');
			
			if (loginContainerLoggedInAreaId) {
				loginContainer_loginSwitch(this.transport, loginContainerLoggedInAreaId, loginContainerLoggedOutAreaId, loginContainerUserNameId, true);
			}				
			document.location.reload();
		}		
	
	}});	
	
}





/*
 * Ajax password send function
 *
 */

function forms_sendPassword(usernameField, sendURL, prefixId, loadMessageId, completeMessageId, failureMessageId) {

	forms_standardMessageContainer.load 	= loadMessageId;
	forms_standardMessageContainer.complete = completeMessageId;
	forms_standardMessageContainer.failure 	= failureMessageId;
	var params = prefixId + '[username]=' + usernameField.value + '&no_cache=1';
	document.getElementById(forms_standardMessageContainer.load).style.display = 'block';
	
	new ajax(sendURL, {postBody:params,onComplete:function() {
		
		document.getElementById(forms_standardMessageContainer.load).style.display = 'none';
		if (this.transport.responseText.search(/success/)>=0) {
			document.getElementById(forms_standardMessageContainer.complete).style.display = 'block';
		}
		else {
			document.getElementById(forms_standardMessageContainer.failure).style.display = 'block';
		}		
	}});	
		
}



