Source for file Scriptaculous.php
Documentation is available at Scriptaculous.php
* An open source set of php helper classes for prototype and script.aculo.us.
* @copyright Copyright (c) 2006, ngcoders.
* @license http://www.gnu.org/copyleft/gpl.html
* @link http://www.ngcoders.com
var $TOGGLE_EFFECTS = array('toggle_appear', 'toggle_slide','toggle_blind');
function visual_effect($name,$element_id= false,$js_options= null) {
$element= ($element_id)? "'$element_id'": 'element';
if(isset ($js_options) && is_array($js_options['queue'])){
} elseif (isset ($js_options)) {
$js_queue= "'$js_options'";
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
//if(isset($options['with']))
$options['with'] = "Sortable.serialize('$element_id')";
//if (isset($option['onUpdate']))
$options['onUpdate'] = "function(){". $this->remote_function($options) . "}";
$arr = array('tag','overlap','contraint','handle');
if (isset ($options[$var])) {
$options[$var] = "'". $options[$var]. "'";
if (isset ($options['containment'])) {
if (isset ($options['only'])) {
//if(isset($options['with']))
$options['with'] = '\'id=\' + encodeURIComponent(element.id)';
//if (isset($option['onDrop']))
$options['onDrop'] = "function(element){". $this->remote_function($options) . "}";
if (isset ($options['accept'])) {
if (isset ($options['hoverclass'])) {
$options['hoverclass'] = "'". $options['hoverclass']. "'";
/////////////////////////////////////////////////////////////////////////////////////
// Merged Javascript macro
/////////////////////////////////////////////////////////////////////////////////////
$function = "new Ajax.InPlaceEditor(";
$function .= "'$field_id', ";
$function .= "'". $options['url']. "'";
if (isset ($options['cancel_text']))$js_options['cancelText']= $options['cancel_text'];
if (isset ($options['save_text']))$js_options['okText']= $options['save_text'];
if (isset ($options['loading_text']))$js_options['loadingText']= $options['loading_text'];
if (isset ($options['rows']))$js_options['rows']= $options['rows'];
if (isset ($options['cols']))$js_options['cols']= $options['cols'];
if (isset ($options['size']))$js_options['size']= $options['size'];
if (isset ($options['external_control']))$js_options['externalControl']= "'". $options['external_control']. "'";
if (isset ($options['load_text_url']))$js_options['loadTextURL']= "'". $options['load_text_url']. "'";
if (isset ($options['options']))$js_options['ajaxOptions']= $options['options'];
if (isset ($options['script']))$js_options['evalScripts']= $options['script'];
if (isset ($options['with']))$js_options['callback']= "function(form) { return ". $options['with']. " }";
if($tag)return $this->tag($function); else
$ret_val.= '<span id="'. $object. '" class="in_place_editor_field">'. (isset ($tag_options['value'])? $tag_options['value']: ''). '</span>';
$function = "var $field_id". "_auto_completer = new Ajax.Autocompleter(";
$function.= "'$field_id', ";
$function.= "'". (isset ($options['update'])? $options['update']: $field_id. '_auto_complete'). "', ";
$function.= "'". $options['url']. "'";
if (isset ($options['tokens']))$js_options['tokens']= $this->javascript->_array_or_string_for_javascript($options['tokens']);
if (isset ($options['with']))$js_options['callback']= "function(element, value) { return ". $options['with']. " }";
if (isset ($options['indicator']))$js_options['indicator']= "'". $options['indicator']. "'";
if (isset ($options['select']))$js_options['select']= "'". $options['select']. "'";
foreach (array('on_show'=> 'onShow','on_hide'=> 'onHide','min_chars'=> 'min_chars') as $var=> $val) {
if (isset ($options[$var])) $js_options['$val']= $options['var'];
return $this->tag($function);
// Complete this function
# @@@ Fixed a bug in the next like where the dumping of the value tag used to check if size is set!
# @@@ Added maxlength and tabindex attributes
$t_tabindex = isset ( $tag_options['tabindex'] ) ? ( ' tabindex="' . $tag_options['tabindex'] . '"' ) : '';
$t_maxlength = isset ( $tag_options['maxlength'] ) ? ( ' maxlength="' . $tag_options['maxlength'] . '"' ) : '';
$ret_val.= '<input autocomplete="off" id="'. $object. '" name="'. $object. '"'. $t_tabindex . $t_maxlength . ' size="'. (isset ($tag_options['size'])? $tag_options['size']: 30). '" type="text" value="'. (isset ($tag_options['value'])? $tag_options['value']: ''). '" '. (isset ($tag_options['class'])? 'class = "'. $tag_options['class']. '" ': ''). '/>';
$ret_val.= '<div id="'. $object. '_auto_complete" class="auto_complete"></div>';
return '<style> div.auto_complete {
div.auto_complete ul li {
div.auto_complete ul li.selected {
div.auto_complete ul strong.highlight {
|