var debugMode = false;
var debug;

if  (debugMode) {
	window.onload = initDebugMode;
}

function	initDebugMode()
{
	if  (!debugMode) {
		return ;
	}
	elmDebug = document.createElement("textarea");
	elmDebug.id = 'debug';
	elmDebug.setAttribute("readonly","readonly");
	elmDebug.rows = '15';
	elmDebug.cols = '70';
	var container = document.all ? document.all["data"] : document.getElementById("data");
	container.insertBefore(elmDebug, container.firstChild);		
	debug = document.all ? document.all["debug"] : document.getElementById("debug")
}

function	ResetFieldOnFocus(field, defVal)
{
	if (field.value == defVal) {
		field.value = '';
	}
}

function	ResetFieldOnBlur(field, defVal)
{
	if (field.value.length == 0) {
		field.value = defVal;
	}
}

function	memberChangeSite()
{
	var form = document.forms.sites;
	var id = form.sitesList.options[form.sitesList.options.selectedIndex].value
	var action = 'action=changeSite&id=' + id;
	var indexSite = 0;
	
	if (debugMode) {
		debug.value = "selIndex: " + form.sitesList.options.selectedIndex + "\n";
		debug.value+= "id: " + id + "\n";
	}
	
	// récupération de la position du site actif
	for (var i = 0; i < form.sitesList.options.length; i++) {
		if (form.siteID.value == form.sitesList.options[i].value) {
			indexSite = i;
			break;
		}
	}
	
	if (id == 'create') {
		form.action = 'index.php?cat=createSite';
		form.submit();
		return ;
	}
	else if (id == 'delete') {
		var ok;
		
		ok = confirm(sprintf(_l['confirm_site_delete'], decodeURIComponent(form.siteName.value)));
		if (!ok) {
			form.sitesList.options.selectedIndex = indexSite;
			return ;
		}
		action = 'action=deleteSite';
	}
	
	// envoi de la requête
	xmlhttp.open("POST", "requests/general.php", true);
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	// récupération de la liste
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (debugMode) {
				debug.value = xmlhttp.responseText;
			}
			if (xmlhttp.responseText == 'ok') {
				form.submit();
			}
			else {
				form.sitesList.options.selectedIndex = indexSite;
				alert(_l['an_error_occured']);
			}
		}
	}
	xmlhttp.send(action);
}

function	lostPassword()
{
	var form = document.forms.lostPwd;
	var email = form.lostemail.value;
	var err = '';
	
	if (email.search(/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/i) == -1) {
		err+= _l['wrong_email_address'] + "\n";
	}
	
	if (err.length > 0) {
		alert(err);
		return false;
	}
	disableForm(form);
	// envoi de la requête
	xmlhttp.open("POST", "requests/lostpwd.php", true);
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	// récupération du résultat
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (debugMode) {
				debug.value = xmlhttp.responseText;
			}
			
			switch (xmlhttp.responseText) {
			case 'ok':
				alert(_l['email_sent_with_instructions']);
				break;
			
			case 'exists':
				alert(_l['similar_request_for_account']);
				break;
			
			case 'mailfail':
				alert(_l['failed_to_send_mail']);
				break;
			
			case 'notfound':
				alert(_l['user_doesnt_exists']);
				break;
			
			case 'error':
			default:
				alert(_l['an_error_occured']);
				break;
			}
			enableForm(form);
		}
	}
	xmlhttp.send('email=' + encodeURIComponent(email));
	return false;
}

function	sites_searching()
{
	var f = document.forms.sites_search;
	if (f.site_search.value.length < 5) {
		return false;
	}
	
	disableForm(f);
	
	// envoi de la requête
	xmlhttp.open("POST", "requests/plugged/site.php", true);
	xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// récupération du résultat
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (debugMode) {
				debug.value = xmlhttp.responseText;
			}			
			switch (xmlhttp.responseText) {
			case 'ok':
				f.submit();
				break;
			
			case 'nothing':
				alert(_l['no_matching_website']);
				break;
			
			case 'error':
			default:
				alert(_l['an_error_occured']);
				break;
			}
			enableForm(f);
		}
	}
	xmlhttp.send('search=' + encodeURIComponent(f.site_search.value));
	return false;
}
