


// IE6 PNG fix
jQuery(document).ready(function() {
  jQuery.ifixpng('images/blankpix.gif');
  jQuery('.pngfix').ifixpng();
});



// Fix FF password autocomplete
jQuery(document).ready(function() {
  jQuery("#directory_form #directory_password").val("");
  jQuery("#jobposting_user_form #password").val("");
});



// Send page
function openSendpage(lang)
{
  //alert(encodeURI(document.title));
  var url = document.location.toString().replace(/\#$/, "");
  window.open('/' + lang + '/sendpage.html?url=' + url + "&title=" + encodeURI(document.title),'mail','scrollbars,toolbar=no,directories=no,width=470,height=410');
}



// Rot HL
jQuery(document).ready(function(){
  if(jQuery("#newsbox2_main").size())
  {
    jQuery('#newsbox2_main').cycle({
      //fx:         'uncover',
      sync:       1,
      //speed:      1000,
      speed:      0,
      timeout:    5000,
      height:     '198px',
      pager:      '#newsbox2_nav',
      pause:      1,
      pauseOnPagerHover:1,
      pagerEvent: 'mouseenter'
    });
    jQuery('#newsbox2_nav a').html('<img src="/images/blankpix.gif" alt="" />');
  }
});

function resizeHeadlinesHack(currSlideElement, nextSlideElement, options, forwardFlag)
{
  var width = "704px";

  jQuery('#home_headlines').css("width", width);
  jQuery(nextSlideElement).css("width", width);
}



// Remove checkbox and radio bg color and border for IE
jQuery(document).ready(function(){
  if(jQuery.browser.msie)
  {
    jQuery("input[type='checkbox']").css("background-color", "transparent").css("border", "none");
    jQuery("input[type='radio']").css("background-color", "transparent").css("border", "none");
  }
});



// Top menu
var gSubmenuSlug = "";

$(document).ready(function(){
  // Store selected submenu
  gSubmenuSlug = getSelectedSubmenuSlug();

  // Hide submenu if the mouse leave the menu
  /*jQuery(".menu_top").mouseleave(function(){
    openTopSubMenu(gSubmenuSlug);
  });*/
  jQuery(".menu_top_sub").mouseleave(function(){
    topSubMenuHide("");
  });


  // A submenu item is selected
  //openTopSubMenu(gSubmenuSlug);
});

function openTopSubMenu(menuItem)
{
  // Exit if menu already selected
  var submenuOn = jQuery(".menu_top_item .submenu_on");
  if(submenuOn.size())
  {
    if(menuItem == submenuOn.parent("td").attr("id").replace(/menu_top_item_/, ""))
    {
      return;
    }
  }

  // Unselect previous item
  if(jQuery("td.menu_top_item a.selected").size() == 1)
  {
    jQuery("td.menu_top_item a.selected").removeClass("selected");
  }

  // Hide submenu if the item is empty or submenu does not exist
  if(menuItem == "" || !jQuery("#menu_top_sub_" + menuItem).size())
  {
    jQuery(".menu_top_item .select").removeClass("submenu_on");
    topSubMenuHide(menuItem);
    return;
  }

  // Select current item
  jQuery("td#menu_top_" + menuItem + " a").addClass("selected");

  // Show submenu
  jQuery(".menu_top_sub_content").html(jQuery("#menu_top_sub_" + menuItem).clone());
  jQuery(".menu_top_sub_content .menu_top_sub_items").show();
  jQuery(".menu_top_item .select").removeClass("submenu_on");
  jQuery("#menu_top_item_" + menuItem + " .select").addClass("submenu_on");
  if(jQuery.browser.msie)
  {
    jQuery('#newsbox2_main').hide();
  }
  jQuery(".menu_top_sub").css("opacity", 0).show();
  if(jQuery.browser.msie)
  {
    jQuery('#newsbox2_main').show();
  }
  jQuery(".menu_top_sub").animate({opacity:1}, 400, "linear");
}

function topSubMenuHide(menuItem)
{
  jQuery(".menu_top_sub").animate({opacity:0}, 250, "linear", function(){
    jQuery(".menu_top_item .select").removeClass("submenu_on");
    if(jQuery.browser.msie)
    {
      jQuery('#newsbox2_main').hide();
    }
    jQuery(".menu_top_sub").hide();
    if(jQuery.browser.msie)
    {
      jQuery('#newsbox2_main').show();
    }
    jQuery(".menu_top_sub_content").html('<img src="/images/blankpix.gif" />');
  });
}

function getSelectedSubmenuSlug()
{
  if(jQuery("td.menu_top_sub_item a.selected").size() == 1)
  {
    var subMenu = jQuery("td.menu_top_sub_item a.selected").parents("table.menu_top_sub_items").get(0).id;
    if(subMenu)
    {
      return subMenu.replace(/menu_top_sub_/, "");
    }
  }
  else
  {
    return "";
  }
}



// Inputs

function inputFocus(obj, defVal)
{
  var bodyColor = jQuery("body").css("color");
  obj = jQuery(obj);
  if(obj.val() == defVal)
  {
    obj.css("color", bodyColor);
    obj.val("");
  }
}



// Double list

function initDoubleList(headingId, containerId, listIdPrefix)
{
  var selectedHeading = jQuery("#" + headingId + " option:selected").val();
  jQuery("#" + containerId).html(jQuery("#" + listIdPrefix + "_" + selectedHeading).clone().show());

  /*//// Show path
  var toto = new Array();
  jQuery("#" + containerId).parents().each(function(i){
    toto[i] = this.tagName + "(" + this.className + ")";
  });
  alert(toto.reverse());*/

  jQuery("#" + headingId).change(function() {
    var selectedHeading = jQuery(this).find("option:selected").val();
    jQuery("#" + containerId).html(jQuery("#" + listIdPrefix + "_" + selectedHeading).clone().show());
  });
}



// Enable/Disable field

function enableField(fieldId, type)
{
  type = typeof(type) != 'undefined' ? type : 1;
  var field = jQuery("#" + fieldId);
  field.parent("div").removeClass("escr_disabled" + type);
  field.attr("disabled", "");
}

function disableField(fieldId, type)
{
  type = typeof(type) != 'undefined' ? type : 1;
  var field = jQuery("#" + fieldId);
  field.parent("div").addClass("escr_disabled" + type);
  field.attr("disabled", "disabled");
}



// Photo

var photoDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var photoDialogSubmit = function()
{
  var dialogInput = jQuery("#directory_photo_dialog .directory_item_input");
  dialogInput.find("input").appendTo("#directory_photo_input");
  dialogInput.html('<input type="file" name="photo" value="" style="height:auto" />');
  jQuery(this).dialog('close');
  alert("Votre modification sera prise en compte lors de l'enregistrement de la fiche.\n" +
    "Pour cela, n'oubliez pas de remplir TOUS les champs obligatoires !");
}

jQuery(document).ready(function() {
  if(jQuery("#directory_photo_dialog").size())
  {
    jQuery("#directory_photo_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      minHeight: 100,
      buttons: {
			  "Valider": photoDialogSubmit,
			  "Annuler": photoDialogCancel
		  }
    });
  }
});


// Google map

var gmapDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var gmapDialogReset = function()
{
  // Reset values
  jQuery("#home_map_latitude_buf").val("");
  jQuery("#home_map_longitude_buf").val("");

  // Build map
  gmapDialogBuild();
}

var gmapDialogSubmit = function()
{
  jQuery("#home_map_latitude").val(jQuery("#home_map_latitude_buf").val());
  jQuery("#home_map_longitude").val(jQuery("#home_map_longitude_buf").val());
  jQuery(this).dialog('close');
}

var gmapDialogBuild = function()
{
  if(GBrowserIsCompatible())
  {
    var map = new GMap2(document.getElementById("gmap_edit"));
    map.setUIToDefault();

    // Use previous values
    if(jQuery("#home_map_latitude_buf").val() && jQuery("#home_map_longitude_buf").val())
    {
      var point = new GLatLng(jQuery("#home_map_latitude_buf").val(), jQuery("#home_map_longitude_buf").val());
      map.setCenter(point, 17);
      map.addOverlay(new GMarker(point));
    }

    // Use address
    else if(jQuery("#home_address1").val() && jQuery("#home_postal_code").val() && jQuery("#home_city").val())
    {
      var address =
        jQuery("#home_address1").val() + ", " + jQuery("#home_postal_code").val() + " " + jQuery("#home_city").val();
      var geocoder = new GClientGeocoder();
      geocoder.getLatLng(address, function(point) {
        map.setCenter(point, 14);
        map.addOverlay(new GMarker(point));
        jQuery("#home_map_latitude_buf").val(point.lat());
        jQuery("#home_map_longitude_buf").val(point.lng());
      });
    }

    // Use default location and zoom
    else
    {
      map.setCenter(new GLatLng(47.082892, 2.3965788), 5);
    }

    GEvent.addListener(map, 'click', function(overlay, point)
    {
      if(point)
      {
        //alert(point.lat());
        map.clearOverlays();
        map.panTo(point);
        var marker = new GMarker(point);
        map.addOverlay(marker);
        jQuery("#home_map_latitude_buf").val(point.lat());
        jQuery("#home_map_longitude_buf").val(point.lng());
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_gmap_dialog").size())
  {
    // Click on a company field
    jQuery("#home_map_latitude, #home_map_longitude").click(function() {
      jQuery('#directory_gmap_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_gmap_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 650,
      minWidth: 650,
      minHeight: 500,
      buttons: {
			  "Valider": gmapDialogSubmit,
			  "Réinitialiser": gmapDialogReset,
			  "Annuler": gmapDialogCancel
		  },
      open: function(event, ui)
      {
        // Copy previous values
        if(jQuery("#home_map_latitude").val() && jQuery("#home_map_longitude").val())
        {
          jQuery("#home_map_latitude_buf").val(jQuery("#home_map_latitude").val());
          jQuery("#home_map_longitude_buf").val(jQuery("#home_map_longitude").val());
        }

        // Build map
        gmapDialogBuild();
      },
      close: function(event, ui)
      {
        GUnload();
      }
    });
  }
});


// Background

function newBackground()
{
  jQuery("#tab_1").find("*[id^=background_0_]").find("option:selected").removeAttr("selected");
  jQuery("#tab_1").find("*[id^=background_0_]").removeAttr("checked");
  jQuery("#tab_1").find("*[id^=background_0_][type!='checkbox'][id!='background_0_current']").val("");
  jQuery("#background_jobtitle_heading_id_0 option:selected").removeAttr("selected");
  jQuery("#background_jobtitle_id_0").html(jQuery("#jobtitle_0_0").clone().show());
  jQuery("#background_location_0").html(" - ");
  jQuery("#directory_background_add").hide();
}



// Compagny

var gCompanyDialogOpenerId;
var gCompanyDialogOpenerName;

function companySelected(id, name)
{
  if(gCompanyDialogOpenerId && gCompanyDialogOpenerName)
  {
    jQuery.ajax({
      type: "POST",
      url: "/fr/escrCompany/copy.html",
      async: false,
      data: "id=" + id,
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_company_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        jQuery("#" + gCompanyDialogOpenerId).val(data);
        jQuery("#" + gCompanyDialogOpenerName).val(name);
        jQuery('#directory_company_dialog').dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_company_dialog").css("cursor", "default");
      }
    });
  }
}

function companyPost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_company_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#company_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_company_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#company_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var companyDialogEditView = function(cid)
{
  jQuery("#directory_company_dialog #company_search").hide();
  jQuery("#directory_company_dialog #company_search_result").html("&nbsp;");
  jQuery("#directory_company_dialog").dialog("option", "buttons", {
    Enregistrer: companyDialogSave,
    Annuler: companyDialogCancel,
    Rechercher: companyDialogSearch
  });
  companyPost("/fr/escrCompany/edit.html", "company[id]=" + cid);
  jQuery("#company_edit").show();
}

var companyDialogSearchView = function()
{
  jQuery("#directory_company_dialog #company_edit").hide();
  jQuery("#directory_company_dialog #company_edit").html("&nbsp;");
  jQuery("#directory_company_dialog").dialog("option", "buttons", {
    "Créer": companyDialogCreate,
    Annuler: companyDialogCancel
  });
  jQuery("#company_search").show();
}

var companyDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var companyDialogSave = function()
{
  if(companyPost("/fr/escrCompany/update.html", jQuery("#company_edit_form").serialize()))
  {
    var cid = jQuery("#company_edit_form #company_id").val();
    var cname = jQuery("#company_edit_form #company_name_fr").val();
    if(cid > 0 && cname)
    {
      companySelected(cid, cname);
    }
  }
}

var companyDialogCreate = function()
{
  companyDialogEditView("");
}

var companyDialogSearch = function()
{
  companyDialogSearchView();
}

jQuery(document).ready(function() {
  if(jQuery("#directory_company_dialog").size())
  {
    // Hide dialog panels by default
    jQuery("#company_edit").hide();
    jQuery("#company_search").hide();

    // Click on a company field
    jQuery(".directory_company_id").click(function() {
      gCompanyDialogOpenerId = this.id.replace(/name$/, "id");
      gCompanyDialogOpenerName = this.id;
      jQuery('#directory_company_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_company_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 450,
      minWidth: 450,
      minHeight: 550,
      buttons: {
			  Annuler: companyDialogCancel
		  },
      open: function(event, ui)
      {
        // There is already a company so EDIT it
        var cid = jQuery("#" + gCompanyDialogOpenerId).val();
        if(cid > 0)
        {
          companyDialogEditView(cid);
        }

        // No company so SEARCH it
        else
        {
          companyDialogSearchView();
        }
      },
      close: function(event, ui)
      {
        jQuery("#directory_company_dialog #company_edit").html("&nbsp;");
        jQuery("#directory_company_dialog #company_search_result").html("&nbsp;");
      }
    });

    // Search
    jQuery("#directory_company_dialog #company_search_button").click(function() {
      var search_name = jQuery("#directory_company_dialog #company_search_name").val();
      jQuery.ajax({
        type: "POST",
        url: "/fr/escrCompany/search.html",
        data: "company_search_name=" + search_name,
        beforeSend: function (XMLHttpRequest)
        {
          jQuery("#directory_company_dialog").css("cursor", "wait");
          jQuery("#directory_company_dialog #company_search_result").html("&nbsp;");
        },
        success: function(data, textStatus)
        {
          jQuery("#company_search_result").html(data);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown)
        {
          alert("Error!");
        },
        complete: function(XMLHttpRequest, textStatus)
        {
          jQuery("#directory_company_dialog").css("cursor", "default");
        }
      });
    });
  }
});



// Degree

var gDegreeDialogOpenerId;

function openDegreeDialog(obj)
{
  gDegreeDialogOpenerId = obj.id.replace(/directory_degree_/, "");
  jQuery("#directory_degree_dialog").dialog('open');
}

// Select another shool ID
function initSchoolName()
{
  jQuery("#degree_school_id").change(function() {
    if(this.value == 9999)
    {
      jQuery("#degree_school_name_item").show();
    }
    else
    {
      jQuery("#degree_school_name_item").hide();
      jQuery("#degree_school_name").val("");
    }
  });
}

function degreePost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_degree_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#degree_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_degree_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#degree_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var degreeDialogEditView = function(id)
{
  if(id)
  {
    jQuery("#directory_degree_dialog").dialog("option", "buttons", {
      Supprimer: degreeDialogDelete,
      Enregistrer: degreeDialogSave,
      Annuler: degreeDialogCancel
    });
  }
  else
  {
    jQuery("#directory_degree_dialog").dialog("option", "buttons", {
      Enregistrer: degreeDialogSave,
      Annuler: degreeDialogCancel
    });
  }
  degreePost("/fr/escrDegree/edit.html", "degree[id]=" + id);
  jQuery("#degree_user_id").val(jQuery("#user_id").val());
  if(jQuery("#degree_school_id").val() == 9999)
  {
    jQuery("#degree_school_name_item").show();
  }
  jQuery("#degree_edit").show();
}

var degreeDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var degreeDialogDelete = function()
{
  jQuery.ajax({
    url: "/fr/escrDegree/delete.html",
    async: false,
    data: "degree[id]=" + gDegreeDialogOpenerId,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_degree_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#directory_degree_" + gDegreeDialogOpenerId).parent("div").remove();
      jQuery("#directory_degree_dialog").dialog('close');
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_degree_dialog").css("cursor", "default");
    }
  });
}

var degreeDialogSave = function()
{
  if(degreePost("/fr/escrDegree/update.html", jQuery("#degree_edit_form").serialize()))
  {
    jQuery.ajax({
      url: "/fr/escrDegree/degreeItem.html",
      async: false,
      data: "degree[id]=" + jQuery("#degree_id").val(),
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_degree_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        if(gDegreeDialogOpenerId)
        {
          jQuery("#directory_degree_" + gDegreeDialogOpenerId).parent("div").replaceWith(data);
        }
        else
        {
          jQuery("#directory_degree_container").prepend(data);
        }
        jQuery("#directory_degree_dialog").dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_degree_dialog").css("cursor", "default");
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_degree_dialog").size())
  {
    // Add
    jQuery("#directory_degree_add").click(function() {
      gDegreeDialogOpenerId = "";
      jQuery('#directory_degree_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_degree_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 700,
      minWidth: 700,
      minHeight: 250,
      buttons: {
			  Annuler: degreeDialogCancel
		  },
      open: function(event, ui)
      {
        var did = gDegreeDialogOpenerId ? gDegreeDialogOpenerId : "";
        degreeDialogEditView(did);
      },
      close: function(event, ui)
      {
        jQuery("#directory_degree_dialog #degree_edit").html("&nbsp;");
      }
    });
  }
});



// Language

var gLanguageDialogOpenerId;

function openLanguageDialog(obj)
{
  gLanguageDialogOpenerId = obj.id.replace(/directory_language_/, "");

  ////alert(gLanguageDialogOpenerId);

  jQuery("#directory_language_dialog").dialog('open');
}

function languagePost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_language_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#language_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_language_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#language_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var languageDialogEditView = function(id)
{
  if(id)
  {
    jQuery("#directory_language_dialog").dialog("option", "buttons", {
      Supprimer: languageDialogDelete,
      Enregistrer: languageDialogSave,
      Annuler: languageDialogCancel
    });
  }
  else
  {
    jQuery("#directory_language_dialog").dialog("option", "buttons", {
      Enregistrer: languageDialogSave,
      Annuler: languageDialogCancel
    });
  }
  languagePost("/fr/escrLanguage/edit.html", "language[id]=" + id);
  jQuery("#language_user_id").val(jQuery("#user_id").val());
  if(jQuery("#language_school_id").val() == 9999)
  {
    jQuery("#language_school_name_item").show();
  }
  jQuery("#language_edit").show();
}

var languageDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var languageDialogDelete = function()
{
  jQuery.ajax({
    url: "/fr/escrLanguage/delete.html",
    async: false,
    data: "language[id]=" + gLanguageDialogOpenerId,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_language_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#directory_language_" + gLanguageDialogOpenerId).parent("div").remove();
      jQuery("#directory_language_dialog").dialog('close');
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_language_dialog").css("cursor", "default");
    }
  });
}

var languageDialogSave = function()
{
  if(languagePost("/fr/escrLanguage/update.html", jQuery("#language_edit_form").serialize()))
  {
    jQuery.ajax({
      url: "/fr/escrLanguage/languageItem.html",
      async: false,
      data: "language[id]=" + jQuery("#language_id").val(),
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_language_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        if(gLanguageDialogOpenerId)
        {
          jQuery("#directory_language_" + gLanguageDialogOpenerId).parent("div").replaceWith(data);
        }
        else
        {
          jQuery("#directory_language_container").append(data);
        }
        jQuery("#directory_language_dialog").dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_language_dialog").css("cursor", "default");
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_language_dialog").size())
  {
    // Add
    jQuery("#directory_language_add").click(function() {
      gLanguageDialogOpenerId = "";
      jQuery('#directory_language_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_language_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 450,
      minWidth: 450,
      minHeight: 150,
      buttons: {
			  Annuler: languageDialogCancel
		  },
      open: function(event, ui)
      {
        var id = gLanguageDialogOpenerId ? gLanguageDialogOpenerId : "";
        languageDialogEditView(id);
      },
      close: function(event, ui)
      {
        jQuery("#directory_language_dialog #language_edit").html("&nbsp;");
      }
    });
  }
});



// Expertise

var gExpertiseDialogOpenerId;

function openExpertiseDialog(obj)
{
  gExpertiseDialogOpenerId = obj.id.replace(/directory_expertise_/, "");
  jQuery("#directory_expertise_dialog").dialog('open');
}

function expertisePost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_expertise_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#expertise_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_expertise_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#expertise_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var expertiseDialogEditView = function(id)
{
  if(id)
  {
    jQuery("#directory_expertise_dialog").dialog("option", "buttons", {
      Supprimer: expertiseDialogDelete,
      Enregistrer: expertiseDialogSave,
      Annuler: expertiseDialogCancel
    });
  }
  else
  {
    jQuery("#directory_expertise_dialog").dialog("option", "buttons", {
      Enregistrer: expertiseDialogSave,
      Annuler: expertiseDialogCancel
    });
  }
  expertisePost("/fr/escrExpertise/edit.html", "expertise[id]=" + id);
  jQuery("#expertise_user_id").val(jQuery("#user_id").val());
  jQuery("#expertise_edit").show();
}

var expertiseDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var expertiseDialogDelete = function()
{
  jQuery.ajax({
    url: "/fr/escrExpertise/delete.html",
    async: false,
    data: "expertise[id]=" + gExpertiseDialogOpenerId,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_expertise_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#directory_expertise_" + gExpertiseDialogOpenerId).parent("div").remove();
      jQuery("#directory_expertise_dialog").dialog('close');
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_expertise_dialog").css("cursor", "default");
    }
  });
}

var expertiseDialogSave = function()
{
  if(expertisePost("/fr/escrExpertise/update.html", jQuery("#expertise_edit_form").serialize()))
  {
    jQuery.ajax({
      url: "/fr/escrExpertise/expertiseItem.html",
      async: false,
      data: "expertise[id]=" + jQuery("#expertise_id").val(),
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_expertise_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        if(gExpertiseDialogOpenerId)
        {
          jQuery("#directory_expertise_" + gExpertiseDialogOpenerId).parent("div").replaceWith(data);
        }
        else
        {
          jQuery("#directory_expertise_container").append(data);
        }
        jQuery("#directory_expertise_dialog").dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_expertise_dialog").css("cursor", "default");
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_expertise_dialog").size())
  {
    // Add
    jQuery("#directory_expertise_add").click(function() {
      gExpertiseDialogOpenerId = "";
      jQuery('#directory_expertise_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_expertise_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 500,
      minWidth: 500,
      minHeight: 150,
      buttons: {
			  Annuler: expertiseDialogCancel
		  },
      open: function(event, ui)
      {
        var id = gExpertiseDialogOpenerId ? gExpertiseDialogOpenerId : "";
        expertiseDialogEditView(id);
      },
      close: function(event, ui)
      {
        jQuery("#directory_expertise_dialog #expertise_edit").html("&nbsp;");
      }
    });
  }
});



// Emailing

jQuery(document).ready(function() {
  jQuery("#tab_4 #emailing_no").click(function() {
    if(this.checked)
    {
      jQuery("#tab_4 #emailing_home, #tab_4 #emailing_biz").removeAttr("checked");
    }
  });
  jQuery("#tab_4 #emailing_home, #tab_4 #emailing_biz").click(function() {
    if(this.checked)
    {
      jQuery("#tab_4 #emailing_no").removeAttr("checked");
    }
  });
});



// CV

var cvDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var cvDialogDelete = function()
{
  jQuery("#directory_cv_input").html("");
  jQuery("#cv_fake").val("");
  jQuery("#cv_icon").html("");
  jQuery(this).dialog('close');
}

var cvDialogSubmit = function()
{
  var dialogInput = jQuery("#directory_cv_dialog .directory_item_input");
  jQuery("#cv_fake").val(dialogInput.find("input").val());
  dialogInput.find("input").appendTo("#directory_cv_input");
  dialogInput.html('<input type="file" name="cv" value="" style="height:auto" />');
  jQuery(this).dialog('close');
}

jQuery(document).ready(function() {
  if(jQuery("#directory_cv_dialog").size())
  {
    jQuery("#cv_fake").click(function() {
      jQuery("#directory_cv_dialog").dialog("open");
    });

    jQuery("#directory_cv_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      minHeight: 100,
      buttons: {
			  "Valider": cvDialogSubmit,
			  "Supprimer": cvDialogDelete,
			  "Annuler": cvDialogCancel
		  }
    });
  }
});



// Jobsearch jobtitle

var gJobsearchJobtitleDialogOpenerId;

function openJobsearchJobtitleDialog(obj)
{
  gJobsearchJobtitleDialogOpenerId = obj.id.replace(/directory_jobsearch_jobtitle_/, "");
  jQuery("#directory_jobsearch_jobtitle_dialog").dialog('open');
}

function jobsearchJobtitlePost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_jobsearch_jobtitle_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#jobsearch_jobtitle_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_jobsearch_jobtitle_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#jobsearch_jobtitle_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var jobsearchJobtitleDialogEditView = function(id)
{
  if(id)
  {
    jQuery("#directory_jobsearch_jobtitle_dialog").dialog("option", "buttons", {
      Supprimer: jobsearchJobtitleDialogDelete,
      Enregistrer: jobsearchJobtitleDialogSave,
      Annuler: jobsearchJobtitleDialogCancel
    });
  }
  else
  {
    jQuery("#directory_jobsearch_jobtitle_dialog").dialog("option", "buttons", {
      Enregistrer: jobsearchJobtitleDialogSave,
      Annuler: jobsearchJobtitleDialogCancel
    });
  }
  jobsearchJobtitlePost("/fr/escrUserJobsearchJobtitle/edit.html", "jobsearch_jobtitle[id]=" + id);
  jQuery("#jobsearch_jobtitle_user_id").val(jQuery("#user_id").val());
  jQuery("#jobsearch_jobtitle_edit").show();
}

var jobsearchJobtitleDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var jobsearchJobtitleDialogDelete = function()
{
  jQuery.ajax({
    url: "/fr/escrUserJobsearchJobtitle/delete.html",
    async: false,
    data: "jobsearch_jobtitle[id]=" + gJobsearchJobtitleDialogOpenerId,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_jobsearch_jobtitle_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#directory_jobsearch_jobtitle_" + gJobsearchJobtitleDialogOpenerId).parent("div").remove();
      jQuery("#directory_jobsearch_jobtitle_dialog").dialog('close');
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_jobsearch_jobtitle_dialog").css("cursor", "default");
    }
  });
}

var jobsearchJobtitleDialogSave = function()
{
  if(jobsearchJobtitlePost("/fr/escrUserJobsearchJobtitle/update.html", jQuery("#jobsearch_jobtitle_edit_form").serialize()))
  {
    jQuery.ajax({
      url: "/fr/escrUserJobsearchJobtitle/jobsearchJobtitleItem.html",
      async: false,
      data: "jobsearch_jobtitle[id]=" + jQuery("#jobsearch_jobtitle_id").val(),
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_jobsearch_jobtitle_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        if(gJobsearchJobtitleDialogOpenerId)
        {
          jQuery("#directory_jobsearch_jobtitle_" + gJobsearchJobtitleDialogOpenerId).parent("div").replaceWith(data);
        }
        else
        {
          jQuery("#directory_jobsearch_jobtitle_container").append(data);
        }
        jQuery("#directory_jobsearch_jobtitle_dialog").dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_jobsearch_jobtitle_dialog").css("cursor", "default");
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_jobsearch_jobtitle_dialog").size())
  {
    // Add
    jQuery("#directory_jobsearch_jobtitle_add").click(function() {
      gJobsearchJobtitleDialogOpenerId = "";
      jQuery('#directory_jobsearch_jobtitle_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_jobsearch_jobtitle_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 550,
      minWidth: 550,
      minHeight: 150,
      buttons: {
			  Annuler: jobsearchJobtitleDialogCancel
		  },
      open: function(event, ui)
      {
        var id = gJobsearchJobtitleDialogOpenerId ? gJobsearchJobtitleDialogOpenerId : "";
        jobsearchJobtitleDialogEditView(id);
      },
      close: function(event, ui)
      {
        jQuery("#directory_jobsearch_jobtitle_dialog #jobsearch_jobtitle_edit").html("&nbsp;");
      }
    });
  }
});



// Jobsearch Apec

var gJobsearchApecDialogOpenerId;

function openJobsearchApecDialog(obj)
{
  gJobsearchApecDialogOpenerId = obj.id.replace(/directory_jobsearch_apec_/, "");
  jQuery("#directory_jobsearch_apec_dialog").dialog('open');
}

function jobsearchApecPost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_jobsearch_apec_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#jobsearch_apec_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_jobsearch_apec_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#jobsearch_apec_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var jobsearchApecDialogEditView = function(id)
{
  if(id)
  {
    jQuery("#directory_jobsearch_apec_dialog").dialog("option", "buttons", {
      Supprimer: jobsearchApecDialogDelete,
      Enregistrer: jobsearchApecDialogSave,
      Annuler: jobsearchApecDialogCancel
    });
  }
  else
  {
    jQuery("#directory_jobsearch_apec_dialog").dialog("option", "buttons", {
      Enregistrer: jobsearchApecDialogSave,
      Annuler: jobsearchApecDialogCancel
    });
  }
  jobsearchApecPost("/fr/escrUserJobsearchApec/edit.html", "jobsearch_apec[id]=" + id);
  jQuery("#jobsearch_apec_user_id").val(jQuery("#user_id").val());
  jQuery("#jobsearch_apec_edit").show();
}

var jobsearchApecDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var jobsearchApecDialogDelete = function()
{
  jQuery.ajax({
    url: "/fr/escrUserJobsearchApec/delete.html",
    async: false,
    data: "jobsearch_apec[id]=" + gJobsearchApecDialogOpenerId,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_jobsearch_apec_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#directory_jobsearch_apec_" + gJobsearchApecDialogOpenerId).parent("div").remove();
      jQuery("#directory_jobsearch_apec_dialog").dialog('close');
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_jobsearch_apec_dialog").css("cursor", "default");
    }
  });
}

var jobsearchApecDialogSave = function()
{
  if(jobsearchApecPost("/fr/escrUserJobsearchApec/update.html", jQuery("#jobsearch_apec_edit_form").serialize()))
  {
    jQuery.ajax({
      url: "/fr/escrUserJobsearchApec/jobsearchApecItem.html",
      async: false,
      data: "jobsearch_apec[id]=" + jQuery("#jobsearch_apec_id").val(),
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_jobsearch_apec_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        if(gJobsearchApecDialogOpenerId)
        {
          jQuery("#directory_jobsearch_apec_" + gJobsearchApecDialogOpenerId).parent("div").replaceWith(data);
        }
        else
        {
          jQuery("#directory_jobsearch_apec_container").append(data);
        }
        jQuery("#directory_jobsearch_apec_dialog").dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_jobsearch_apec_dialog").css("cursor", "default");
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_jobsearch_apec_dialog").size())
  {
    // Add
    jQuery("#directory_jobsearch_apec_add").click(function() {
      gJobsearchApecDialogOpenerId = "";
      jQuery('#directory_jobsearch_apec_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_jobsearch_apec_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 500,
      minWidth: 500,
      minHeight: 150,
      buttons: {
			  Annuler: jobsearchApecDialogCancel
		  },
      open: function(event, ui)
      {
        var id = gJobsearchApecDialogOpenerId ? gJobsearchApecDialogOpenerId : "";
        jobsearchApecDialogEditView(id);
      },
      close: function(event, ui)
      {
        jQuery("#directory_jobsearch_apec_dialog #jobsearch_apec_edit").html("&nbsp;");
      }
    });
  }
});




// Jobsearch Location

var gJobsearchLocationDialogOpenerId;

function openJobsearchLocationDialog(obj)
{
  gJobsearchLocationDialogOpenerId = obj.id.replace(/directory_jobsearch_location_/, "");
  jQuery("#directory_jobsearch_location_dialog").dialog('open');
}

function jobsearchLocationPost(uri, data)
{
  var output = 1;
  jQuery.ajax({
    type: "POST",
    url: uri,
    async: false,
    data: data,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_jobsearch_location_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#jobsearch_location_edit").html(data);
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      output = 0;
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_jobsearch_location_dialog").css("cursor", "default");
    }
  });
  if(output)
  {
    output = jQuery("#jobsearch_location_edit div.escr_form_error").size() ? 0 : 1;
  }
  return output;
}

var jobsearchLocationDialogEditView = function(id)
{
  if(id)
  {
    jQuery("#directory_jobsearch_location_dialog").dialog("option", "buttons", {
      Supprimer: jobsearchLocationDialogDelete,
      Enregistrer: jobsearchLocationDialogSave,
      Annuler: jobsearchLocationDialogCancel
    });
  }
  else
  {
    jQuery("#directory_jobsearch_location_dialog").dialog("option", "buttons", {
      Enregistrer: jobsearchLocationDialogSave,
      Annuler: jobsearchLocationDialogCancel
    });
  }
  jobsearchLocationPost("/fr/escrUserJobsearchLocation/edit.html", "jobsearch_location[id]=" + id);
  jQuery("#jobsearch_location_user_id").val(jQuery("#user_id").val());
  jQuery("#jobsearch_location_edit").show();
}

var jobsearchLocationDialogCancel = function()
{
  jQuery(this).dialog('close');
}

var jobsearchLocationDialogDelete = function()
{
  jQuery.ajax({
    url: "/fr/escrUserJobsearchLocation/delete.html",
    async: false,
    data: "jobsearch_location[id]=" + gJobsearchLocationDialogOpenerId,
    beforeSend: function(XMLHttpRequest)
    {
      jQuery("#directory_jobsearch_location_dialog").css("cursor", "wait");
    },
    success: function(data, textStatus)
    {
      jQuery("#directory_jobsearch_location_" + gJobsearchLocationDialogOpenerId).parent("div").remove();
      jQuery("#directory_jobsearch_location_dialog").dialog('close');
    },
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
      alert("Error!");
    },
    complete: function(XMLHttpRequest, textStatus)
    {
      jQuery("#directory_jobsearch_location_dialog").css("cursor", "default");
    }
  });
}

var jobsearchLocationDialogSave = function()
{
  if(jobsearchLocationPost("/fr/escrUserJobsearchLocation/update.html", jQuery("#jobsearch_location_edit_form").serialize()))
  {
    jQuery.ajax({
      url: "/fr/escrUserJobsearchLocation/jobsearchLocationItem.html",
      async: false,
      data: "jobsearch_location[id]=" + jQuery("#jobsearch_location_id").val(),
      beforeSend: function(XMLHttpRequest)
      {
        jQuery("#directory_jobsearch_location_dialog").css("cursor", "wait");
      },
      success: function(data, textStatus)
      {
        if(gJobsearchLocationDialogOpenerId)
        {
          jQuery("#directory_jobsearch_location_" + gJobsearchLocationDialogOpenerId).parent("div").replaceWith(data);
        }
        else
        {
          jQuery("#directory_jobsearch_location_container").append(data);
        }
        jQuery("#directory_jobsearch_location_dialog").dialog('close');
      },
      error: function(XMLHttpRequest, textStatus, errorThrown)
      {
        alert("Error!");
      },
      complete: function(XMLHttpRequest, textStatus)
      {
        jQuery("#directory_jobsearch_location_dialog").css("cursor", "default");
      }
    });
  }
}

jQuery(document).ready(function() {
  if(jQuery("#directory_jobsearch_location_dialog").size())
  {
    // Add
    jQuery("#directory_jobsearch_location_add").click(function() {
      gJobsearchLocationDialogOpenerId = "";
      jQuery('#directory_jobsearch_location_dialog').dialog('open');
    });

    // Dialog
    jQuery("#directory_jobsearch_location_dialog").dialog({
      bgiframe: true,
      autoOpen: false,
      modal: true,
      resizable: false,
      width: 450,
      minWidth: 450,
      minHeight: 150,
      buttons: {
			  Annuler: jobsearchLocationDialogCancel
		  },
      open: function(event, ui)
      {
        var id = gJobsearchLocationDialogOpenerId ? gJobsearchLocationDialogOpenerId : "";
        jobsearchLocationDialogEditView(id);
      },
      close: function(event, ui)
      {
        jQuery("#directory_jobsearch_location_dialog #jobsearch_location_edit").html("&nbsp;");
      }
    });
  }
});



// Search form resets

function resetDirectorySearch()
{
  jQuery("#search_form input[name!='mictrl']").val("");
  jQuery("#search_form select option:selected").removeAttr("selected");
  jQuery("#search_form select").val("0");
  jQuery("#search_form select").val("");
  jQuery("#search_form #expertise_id_cont").html(jQuery("#expertise_0").clone().show());
}

function resetJobpostingSearch()
{
  jQuery("#search_form input[name!='mictrl'][type!='radio']").val("");
  jQuery("#search_form select option:selected").removeAttr("selected");
  jQuery("#search_form select").val("0");
  jQuery("#search_form select").val("");
  jQuery("#search_form input:checked").removeAttr("checked");
  jQuery("#search_form #keyword_op_OR").attr("checked", "checked");
}
