

/**
	Login to myGRPG by pressing the "enter" key
*/
function loginNowByEnter(actionLauncher){
	loginNow(actionLauncher);
	return false;
}

function loginNow(actionLauncher) {
	
	if(userLoggedin) return true;
	
	var username = $("#loginusername").val();
	var password = $("#loginpassword").val();
	
	if((username == '' && password == '') || (username != '' && password == '') || (username == '' && password != '') ) {
	
		resetLoginFields();
		
		if(username == '') {
			$("#loginusername").css('border', '1px solid #7c7c7c');
			$("#loginusername").focus();
			return false;
		} else if(password == '') {
			$("#loginpassword").css('border', '1px solid #7c7c7c');
			$("#loginpassword").focus();
			return false;
		}
		
	} else {
		
		$.post("../../apps/mygrpg/ajax.php?task=login&username=" + username + "&password=" + password, { func: "" },
  		
		function(data){
			
			if(data == 0) {
				userLoggedin = true;
				$("#myGRPGWelcomeUserNameDIV").load("apps/mygrpg/ajax.php?task=getWelcomeUsernameDIV", null, function () {
					if(actionLauncher == ''){
						window.location = "?page=mygrpg";
					}else if (actionLauncher == 'OBJECT_VOTE'){
						$("#defaultModalDataContainer").simpleModalClose();
					}else if (actionLauncher == "OBJECT_FAVORITE"){
						$("#defaultModalDataContainer").simpleModalClose();
						addObjectToUserFavorites(lastObjectAttemptFavoriteID);
					}else if (actionLauncher == "QUERY_SAVE"){					
						$("#defaultModalDataContainer").simpleModalClose();
						saveCurrentQuery();
					}
				});
			} else {
				resetLoginFields();
				$("#loginFailedDIV").html('<p class="stdErrorMSG11">login incorrect !</p>');
				$("#loginusername").val("");
				$("#loginusername").focus();
				$("#loginpassword").val("");
			}
			
		}, "text");
		
	}

}

/**
 *	Object Linkage Functions
 */
function loadObjectDetails(id, arrivalFrom) {
	var urlNewLocation	= "?page=objectdetails&id="+id;
	if(arrivalFrom){
		urlNewLocation	+= "&lastPage="+arrivalFrom;
	}
	window.location = urlNewLocation;
}
function goToObjectMap(id, arrivalFrom) {
	var urlNewLocation	= "?page=objectdetails&seemap=1&id="+id;
	if(arrivalFrom){
		urlNewLocation	+= "&lastPage="+arrivalFrom;
	}
	window.location = urlNewLocation;
}







function resetLoginFields() {
	$("#loginusername").css('border', '1px solid #ccc');
	$("#loginpassword").css('border', '1px solid #ccc');
}

function forgotPassword() {	
	if($("#modalFormLoginDisplayTable").length > 0){
		/** This is the modal login forgot password effect */
		if($("#newRegistrationFormDIV:visible").length > 0){
			$("#newRegistrationFormDIV").fadeOut("500", function (){
				$("#forgotPasswordEmailFormDIV").slideDown("1000");
			});
		}else{
			$("#modalFormLoginDisplayTable").fadeOut("500", function (){
				$("#forgotPasswordEmailFormDIV").slideDown("1000");
			});
		}		
	}else{
		$("#newRegistrationFormDIV").hide();
		$("#forgotPasswordEmailFormDIV").fadeIn(1000);
	}	
}

function registerNow() {
	if($("#modalFormLoginDisplayTable").length > 0){
		/** This is the modal login forgot password effect */
		$("#modalFormLoginDisplayTable").fadeOut("500", function (){
			$("#newRegistrationFormDIV").slideDown("1000");
		});
	}else{
		$("#forgotPasswordEmailFormDIV").hide();
		$("#newRegistrationFormDIV").fadeIn(1000);
	}	
	
}



function newPasswordRequest() {
	
	var emailAddress = $("#forgotpasswordemail").val();
	
	if(emailAddress == '') {
		$("#newPasswordRequestErrorDIV").html("<p class=\"errorMSG11\">Merci d'indiquer votre adresse email.</p>");
		return false;
	}
	
	if(isValidEmailAddress(emailAddress)) {
		
		$("#forgotPasswordEmailFormDIV").html("<div class=\"poolingForgotPasswordDIV\"><img src=\"../../apps/mygrpg/images/ajax-loader-red-bg-ef.gif\" /></div>");
		$("#forgotPasswordEmailFormDIV").load("../../apps/mygrpg/ajax.php?task=resetPasswordRequest", {email:emailAddress}, function () {
			
		});
	
	} else {
		$("#newPasswordRequestErrorDIV").html("<p class=\"errorMSG11\">Merci d'indiquer une adresse email valide.</p>");
		return false;
	}
	
}

function sendNewRegistration() {
	
	var emailAddress = $("#newregistrationemail").val();
	
	if(emailAddress == '') {
		$("#newRegistrationRequestErrorDIV").html("<p class=\"errorMSG11\">Merci d'indiquer votre adresse email.</p>");
		return false;
	}
	if(isValidEmailAddress(emailAddress)) {
		
		$("#newRegistrationFormDIV").html("<div class=\"poolingNewRegistrationDIV\"><img src=\"../../apps/mygrpg/images/ajax-loader-red-bg-ef.gif\" /></div>");
		$("#newRegistrationFormDIV").load("../../apps/mygrpg/ajax.php?task=newAccountRequest", {email:emailAddress}, function () {
	    	/**  ?? Why should we go to MyGRPG, not logged in ....
	    	setTimeout("goToMyGRPG('" + emailAddress + "')", 3000);	
	    	*/
	    });
	    
	} else {
		$("#newRegistrationRequestErrorDIV").html("<p class=\"errorMSG11\">Merci d'indiquer une adresse email valide.</p>");
		return false;	
	}	
	
}



function emailChecker() {
	
	// open new account email check
	$("#newregistrationemail").keyup(function(){
		$("#newRegistrationRequestErrorDIV").empty();	
		var email = $("#newregistrationemail").val();
		if(email != 0) {
			if(isValidEmailAddress(email)) {
				$("#newregistrationemailvalidEmail").css({ "background-image": "url('images/validyes.png')" });
			} else {
				$("#newregistrationemailvalidEmail").css({ "background-image": "url('images/validno.png')" });
			}
		} else {
			$("#newregistrationemailvalidEmail").css({ "background-image": "none" });	
		}
	});
	
	$("#forgotpasswordemail").keyup(function(){
		$("#newPasswordRequestErrorDIV").empty();	
		var email = $("#forgotpasswordemail").val();
		if(email != 0) {
			if(isValidEmailAddress(email)) {
				$("#forgotPasswordemailvalidEmail").css({ "background-image": "url('images/validyes.png')" });
			} else {
				$("#forgotPasswordemailvalidEmail").css({ "background-image": "url('images/validno.png')" });
			}
		} else {
			$("#forgotPasswordemailvalidEmail").css({ "background-image": "none" });	
		}
	});
	
	$("#loginusername").keyup(function(){
		$("#loginusernamevalidEmail").empty();	
		var email = $("#loginusername").val();
		if(email != 0) {
			if(isValidEmailAddress(email)) {
				$("#loginusernamevalidEmail").css({ "background-image": "url('images/validyes.png')" });
			} else {
				$("#loginusernamevalidEmail").css({ "background-image": "url('images/validno.png')" });
			}
		} else {
			$("#loginusernamevalidEmail").css({ "background-image": "none" });	
		}
	});
	
};

function isValidEmailAddress(emailAddress) {
	
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	
	return pattern.test(emailAddress);
			
}



/**
 * Function to manage a javascript call when user needs to be logged in
 */
function displayLoginForm(actionLauncher){
	$("#defaultModalDataContainer").load("apps/mygrpg/ajax.php?task=displayLoginForm&actionLauncher="+actionLauncher, null, function (){
		displayModalViaDOMElement("#defaultModalDataContainer", "myGRPGLoginModalWindow");
	 	emailChecker();
	});
}




/**
 * Basic Default Modal Display Function
 */
function displayModalViaDOMElement(domSelector, containerID){	
	$(domSelector).modal({
		containerId : containerID,
		overlayClose: true,
		onClose: function (dialog) {
			dialog.data.fadeOut('fast', function () {
				dialog.container.hide('fast', function () {
					dialog.overlay.slideUp('fast', function () {
						$.modal.close();
					});
				});
			});
		}
	});	
}







/************ Deleted Functions ***********************************************************/

function goToMyGRPG(email) {
	alert("function goToMyGRP(email) , default.js ... ?!?");
	/** Odd Auth SYSTEM .... deprecated ....
	To be deleted
    
	$.post("../../apps/mygrpg/ajax.php?task=getUserLogged&email=" + email, { func: "" },
  		
	function(data){
		if(data == 0) {
			window.location = "?page=mygrpg";
		}
	}, "text");
	*/
	
}




