// generated by FBuilder
package flexa.ff;
import flexa.fb.*;
import java.util.Map;
import java.util.HashMap;
import javax.script.*;
import java.util.ArrayList;
public class calendar extends FField {
    //
    // CONSTRUCTOR
    //
    public calendar() {
        super("ff.calendar");
    }
    
    // 
    // Methods
    //
    















    
    public void updateFromRequest(Map<String, Object> aParameters)  throws Exception { 
    		String tName = (String)this.getValue("id");
		if( aParameters.containsKey(tName) ) {
		    String tVal = (String)aParameters.get(this.getValue("id"));
		    
		    
		    Log.getInstance().info("updateFromRequest " + tName + " type calendar = " + tVal);
			this.setValue("value", tVal);
			if( tVal.trim().length() > 0 ) {
			    int tsep = tVal.trim().indexOf(' ');
			    String day = tVal.trim().substring(0, tsep);
			    String hour = tVal.trim().substring(tsep + 1);
			    this.setValue("date", day);
			    this.setValue("time", hour);
			    this.cleanChanged("date");
			    this.cleanChanged("time");
			}
			
		}

    }
    


    
    public void refresh(FContext aContext)  throws Exception { 
    		if( this.status <= 0 && hasValue("datasource") ) {
		    FResult result = this.processDatasource(aContext); //Util.sqltoarrayddtotal(aContext, (String)getValue("datasource"));  // Execute ds
		    //this.clonefromresult(result, aContext); // Clone me
		    this.setValue("datalist", result);
		}
		if( this.status <= 0 && hasValue("hours") ) {
		    FResult result = this.processDatasource(aContext, "hours"); //Util.sqltoarrayddtotal(aContext, (String)getValue("datasource"));  // Execute ds
		    //this.setValue("hours_list", result.toArray(0));
		    this.setValue("hourslist", result);
		    //this.clonefromresult(result, aContext); // Clone me
		}
		if( this.status <= 0 && hasValue("unavailables") ) {
		    FResult result = this.processDatasource(aContext, "unavailables"); //Util.sqltoarrayddtotal(aContext, (String)getValue("datasource"));  // Execute ds
		    this.setValue("unavailableslist", result);
		    //this.clonefromresult(result, aContext); // Clone me
		}

    }
    


    
    public Object call(FContextInterface contexti, String aname, Object... args)  throws Exception { 
    		if( aname.equals("refresh") ) {
		    this.refresh((FContext)contexti);
		}
		return null;

    }
    


    // 
    // Events
    //
	public void event(String aAction, FContext aContext) throws Exception {
        // Events
        
    
        // onopenjava EVENT
        if( LibText.stringToArray("" + this.name + ".select," + this.name + ".refresh,onopen,start").contains(aAction) ) {
        			if( this.status <= 0 && hasValue("datasource") ) {
			    Log.getInstance().info("CALENDAR event " + aAction + " datasource : " + (String)getValue("datasource") );
			    FResult result = this.processDatasource(aContext); //Util.sqltoarrayddtotal(aContext, (String)getValue("datasource"));  // Execute ds
			    //this.clonefromresult(result, aContext); // Clone me
			    this.setValue("datalist", result);
			}
			if( this.status <= 0 && hasValue("hours") ) {
			    Log.getInstance().info("CALENDAR event " + aAction + " hours : " + (String)getValue("hours") );
			    FResult result = this.processDatasource(aContext, "hours"); //Util.sqltoarrayddtotal(aContext, (String)getValue("datasource"));  // Execute ds
			    //this.setValue("hours_list", result.toArray(0));
			    this.setValue("hourslist", result);
			    //this.clonefromresult(result, aContext); // Clone me
			}
			if( this.status <= 0 && hasValue("unavailables") ) {
			    Log.getInstance().info("CALENDAR event " + aAction + " unavailables : " + (String)getValue("hours") );
			    FResult result = this.processDatasource(aContext, "unavailables"); //Util.sqltoarrayddtotal(aContext, (String)getValue("datasource"));  // Execute ds
			    this.setValue("unavailableslist", result);
			    //this.clonefromresult(result, aContext); // Clone me
			}

        }
    


	    super.event(aAction, aContext);
	}
	
	
}