var abstracts=
{
  urlSignup:'',
  urlRegions:'',
  urlCities:'',

  mostrarSignup:function()
  {
    window.location.href=this.urlSignup;
  },

  updateRegions:function()
  {
    var idCountry=$('#user_country_id').attr('value');

    $('#user_region_wrap').load(abstracts.urlRegions+'?id_country='+idCountry,
    function(){
        $("#user_region_id").change(abstracts.updateCities)
        abstracts.updateCities();
    });

  },

  updateCities:function()
  {
    var idRegion=$('#user_region_id').attr('value');
    $('#user_city_wrap').load(abstracts.urlCities+'?id_region='+idRegion);
  },

  iniciarCountrySelect:function()
  {
    $("#user_region_id").wrap("<div id=\"user_region_wrap\"/>")
    $("#user_country_id").change(abstracts.updateRegions);

    $("#user_city_id").wrap("<div id=\"user_city_wrap\"/>")
    $("#user_region_id").change(abstracts.updateCities);
  },

  ocultarLentamente:function(id)
  {
    $(document).ready(function(){
        $("#"+id).fadeOut(3000);
    });
  }
};

var profile=
{
  urlPersonalData:'',
  urlAccessData:'',
  campoPassword:'*******',

  iniciar:function()
  {
    $('#personalDataDiv').load(this.urlPersonalData,function(){profile.ocultarCampos('personalDataDiv')});
    $('#accessDataDiv').load(this.urlAccessData,function(){profile.ocultarCampos('accessDataDiv')});

    $('#profile .edit').click(function(element){
      profile.editarCampos($(element.currentTarget).attr('href').replace("#",""));
      return false;
    });

    $('#profile .cancel').click(function(element){
      profile.cancelarEditarCampos($(element.currentTarget).attr('href').replace("#",""));
      return false;
    });


    $('#profile .submit').click(function(element){
      profile.guardarCampos($(element.currentTarget).attr('href').replace("#",""));
      return false;
    });
  },

 guardarCampos:function(id)
 {
    var idForm=id.replace("Div","");
    var url=(id=='personalDataDiv')?this.urlPersonalData:this.urlAccessData;
    var form=$('#'+idForm);

    $.ajax({
      url: url,
      type: "POST",
      data:form.serialize(),
      success:function(html)
      {
          $('#'+id).html(html);
          profile.ocultarCampos(id);
          profile.ocultarBotonesEdicion(id);
      }
    });
 },

 ocultarBotonesEdicion:function(id)
 {
   $('.'+id+' .opciones .botonInicial').show();
   $('.'+id+' .opciones .botonEdicion').hide();
 },

 mostrarBotonesEdicion:function(id)
 {
   $('.'+id+' .opciones .botonInicial').hide();
   $('.'+id+' .opciones .botonEdicion').show();
 },

 editarCampos:function(id)
 {
    profile.mostrarCampos(id);
    profile.mostrarBotonesEdicion(id);    
 },

 cancelarEditarCampos:function(id)
 {
   //Recarga el campo
  var url=(id=='personalDataDiv')?this.urlPersonalData:this.urlAccessData;
  $('#'+id).load(url,function(){profile.ocultarCampos(id)});

   profile.ocultarBotonesEdicion(id);
 },


 mostrarCampos:function(id)
 {
  jQuery.each($('#'+id+' input'),function(){
    var item=$(this);

    if(item.attr('type')!='hidden')
    {
      item.show();
      $('#'+id+' .campo_disable').remove();
    }
  });
 },
 

 ocultarCampos:function(id)
 {
  jQuery.each($('#'+id+' input'),function(){
    var item=$(this);

    if(item.attr('type')!='hidden')
    {
      item.hide();
      var value=item.attr('type')=='password'?profile.campoPassword:item.attr('value');
      $(item.parent()).append('<label class="campo_disable">'+value+'</label>')
    }
  });
 }
}



