


$(document).ready(function() {
  
  $(".field.f_date").each(function(){
    fieldType_Date({showField: !$(this).hasClass("field_disabled"), containerId: "container_"+$(this).attr("id"),fieldName: $(this).attr("id"), fieldType: 'date', fieldDate: $(this).find(".ff input").attr("value")});
  });
  $(".field.f_datetime").each(function(){
    fieldType_Date({showField: !$(this).hasClass("field_disabled"), containerId: "container_"+$(this).attr("id"),fieldName: $(this).attr("id"), fieldType: 'datetime', fieldDate: $(this).find(".ff input").attr("value")});
  });

});

function fieldType_Date(settings)
  {
    settings = jQuery.extend({
      
      fieldName: '',
      containerId: '',
      showField: true,
      fieldType: 'datetime',
      fieldDate: '0000-00-00 00:00:00'
      
    },settings);
    
    initialize();
    
    if(settings.showField){show();}
    else{remove();}
    
    function initialize()
      {
        $('#' + settings.fieldName + ' label input').unbind("click").click(function(){
          if($(this).attr("checked")){show();}
          else{remove();}
          //alert("ok");
          //$('#' + settings.fieldName).toggleClass("field_disabled");
        });
        
        settings.container = $('#' + settings.containerId);
      }
    
    function show()
      {
        settings.container.html('');
        settings.container.append('<a href="javascript:void(0);" id="f_' + settings.fieldName + '_link"></a>');
        settings.container.append('<input class="input_hidden" type="hidden" name="' + settings.fieldName + '" id="f_' + settings.fieldName + '" value="' + settings.fieldDate + '" />');
        
        //$('#f_' + settings.fieldName + '_link').click(function(){$(this).trigger("validateField");});
        switch(settings.fieldType)
          {
            case "datetime":
              Calendar.setup(
                {
                  inputField     :    "f_" + settings.fieldName,     
                  ifFormat       :    "%Y-%m-%d %I:%M:%S",     
                  displayArea    :    'f_' + settings.fieldName  + '_link',      
                  daFormat       :    "%d. %B %Y %I:%M",
                  align          :    "Tl", 
                  showsTime      :    true,
                  onClose        :    function(){$('#f_' + settings.fieldName + '_link').trigger("validateField");},
                  timeFormat     :    "24", 
                  singleClick    :    true
                });
                $('#f_' + settings.fieldName + '_link').append(Date.parseDate(settings.fieldDate,"%Y-%m-%d %I:%M:%S").print("%d. %B %Y %I:%M"));
                break;
              
            case "date":
              Calendar.setup(
                {
                  inputField     :    "f_" + settings.fieldName,     
                  ifFormat       :    "%Y-%m-%d",     
                  displayArea    :    'f_' + settings.fieldName  + '_link',      
                  daFormat       :    "%d. %B %Y",
                  align          :    "Tl", 
                  showsTime      :    false,
                  onClose        :    function(){$('#f_' + settings.fieldName + '_link').trigger("validateField");},
                  timeFormat     :    "24", 
                  singleClick    :    true
                });
                $('#f_' + settings.fieldName + '_link').append(Date.parseDate(settings.fieldDate,"%Y-%m-%d").print("%d. %B %Y"));
                break;
          }
      }
      
    function remove()
      {
        $('#' + settings.fieldName + ' .ff').html('');
      }
  
  }
