function insertInputFileValue(el) {
  document.getElementById('custom_'+el.id).value = el.value;
}
var t = false;
var piccolino = {
  inPlaceAccess: function(id) {
    if (piccolino.currentAccessEdit != undefined) {
      piccolino.inPlaceCancel();
    }
    piccolino.aDataEditClass = "edit-data";
	
    enableChangeAccessData($j("#access_"+id+" td.relationship div"), piccolino.RELATIONSHIP_SELECT);
    enableChangeAccessData($j("#access_"+id+" td.diary div"), piccolino.DIARY_LIST);
    enableChangeAccessData($j("#access_"+id+" td.edit div"), piccolino.ACCESS_LIST[id]);
    
    $j("#in_place_child_id")[0].value = piccolino.DATA_LIST[id][0];
    $j("#in_place_relationship")[0].value = piccolino.DATA_LIST[id][1];
    
    $j("#edit_button_"+id).hide();
    $j("#delete_button_"+id).hide();
    $j("#save_button_"+id).show();
    $j("#cancel_button_"+id).show();
    piccolino.currentAccessEdit = id;
	
    function enableChangeAccessData(el, data) {
      el.each(function() {
        var $this = $j(this);
        if($this.hasClass(piccolino.aDataEditClass)) {
          $this.removeClass("hide").html(data);
        } else {
          $this.hide();
        }
      });
    }
  },
  inPlaceSave: function() {
    var id = piccolino.currentAccessEdit
    piccolino.currentAccessEdit = undefined
    //find which radio is selected
    access = 'view'
    $j('input[name=in_place[editable]]').each(function(k,a){
      if (a.checked) {
        access=a.value
      }
    })
    child_id = $j('#in_place_child_id').attr("value")
    relationship = $j('#in_place_relationship').attr("value")

    piccolino.DATA_LIST[id][0] = child_id
    piccolino.DATA_LIST[id][1] = relationship

    $j.post("/access_rights/"+id,
    {
      "_method":"put",
      "access_right[relationship]": relationship,
      "access_right[child_id]": child_id,
      "access_right[access]": access
    },
    function(data, status) {
      $j("#message p").text(data)
      $j("#message").show("slow")
	  
      saveChangeAccessData($j("#access_"+id+" td.relationship div"), relationship);
      var al = ""
      $j("#in_place_child_id").children().each(function(k,v){
        if (v.value==child_id){
          al=v.innerHTML
        }
      })
      
      saveChangeAccessData($j("#access_"+id+" td.diary div"), al);
      saveChangeAccessData($j("#access_"+id+" td.edit div"), access == 'view' ? "nie" : "tak");
	  
      $j("#edit_button_"+id).show()
      $j("#delete_button_"+id).show()
      $j("#save_button_"+id).hide()
      $j("#cancel_button_"+id).hide()
		
      function saveChangeAccessData(el, data) {
        el.each(function() {
          var $this = $j(this);
          if($this.hasClass(piccolino.aDataEditClass)) {
            $this.addClass("hide").html("");
          } else {
            $this.show().html(data);
          }
        });
      }
    },
    "html"
    )
  },
  inPlaceCancel: function() {
    var id = piccolino.currentAccessEdit;
    piccolino.currentAccessEdit = undefined;
	
    cancelChangeAccessData($j("#access_"+id+" td.relationship div"));
    cancelChangeAccessData($j("#access_"+id+" td.diary div"));
    cancelChangeAccessData($j("#access_"+id+" td.edit div"));
	
    $j("#edit_button_"+id).show()
    $j("#delete_button_"+id).show()
    $j("#save_button_"+id).hide()
    $j("#cancel_button_"+id).hide()
	
    function cancelChangeAccessData(el) {
      el.each(function() {
        var $this = $j(this);
        if($this.hasClass(piccolino.aDataEditClass)) {
          $this.addClass("hide").html("");
        } else {
          $this.show();
        }
      });
    }
  },
  changeToSelect: function(id, html) {
    $(id).replace(html)
  },
  lifeLineLookup: {
    "diary_entry": "/wpis",
    "video": "/filmy",
    "height_entry": "/wzrost",
    "weight_entry": "/waga",
    "picture": "/zdjecia"
  },
  /*
   * Takes two arguments:
   *  * dom id
   *  * callback function
   *
   * DOM-id of element being hoovered. It should have format
   * entry_class-ID-PARENT_ID where entry_class is class name, and ID is instance
   * ID in database. PARENT_ID is parent ID and is generated by life_line_entry helper.
   *
   * getLifeLineEvent will convert this to URL (using lifeLineLookup hash) and call
   * callback function on successfull AJAX call with returned JSON data as argument
   *
   */
  getLifeLineEvent: function(dom, callback){
	clearTimeout(t);
    var domEl = dom.split("-");
    var type = domEl[0];
    var id = domEl[1];
    var parent = domEl[2];

    if (parent!=0) {
      url = "/dzienniki/"+ parent + piccolino.lifeLineLookup[type]+"/"+id;
    } else {
      url = "/dzieci/"+ piccolino.currentChild + piccolino.lifeLineLookup[type]+"/"+id;
    }
	t = setTimeout(function() {
		$j.getJSON(url, undefined, function(data){
	      callback(data);
	    });	
	}, 250);
    
  }
}

function changeInputType(el, passwdNode) {
  el.style.display = "none";
  var inputPass = document.getElementById(passwdNode);
  inputPass.style.display = '';
  inputPass.value = '';
  inputPass.focus();
}
