/*
Copyright (C) 2001 - Linkto.org
*/

function checkSecurityCode() {
    return true;
}

function checkDbUrl(){
    var myfunc = function() {
        generalAjaxHandler("url","Url gia' presente nel database!",null, checkTitolo);
    }
    req = CreateXmlHttpReq(myfunc);
    req.open("GET", "/_include/ajax.php?act=urldbcheck&url="+document.formReg.url.value+"&rand="+escape(Math.random()));
    req.send(null);
}
// function checkNetUrl(){
//     var myfunc = function() {
//         generalAjaxHandler("url","Url sito errata!",null, checkTitolo);
//     }
//     req = CreateXmlHttpReq(myfunc);
//     req.open("GET", "/_include/ajax.php?act=urlnetcheck&url="+document.formReg.url.value+"&rand="+escape(Math.random()));
//     req.send(null);
// }
function checkTitolo(){
    var myfunc = function() {
        generalAjaxHandler("titolo","Titolo gia' presente nel database!",null, checkDescrizione);
    }
    req = CreateXmlHttpReq(myfunc);
    req.open("GET", "/_include/ajax.php?act=titolodbcheck&titolo="+document.formReg.titolo.value+"&rand="+escape(Math.random()));
    req.send(null);
}
function checkDescrizione(){
    var myfunc = function() {
	if (req.readyState == 4 && req.status == 200) {
		var res = req.responseText;
		if (res.indexOf("OK") != -1) {
			submitForm();
		} else {
			warnField('descrizione');
			alert(res);
		}
	}
    }
    req = CreateXmlHttpReq(myfunc);
    req.open("GET", "/_include/ajax.php?act=descrizionecheck&descrizione="+document.formReg.descrizione.value+"&rand="+escape(Math.random()));
    req.send(null);
}

function submitForm(){
	document.formReg.submit();
}



function isValidTitolo(a){
	if(a.length < 3 ){
		return false;
	}
	return true;
}
function isValidDescrizione(a){
	if(a.length < 20 || a.length > 250 ){
		return false;
	}
	return true;
}

function controllaCategoria(a){
	if(a=='' ){
		return false;
	}
	return true;
}
function isValidUrl(s) {
	if ((s == "") || (s.indexOf ('http://') == -1) || (s.indexOf ('.') == -1) || s.length<12) return false;
  	return true;
}


function warnField(fieldName)
{
	loading();
//	eval("document.formReg."+fieldName+".style.background='1px red solid'");
        eval("document.formReg."+fieldName+".className='form_control_alert'");
	eval("document.formReg."+fieldName+".focus();");
}
function clearFields(fields) {
    for (i = 0; i < fields.length; i++) {
//    	eval("document.formReg."+fields[i]+".style.border=''");
        eval("document.formReg."+fields[i]+".className='form_control'");
    }
}


function controllaFormRegistrazione(){
	var a=document.formReg;
	loading();
 	clearFields(new Array("nome","cognome","email","password","url","titolo","descrizione","categoria"), new Array(""));
 	if (!validate(a.nome.value, "^.*[^ ]+.*$", "Il nome non puo' essere vuoto","nome")) return false;
 	if (!validate(a.cognome.value, "^.*[^ ]+.*$", "Il cognome non puo' essere vuoto","cognome")) return false;
 	if (!isValidEmail(a.email.value)) {
 		warnField("email");
 		alert("Email non valida!");
 		return false;
 	}
 	if (!validate(a.password.value, "^[A-z0-9_.,\\-!;:?=]{5,}$", "La password non puo' contenere caretteri speciali oltre a lettere, numeri e caratteri di punteggiatura, essere vuota o piu' corta di 5 caratteri","password")) return false;
 	if (a.password.value != a.password2.value) {
 		warnField("password");
 		alert("I due campi password non coincidono");
 		return false;
 	}
 	if (!isValidUrl(a.url.value)) {
 		warnField("url");
 		alert("Url non valido!");
 		return false;
 	}
 	if (!isValidTitolo(a.titolo.value)) {
 		warnField("titolo");
 		alert("Il titolo del sito non puo' essere vuoto e piu' corto di 3 caratteri!");
 		return false;
 	}
	if(!controllaLunghezzaTitolo(a)){
 		warnField("titolo");
 		alert("Il titolo del sito non puo' essere piu' lungo di 115 pixel!");
 		return false;
	}
 	if (!isValidDescrizione(a.descrizione.value)) {
 		warnField("descrizione");
 		a.descrizione.value=a.descrizione.value.substr(0,250);
 		alert("La descrizione non puo' essere piu' corta di 20 caratteri e piu' lunga di 250 caratteri!");
 		return false;
 	}
 	if(!controllaCategoria(a.categoria.value)){
 		warnField("categoria");
 		alert("Selezionare una categoria!");
 		return false;
 	}
 	if(a.privacy.checked==false){
		loading();
 		alert("E' necessario dare il consenso ai sensi della legge 675/96!");
 		a.privacy.focus();
 		return false;
 	}
 	if(a.policy.checked==false){
		loading();
 		alert("E' necessario accettare la policy di Linkto.org!");
 		a.policy.focus();
 		return false;
 	}
	checkDbUrl();
	return false;
}


