/**
* Valide le formulaire d'authentification
*
* @return void
*/
function login(authenfication) {
	var input_login = $('#input_login').val();
	var input_mdp = $('#input_mdp').val();
	$.ajax({
	 type: "POST",
	 url: "../includes/authentification.ajax.php",
	 data: "input_login="+input_login+"&input_mdp="+input_mdp+"&authenfication="+authenfication,
	 success: function(msg){
		 $("#div-authentification").html(msg);
	 }
	})
}

/**
* Les masques de saisie des inputs
*
* @return void
*/
function mask_input(){
	$("#fic_num_siret").mask("99999999999999");
	$("#fic_code_postal").mask("99999");
	$("#fic_fax").mask("99 99 99 99 99");
	$("#fic_telephone").mask("99 99 99 99 99");
  $("#fic_portable").mask("99 99 99 99 99");
}

/**
* Géolocaliser une adresse
*
* @return void
*/
function addAddressToMap(response)
{
  map.clearOverlays();
  map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
  if (!response || response.Status.code != 200){
    alert("L'adresse mentionnée n'a pas pu être géolocalisée.");
  }
  else
  {
    place = response.Placemark[0];
    point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);
    bounds = new GLatLngBounds();
    bounds.extend(point);
    map.setCenter(point);
    map.setZoom(11);
    var marker = new GMarker(point, {draggable: true});
    map.addOverlay(marker);
    
    google.maps.Event.addListener(marker, "drag", function(point) {
      afficheCoordonnees(point);
    });
    
    $("#fic_geo_latitude").val(place.Point.coordinates[1]);
    $("#fic_geo_longitude").val(place.Point.coordinates[0]);
  }
}

function afficheCoordonnees(point){
 var zoom = map.getZoom();
 var normalProj = G_NORMAL_MAP.getProjection();
 var sourisPixel = normalProj.fromLatLngToPixel(point, zoom);
 $("#fic_geo_latitude").val(point.lat());
 $("#fic_geo_longitude").val(point.lng());
}

/**
* Valide le formulaire de la fiche d'inscription
*
* @return void
*/
function valide_fiche() {
	$("#fiche-form").validate({
		errorElement:"div",
		errorPlacement: function(error, element) {
			error.appendTo(element.parent());
		},
		rules: {
			fic_num_siret: { 
				required: true
			},
			uti_login: { 
				required: true,
				minlength: 6
				/*remote: {
  				url: "../includes/authentification.ajax.php",
          type: "post",
          data: {
            authenfication:2,
            input_login: function() {
              return $("#uti_login").val();
            }
          }
				}*/
			},
			uti_mdp: { 
				required: true,
				minlength: 6
			},
			uti_mdp_repeat: { 
				required: true,
				minlength: 6,
				equalTo: "#uti_mdp"
			},
			fic_denomination: { 
				required: true
			},
			fic_activite_principale: { 
				required: true
			},
			fic_nom_responsable: { 
				required: true
			},
			fic_prenom_responsable: { 
				required: true
			},
			fic_adresse: { 
				required: true
			},
			fic_code_postal: { 
				required: true
			},
			fic_ville: { 
				required: true
			},
			/*fic_telephone: {
				required: true
			},*/
			fic_email: {
				email: true
			},
			categorie_id_principale: {
				required: true
			},
			fic_presentation: { 
				required: true
			},
			fic_photo: {
				accept:'gif|jpg|jpeg'
			},
			fic_logo: {
				accept:'gif|jpg|jpeg'
			},
			input_captcha: { 
				required: true,
				remote: {
					url: "../includes/captcha.ajax.php",
					type: "post"
				}
			}
		},
		messages: {
			fic_num_siret: {
				required: "Merci de saisir le numéro de SIRET"
			},
			uti_login: {
				required: "Merci de saisir un identifiant",
				minlength: "Votre login doit comporter au minimum 6 caractères"
			},
			uti_mdp: {
				required: "Merci de saisir un mot de passe",
				minlength: "Votre mot de passe doit contenir au minimum 6 caractères"
			},
			uti_mdp_repeat: {
				required: "Merci de confirmer le mot de passe",
				minlength: "Votre mot de passe doit contenir au minimum 6 caractères",
				equalTo: "Les mots de passe sont différents"
			},
			fic_denomination: {
				required: "Merci de saisir la dénomination de l'entreprise"
			},
			fic_activite_principale: {
				required: "Merci de saisir l'activité principale de l'entreprise"
			},
			fic_nom_responsable: {
				required: "Merci de saisir le nom du responsable"
			},
			fic_prenom_responsable: {
				required: "Merci de saisir le prénom du responsable"
			},
			fic_adresse: {
				required: "Merci de saisir l'adresse de l'entreprise"
			},
			fic_code_postal: {
				required: "Merci de saisir le code postal de l'entreprise"
			},
			fic_ville: {
				required: "Merci de saisir la ville de l'entreprise"
			},
			fic_telephone: {
				required: "Merci de saisir le numéro de téléphone de l'entreprise"
			},
			fic_email: {
				email: "Merci de saisir une adresse email valide"
			},
			categorie_id_principale: {
				required: "Merci de sélectionner une catégorie"
			},
			fic_presentation: {
				required: "Merci de saisir une présentation de l'entreprise"
			},
			fic_photo: {
				accept: "Merci de sélectionner une photo avec l'extension .gif, .jpg ou .jpeg"
			},
			fic_logo: {
				accept: "Merci de sélectionner une photo avec l'extension .gif, .jpg ou .jpeg"
			},
			input_captcha: {
				required: "Merci de recopier le texte de l'image captcha",
				remote: "Mauvaise saisie, merci de recopier le texte de l'image captcha"
			},
			onkeyup: false
		}
	})
}

/**
* Demande le chargement des menus déroulant des sous-catégories
*
* @return void
*/
function select_categorie(){
	$("select[name^=categorie_]").each(function (i) {
		load_select_categorie($(this).val(),i);
		$(this).change(function() {
			load_select_categorie($(this).val(),i);
		})
	});
}

/**
* Affiche les menus déroulant des sous-catégories
*
*	@param cat_id Integer : identifiant de la catégorie
*	@param indice Integer : indice du menu déroulant
*
* @return void
*/
function load_select_categorie(cat_id,indice){
	var select_sous_cat = $("select[name^=sous_categorie_]").get(indice);
	var selected_sous_cat = $("input[name^=selected_sous_categorie_]").get(indice);
	$.ajax({
		type: "POST",
		url: "../includes/categorie.ajax.php",
		data: "cat_id=" + cat_id+ "&sous_cat_id=" + selected_sous_cat.value + "&scat=1",
		success: function(msg){
			$(select_sous_cat).html(msg);
			//display_sous_categorie();
		}
	});
}

/**
* Affiche ou masque les menus déroulants des sous-categories
*
* @return void
*/
/*
function display_sous_categorie() {
	$("select[name^=sous_categorie_]").each(function () {
		if( $(this).val() == null || $(this).val() == 0 ) {
			$(this).parent("div").hide();
		}	else {
			$(this).parent("div").show();
		}
	})
}
*/

/**
* Carousel
*
*/
function mycarousel_itemLoadCallback(carousel, state)
{
    // Since we get all URLs in one file, we simply add all items
    // at once and set the size accordingly.
    if (state != 'init')
        return;
    jQuery.get('../includes/ajax_carousel.txt', function(data) {
        mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data);
    });
}

/**
* Carousel
*
*/
function mycarousel_itemAddCallback(carousel, first, last, data)
{
    // Simply add all items at once and set the size accordingly.
    var items = data.split('|');
    for (i = 0; i < items.length; i++) {
        carousel.add(i+1, mycarousel_getItemHTML(items[i]));
    }
    carousel.size(items.length);
}

/**
 * Carousel : Item html creation helper.
 *
 */
function mycarousel_getItemHTML(url)
{
    return '<img src="' + url + '" width="75" height="75" alt="" />';
}

/**
 * Carousel : Chargement
 * 
 */
function load_carroussel(){
	jQuery(document).ready(function() {
			jQuery('#mycarousel').jcarousel({
					itemLoadCallback: mycarousel_itemLoadCallback
			});
	});
}

/**
 * Captcha : refresh image
 *
 */
function refresh_captcha(){
	$("#refresh-captcha").click(function(){
		$("#img-captcha").attr("src","../includes/captcha.inc.php?"+(new Date()).getTime());
	})
}

/**
 * Gestion des catégories;
 */
function delete_categorie(id,parent_id)
{
	if(confirm("Êtes-vous sur de vouloir supprimer cette catégorie ?")){
	$.ajax({
		type: "POST",
		url: "../includes/manage_categorie.ajax.php",
		data: "action=DEL&cat_id="+id,
		success: function(m){
			if(m) $("#cat_"+id+"_"+parent_id).hide('slow');
		}
	})}
}

/**
* Action sur les catégories
*
* @return void
*/
function manage_categorie(id,parent_id)
{						
	if( $("#cat_libelle_"+id+"_"+parent_id).val() == "" ){
	 alert("Veuillez renseigner la catégorie");
	 $("#cat_libelle_"+id+"_"+parent_id).focus();
	}else{
    $.ajax({
			type: "POST",
			url: "../includes/manage_categorie.ajax.php",
			data: "action=MOD&cat_id=" + id + "&cat_parent_id=" + parent_id + "&cat_libelle=" + $("#cat_libelle_"+id+"_"+parent_id).val(),
			success: function(){
				location.reload(); 
			}
		})
  }
}

/**
* Modification d'une catégorie : plié / déplié
*
* @return void
*/
function mod_categorie(id,parent_id)
{
	$("#editcat_"+id+"_"+parent_id).hide('slow');
	$("#editcatinput_"+id+"_"+parent_id).show();
}

/**
* Suppression ou affichage d'une fiche dans le formulaire de recherche
*
* @return void
*/
function resultaction(id,task,action){
  $("#view_fiche_id").val(id);
  $("#action").val(action);
  $("#task").val(task);
  if( action == "delete_fiche" ){
    if(confirm("Êtes-vous sûr de vouloir supprimer cette fiche ?")){
      $("#form-result-search").submit();
      $("#fiche-form").submit();
    }
  }else{
    $("#form-result-search").submit();
  }
}
