fadeInSpeed = 200;
fadeOutSpeed = 200;
slideDownSpeed = 100;
visibleDelay = 2000;
slideUpSpeed = 100;

function returnPreviousPage() {
	if (document.referrer) {
		ref = document.referrer;
		if ( ref.indexOf('informatiiprofesionale.ro/aprecieri/') != -1 || ref.indexOf('informatiiprofesionale.ro/author/') != -1 || document.referrer.indexOf('informatiiprofesionale.ro') == -1) {
			window.open(loader.baseUrl, '_self');
		}
		else { 
			window.open(document.referrer,'_self'); 
		}
	
	}
	else {
		window.open(loader.baseUrl, '_self');
	} 
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// event global pentru a inchide overlay-urile la ESCAPE Pressed
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
$(document).keyup(function (event) {
							
	if (event.keyCode == '27') {
		if ($('#overlay-cv-details').css('display') == "block" || $('#overlay-aprecieri-details').css('display') == "block") {
			returnPreviousPage();
		}
		else {
			closeAllOverlays();
		}
	}
	
});

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// daca dai click pe overlay-ul gri iti inchide ultimul overlay afisat
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
$(document).click(function(e) {
	if (jQuery.trim(e.target.id) == "overlay") {
		if ($('#overlay-cv-details').css('display') == "block" || $('#overlay-aprecieri-details').css('display') == "block") {
			returnPreviousPage();
		}
		else {
			if ($('#error').css('display') == "block") {
				$('#error').slideUp(slideUpSpeed, function() {
					// in cazul in care eroarea e singurul div ... inchide si overlay-ul
					if ($('#default').css('display') != "block") { $('#overlay').fadeOut(fadeOutSpeed); }
				});
			}
			else if ($('#notify').css('notify') == "block") {
				$('#notify').slideUp(slideUpSpeed, function() {
					// in cazul in care eroarea e singurul div ... inchide si overlay-ul
					if ($('#default').css('display') != "block") { $('#overlay').fadeOut(fadeOutSpeed); }
				});
			}
			else if ($('#default').css('display') == "block") {
					$('#default').slideUp(slideUpSpeed, function() {
							$('#overlay').fadeOut(fadeOutSpeed);
				});
			}
			else if ($('#overlay-cv-wrap').css('display') == "block") {
					$('#overlay-cv-wrap').slideUp(slideUpSpeed, function() {
							$('#overlay').fadeOut(fadeOutSpeed);
				});
			}
			else {
				$('#overlay').fadeOut(fadeOutSpeed);
			}
		}
	}
});

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// atunci cand apesi butonul de inregistrare
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function showInregistrare(captchaid) {
		
	var overlay_url = loader.baseUrl + "/assets/overlays/inregistrare.php"; // url-ul cu html-ul overlay-ului	
	var overlay_pars = { "captchaid": captchaid }; // daca se trimit ceva parametri la html-ul overlay-ului
	var form_name = "#inregistrare-form"; // id-ul formului din overlay
	var ajax_request_url = loader.baseUrl + "/ajax_responses/registration/doMethod"; // ce ajax requester se apeleaza
	var ajax_request_pars = { 	nume1: "#nume1", // ce parametri se trimit ( inputurile din form )
								nume2: "#nume2", 
								username: "#username", 
								email: "#email", 
								password1: "#password1", 
								password2: "#password2", 
								captcha: "#captcha", 
								sexm: "#sex-radio-m:checked", 
								sexf: "#sex-radio-f:checked", 
								accord: "#accord:checked" };
	var ajax_accepted_info_message = "<p>Un email cu codul de activare a fost trimis!</p>"; // daca se afiseaza un mesaj la ok
	var ajax_accepted_todo = function () { showValidation(); } // daca se face ceva la ok
	var ajax_error_todo = function() { newCaptcha(); } // daca se face ceva la eroare

	doRequest(overlay_url, overlay_pars, form_name, ajax_request_url, ajax_request_pars, ajax_accepted_info_message, ajax_accepted_todo, ajax_error_todo);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// gernereaza si afiseaza un nou captcha code
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function newCaptcha() { 

	$.post(loader.baseUrl + "/ajax_responses/registration/new_captcha", {}, function (data) {
//		alert(data);																				
		$('#captcha_div').html(data);
	});
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// atunci cand apesi butonul de login
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function showLogin(captchaid) {
	var overlay_url = loader.baseUrl + "/assets/overlays/login.php"; // url-ul cu html-ul overlay-ului	
	var overlay_pars = {"captchaid" : captchaid}; // daca se trimit ceva parametri la html-ul overlay-ului
	var form_name = "#login-form"; // id-ul formului din overlay
	var ajax_request_url = loader.baseUrl + "/ajax_responses/authentification/doMethod"; // ce ajax requester se apeleaza
	var ajax_request_pars = { 	username: "#username", // ce parametri se trimit ( inputurile din form )
								password: "#password" };
	var ajax_accepted_info_message = ""; // daca se afiseaza un mesaj la ok
	var ajax_accepted_todo = function () { closeAllOverlays(); doRefresh(); } // daca se face ceva la ok
	var ajax_error_todo = function() { doNothing(); } // daca se face ceva la eroare

	doRequest(overlay_url, overlay_pars, form_name, ajax_request_url, ajax_request_pars, ajax_accepted_info_message, ajax_accepted_todo, ajax_error_todo);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// atunci cand apesi butonul de am uitat parola
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function showForgotPassword() {
	var overlay_url = loader.baseUrl + "/assets/overlays/forgot_password.php"; // url-ul cu html-ul overlay-ului	
	var overlay_pars = {}; // daca se trimit ceva parametri la html-ul overlay-ului
	var form_name = "#validare-form"; // id-ul formului din overlay
	var ajax_request_url = loader.baseUrl + "/ajax_responses/forgot_password/doMethod"; // ce ajax requester se apeleaza
	var ajax_request_pars = { 	email: "#email" }; // ce parametri se trimit ( inputurile din form )
	var ajax_accepted_info_message = "<p>Un email cu parola a fost trimis!</p>"; // daca se afiseaza un mesaj la ok
	var ajax_accepted_todo = function () { closeAllOverlays(); } // daca se face ceva la ok
	var ajax_error_todo = function() { doNothing(); } // daca se face ceva la eroare

	doRequest(overlay_url, overlay_pars, form_name, ajax_request_url, ajax_request_pars, ajax_accepted_info_message, ajax_accepted_todo, ajax_error_todo);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// atunci cand trebuie sa scrii codul de confirmare cont
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function showValidation() {
	var overlay_url = loader.baseUrl + "/assets/overlays/validation.php"; // url-ul cu html-ul overlay-ului	
	var overlay_pars = {}; // daca se trimit ceva parametri la html-ul overlay-ului
	var form_name = "#validare-form"; // id-ul formului din overlay
	var ajax_request_url = loader.baseUrl + "/ajax_responses/validation/doMethod"; // ce ajax requester se apeleaza
	var ajax_request_pars = { 	username: "#username", // ce parametri se trimit ( inputurile din form )
								cod_confirmare: "#cod_confirmare" };
	var ajax_accepted_info_message = ""; // daca se afiseaza un mesaj la ok
	var ajax_accepted_todo = function () { doRedirect(loader.baseUrl + "/contul_meu"); } // daca se face ceva la ok
	var ajax_error_todo = function() { doNothing(); } // daca se face ceva la eroare

	doRequest(overlay_url, overlay_pars, form_name, ajax_request_url, ajax_request_pars, ajax_accepted_info_message, ajax_accepted_todo, ajax_error_todo);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// atunci cand trebuie sa retrimiti codul de activare
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function showSendValidationCode() {
	var overlay_url = loader.baseUrl + "/assets/overlays/send_validation_code.php"; // url-ul cu html-ul overlay-ului	
	var overlay_pars = {}; // daca se trimit ceva parametri la html-ul overlay-ului
	var form_name = "#validare-form"; // id-ul formului din overlay
	var ajax_request_url = loader.baseUrl + "/ajax_responses/send_validation_code/doMethod"; // ce ajax requester se apeleaza
	var ajax_request_pars = { 	email: "#email" }; // ce parametri se trimit ( inputurile din form )
	var ajax_accepted_info_message = "<p>Un email cu codul de activare a fost trimis!</p>"; // daca se afiseaza un mesaj la ok
	var ajax_accepted_todo = function () { showValidation(); } // daca se face ceva la ok
	var ajax_error_todo = function() { doNothing(); } // daca se face ceva la eroare

	doRequest(overlay_url, overlay_pars, form_name, ajax_request_url, ajax_request_pars, ajax_accepted_info_message, ajax_accepted_todo, ajax_error_todo);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
//
// requesteru abstract pentru overlay-yri
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////		
function doRequest(overlay_url, overlay_pars, form_name, ajax_request_url, ajax_request_pars, ajax_accepted_info_message, ajax_accepted_todo, ajax_error_todo) 
{	

	// inchide overlay-uri daca sunt deschise
	$('#error').slideUp(slideUpSpeed);
	$('#notify').slideUp(slideUpSpeed);
	$('#overlay-cv-wrap').css('display', 'none');
	$('#overlay-content').css('display', 'none');



	$('#default').slideUp(slideUpSpeed, function() {

	// incarca overlay-ul in container
	$('#default').load(overlay_url, overlay_pars, function() {

	// afiseaza overlay-ul
	$('#loader').hide(); 
	$('#overlay').fadeIn(fadeInSpeed, function() {
		$('#default').slideDown(slideDownSpeed);
	});
	
	// eventul de submit pe form
	$(form_name).submit(function(e) {	
		// nu fa eventul default pe submit form
		e.preventDefault();
		
		// inlocuieste butonul de submit cu loader
		var $submitButton = $("input[type='submit']");
		$submitButton.fadeOut(100, function() {
			$('#loader').fadeIn(100);
		});
		// ia valorile reale ale inputuril
		var ajax_real_pars = {};
		for (var i in ajax_request_pars) {
			if (i=='sexm' || i=='sexf') {
				ajax_real_pars.sex =  $(ajax_request_pars['sexm']).val() == 'M' ? 'M' : ($(ajax_request_pars['sexf']).val() == 'F' ? 'F' : '') 
			}
			else {
			eval("ajax_real_pars."+i+" = '"+( $(ajax_request_pars[i]).val() == null ? "" : $(ajax_request_pars[i]).val() )+"'");
			}
		}
		// fa requestul ajax
		$.post(ajax_request_url, ajax_real_pars, function (data) {
			// daca e ok raspunsul ajax
			if (jQuery.trim(data) == "accepted") {
				$('#loader').hide();
				$('#error').slideUp(slideUpSpeed, function() {
					if (ajax_accepted_info_message != "") {
						$('#mesaj-info').html(ajax_accepted_info_message);
						$('#notify').slideDown(slideDownSpeed).delay(1000).slideUp(slideUpSpeed, function() { 
							$('#default').slideUp(slideUpSpeed, function() {
								ajax_accepted_todo(); // daca e cazul de redirectare catre alt overlay
							});
						});
					}
					else {
						$('#default').slideUp(slideUpSpeed, function() {
							ajax_accepted_todo(); // daca e cazul de redirectare catre alt overlay
						});
					}
				});					
			}
			else {				
				// daca e de facut altceva in plus la afisare eroare
				ajax_error_todo();				
				
				// afiseaza eroarea
				if ($('#error').css('display') == "block") {
					$('#error').slideUp(slideUpSpeed, function() {
							$('#mesaj-eroare').html(data);
					});
				}
				else {
					$('#mesaj-eroare').html(data);
				}
				$('#error').slideDown(slideDownSpeed, function() {				
					var $submitButton = $("input[type='submit']");
					$('#loader').fadeOut(100, function() {
						$submitButton.fadeIn(100);
					});
				});
			}

		});
	});
}); 
});
}

function doNothing() {}
function doRefresh() { if ( location.href.indexOf('login') == -1 ) { location.reload(); } else { window.location.replace(loader.baseUrl); } }
function doRedirect(url) { window.location.replace(url); }
function closeAllOverlays() {
	// inchide overlayurile ... inclusiv vizualizare cv
	if ($('#overlay').css('display') == "block") {
			$('#error').slideUp(slideUpSpeed);
			$('#notify').slideUp(slideUpSpeed);
			$('#default').slideUp(slideUpSpeed);
			$('#overlay').fadeOut(fadeOutSpeed);
			$('#overlay-cv-wrap').css('display', 'none');
			$('#overlay-content').css('display', 'none');
	}		
	// inchide fereastra de scrieti-ne aia din stanga
	if ( $('#fixed-left-box').css('left') == '0px') {
		$('#fixed-left-box').animate({left: '-=250'}, 200);
	}
}

function closeOverlay(isDefault) {
	if (isDefault == 1) {
		closeAllOverlays();
	}
	else {
		if ($('#error').css('display') == "block") {
			$('#error').slideUp(slideUpSpeed, function() {
				// in cazul in care eroarea e singurul div ... inchide si overlay-ul
				if ($('#default').css('display') != "block") { $('#overlay').fadeOut(fadeOutSpeed); }
			});
		}
		else if ($('#notify').css('notify') == "block") {
			$('#notify').slideUp(slideUpSpeed, function() {
				// in cazul in care eroarea e singurul div ... inchide si overlay-ul
				if ($('#default').css('display') != "block") { $('#overlay').fadeOut(fadeOutSpeed); }
			});
		}
	}
}

function showNotificare() {
	$('#overlay').css("background-image", "none");
	$('#overlay').slideDown(10, function() {
		$('#notify').slideDown(slideDownSpeed).delay(visibleDelay).slideUp(slideUpSpeed, function() {
				$('#overlay').hide();
		});
	});
}

function showErori() {
	$('#overlay').css("background-image", "none");
	$('#overlay').slideDown(10, function() {								
		$('#error').slideDown(slideDownSpeed);
	});
}

