﻿var jobtype='job';
var id_de_job='';
var webid = '';
var ref = '';
var id_de_job_cat='1';
var id_com_pays='';
var id_de_secteur='';
var id_de_job_contrat='';
var categorie='';
var id_de_formation_theme='';
var motscles='';

var nbad = 0;

/**********/
function setRechVar() {
jobtype=$("#jobtype").val();
id_de_job=$("#id_de_job").val();
webid=$("#webid").val();
ref=$("#ref").val();
id_de_job_cat=$("#id_de_job_cat").val();
id_com_pays=$("#id_com_pays").val();
id_de_secteur=$("#id_de_secteur").val();
id_de_job_contrat=$("#id_de_job_contrat").val();
categorie=$("#categorie").val();
id_de_formation_theme=$("#id_de_formation_theme").val();
motscles=$("#motscles").val();
}
/**********/

/**********/
function switchRechMore() {
$("#rechmore").slideToggle('fast');
}
function switchRechMoreRef() {
$("#rechmoreref").slideToggle('fast');
}
/**********/

/**********/
function getAdCount() {

setRechVar();
if(jobtype=='job') {
	getJobCount();
} else if (jobtype=='int') {
	getJobIntCount();
} else if (jobtype=='for') {
	getForCount();
}
}
/**********/

/**********/
function getJobCount() {

$.ajax({
  type: "POST",
  url: "/ajax/job.asmx/getJobCount",
  data: '{"id_de_job":"'+id_de_job+'","webid":"'+webid+'","ref":"'+ref+'","id_de_job_cat":"'+id_de_job_cat+'","id_com_pays":"'+id_com_pays+'","id_de_secteur":"'+id_de_secteur+'","id_de_job_contrat":"'+id_de_job_contrat+'","motscles":"'+motscles+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
	if (isNumeric(msg.d)) {
		nbad = parseInt(msg.d);
	} else {
		nbad = 0;
	}
	if (nbad > 1) {
		$("#rechsubmit").val('Afficher les '+nbad+' offres');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html(nbad + " <span>offres d\'emploi trouvées</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	} else if (nbad == 1) {
		$("#rechsubmit").val('Afficher l\'annonce');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html(nbad + " <span>offre d\'emploi trouvée</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	} else if (nbad < 1) {
		$("#rechresult").html("Aucune <span>offre d\'emploi trouvée</span>");
		//$("#rechsubmit").val('Aucun résultat');
		//$("#rechsubmit").attr('disabled','true');
		$("#rechsubmit").val('Nouvelle recherche');
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){resetRech();});
	}
  }
});

}
/**********/

/**********/
function getJobIntCount() {

$.ajax({
  type: "POST",
  url: "/ajax/job.asmx/getJobIntCount",
  data: '{"id_de_job_int":"'+id_de_job+'","webid":"'+webid+'","ref":"'+ref+'","id_de_job_cat":"'+id_de_job_cat+'","id_com_pays":"'+id_com_pays+'","id_de_secteur":"'+id_de_secteur+'","id_de_job_contrat":"'+id_de_job_contrat+'","motscles":"'+motscles+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
	if (isNumeric(msg.d)) {
		nbad = parseInt(msg.d);
	} else {
		nbad = 0;
	}
	if (nbad > 1) {
		$("#rechsubmit").val('Afficher les '+nbad+' offres');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html(nbad + " <span>missions d\'intérim trouvées</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	} else if (nbad == 1) {
		$("#rechsubmit").val('Afficher l\'annonce');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html(nbad + " <span>mission d\'intérim trouvée</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	} else if (nbad < 1) {
		$("#rechresult").html("Aucune <span>mission d\'intérim trouvée</span>");
		//$("#rechsubmit").val('Aucun résultat');
		//$("#rechsubmit").attr('disabled','true');
		$("#rechsubmit").val('Nouvelle recherche');
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){resetRech();});
	}
  }
});

}
/**********/

/**********/
function getForCount() {

$.ajax({
  type: "POST",
  url: "/ajax/job.asmx/getForCount",
  data: '{"id_de_formation":"'+id_de_job+'","webid":"'+webid+'","ref":"'+ref+'","id_com_pays":"'+id_com_pays+'","categorie":"'+categorie+'","id_de_formation_theme":"'+id_de_formation_theme+'","motscles":"'+motscles+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
	if (isNumeric(msg.d)) {
		nbad = parseInt(msg.d);
	} else {
		nbad = 0;
	}
	if (nbad > 1) {
		$("#rechsubmit").val('Afficher les '+nbad+' offres');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html(nbad + " <span>offres de formations trouvées</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	} else if (nbad == 1) {
		$("#rechsubmit").val('Afficher l\'annonce');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html(nbad + " <span>offre de formation trouvée</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	} else if (nbad < 1) {
		$("#rechresult").html("Aucune <span>offre de formation trouvée</span>");
		//$("#rechsubmit").val('Aucun résultat');
		//$("#rechsubmit").attr('disabled','true');
		$("#rechsubmit").val('Nouvelle recherche');
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){resetRech();});
	}
  }
});

}
/**********/

/**********/
function getPays() {

setRechVar();

$("#id_com_pays").attr('disabled','true');
$("#id_com_pays").html('<option value="">Chargement...</option>');

if(id_de_job_cat.length == 1) {
$.ajax({
  type: "POST",
   url: "/ajax/job.asmx/getPays",
  data: '{"id_de_job_cat":"'+id_de_job_cat+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
  
	var options = '';
	var j = msg.d;
	
	if(j==null){
		var strempty = '<option value="">Aucun résultat...</option>';
		$("#id_com_pays").html(strempty);
		return;
	}
	
	for (var i = 0; i < j.length; i++) {
		options += '<option value="' + j[i].id_com_pays + '">' + j[i].pays + '</option>';
	}
	$("#id_com_pays").html(options);
	$("#id_com_pays").removeAttr('disabled');
	
	$("#id_com_pays").change(function(){getSecteur(id_de_job_cat,$(this).val())});
	
  }
});
} else {
	var strempty = '<option value="">Indifférent...</option>';
	$("#id_com_pays").html(strempty);
}

getAdCount();

}
/**********/

/**********/
function getSecteur() {

setRechVar();

$("#id_de_secteur").attr('disabled','true');
$("#id_de_secteur").html('<option value="">Chargement...</option>');

if(id_de_job_cat.length == 1) {
$.ajax({
  type: "POST",
   url: "/ajax/job.asmx/getSecteur",
  data: '{"jobtype":"'+jobtype+'","id_de_job_cat":"'+id_de_job_cat+'","id_com_pays":"'+id_com_pays+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
  
	var options = '';
	var j = msg.d;
	
	if(j==null){
		var strempty = '<option value="">Aucun résultat...</option>';
		$("#id_de_secteur").html(strempty);
		return;
	}
	
	for (var i = 0; i < j.length; i++) {
		options += '<option value="' + j[i].id_de_secteur + '">' + j[i].secteur + '</option>';
	}
	$("#id_de_secteur").html(options);
	$("#id_de_secteur").removeAttr('disabled');
	
  }
});
} else {
	var strempty = '<option value="">Indifférent...</option>';
	$("#id_de_secteur").html(strempty);
}

getAdCount();

}
/**********/

/**********/
function getContrat() {

setRechVar();

$("#id_de_job_contrat").attr('disabled','true');
$("#id_de_job_contrat").html('<option value="">Chargement...</option>');

if(id_de_job_cat.length == 1) {
$.ajax({
  type: "POST",
   url: "/ajax/job.asmx/getContrat",
  data: '{"id_de_job_cat":"'+id_de_job_cat+'","id_com_pays":"'+id_com_pays+'","id_de_secteur":"'+id_de_secteur+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
  
	var options = '';
	var j = msg.d;
	
	if(j==null){
		var strempty = '<option value="">Aucun résultat...</option>';
		$("#id_de_job_contrat").html(strempty);
		return;
	}
	
	for (var i = 0; i < j.length; i++) {
		options += '<option value="' + j[i].id_de_job_contrat + '">' + j[i].contrat + '</option>';
	}
	$("#id_de_job_contrat").html(options);
	$("#id_de_job_contrat").removeAttr('disabled');
	
  }
});
} else {
	var strempty = '<option value="">Indifférent...</option>';
	$("#id_de_job_contrat").html(strempty);
}

getAdCount();

}
/**********/

/**********/
function getFormationTheme() {

setRechVar();

$("#id_de_job_formation_theme").attr('disabled','true');
$("#id_de_formation_theme").html('<option value="">Chargement...</option>');

if(id_de_job_cat.length == 1) {
$.ajax({
  type: "POST",
   url: "/ajax/job.asmx/getFormationTheme",
  data: '{"id_com_pays":"'+id_com_pays+'","categorie":"'+categorie+'"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
  
	var options = '';
	var j = msg.d;
	
	if(j==null){
		var strempty = '<option value="">Aucun résultat...</option>';
		$("#id_de_formation_theme").html(strempty);
		return;
	}
	
	for (var i = 0; i < j.length; i++) {
		options += '<option value="' + j[i].id_de_formation_theme + '">' + j[i].titre + '</option>';
	}
	$("#id_de_formation_theme").html(options);
	$("#id_de_formation_theme").removeAttr('disabled');
	
  }
});
} else {
	var strempty = '<option value="">Indifférent...</option>';
	$("#id_de_formation_theme").html(strempty);
}

getAdCount();

}
/**********/

/**********/
function handleRechMotsCles() {

	setRechVar();
	if (motscles.length > 0) {
		$("#rechsubmit").val('Rechercher');
		$("#rechsubmit").removeAttr('disabled');
		$("#rechresult").html("<span>Lancez la recherche</span>");
		$("#rechsubmit").unbind("click");
		$("#rechsubmit").click(function(){submitRech();});
	}
	
}
/**********/

/**********/
function resetRech() {

	rechUnBindEvent();

	$("#id_de_job").val('');
	$("#webid").val('');
	$("#ref").val('');
	$("#id_de_job_cat").val('');
	$("#id_com_pays").val('');
	$("#id_de_secteur").val('');
	$("#id_de_job_contrat").val('');
	$("#categorie").val('');
	$("#id_de_formation_theme").val('');
	$("#motscles").val('');
	getAdCount();
	
	rechBindEvent();
}
/**********/

/**********/
function rechUnBindEvent() {
	$("#id_de_job").unbind("blur");
	$("#webid").unbind("blur");
	$("#ref").unbind("blur");
	$("#id_de_job_cat").unbind("change");
	$("#id_com_pays").unbind("change");
	$("#id_de_secteur").unbind("change");
	$("#id_de_job_contrat").unbind("change");
	$("#categorie").unbind("change");
	$("#id_de_formation_theme").unbind("change");
	$("#motscles").unbind("blur");
}
/**********/

/**********/
function rechBindEvent() {
	$("#id_de_job").blur(function(){if(this.value.length>10){getAdCount();};});
	$("#webid").blur(function(){if(this.value.length>3){getAdCount();};});
	$("#ref").blur(function(){if(this.value.length>3){getAdCount();};});
	if(jobtype=='job') {
		$("#id_com_pays").change(function(){getSecteur();});
		$("#id_de_secteur").change(function(){getContrat();});
		$("#id_de_job_contrat").change(function(){getAdCount();});
		
	} else if(jobtype=='int') {
		$("#id_com_pays").change(function(){getSecteur();});
		$("#id_de_secteur").change(function(){getAdCount();});
	} else if(jobtype=='for') {
		$("#id_com_pays").change(function(){getAdCount();});
		$("#categorie").change(function(){getFormationTheme();});
		$("#id_de_formation_theme").change(function(){getAdCount();});
	}
	$("#motscles").keyup(function(){handleRechMotsCles();});
}
/**********/

/**********/
function setRechType() {
	setRechVar();
	rechUnBindEvent();
	rechBindEvent();
	if(jobtype=='job') {
		$("#rech_id_de_secteur").show();
		$("#rech_id_de_job_contrat").show();
		$("#rech_ref").show();
		$("#rech_categorie").hide();
		$("#rech_id_de_formation_theme").hide();
	} else if(jobtype=='int') {
		$("#rech_id_de_secteur").show();
		$("#rech_id_de_job_contrat").hide();
		$("#rech_ref").hide();
		$("#rech_categorie").hide();
		$("#rech_id_de_formation_theme").hide();
	} else if(jobtype=='for') {
		$("#rech_id_de_secteur").hide();
		$("#rech_id_de_job_contrat").hide();
		$("#rech_ref").hide();
		$("#rech_categorie").show();
		$("#rech_id_de_formation_theme").show();
	}
	getAdCount();
}
/**********/

/**********/
function submitRech() {

setRechVar();
var querystr='';
if(id_de_job.length > 0) {querystr += '&id_de_job='+id_de_job;}
if(webid.length > 0) {querystr += '&webid='+webid;}
if(ref.length > 0) {querystr += '&ref='+ref;}
//if(id_de_job_cat.length > 0) {querystr += '&id_de_job_cat='+id_de_job_cat;}
if(id_com_pays.length = 3) {querystr += '&id_com_pays='+id_com_pays;}
if(id_de_secteur.length > 0) {querystr += '&id_de_secteur='+id_de_secteur;}
if(id_de_job_contrat.length > 0) {querystr += '&id_de_job_contrat='+id_de_job_contrat;}
if(categorie.length > 0) {querystr += '&categorie='+categorie;}
if(id_de_formation_theme.length > 0) {querystr += '&id_de_formation_theme='+id_de_formation_theme;}
if(motscles.length > 3) {querystr += '&motscles='+escape(motscles);}

if(querystr.length > 10) {
	if(jobtype=='job') {
		document.location.href='/emploi/default.aspx?action=search'+querystr;
	} else if(jobtype=='int') {
		document.location.href='/interim/default.aspx?action=search'+querystr;
	} else if(jobtype=='for') {
		document.location.href='/formation/default.aspx?action=search'+querystr;
	}
} else {
	return false;
}

}
/**********/

/**********/
function initPage() {
	initRech();
}
/**********/

/**********/
function initRech() {

	$("#jobtype").val(jobtype);
	$("#id_de_job").val(id_de_job);
	$("#webid").val(webid);
	$("#ref").val(ref);
	$("#id_de_job_cat").val(id_de_job_cat);
	$("#id_com_pays").val(id_com_pays);
	$("#id_de_secteur").val(id_de_secteur);
	$("#id_de_job_contrat").val(id_de_job_contrat);
	$("#categorie").val(categorie);
	$("#id_de_formation_theme").val(id_de_formation_theme);
	$("#motscles").val(motscles);
	
	rechBindEvent();
	
	setRechVar();
	
	if(jobtype=='int' || jobtype=='for'){setRechType();}
	
	$('#aspnetForm').submit(function() {submitRech(); return false;});
	
}
/**********/

/**********/
function isNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1){
			IsNumber = false;
		}
}
return IsNumber;
}
/**********/