// Définition des variables glogales
var paramFlase = { borderBottomColor: 'red', borderLeftColor: 'red',borderRightColor: 'red', borderTopColor: 'red', color: 'red' };
var paramTrue = { borderBottomColor: '#5C8700', borderLeftColor: '#5C8700',borderRightColor: '#5C8700', borderTopColor: '#5C8700', color: '#5C8700' };
// Définition des function glogales
function verif_email(value) {
	var r_mail = /^[A-Za-z0-9._-]+@[A-Za-z0-9.-]{2,}[.][A-Za-z]{2,4}$/
	return r_mail.exec(value);
}
// Initialisation Window
$(window).resize(function(){
	if ($("#cache").css("display") == "block") show_wait();
});

$(document).ready(function() { 
	// Formulaire d'inscription
    $('#form_inscription').submit(function() { 
		$(this).ajaxSubmit({ 
	        beforeSubmit: form_inscription_validate,
	        success: form_inscription_ok, 
	        type: 'post',
	        dataType: 'json'
		});
        return false; 
    }); 
	$('#add_rdv').submit(function() {
		$(this).ajaxSubmit({ 
	        success: add_rdv_ok, 
	        type: 'post',
	        dataType: 'json'
		});
        return false; 
    });
	$('#send_invitation').submit(function() {
		$(this).ajaxSubmit({ 
	        beforeSubmit: send_invitation_validate,
			success: send_invitation_ok, 
	        type: 'post',
	        dataType: 'json'
		});
        return false; 
    });
	
	$('[name=cvtheque]').submit(function() {
		$(this).ajaxSubmit({ 
	        beforeSubmit: send_cv_validate,
			success: send_cv_ok, 
	        type: 'post',
	        dataType: 'HTML'
		});
        return false; 
    });
	
	/*
	
	if ($('[name=reg_identtheme]').length > 0) {
		$('[name=reg_identtheme]').bind("change", function() {
			$(".div_detail_rdv").hide();
			$("#"+$(this).attr('id')+"_div").show();
		});
	}*/
	
	if ($('[name=atl_choix]').length > 0) {
		set_selection($('[name=atl_choix]'),'selected_atl');
	}
	if ($('[name=themes_choix]').length > 0) {
		set_selection($('[name=themes_choix]'),'selected_interet');

	}
	if ($('[name=expo_choix]').length > 0) { 
		set_selection($('[name=expo_choix]'),'selected_rdv');
	}
	if ($('#atl_choix').length > 0) {
		selectBoxToggle('atl_choix','selected_atl');
	}
	if ($('#themes_choix').length > 0) {
		selectBoxToggle('themes_choix','selected_interet');
	}
	if ($('#expo_choix').length > 0) {
		selectBoxToggle('expo_choix','selected_rdv');
	}
	if ($('#envoyercv').length > 0) {
		$("#envoyercv").removeAttr('disabled');
	}
	
	//$("*").not(".selectbox,.options").bind('click', function() {
	//	$(".options").show();
	//}
	
});

function send_cv_validate(formData, jqForm, options) {
	var queryString = $.param(formData); 
	var formElement = jqForm[0]; 
	var error = false;
	var error_txt = "";
	
	if (!formElement.cv_file.value) { $(formElement.cv_file).css(paramFlase); error_txt = "<font color=red>Veuillez selectionner un fichier.</font><br />"; error = true; } else { $(formElement.cv_file).css(paramTrue); }
	if (!verif_email(formElement.cv_email.value)) { $(formElement.cv_email).css(paramFlase); error_txt =  error_txt+"<font color=red>Email invalide.</font><br />"; error = true; } else { $(formElement.cv_email).css(paramTrue); }

	if (error) {
		$("#form_inscription_response").html(error_txt);
		$("#form_inscription_response").fadeIn("fast");
		location.href='#topform';
		return false;
	} else {
		$("#form_inscription_response").fadeOut("fast");
		$("#envoyercv").html('En cours de traitement, veuillez patienter...');
		$("#envoyercv").attr('disabled');
		return true;
	}
} 
// post-submit callback 
function send_cv_ok(responseText, statusText) { 	
	responseText = eval("("+responseText+")");
	if (responseText.success == false) {
		$("#form_inscription_response").html(responseText.cause);
		$("#form_inscription_response").fadeIn("fast");
	} else {
		location.href='index.php?file=cvtheque&mode=uploadok&cvid='+responseText.id_cv;
	}
} 

function send_invitation_validate(formData, jqForm, options) {
    var queryString = $.param(formData); 
	var formElement = jqForm[0]; 
	var error = false;
	var error_txt = "";
	
	if (!formElement.dest_fname.value) { $(formElement.dest_fname).css(paramFlase); error_txt = "<font color=red>Veuillez saisir un Nom.</font><br />"; error = true; } else { $(formElement.dest_fname).css(paramTrue); }
	if (!formElement.dest_lname.value) { $(formElement.dest_lname).css(paramFlase); error_txt =  error_txt+"<font color=red>Veuillez saisir un Prénom.</font><br />"; error = true; } else { $(formElement.dest_lname).css(paramTrue); }
	if (!verif_email(formElement.dest_email.value)) { $(formElement.dest_email).css(paramFlase); error_txt =  error_txt+"<font color=red>Email invalide.</font><br />"; error = true; } else { $(formElement.dest_email).css(paramTrue); }

	if (error) {
		$("#form_inscription_response").html(error_txt);
		$("#form_inscription_response").fadeIn("fast");
		location.href='#topform';
		return false;
	} else {
		$("#form_inscription_response").fadeOut("fast");
		$("#send_invitation").fadeOut("fast");
		$(".encour").fadeIn("fast");
		return true;
	}
} 
// post-submit callback 
function send_invitation_ok(responseText, statusText) { 
    if (responseText.success == false) {
		$("#form_inscription_response").html("Erreur lors du traitement. Veuillez recommencer.");
		$("#form_inscription_response").fadeIn("fast");
	} else {
		$(".encour").fadeOut("fast");
		$("#dest_email").html(responseText.dest_email);
		$(".end").fadeIn("fast");
	}
} 


function form_inscription_validate(formData, jqForm, options) { 
    var queryString = $.param(formData); 
	var formElement = jqForm[0]; 
	var error = false;
	var error_txt = "";
	if (!formElement.member_civ.value) { $(formElement.member_civ).css(paramFlase); error = true; } else { $(formElement.member_civ).css(paramTrue); }
	if (!formElement.member_fname.value) { $(formElement.member_fname).css(paramFlase); error = true; } else { $(formElement.member_fname).css(paramTrue); }
	if (!formElement.member_lname.value) { $(formElement.member_lname).css(paramFlase); error = true; } else { $(formElement.member_lname).css(paramTrue); }
	if (!formElement.reg_ste.value) { $(formElement.reg_ste).css(paramFlase); error = true; } else { $(formElement.reg_ste).css(paramTrue); }
	if (!formElement.reg_stedomaine.value) { $(formElement.reg_stedomaine).css(paramFlase); error = true; } else { $(formElement.reg_stedomaine).css(paramTrue); }
	if (!formElement.reg_fonction.value) { $(formElement.reg_fonction).css(paramFlase); error = true; } else { $(formElement.reg_fonction).css(paramTrue); }
	if (!formElement.reg_steadr.value) { $(formElement.reg_steadr).css(paramFlase); error = true; } else { $(formElement.reg_steadr).css(paramTrue); } 	
	if (!formElement.reg_steville.value) { $(formElement.reg_steville).css(paramFlase); error = true; } else { $(formElement.reg_steville).css(paramTrue); } 	
	if (!formElement.reg_stecp.value) { $(formElement.reg_stecp).css(paramFlase); error = true; } else { $(formElement.reg_stecp).css(paramTrue); } 	
	if (!formElement.reg_pays.value) { $(formElement.reg_pays).css(paramFlase); error = true; } else { $(formElement.reg_pays).css(paramTrue); } 	
	if (isNaN(formElement.reg_tel.value)) { $(formElement.reg_tel).css(paramFlase); error = true; error_txt  = error_txt + "<br />Le champs Téléphone ne peut contenir que des chiffres."; } else { $(formElement.reg_tel).css(paramTrue); }
	if (!verif_email(formElement.member_email.value)) { $(formElement.member_email).css(paramFlase); $('#member_email_result').html("<font color=red>Email invalide.</font>"); error = true; } else { $(formElement.member_email).css(paramTrue); $('#member_email_result').html(''); }

	if ($("#reg_apresmidi_miniconf").is(":checked")) {
		if ($("[name=atl_choix_list]").val() == "")  { 
			error = true;
			error_txt  = error_txt + "<br />Veuillez choisir un ou plusieurs atelier.";
		}
	}
	if ($("#reg_rdvperso").is(":checked")) {
		if ($("[name=themes_choix_list]").val() == "" && $("[name=expo_choix_list]").val() == "")  { 
			error = true;
			error_txt  = error_txt + "<br />Veuillez choisir un ou plusieurs centres d'intérêts ou sélectionner au moins un exposants.";
		}
	}
	
	if (error) {
		$("#form_inscription_response").html("Veuillez remplir tous les champs."+error_txt);
		$("#form_inscription_response").fadeIn("fast");
		location.href='#topform';
		return false;
	} else {
		return true;
	}
} 
// post-submit callback 
function form_inscription_ok(responseText, statusText) { 
    if (responseText.success == false) {
		if (responseText.cause == 'member_email') {
			$("#form_inscription_response").html("Il y a d&eacute;j&agrave; une personne inscrite avec cet email.");
			location.href='#topform';
			$('input[@name=member_email]').css(paramFlase);
		}
		$("#form_inscription_response").fadeIn("fast");
	} else {
		location.href='index.php?file=inscription&mode=inscrit&r_id='+responseText.reg_id;
	}
} 

function add_rdv_ok(responseText, statusText) {
	if (responseText.success == true) { location.href="index.php?file=inscription&mode=inscrit&r_id="+responseText.reg_id; }
}


function set_selection(list, div) {
	var chaine = "";
	var doit = true;
	var ch = "";
	var nb = 0;
	
	if ($('[name='+$(list).attr('name')+']').fieldValue() != "") {
	
		if ($(list).attr('name') == 'atl_choix') {
			$("#form_inscription").checkCheckboxes("#reg_apresmidi_miniconf");
		}
		if ($(list).attr('name') == 'expo_choix' || $(list).attr('name') == 'themes_choix') $("#form_inscription").checkCheckboxes("#reg_rdvperso");
		
		$(".no_"+$(list).attr('name')).css('display', 'none');
		
		var nb = 1;
		
		$("."+$(list).attr('name')+"_values").each(function(i) {
			nb += 1;
		});
			
		if ($(list).attr('name') == 'expo_choix') {
			if (nb > 6) {
				doit = false;
			}
		}	
		
		if (doit == true) {
			var elem = $('[name='+$(list).attr('name')+'] option:selected');
				
			if ($(elem).hasClass("themep") == true) {
				var theme = $(elem).parent("optgroup").attr("label");
				if (theme.indexOf(" (") > -1) theme = theme.substr(0, theme.indexOf(" ("))
				chaine = chaine+theme+" : <em>"+$(elem).html()+"</em>";
			} else {
				chaine = chaine+$(elem).html()+"";
			}
			$(elem).attr('DISABLED', 'DISABLED');
			$(elem).removeAttr('SELECTED');
			
			$("#"+div).append("<div class=\"li_select\" id=\""+$(list).attr('name')+"_"+$('[name='+$(list).attr('name')+']').fieldValue()+"\"><div class=\"li_remove\" >[<a href=\"javascript:void(0);\" onclick=\"remove_selection('"+$(list).attr('name')+"','"+$('[name='+$(list).attr('name')+']').fieldValue()+"');\">Supprimer</a>]</div><div>"+chaine+"</div><input type=\"hidden\" class=\""+$(list).attr('name')+"_values\" name=\""+$(list).attr('name')+"_value_"+$('[name='+$(list).attr('name')+']').fieldValue()+"\" value=\""+$('[name='+$(list).attr('name')+']').fieldValue()+"\" /></div>");
			
			$("."+$(list).attr('name')+"_values").each(function(i) {
				if (ch != "") ch = ch + ',';
				ch = ch + $(this).val();
			});
			$('[name='+$(list).attr('name')+'_list]').val(ch);
			$("#"+div+' a:last').focus();
			
			$('[name='+$(list).attr('name')+']').selectOptions("", true);
			
		}
		
		if ($(list).attr('name') == 'expo_choix') {
			if (nb == 6) {
				$("[name="+$(list).attr('name')+"]").attr('DISABLED', 'DISABLED');
			}
		}	
	
	}
	
}
function remove_selection(list, val) {
	var ch = "";
	var nb = 0;
	
	$('#'+list+'_'+val).remove();
	$("[name="+list+"] option[value='"+val+"']").removeAttr('DISABLED');
		
	$("."+list+"_values").each(function(i) {
		if (ch != "") ch = ch + ',';
		ch = ch + $(this).val();
		nb += 1;
	});

	$('[name='+list+'_list]').val(ch);
	
	if (nb < 6) {
		$("[name="+list+"]").removeAttr('DISABLED');
	}
		
	if ($("."+list+"_values").length == 0) {
		$(".no_"+list).css('display', 'block');
	}
}

// Formulaire NEWSLETTER
function newsletter() {
	var email = $("#newsletter_email").val();
	var checked = $("#newsletter_partage").attr("checked");
	if (checked == true) checked = 0; else checked = 1; 
	
	if (!verif_email(email)){
		$("#newsletter_email").css(paramFlase);
		$("#newsletter_response").html("Veuillez saisir un email correct ci-dessus (exemple: contact@innovembre.com).");
		$("#newsletter_response").fadeIn("fast");
	} else {
		show_wait();
		$("#newsletter_response").load("modules/newsletter/result_send.php", {register: email, checked: checked});
		$("#newsletter_response").fadeIn("fast", function(){ setTimeout(function() { $("#newsletter_response").fadeOut("slow"); $("#newsletter_email").val(''); }, 3000);} );
		
		hide_wait();
	}
}
function show_unregister() {
	$("#newsletter_un").slideToggle("slow");
}

function newsletter_unregister() {
	var email = $("#newsletter_email_un").val();
	if (!verif_email(email)) { 
		$("#newsletter_email_un").css(paramFlase);
		$("#newsletter_response_un").html("Veuillez saisir un email correct ci-dessus (exemple: contact@innovembre.com)");
		$("#newsletter_response_un").fadeIn("fast");
	} else {
		show_wait();
		$("#newsletter_response_un").load("modules/newsletter/result_send.php", {unregister: email});
		$("#newsletter_response_un").fadeIn("fast");
		hide_wait();
	}
	
}

// Contact SEND
function contact_send() {
	var error = false;
	
	var contact_nom = $("#contact_nom").val();
	var contact_prenom = $("#contact_prenom").val();
	var contact_email = $("#contact_email").val();
	var contact_message = $("#contact_message").val();
	
	if (contact_nom == "") {
		$("#contact_nom").css(paramFlase);
		error = true
	} else {
		$("#contact_nom").css(paramTrue);
	}
	if (contact_prenom == "") {
		$("#contact_prenom").css(paramFlase);
		error = true
	} else {
		$("#contact_prenom").css(paramTrue);
	}
	
	if (!verif_email(contact_email)) {
		$("#contact_email").css(paramFlase);
		error = true
	} else {
		$("#contact_email").css(paramTrue);
	}
	if (contact_message == "") {
		$("#contact_message").css(paramFlase);
		error = true
	} else {
		$("#contact_message").css(paramTrue);
	}
	
	if (!error) {
		show_wait();
		$("#contact_page").load("modules/contact/result_send.php", {post_nom: contact_nom, post_prenom: contact_prenom, post_email: contact_email, post_message: contact_message});
		hide_wait();
	} 
}
function show_wait() {
	var new_w = document.body.clientWidth;
	if (document.documentElement.scrollWidth > document.body.clientWidth) new_w = document.documentElement.scrollWidth;
	$("#cache").css({height: document.body.clientHeight, display: "block"});
	$(".load_back").css({width: new_w+'px'});
}
function hide_wait() {
	$("#cache").css({display: "none"});
}

// function Identification
function login() {
	$.get("modules/inscription/login.php", { mode: "islog" },
	function(data){
		if (data.result == 1) {
			location.href="index.php?file=inscription&mode=rendezvous";
		} else {
			show_popup_log();
		}
	}, 'json');
}
function show_popup_log() {
	tb_show("Identification", "modules/inscription/login.php?mode=loginform&width=250&height=135&modal=true", 'false');
}
function do_login() {
	var error = false;
	
	var login_name = $("#login_name").val();
	var login_pwd = $("#login_pwd").val();
	
	if (login_name == "") {
		$("#login_name").css(paramFlase);
		error = true
	} else {
		$("#login_name").css(paramTrue);
	}
	if (login_pwd == "") {
		$("#login_pwd").css(paramFlase);
		error = true
	} else {
		$("#login_pwd").css(paramTrue);
	}
	if (!error) {
		$.get("modules/inscription/login.php", { mode: "login", login_name: login_name, login_pwd: login_pwd },
		function(data){
			if (data.result != 0) {
				location.href="index.php?file=inscription&mode=rendezvous";
			} else {
				alert("Echec d'identification.");
			}
		}, 'json');
	} 
	
}
function add_pop_rdv(el, expo_id, plage) {
	tb = confirm("Exposant selectionné : "+$('#name_expo_'+expo_id).val()+"\n\nPlage horaire selectionnée : "+plage);
	if (tb) {
		location.href="index.php?file=inscription&mode=inscrit&form=add_rdv&add_expo_id="+expo_id+"&add_rdv_plage="+plage+"&add_reg_id="+$('#reg_id_selected').val();
	}
}
function open_expo(expo_id) {
	window.open("modules/exposants/view_pop.php?expo_id="+expo_id,"exposant"+expo_id,"resizable=no, menubar=no, status=no, scrollbars=auto, width=600, height=400");
}
function open_print() {
	
	window.open("modules/inscription/print_rdv.php?r_id="+$('#reg_id_selected').val(),"print","resizable=no, menubar=no, status=no, scrollbars=yes, menubar=no, width=600, height=350");
}

function selectBoxToggle(el,div) {
	$("#"+el).bind('click', function() {
		$(".options").parent(":not(#"+el+")").children(".options").hide('fast');
		
		$("#"+el+" .options").toggle('fast',function callback() {
			if ($(this).height() > 250) $(this).css("height", "250px").css("overflow", "auto"); // dom element
		});
	});
	$("#"+el+" .options div:not(.noclicable)").bind('click', function() {
		setSelection(this, el, div);
	});
}
function disabledSelectBox(el) {
	$("#"+el).unbind('click');
	$("#"+el+" .options div").unbind('click');
}


function setSelection(opt, el, div) {
	var chaine = "";
	var doit = true;
	var ch = "";
	var nb = 0;
	
	var val = $(opt).children('input').val();
	
	if (val != "") {
	
		if (el == 'atl_choix') {
			$("#form_inscription").checkCheckboxes("#reg_apresmidi_miniconf");
		}
		if (el == 'expo_choix' || el == 'themes_choix') $("#form_inscription").checkCheckboxes("#reg_rdvperso");
		
		$(".no_"+el).css('display', 'none');
		
		var nb = 1;
		
		$("."+el+"_values").each(function(i) {
			nb += 1;
		});
			
		if (el == 'expo_choix') {
			if (nb > 6) {
				doit = false;
			}
		}	
		
		if (doit == true) {
		
			if ($(opt).hasClass('hastheme')) {
				var theme = $(opt).attr("title");
				chaine = chaine+theme+" : <em>"+$(opt).children('span').html()+"</em>";
			} else {
				chaine = chaine+$(opt).children('span').html();
			}
		
			
			$(opt).unbind('click');
			$(opt).addClass('optdisabled');
			
			$("#"+div).append("<div class=\"li_select\" id=\""+el+"_"+val+"\"><div class='texte'>"+chaine+"</div><div class=\"li_remove\" >[<a href=\"javascript:void(0);\" onclick=\"removeSelection('"+el+"','"+val+"','"+div+"');\">X</a>]</div><input type=\"hidden\" class=\""+el+"_values\" name=\""+el+"_value_"+val+"\" value=\""+val+"\" /></div>");
			
			$("."+el+"_values").each(function(i) {
				if (ch != "") ch = ch + ',';
				ch = ch + $(this).val();
			});
			$('[name='+el+'_list]').val(ch);
						
		}
		
		if (el == 'expo_choix') {
			if (nb == 6) {
				disabledSelectBox(el);
			}
		}	
	
	}
	
}
function removeSelection(el, val, div) {
	var ch = "";
	var nb = 0;
	
	$('#'+el+'_'+val).remove();
	$("#"+el+" .options div input[value='"+val+"']").parent(".optdisabled").removeClass('optdisabled').bind('click', function() { setSelection(this, el, div); });
	
	$("."+el+"_values").each(function(i) {
		if (ch != "") ch = ch + ',';
		ch = ch + $(this).val();
		nb += 1;
	});

	$('[name='+el+'_list]').val(ch);
	
	if (nb < 6 && el == 'expo_choix') {
		disabledSelectBox(el);
		selectBoxToggle(el, div);
	}
	
	if ($("."+el+"_values").length == 0) {
		$(".no_"+el).css('display', 'block');
	}
	
}