
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - calendar_formfield.js - */
// http://www.prasiga.nl/portal_javascripts/calendar_formfield.js?original=1
if(typeof(plone)=='undefined')
var plone={};plone.jscalendar={_calendar:null,_current_input:null,_field_names:['year','month','day','hour','minute','ampm'],_fields: function(selector){if(selector===undefined) selector=plone.jscalendar._current_input;var fields={field:jq(selector)};jq.each(plone.jscalendar._field_names, function(){fields[this]=jq(selector+'_'+this)});return fields},init: function(){jq('.plone_jscalendar > input:hidden').each(function(){var selector='#'+this.id;jq.each(plone.jscalendar._fields(selector), function(){this.filter('select').bind('change.plone.jscalendar',{selector:selector},plone.jscalendar.update_hidden)})})},show: function(input_id,yearStart,yearEnd){var cal=plone.jscalendar._cal;if(!cal){cal=plone.jscalendar._cal=new Calendar(1,null,plone.jscalendar.handle_select,plone.jscalendar.handle_close);cal.create()} else
cal.hide();if(arguments.length>3){cal.params={range:[arguments[7],arguments[8]],inputField:jq('#'+arguments[1]).get(0),input_id_year:jq('#'+arguments[2]).get(0),input_id_month:jq('#'+arguments[3]).get(0),input_id_day:jq('#'+arguments[4]).get(0)};var anchor=jq('#'+arguments[0]);cal.setRange(cal.params.range[0],cal.params.range[1]);window.calendar=cal;var fields={year:jq(cal.params.input_id_year),month:jq(cal.params.input_id_month),day:jq(cal.params.input_id_day)}} else{plone.jscalendar._current_input=input_id;var fields=plone.jscalendar._fields();var anchor=fields.month;cal.setRange(yearStart,yearEnd)}
if(fields.year.val()>0) cal.date.setFullYear(fields.year.val());if(fields.month.val()>0) cal.date.setMonth(fields.month.val()-1);if(fields.day.val()>0) cal.date.setDate(fields.day.val());cal.refresh();cal.showAtElement(anchor.get(0),null);return false},handle_select: function(cal,date){if(cal.params!==undefined){var fields={year:jq(cal.params.input_id_year),month:jq(cal.params.input_id_month),day:jq(cal.params.input_id_day)}} else
var fields=plone.jscalendar._fields();var yearValue=date.substring(0,4);if(jq.nodeName(fields.year.get(0),'select')&&!fields.year.children('option[value='+yearValue+']').length){var options=fields.year.get(0).options;for(var i=options.length;i--;i>0){if(options[i].value>yearValue)
options[i+1]=new Option(options[i].value,options[i].text);else{options[i+1]=new Option(yearValue,yearValue);break}}}
fields.year.val(yearValue);fields.month.val(date.substring(5,7));fields.day.val(date.substring(8,10));if(cal.params!==undefined){var inputField=jq(cal.params.inputField);inputField.val(date+inputField.val().substr(10))} else
plone.jscalendar.update_hidden()},handle_close: function(cal){if(cal.params!==undefined) cal.params=window.calendar=undefined;cal.hide()},update_hidden: function(e){var val='';if(arguments.length>1)
var f={field:jq('#'+arguments[0]),year:jq('#'+arguments[1]),month:jq('#'+arguments[2]),day:jq('#'+arguments[3]),hour:jq('#'+arguments[4]),minute:jq('#'+arguments[5]),ampm:jq('#'+arguments[6])};else
var f=plone.jscalendar._fields(e&&e.data.selector);if((arguments.length>1&&f.year.val()==0)||(e&&e.target.selectedIndex===0)){var type=arguments.length==1&&e.target.id.substr(e.data.selector.length);var filter=jq.inArray(type,['hour','minute','ampm'])>-1?'select[id$=hour],select[id$=minute],select[id$=ampm]':'select';jq.each(f, function(){this.filter(filter).attr('selectedIndex',0)})} else if(f.year.val()>0&&f.month.val()>0&&f.day.val()>0){val=[f.year.val(),f.month.val(),f.day.val()].join('-');var date=new Date(val.replace(/-/g,'/'));if(date.print('%Y-%m-%d')!=val){val=date.print('%Y-%m-%d');f.year.val(val.substring(0,4));f.month.val(val.substring(5,7));f.day.val(val.substring(8,10))}
if(f.hour.length&&f.minute.length){val+=" "+[f.hour.val(),f.minute.val()].join(':');if(f.ampm.length) val+=" "+f.ampm.val()}}
f.field.val(val)}};jq(plone.jscalendar.init);var showJsCalendar=plone.jscalendar.show;var onJsCalendarDateUpdate=plone.jscalendar.handle_select;var update_date_field=plone.jscalendar.update_hidden;

/* - calendarpopup.js - */
// http://www.prasiga.nl/portal_javascripts/calendarpopup.js?original=1
function showDay(date){$('#day'+date).css({'visibility':'visible'});return true}
function hideDay(date){$('#day'+date).css({'visibility':'hidden'});return true}


