/*
*
* Zet alle hidden inputs met class datepicker om naar een input met calendar popup icoontje.
*
* Het formaat waarin opgeslagen wordt is yyyy-mm-dd, dit is het mysql DATE format
*
* Gebruik:
* <patForms:Hidden class="birthdate" label="Geboortedatum" required="no" name="birthdate" id="birthdate" />
* <patForms:String type="hidden" class="birthdate" label="Geboortedatum" required="no" name="birthdate" id="birthdate" />
*
* <script type="text/javascript" src="/templates/standard/common/js/jquery-latest.js"></script>
* <script type="text/javascript" src="/templates/standard/common/js/jquery.ui/ui.datepicker.js?rev=23"></script>
* <script type="text/javascript" src="/templates/standard/common/js/jquery.ui/datepicker/i18n/ui.datepicker-nl.js?rev=23"></script>
* <script type="text/javascript" src="/templates/standard/common/js/jquery.birthdate.js?rev=23"></script>
* <link rel="stylesheet" type="text/css" media="screen" href="/templates/standard/common/js/jquery.ui/themes/default/ui.datepicker.css?rev=23" />
* <input type="hidden" class="datepicker" value="12-03-93" name="my_birthdate_bla" />
*
*
* Zelf de plugin aanroepen vanuit de template, alle opties van datepicker zijn beschikbaar.
* Behalve defaultDate en onSelect.
*
* <script type="text/javascript">
*   jQuery(document).ready(function() {
*    jQuery('.birthdate').birthdate({
*    	buttonImage: '/some_custom_button_img.jpg'  
*    });
*   });
* </script>
*
*/

jQuery.fn.birthdate = function(settings) {

   // Settings to configure the jQuery lightBox plugin how you like
   // geef default waarden
   settings = jQuery.extend({
     changeYear: true,
     yearRange: '1900:2008',
     showOn: "both",
     buttonText: "",
     buttonImage: "/templates/standard/common/js/jquery.ui/datepicker/img/calendar3.gif",
     buttonImageOnly: true 
   }, settings);


  this.each(function() {

    var dateField = jQuery(this);
    var placeholder = document.createElement('input');
    jQuery(placeholder)
        .attr('type', 'text')
        .attr('class', jQuery(this).attr('class'))
        .attr('name', jQuery(this).attr('name') + '_placeholder')
        .attr('id', jQuery(this).attr('name') + '_placeholder');
    var dp = jQuery(placeholder);
    jQuery(this).parent().append(dp);   

    // vullen default waarde
    var xdate;
    var val =  jQuery(this).attr('value').split("-");
    if(val.length == 3) {
        xdate = new Date(parseInt(val[0]), (parseInt(val[1])-1), parseInt(val[2]));
	dp.attr('value', jQuery.datepicker.formatDate(jQuery.datepicker._defaults.dateFormat, new Date(xdate)));
    }

    // overschrijf settings
    settings.onSelect = function(date) {
        var val = "";
        var xdate = jQuery(this).datepicker("getDate");

        if(xdate) {
            val = jQuery.datepicker.formatDate("yy-mm-dd", xdate);
        }

	val = (val == '0000-00-00') ? '' : val;

        dateField.attr('value', val); // hidden input
    };

    settings.defaultDate = (xdate) ? xdate : null;

    dp.datepicker( settings ); 

  });
};
