	var v_firstname,v_lastname,v_email,v_pass,v_pass2;
	var v_page_title,v_description,v_ageCheck,v_cgv,v_img;
	var v_projtitre,v_projdesc,v_img_1,v_img_2,v_img_3,v_img_4;
	var isdesign = new RegExp("(create/type/5)", "g");
	var isproject = new RegExp("(pickitems/index)", "g");
	var isprojectview = new RegExp("(view/index/id/)", "g");
	var isnormal = new RegExp("(login)", "g");
	var isedit = new RegExp("(/edit)", "g");
	var ch = document.location.href;
	var ch2 = ch.substring(ch.lastIndexOf("/account/"));
	var ch3 = ch.substring(ch.lastIndexOf("/rma/"));
	var designer;
	var edit;
	var normal;
	var project;
	var projectview;
	var editdesigner;
	
	
	
//une fois le dom chargé :
function init() {
	
	if(ch3.match(isproject)){
		project = true;
	}
	if(ch3.match(isprojectview)){
		projectview = true;
//attache les evenements souris aux elements recuperes via le rma		
		var imgs = document.getElementById("form-uploaded-files-list").getElementsByTagName("img");
		var doc = document.getElementById("doc");
		if(doc.getElementsByClassName("docresult").length > 0){
			//hover doc
            qq.attach(doc, 'mouseover', function (event) {
        		doc.getElementsByTagName("span")[0].setAttribute("style","display:block;");
        	});
            qq.attach(doc, 'mouseout', function (event) {
        		doc.getElementsByTagName("span")[0].setAttribute("style","display:none;");
        	});
            //clic bouton suppr
            qq.attach(doc.getElementsByTagName("span")[0], 'click', function(e){
            	qq.detach(doc, 'mouseover', function (event) {
            		doc.getElementsByTagName("span")[0].setAttribute("style","display:block;");
            	});
            	qq.detach(doc, 'mouseout', function (event) {
            		doc.getElementsByTagName("span")[0].setAttribute("style","display:none;");
            	});
            	qq.remove(doc.getElementsByClassName("docresult")[0]);
            	doc.getElementsByTagName("span")[0].setAttribute("style","display:none;");
            	doc.parentNode.getElementsByTagName("input")[1].value = "delete";
            	doc.getElementsByClassName("file-uploader")[0].setAttribute("style","display:block");
            	var ul = doc.parentNode.getElementsByClassName("qq-upload-list");
            	ul[0].setAttribute("style","display:none");
            });
            var doc_a = qq.getByClass(doc, "docresult")[0].firstChild.firstChild;
    	    if (doc_a.data.length > 33){
    	        doc_a.data = doc_a.data.slice(0, 19) + '...' + doc_a.data.slice(-13);    
    	    }
		}
		
		
		if(imgs.length > 0){
			for(var i = 0; i < imgs.length; i++ ){
				
				var id_img = eval(imgs[i].parentNode.id.substr(-1));
				
				//hover image
                qq.attach(imgs[i].parentNode, 'mouseover', function showDeleteButton () {
            		this.getElementsByTagName("span")[0].setAttribute("style","display:block;");
            	});
                qq.attach(imgs[i].parentNode, 'mouseout', function hideDeleteButton () {
                	this.getElementsByTagName("span")[0].setAttribute("style","display:none;");
            	});
                //clic bouton suppr
                qq.attach(imgs[i].parentNode.getElementsByTagName("span")[0], 'click', function(e){
                	qq.detach(this.parentNode, 'mouseover', function showDeleteButton () {
                		this.getElementsByTagName("span")[0].setAttribute("style","display:block;");
                	});
                	qq.detach(this.parentNode, 'mouseout', function hideDeleteButton () {
                    	this.getElementsByTagName("span")[0].setAttribute("style","display:none;");
                	});
                	qq.remove(this.parentNode.getElementsByTagName("img")[0]);
                	console.log(this);
                	this.setAttribute("style","display:none;");
                	this.parentNode.parentNode.getElementsByTagName("input")[1].value = "delete";
                	this.parentNode.getElementsByClassName("file-uploader")[0].setAttribute("style","display:block");
                	if(id_img <= 4){
                    	verif_entries(this.parentNode.id);
                    }
                	var ul = this.parentNode.parentNode.getElementsByClassName("qq-upload-list");
                	ul[0].setAttribute("style","display:none");
                });
				
			}
			
		}
		
	}
	// on determine le type de la page en fonction du type d'utilisateur
	if (ch2.match(isnormal)) {
		normal = true;
		designer = false;
		edit = false;
	} else if (ch2.match(isedit)) {
		edit = true;
		if (document.getElementById("file-uploader")) {
			editdesigner = true;
		}
	} else if (ch2.match(isdesign)) {
		designer = true;
		edit = false;
		normal = false;
	}

	// si on est sur une page d'edition ou d'erreur, on lance une vérification
	// des champs préremplis
	var registerError = document.getElementsByClassName('error-msg');

	if (edit) {
		verif_entries("firstname");
		verif_entries("lastname");
		verif_entries("email");
		if (editdesigner) {
			console.log("editdesigner");
			verif_entries("img");
			verif_entries("page_title");
			verif_entries("description");
		}
	}

	if (designer && registerError.length > 0) {
		console.log("designerError");
		verif_entries("firstname");
		verif_entries("lastname");
		verif_entries("email");
		verif_entries("pass");
		verif_entries("pass2");
		verif_entries("image");
		verif_entries("page_title");
		verif_entries("description");
		verif_entries("ageCheck");
		verif_entries("cgv");
	}

	if (normal && registerError.length > 0) {
		console.log("normalError");
		verif_entries("firstname");
		verif_entries("lastname");
		verif_entries("email");
		verif_entries("pass");
		verif_entries("pass2");
		verif_entries("ageCheck");
		verif_entries("cgv");
	}
	if (projectview){
		verif_entries("proj-img-1");
		verif_entries("proj-img-2");
		verif_entries("proj-img-3");
		verif_entries("proj-img-4");
		verif_entries("projtitre");
		verif_entries("projdesc");
	}
		
}


	
function verif_entries(data) {
	var form = document.getElementById("form-validate");
	var sub = document.getElementById("form-submit");
	var reg = new RegExp(/^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$/);
	
	switch (data) {
	case "firstname":
		if (form.firstname.value != "") {
			document.getElementById("result-firstname").innerHTML = "";
			document.getElementById("result-firstname").className = "";
			form.firstname.className = "input-text";
			v_firstname = true;
		} else {
			form.firstname.className = "input-text validation-failed";
			document.getElementById("result-firstname").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-firstname").className = "validation-advice";
			v_firstname = false;
		}
		break;
	case "lastname":
		if (form.lastname.value != "") {
			document.getElementById("result-lastname").innerHTML = "";
			document.getElementById("result-lastname").className = "";
			form.lastname.className = "input-text";
			v_lastname = true;
		} else {
			form.lastname.className = "input-text validation-failed";
			document.getElementById("result-lastname").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-lastname").className = "validation-advice";
			v_lastname = false;
		}
		break;
	case "email":
		if (form.email.value.search(reg) != -1) {
			document.getElementById("result-email").innerHTML = "";
			document.getElementById("result-email").className = "";
			form.email.className = "input-text";
			v_email = true;
		} else if (form.email.value == "") {
			form.email.className = "input-text validation-failed";
			document.getElementById("result-email").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-email").className = "validation-advice";
			v_email = false;
		} else {
			form.email.className = "input-text validation-failed";
			document.getElementById("result-email").innerHTML = 'Adresse invalide';
			document.getElementById("result-email").className = "validation-advice";
			v_email = false;
		}
		break;
	case "pass":
		if (form.password.value.length >= 6) {
			document.getElementById("result-pass").innerHTML = "";
			document.getElementById("result-pass").className = "";
			form.password.className = "input-text";
			v_pass = true;
			if(form.confirmation.value != "") {
				if (form.password.value != form.confirmation.value) {
					form.password.className = "input-text validation-failed";
					document.getElementById("result-pass").innerHTML = "Le mot de passe n'est pas identique";
					document.getElementById("result-pass").className = "validation-advice";
					v_pass = false;
				}else {
					v_pass = true;
					v_pass2 = true;
				}
			}
		} else  {
			if (form.password.value = "") {
				form.password.className = "input-text validation-failed";
				document.getElementById("result-pass").innerHTML = 'Ce champ est obligatoire';
				document.getElementById("result-pass").className = "validation-advice";
				v_pass = false;
			}else {
				form.password.className = "input-text validation-failed";
				document.getElementById("result-pass").innerHTML = 'Veuillez saisir au moins 6 caract&egrave;res.';
				document.getElementById("result-pass").className = "validation-advice";
				v_pass = false;
			}
		}
		break;
	case "pass2":
		if (form.confirmation.value.length >= 6) {
			document.getElementById("result-pass2").innerHTML = "";
			document.getElementById("result-pass2").className = "";
			form.confirmation.className = "input-text";
			v_pass2 = true;
			if(form.password.value != "") {
				if (form.password.value != form.confirmation.value) {
					form.confirmation.className = "input-text validation-failed";
					document.getElementById("result-pass2").innerHTML = "Le mot de passe n'est pas identique";
					document.getElementById("result-pass2").className = "validation-advice";
					v_pass2 = false;
				}else {
					v_pass = true;
					v_pass2 = true;
				}
			}
		} else  {
			if (form.confirmation.value = "") {
				form.confirmation.className = "input-text validation-failed";
				document.getElementById("result-pass2").innerHTML = 'Ce champ est obligatoire';
				document.getElementById("result-pass2").className = "validation-advice";
				v_pass2 = false;
			}else {
				form.confirmation.className = "input-text validation-failed";
				document.getElementById("result-pass2").innerHTML = 'Veuillez saisir au moins 6 caract&egrave;res.';
				document.getElementById("result-pass2").className = "validation-advice";
				v_pass2 = false;
			}
		}
		break;
	case "page_title":
		if (form.page_title.value != "") {
			document.getElementById("result-page_title").innerHTML = "";
			document.getElementById("result-page_title").className = "";
			form.page_title.className = "input-text";
			v_page_title = true;
		} else {
			form.page_title.className = "input-text validation-failed";
			document.getElementById("result-page_title").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-page_title").className = "validation-advice";
			v_page_title = false;
		}
		break;
	case "description":
		if (form.description.value != "") {
			document.getElementById("result-description").innerHTML = "";
			document.getElementById("result-description").className = "";
			form.description.className = "input-text";
			v_description = true;
		} else {
			form.description.className = "input-text validation-failed";
			document.getElementById("result-description").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-description").className = "validation-advice";
			v_description = false;
		}
		break;
	case "ageCheck":
		if (form.ageCheck.checked == 1) {
			document.getElementById("result-ageCheck").innerHTML = "";
			document.getElementById("result-ageCheck").className = "";
			form.ageCheck.className = "input-text";
			v_ageCheck = true;
		} else {
			form.ageCheck.className = "input-text validation-failed";
			document.getElementById("result-ageCheck").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-ageCheck").className = "validation-advice";
			v_ageCheck = false;
		}
		break;
	case "cgv":
		if (form.cgv.checked == 1) {
			document.getElementById("result-cgv").innerHTML = "";
			document.getElementById("result-cgv").className = "";
			form.cgv.className = "input-text";
			v_cgv = true;
		} else {
			form.cgv.className = "input-text validation-failed";
			document.getElementById("result-cgv").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-cgv").className = "validation-advice";
			v_cgv = false;
		}
		break;
	case "img":
		if (document.getElementById("result-image-url").value != '') {
			v_img = true;
		} else {
			v_img = false;
		}
		break;
	case "proj-img-1":
		if (document.getElementById("result-image-url-1").value != '' && document.getElementById("result-image-url-1").value != 'delete'
		|| (document.getElementById("result-image-url-1").value == '' && document.getElementById("proj-img-1").getElementsByTagName("img").length > 0)) {
			v_img_1 = true;
		} else {
			v_img_1 = false;
		}
		break;
	case "proj-img-2":
		if (document.getElementById("result-image-url-2").value != '' && document.getElementById("result-image-url-2").value != 'delete'
		|| (document.getElementById("result-image-url-2").value == '' && document.getElementById("proj-img-2").getElementsByTagName("img").length > 0)) {
			v_img_2 = true;
		} else {
			v_img_2 = false;
		}
		break;
	case "proj-img-3":
		if (document.getElementById("result-image-url-3").value != '' && document.getElementById("result-image-url-3").value != 'delete'
		|| (document.getElementById("result-image-url-3").value == '' && document.getElementById("proj-img-3").getElementsByTagName("img").length > 0)) {
			v_img_3 = true;
		} else {
			v_img_3 = false;
		}
		break;
	case "proj-img-4":
		if (document.getElementById("result-image-url-4").value != '' && document.getElementById("result-image-url-4").value != 'delete'
		|| (document.getElementById("result-image-url-4").value == '' && document.getElementById("proj-img-4").getElementsByTagName("img").length > 0)) {
			v_img_4 = true;
		} else {
			v_img_4 = false;
		}
		break;
	case "projtitre":
		if(projectview){
			var form = document.getElementById("viewproject");
		}else {
			var form = document.getElementById("projectForm");
		}
		if (form.title.value != "" && form.title.value.length <= 40) {
			document.getElementById("result-projtitre").innerHTML = "";
			document.getElementById("result-projtitre").className = "";
			form.title.className = "input-text";
			v_projtitre = true;
		} else if(form.title.value.length > 40){
			form.title.className = "input-text validation-failed";
			document.getElementById("result-projtitre").innerHTML = 'Le titre doit faire 40 caract&egrave;res maximum, le votre fait '+form.title.value.length+' caract&egrave;res';
			document.getElementById("result-projtitre").className = "validation-advice";
			v_projtitre = false;
		}else {
			form.title.className = "input-text validation-failed";
			document.getElementById("result-projtitre").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-projtitre").className = "validation-advice";
			v_projtitre = false;
		}
		break;
	case "projdesc":
		if(projectview){
			var form = document.getElementById("viewproject");
		}else {
			var form = document.getElementById("projectForm");
		}
		if (form.description.value != "" && form.description.value.length <= 1800) {
			document.getElementById("result-projdesc").innerHTML = "";
			document.getElementById("result-projdesc").className = "";
			form.description.className = "input-text";
			v_projdesc = true;
		} else if(form.description.value.length > 40){
			form.description.className = "input-text validation-failed";
			document.getElementById("result-projdesc").innerHTML = 'La description doit faire 1800 caract&egrave;res maximum, la votre fait '+form.description.value.length+' caract&egrave;res';
			document.getElementById("result-projdesc").className = "validation-advice";
			v_projdesc = false;
		}else {
			form.description.className = "input-text validation-failed";
			document.getElementById("result-projdesc").innerHTML = 'Ce champ est obligatoire';
			document.getElementById("result-projdesc").className = "validation-advice";
			v_projdesc = false;
		}
		break;
	default:

		break;
	}
	//Activation bouton valider en fonction des champs
	if (normal) {
		if (v_firstname && v_lastname && v_email && v_pass && v_pass2 && v_ageCheck && v_cgv) {
			sub.className = "form-button";
			sub.disabled = false;
		} else {
			sub.className = "form-button-inactive";
			sub.disabled = true;
		}
	} else if(designer) {
 
		if (v_firstname && v_lastname && v_email && v_pass && v_pass2 && v_img && v_page_title && v_description && v_cgv) {
			if(document.getElementById("result-image-img")){
				sub.className = "form-button";
				sub.disabled = false;
			}	
		} else {
			sub.className = "form-button-inactive";
			sub.disabled = true;
		}
	} else if(edit){
		if(editdesigner){
			if (v_firstname && v_lastname && v_email && v_page_title && v_description && v_img) {
				sub.className = "form-button";
				sub.disabled = false;
			} else {
				sub.className = "form-button-inactive";
				sub.disabled = true;
			}
		} else {
			if (v_firstname && v_lastname && v_email) {
				sub.className = "form-button";
				sub.disabled = false;
			} else {
				sub.className = "form-button-inactive";
				sub.disabled = true;
			}
		}
	} else if(project || projectview) {
		if (v_projtitre && v_projdesc && v_img_1 && v_img_2 && v_img_3 && v_img_4) {
			sub.className = "form-button";
			sub.disabled = false;
		} else {
			sub.className = "form-button-inactive";
			sub.disabled = true;
		}
	}
	
}
