diff --git a/htmlUI/Input.php b/htmlUI/Input.php
deleted file mode 100644
index c80934b07..000000000
--- a/htmlUI/Input.php
+++ /dev/null
@@ -1,187 +0,0 @@
- $value) {
- $decodedKey = stripslashes($key);
- if (is_array($value)) {
- $decodedValue = Input::CleanMagicQuotes($value);
- } else {
- $decodedValue = stripslashes($value);
- }
- $gpcList[$decodedKey] = $decodedValue;
- }
- return $gpcList;
- } // fn CleanMagicQuotes
-
-
- /**
- * Get an input value from the $_REQUEST array and check its type.
- * The default value is returned if the value is not defined in the
- * $_REQUEST array, or if the value does not match the required type.
- *
- * The type 'checkbox' is special - you cannot specify a default
- * value for this. The return value will be TRUE or FALSE, but
- * you can change this by specifying 'numeric' as the 3rd parameter
- * in which case it will return '1' or '0'.
- *
- * Use Input::IsValid() to check if any errors were generated.
- *
- * @param string $p_varName
- * The index into the $_REQUEST array.
- *
- * @param string $p_type
- * The type of data expected; can be:
- * "int"
- * "string"
- * "array"
- * "checkbox"
- * "boolean"
- *
- * Default is 'string'.
- *
- * @param mixed $p_defaultValue
- * The default value to return if the value is not defined in
- * the $_REQUEST array, or if the value does not match
- * the required type.
- *
- * @param boolean $p_errorsOk
- * Set to true to ignore any errors for this variable (i.e.
- * Input::IsValid() will still return true even if there
- * are errors for this varaible).
- *
- * @return mixed
- */
- function Get($p_varName, $p_type = 'string', $p_defaultValue = null, $p_errorsOk = false)
- {
- global $g_inputErrors;
- $p_type = strtolower($p_type);
-
- if ($p_type == 'checkbox') {
- if (strtolower($p_defaultValue) != 'numeric') {
- return isset($_REQUEST[$p_varName]);
- } else {
- return isset($_REQUEST[$p_varName]) ? '1' : '0';
- }
- }
- if (!isset($_REQUEST[$p_varName])) {
- if (!$p_errorsOk) {
- $g_inputErrors[$p_varName] = 'not set';
- }
- return $p_defaultValue;
- }
- // Clean the slashes
- if (get_magic_quotes_gpc()) {
- if (is_array($_REQUEST[$p_varName])) {
- $_REQUEST[$p_varName] = Input::CleanMagicQuotes($_REQUEST[$p_varName]);
- } else {
- $_REQUEST[$p_varName] = stripslashes($_REQUEST[$p_varName]);
- }
- }
- switch ($p_type) {
- case 'boolean':
- $value = strtolower($_REQUEST[$p_varName]);
- if ( ($value == "true") || (is_numeric($value) && ($value > 0)) ) {
- return true;
- } else {
- return false;
- }
- break;
- case 'int':
- if (!is_numeric($_REQUEST[$p_varName])) {
- if (!$p_errorsOk) {
- $g_inputErrors[$p_varName] = 'Incorrect type. Expected type '.$p_type
- .', but received type '.gettype($_REQUEST[$p_varName]).'.'
- .' Value is "'.$_REQUEST[$p_varName].'".';
- }
- return $p_defaultValue;
- }
- break;
- case 'string':
- if (!is_string($_REQUEST[$p_varName])) {
- if (!$p_errorsOk) {
- $g_inputErrors[$p_varName] = 'Incorrect type. Expected type '.$p_type
- .', but received type '.gettype($_REQUEST[$p_varName]).'.'
- .' Value is "'.$_REQUEST[$p_varName].'".';
- }
- return $p_defaultValue;
- }
- break;
- case 'array':
- if (!is_array($_REQUEST[$p_varName])) {
- // Create an array if it isnt one already.
- // Arrays are used with checkboxes and radio buttons.
- // The problem with them is that if there is only one
- // checkbox, the given value will not be an array. So
- // we make it easy for the programmer by always returning
- // an array.
- $newArray = array();
- $newArray[] = $_REQUEST[$p_varName];
- return $newArray;
- // if (!$p_errorsOk) {
- // $g_inputErrors[$p_varName] = 'Incorrect type. Expected type '.$p_type
- // .', but received type '.gettype($_REQUEST[$p_varName]).'.'
- // .' Value is "'.$_REQUEST[$p_varName].'".';
- // }
- // return $p_defaultValue;
- }
- }
- return $_REQUEST[$p_varName];
- } // fn get
-
-
- /**
- * Return FALSE if any calls to Input::Get() resulted in an error.
- * @return boolean
- */
- function IsValid()
- {
- global $g_inputErrors;
- if (count($g_inputErrors) > 0) {
- return false;
- } else {
- return true;
- }
- } // fn isValid
-
-
- /**
- * Return a default error string.
- * @return string
- */
- function GetErrorString()
- {
- global $g_inputErrors;
- ob_start();
- print_r($g_inputErrors);
- $str = ob_get_clean();
- return $str;
- } // fn GetErrorString
-
-} // class Input
-
-?>
\ No newline at end of file
diff --git a/htmlUI/formmask/exchange.inc.php b/htmlUI/formmask/exchange.inc.php
deleted file mode 100644
index 59d015ae9..000000000
--- a/htmlUI/formmask/exchange.inc.php
+++ /dev/null
@@ -1,93 +0,0 @@
- array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'BACKUP.schedule'
- ),
- array(
- 'element' => 'mon',
- 'type' => 'checkbox',
- 'label' => 'Mon',
- 'groupit' => true
- ),
- array(
- 'element' => 'tue',
- 'type' => 'checkbox',
- 'label' => 'Tue',
- 'groupit' => true
- ),
- array(
- 'element' => 'wed',
- 'type' => 'checkbox',
- 'label' => 'Wed',
- 'groupit' => true
- ),
- array(
- 'element' => 'thu',
- 'type' => 'checkbox',
- 'label' => 'Thu',
- 'groupit' => true
- ),
- array(
- 'element' => 'fri',
- 'type' => 'checkbox',
- 'label' => 'Fri',
- 'groupit' => true
- ),
- array(
- 'element' => 'sat',
- 'type' => 'checkbox',
- 'label' => 'Sat',
- 'groupit' => true
- ),
- array(
- 'element' => 'sun',
- 'type' => 'checkbox',
- 'label' => 'Sun',
- 'groupit' => true
- ),
- array(
- 'group' => array('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'),
- 'label' => 'Weeksdays'
- ),
- array(
- 'element' => 'date',
- 'type' => 'date',
- 'label' => 'Month/Day',
- 'options' => array(
- 'format' => 'md',
- 'addEmptyOption' => true,
- 'emptyOptionValue' => '*',
- 'emptyOptionText' => '*'
- )
- ),
- array(
- 'element' => 'time',
- 'type' => 'date',
- 'label' => 'Hour/Minute',
- 'options' => array(
- 'format' => 'Hi',
- )
- ),
- array(
- 'element' =>'cancel',
- 'type' =>'button',
- 'label' =>'Cancel',
- 'attributes'=>array('onclick' => 'location.href="'.UI_BROWSER.'?act=BACKUP"'),
- 'groupit' => TRUE
- ),
- array(
- 'element' =>'Submit',
- 'type' =>'submit',
- 'label' =>'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'Submit'),
- 'label' => ' '
- ),
- )
-);
-?>
\ No newline at end of file
diff --git a/htmlUI/formmask/generic.inc.php b/htmlUI/formmask/generic.inc.php
deleted file mode 100644
index 64bc99f24..000000000
--- a/htmlUI/formmask/generic.inc.php
+++ /dev/null
@@ -1,902 +0,0 @@
- 0) {
- $tmpAct = substr($_REQUEST["act"], 0, $tmpPos);
- } else {
- $tmpAct = $_REQUEST["act"];
- }
-}
-
-$ui_fmask = array(
- /* ===================== list of system preferences which can be adjusted */
- 'stationPrefs' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'changeStationPrefs'
- ),
- array(
- 'element' => 'stationFrequency',
- 'isPref' => TRUE,
- 'type' => 'text',
- 'label' => 'Frequency',
- 'required' => TRUE
- ),
- array(
- 'element' => 'stationName',
- 'isPref' => TRUE,
- 'type' => 'text',
- 'label' => 'Station name',
- 'required' => TRUE
- ),
- array(
- 'element' => 'stationLogoPath',
- 'isPref' => TRUE,
- 'type' => 'hidden',
- 'label' => 'Station logo path',
- 'default' => 'img/logo.png',
- 'required' => TRUE,
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'stationLogoPath',
- 'format' => '/^img\/[a-z0-9.-_]*$/',
- 'rulemsg' => 'Path appears invalid'
- ),
- array(
- 'element' => 'stationURL',
- 'isPref' => TRUE,
- 'type' => 'text',
- 'label' => 'Station URL',
- 'default' => 'http://',
- 'required' => TRUE,
- 'attributes'=> array('maxlength' => 256)
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'stationURL',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'URL seems not to be valid'
- ),
- array(
- 'element' => 'stationlogo',
- 'type' => 'file',
- 'label' => 'Station logo (maximum 128x128)',
- 'requiredmsg'=> 'please select logo file'
- ),
- array(
- 'element' => 'schedulerStartupScript',
- 'isPref' => TRUE,
- 'type' => 'text',
- 'label' => 'Scheduler startup script',
- 'required' => false,
- ),
- array(
- 'element' => 'archiveServerLocation',
- 'isPref' => TRUE,
- 'type' => 'text',
- 'label' => 'Archive server location URL',
- 'default' => "http://" . $CC_CONFIG['archiveUrlHost'] . ":" . $CC_CONFIG['archiveUrlPort'] . $CC_CONFIG['archiveUrlPath']."/".$CC_CONFIG['archiveXMLRPC'],
- 'required' => TRUE,
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'archiveServerLocation',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'archive server location seems not to be valid'
- ),
- array(
- 'element' => UI_SCRATCHPAD_MAXLENGTH_KEY,
- 'isPref' => TRUE,
- 'type' => 'select',
- 'label' => 'Maximum length of scratchpad',
- 'options' => array(
- 5 => 5,
- 10 => 10,
- 25 => 25,
- 50 => 50
- ),
- 'default' => 10,
- 'required' => TRUE
- ),
- array(
- 'element' =>'cancel',
- 'type' =>'button',
- 'label' =>'Cancel',
- 'attributes'=>array('onclick' => 'location.href="'.UI_BROWSER.'"'),
- 'groupit' => TRUE
- ),
- array(
- 'element' =>'Submit',
- 'type' =>'submit',
- 'label' =>'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'Submit'),
- 'label' => ' '
- ),
- ),
-
- 'chgPasswd' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'default' => 'chgPasswd'
- ),
- array(
- 'element' => 'uid',
- 'type' => 'hidden',
- ),
- array(
- 'element' => 'oldpass',
- 'type' => 'password',
- 'label' => 'Old password',
- 'required' => TRUE,
- ),
- array(
- 'element' => 'pass',
- 'type' => 'password',
- 'label' => 'New password',
- 'required' => TRUE,
- ),
- array(
- 'element' => 'pass2',
- 'type' => 'password',
- 'label' => 'Repeat password',
- 'required' => TRUE,
- ),
- array(
- 'rule' => 'compare',
- 'element' => array('pass','pass2'),
- 'rulemsg' => 'The passwords do not match.'
- ),
- array(
- 'element' =>'Submit',
- 'type' =>'submit',
- 'label' =>'Submit'
- )
-
- ),
-
- 'login' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'login'
- ),
- array(
- 'element' => 'login',
- 'type' => 'text',
- 'label' => 'Username',
- 'required' => TRUE,
- 'attributes' => array('size' => 20)
- ),
- array(
- 'element' => 'pass',
- 'type' => 'password',
- 'label' => 'Password',
- 'required' => TRUE,
- 'attributes' => array('size' => 20)
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'window.close()'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'Submit')
- ),
- ),
-
- 'uploadFileM' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'mediafile',
- 'type' => 'file',
- 'label' => 'Media file',
- 'required' => TRUE,
- 'requiredmsg'=> 'Please select media file'
- ),
- array(
- 'element' => 'mdatafile',
- 'type' => 'file',
- 'label' => 'Metadata',
- 'required' => TRUE,
- 'requiredmsg'=> 'Please select metadata file'
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit'
- )
- ),
-
- 'file' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'folderId',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'mediafile',
- 'type' => 'file',
- 'label' => 'Media file',
- 'required' => TRUE,
- 'requiredmsg'=> 'please select media file'
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array(
- 'class'=> "button",
- 'onClick' => "location.href='".UI_BROWSER."'"),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE,
- 'attributes' => array(
- 'class'=> "button",
- ),
- ),
- array(
- 'group' => array('cancel', 'Submit')
- )
- ),
-
- 'webstream' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'folderId',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'title',
- 'type' => 'text',
- 'label' => 'Title',
- 'required' => TRUE
- ),
- array(
- 'element' => 'url',
- 'type' => 'text',
- 'label' => 'Stream URL',
- 'required' => TRUE,
- 'requiredmsg'=> 'URL is missing',
- 'rule' => 'regex',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'URL seems invalid',
- 'attributes'=> array('maxlength' => 256),
- ),
- array(
- 'element' => 'length',
- 'type' => 'date',
- 'label' => 'Length
Enter zero for Live Stream',
- 'options' => array('format' => 'His'),
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => "location.href='".UI_BROWSER."'"),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'test',
- 'type' => 'button',
- 'label' => 'Test',
- 'groupit' => TRUE,
- 'attributes'=> array('onclick' => "if (validate_addWebstream(document.forms['addWebstream'])) popup('".UI_BROWSER."?popup[]=testStream&url=' + document.forms['addWebstream'].elements['url'].value, 'testStream', 400, 250)")
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'test', 'Submit')
- )
- ),
-
- 'search' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => "$tmpAct.newSearch"
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'counter',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'max_rows',
- 'type' => 'hidden',
- 'constant' => UI_SEARCH_MAX_ROWS
- ),
- array(
- 'element' => 'operator',
- 'type' => 'select',
- 'label' => 'Operator',
- 'options' => array(
- 'and' => '##And##',
- 'or' => '##Or##',
- )
- ),
- array(
- 'element' => 'filetype',
- 'type' => 'select',
- 'label' => 'File type',
- 'options' => array(
- UI_FILETYPE_ANY => '*',
- UI_FILETYPE_AUDIOCLIP => '##Audioclip##',
- UI_FILETYPE_WEBSTREAM => '##Webstream##',
- UI_FILETYPE_PLAYLIST => '##Playlist##'
- ),
- ),
- array(
- 'element' => 'limit',
- 'type' => 'select',
- 'label' => 'Rows per page',
- 'options' => array(
- 10 => 10,
- 25 => 25,
- 50 => 50,
- 100 => 100
- )
- ),
- array(
- 'element' => 'clear',
- 'type' => 'button',
- 'label' => 'Reset Criteria',
- 'attributes' => array('class' => 'button_wide', 'onClick' => "this.form.reset(); location='".UI_HANDLER."?act=SEARCH.clear'"),
- 'groupit' => TRUE,
- ),
- array(
- 'element' => 'spacer',
- 'type' => 'static',
- 'text' => '
-
- '
- ),
- array(
- 'element' => 'submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE,
- 'attributes' => array('class' => 'button_wide')
- ),
- array('group' => array('clear', 'spacer', 'submit')
- ),
- ),
-
- 'relations' => array(
- 'standard' => array(
- 'partial' => '##partial##',
- 'full' => '##full##',
- 'prefix' => '##prefix##',
- '=' => '=' ,
- '<' => '<',
- '<=' => '<=',
- '>' => '>',
- '>=' => '>='
- ),
- 1 => array(
- 'partial' => '##partial##',
- 'full' => '##full##',
- 'prefix' => '##prefix##',
- '=' => '='
- ),
-
- ),
-
- 'languages' => array(
- array(
- 'element' => 'langid',
- 'type' => 'select',
- 'label' => 'Language',
- 'options' => _getLanguages(),
- 'default' => UI_DEFAULT_LANGID
- )
- ),
-
- 'browse_columns' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- 'form' => array(
- 'element' => 'col',
- 'type' => 'hidden'
- ),
- 'category' => array(
- 'element' => 'category',
- 'type' => 'select',
- 'label' => 'Category',
- 'attributes'=> array(
- 'onChange' => 'this.form.act.value="'.$tmpAct.'.setCategory"; this.form.submit()',
- 'style' => 'width: 180px;',
- 'id' => 'category_'
- )
- ),
- 'value' => array(
- 'element' => 'value',
- 'type' => 'select',
- 'multiple' => TRUE,
- 'attributes'=> array(
- 'size' => 10,
- 'class' => 'area_browse',
- 'id' => 'category_value_',
- 'onChange' => 'this.form.act.value="'.$tmpAct.'.setValue"; this.form.submit()'
- )
- )
- ),
-
- 'browse_global' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- ),
- array(
- 'element' => 'filetype',
- 'type' => 'select',
- 'label' => 'File type',
- 'options' => array(
- UI_FILETYPE_ANY => '*',
- UI_FILETYPE_AUDIOCLIP => '##Audioclip##',
- UI_FILETYPE_WEBSTREAM => '##Webstream##',
- UI_FILETYPE_PLAYLIST => '##Playlist##'
- ),
- 'attributes'=> array('onChange' => 'location=\''.UI_HANDLER.'?act='.$tmpAct.'.setFiletype&filetype=\' + this.form.filetype.value')
- ),
- array(
- 'element' => 'limit',
- 'type' => 'select',
- 'label' => 'Rows per page',
- 'options' => array(
- 10 => 10,
- 25 => 25,
- 50 => 50,
- 100 => 100
- ),
- 'attributes'=> array('onChange' => 'location=\''.UI_HANDLER.'?act='.$tmpAct.'.setLimit&limit=\'+ this.form.limit.value')
- ),
- /* do we need reset?
- array(
- 'element' => 'spacer',
- 'type' => 'static',
- 'constant' => '',
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'reset',
- 'type' => 'button',
- 'label' => 'Reset criteria',
- 'attributes'=> array('class' => 'button_wide', 'onClick' => 'hpopup("'.UI_HANDLER.'?act='.$_REQUEST['act'].'.setDefaults")'),
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('spacer', 'reset')
- )
- */
- ),
-
- 'simplesearch' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'SEARCH.simpleSearch'
- ),
- array(
- 'element' => 'simplesearch',
- 'type' => 'header',
- 'label' => 'Search library',
- ),
- array(
- 'element' => 'criterium',
- 'type' => 'text',
- 'label' => NULL,
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'submit',
- 'type' => 'submit',
- 'label' => 'Search',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('criterium', 'submit')
- )
- ),
-
- 'PL.changeTransition' => array(
- 'transition' => array(
- array(
- 'element' => 'headline',
- 'type' => 'static'
- ),
- /*
- array(
- 'element' => 'type',
- 'type' => 'radio',
- 'label' => 'Type',
- 'options' => array(
- 'fadeX' => 'Crossfade',
- 'pause' => 'Pause'
- ),
- 'default' => 'fadeX'
- ) */
- array(
- 'element' => 'type',
- 'type' => 'hidden',
- 'default' => 'fadeX'
- ),
- ),
- 'fadeIn' => array(
- array(
- 'element' => 'headline',
- 'type' => 'static'
- ),
- /*
- array(
- 'element' => 'type',
- 'type' => 'radio',
- 'label' => 'Type',
- 'options' => array('fadeIn' => 'Fade in'),
- 'default' => 'fadeIn'
- ) */
- array(
- 'element' => 'type',
- 'type' => 'hidden',
- 'default' => 'fadeIn'
- ),
-
- ),
- 'fadeOut' => array(
- array(
- 'element' => 'headline',
- 'type' => 'static'
- ),
- /*
- array(
- 'element' => 'type',
- 'type' => 'radio',
- 'label' => 'Type',
- 'options' => array('fadeOut' => 'Fade out'),
- 'default' => 'fadeOut'
- ) */
- array(
- 'element' => 'type',
- 'type' => 'hidden',
- 'default' => 'fadeOut'
- ),
- ),
- 'all' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'PL.changeTransition'
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'duration',
- 'type' => 'text',
- 'rule' => 'numeric',
- 'attributes'=> array('size' => 4, 'maxlength' => 4),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'switchdown',
- 'type' => 'button',
- 'label' => '-',
- 'attributes'=> array('class' => 'button_small', 'onClick' => 'pl_switchDown()', 'onMousedown' => 'pl_start("Down")', 'onMouseUp' => "pl_stop()", 'onMouseOut' => "pl_stop()"),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'switchup',
- 'type' => 'button',
- 'label' => '+',
- 'attributes'=> array('class' => 'button_small', 'onClick' => 'pl_switchUp()', 'onMousedown' => 'pl_start("Up")', 'onMouseUp' => "pl_stop()", 'onMouseOut' => "pl_stop()"),
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('duration', 'switchdown', 'switchup'),
- 'label' => 'Duration (ms)'
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'window.close()'),
- 'groupit' => TRUE,
- ),
- array(
- 'element' => 'reset',
- 'type' => 'reset',
- 'label' => 'Reset',
- 'groupit' => TRUE,
- ),
- array(
- 'element' => 'submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE,
- ),
- array(
- 'group' => array('cancel', 'reset', 'submit')
- )
- )
- ),
- 'PL.setClipLength' => array(
- 'act' => array(
- 'element' => 'act',
- 'type' => 'hidden',
- ),
- 'id' => array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- 'elemId' => array(
- 'element' => 'elemId',
- 'type' => 'hidden'
- ),
- 'duration' => array(
- 'element' => 'duration',
- 'type' => 'hidden'
- ),
- 'clipStart' => array(
- 'element' => 'clipStart',
- 'type' => 'select',
- 'label' => 'Cue in: ',
- 'options' => array(),
- 'attributes' => 'onChange="return PL_setClipLength(this)"',
- 'groupit' => true
- ),
- 'clipLength' => array(
- 'element' => 'clipLength',
- 'type' => 'select',
- 'label' => 'Length: ',
- 'options' => array(),
- 'attributes' => 'onChange="return PL_setClipLength(this)"',
- 'groupit' => true
- ),
- 'clipEnd' => array(
- 'element' => 'clipEnd',
- 'type' => 'select',
- 'label' => 'Cue out: ',
- 'options' => array(),
- 'attributes' => 'onChange="return PL_setClipLength(this)"',
- 'groupit' => true
- ),
- array(
- 'group' => array('clipStart', 'clipLength', 'clipEnd')
- ),
- array(
- 'elemnt' => 'linebreak',
- 'type' => 'static',
- 'text' => '
'
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'window.close()'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'reset',
- 'type' => 'reset',
- 'label' => 'Reset',
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'submitter',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'reset', 'submitter')
- )
- ),
- 'schedule' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'SCHEDULER.addItem'
- ),
- array(
- 'element' => 'playlist',
- 'type' => 'hidden'
- ),
- 'date' => array(
- 'element' => 'date',
- 'type' => 'date',
- 'label' => 'Date',
- 'options' => array('format' => 'Ymd'),
- ),
- 'time' => array(
- 'element' => 'time',
- 'type' => 'date',
- 'label' => 'Time',
- 'options' => array('format' => 'His'),
- ),
- 'id_duration' => array(
- 'element' => 'id_duration',
- 'type' => 'select',
- 'label' => 'Playlist',
- 'required' => TRUE,
- ),
- array(
- 'element' => 'snap2Prev',
- 'type' => 'button',
- 'label' => 'Snap to previous',
- 'attributes'=> array('onClick' => 'SCHEDULE_snap2Prev()'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'snap2Hour',
- 'type' => 'button',
- 'label' => 'Snap to hour',
- 'attributes'=> array('onClick' => 'SCHEDULE_snap2Hour()'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'snap2Next',
- 'type' => 'button',
- 'label' => 'Snap to next',
- 'attributes'=> array('onClick' => 'SCHEDULE_snap2Next()'),
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('snap2Prev', 'snap2Hour', 'snap2Next')
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'window.close()'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'reset',
- 'type' => 'reset',
- 'label' => 'Reset',
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'submitter',
- 'type' => 'button',
- 'label' => 'Submit',
- 'attributes'=> array('onClick' => 'SCHEDULE_submit()'),
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'reset', 'submitter')
- )
- ),
- 'PL.export' => array(
- 'act' => array(
- 'element' => 'act',
- 'type' => 'hidden',
- ),
- 'id' => array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'exporttype',
- 'type' => 'select',
- 'label' => 'Type',
- 'options' => array('allComponents' => 'All components','playlistOnly' => 'Playlist only')
- ),
- array(
- 'element' => 'playlisttype',
- 'type' => 'select',
- 'label' => 'File Format',
- 'options' => array(
- 'smil' => 'SMIL',
- // 'xspf' => 'XSPF',
- 'm3u' => 'M3U'
- )
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'window.close()'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'submitter',
- 'type' => 'button',
- 'label' => 'OK',
- 'attributes'=> array('onClick' => 'this.form.submit()'),
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'submitter')
- )
- ),
- 'PL.import' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'label' => 'PL.import'
- ),
- array(
- 'element' => 'playlist',
- 'type' => 'file',
- 'label' => 'Playlist file',
- 'required' => TRUE,
- 'requiredmsg'=> 'Please select playlist file'
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => "location.href='".UI_BROWSER."'"),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'submitter',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'submitter')
- )
- )
-);
-?>
\ No newline at end of file
diff --git a/htmlUI/formmask/mdata_relations.inc.php b/htmlUI/formmask/mdata_relations.inc.php
deleted file mode 100644
index 13bc475c8..000000000
--- a/htmlUI/formmask/mdata_relations.inc.php
+++ /dev/null
@@ -1,63 +0,0 @@
- 'Title',
-'dc:creator' => 'Artist/Creator',
-'dc:type' => 'Genre',
-'dc:format' => 'File format',
-'dcterms:extent' => 'Length',
-'dc:title' => 'Title',
-'dc:creator' => 'Artist/Creator',
-'dc:source' => 'Album',
-'ls:year' => 'Year',
-'dc:type' => 'Genre',
-'dc:description' => 'Description',
-'dc:format' => 'Format',
-'ls:bpm' => 'BPM',
-'ls:rating' => 'Rating',
-'dcterms:extent' => 'Length',
-'ls:encoded_by' => 'Encoded by',
-'ls:track_num' => 'Track number',
-'ls:disc_num' => 'Disc number',
-'ls:mood' => 'Mood',
-'dc:publisher' => 'Label',
-'ls:composer' => 'Composer',
-'ls:bitrate' => 'Bitrate',
-'ls:channels' => 'Channels',
-'ls:samplerate' => 'Sample rate',
-'ls:encoder' => 'Encoder software used',
-'ls:crc' => 'Checksum',
-'ls:lyrics' => 'Lyrics',
-'ls:orchestra' => 'Orchestra or band',
-'ls:conductor' => 'Conductor',
-'ls:lyricist' => 'Lyricist',
-'ls:originallyricist' => 'Original lyricist',
-'ls:radiostationname' => 'Radio station name',
-'ls:audiofileinfourl' => 'Audio file information web page',
-'ls:artisturl' => 'Artist web page',
-'ls:audiosourceurl' => 'Audio source web page',
-'ls:radiostationurl' => 'Radio station web page',
-'ls:buycdurl' => '"Buy This Music" page',
-'ls:isrcnumber' => 'ISRC number',
-'ls:catalognumber' => 'Catalog number',
-'ls:originalartist' => 'Original artist',
-'dc:rights' => 'Copyright',
-'dc:title' => 'Title',
-'dcterms:temporal' => 'Report date/time',
-'dcterms:spatial' => 'Report location',
-'dcterms:entity' => 'Report organizations',
-'dc:description' => 'Description',
-'dc:creator' => 'Artist/Creator',
-'dc:subject' => 'Subject',
-'dc:type' => 'Genre',
-'dc:format' => 'Format',
-'dc:contributor' => 'Contributor',
-'dc:language' => 'Language',
-'dc:rights' => 'Copyright',
-'dc:title' => 'Title',
-'dc:creator' => 'Artist/Creator',
-'dcterms:extent' => 'Length',
-'dc:description' => 'Description',
-
-'ls:url' => 'Stream URL'
-);
-?>
\ No newline at end of file
diff --git a/htmlUI/formmask/metadata.inc.php b/htmlUI/formmask/metadata.inc.php
deleted file mode 100644
index a66d00370..000000000
--- a/htmlUI/formmask/metadata.inc.php
+++ /dev/null
@@ -1,478 +0,0 @@
- array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- ),
- array(
- 'element' => 'id',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'curr_langid',
- 'type' => 'hidden'
- ),
- array(
- 'element' => 'target_langid',
- 'type' => 'hidden'
- ),
- ),
- 'buttons' => array (
- array(
- 'element' =>'reset',
- 'type' =>'reset',
- 'label' =>'Reset',
- 'groupit' => TRUE,
- 'attributes' => array(
- 'class'=> "button",
- ),
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array(
- 'class'=> "button",
- 'onClick' => "MData_cancel()"
- ),
- 'groupit' => TRUE,
- ),
- array(
- 'element' =>'button',
- 'type' =>'button',
- 'label' =>'Submit',
- 'groupit' => TRUE,
- 'attributes'=> array(
- 'class'=> "button",
- //'onClick' => 'return switchMDataLang();'
- 'onClick' => 'MData_submit()'
- ),
- ),
- array(
- 'group' => array('reset', 'cancel', 'button'),
- )
- ),
- 'langswitch' => array(
- array(
- 'element' => 'target_langid',
- 'type' => 'select',
- 'label' => 'Language',
- 'options' => _getLanguages(),
- 'attributes'=> array('onChange' => 'MData_switchLang()')
- )
- ),
- 'pages' => array(
- 'Main' => array(
- array(
- 'element' => 'dc:title',
- 'type' => 'text',
- 'label' => 'Title',
- 'required' => TRUE,
- 'id3' => array('Title')
- ),
- array(
- 'element' => 'dc:creator',
- 'type' => 'text',
- 'label' => 'Artist/Creator',
- 'required' => TRUE,
- 'id3' => array('Artist')
- ),
- array(
- 'element' => 'dc:type',
- 'type' => 'text',
- 'label' => 'Genre',
- 'required' => FALSE,
- 'id3' => array('Genre')
- ),
- array(
- 'element' => 'dc:format',
- 'type' => 'select',
- 'label' => 'File format',
- 'required' => TRUE,
- 'options' => array(
- 'File' => 'Audioclip',
- 'live stream' => 'Webstream'
- ),
- 'attributes'=> array('disabled' => 'on'),
- 'id3' => FALSE
- ),
- array(
- 'element' => 'dcterms:extent',
- 'type' => 'text',
- 'label' => 'Length',
- 'attributes'=> array('disabled' => 'on'),
- 'id3' => FALSE
- ),
- ),
- 'Music' => array(
- array(
- 'element' => 'dc:title',
- 'type' => 'text',
- 'label' => 'Title',
- #'id3' => 'Title'
- ),
- array(
- 'element' => 'dc:creator',
- 'type' => 'text',
- 'label' => 'Artist/Creator',
- #'id3' => 'Artist'
- ),
- array(
- 'element' => 'dc:source',
- 'type' => 'text',
- 'label' => 'Album',
- 'id3' => array('Album')
- ),
- array(
- 'element' => 'ls:year',
- 'type' => 'select',
- 'label' => 'Year',
- 'options' => _getNumArr(1900, date('Y')+5),
- 'id3' => array('Year')
- ),
- array(
- 'element' => 'dc:type',
- 'type' => 'text',
- 'label' => 'Genre',
- #'id3' => 'Genre'
- ),
- array(
- 'element' => 'dc:description',
- 'type' => 'textarea',
- 'label' => 'Description',
- 'id3' => array('Comment', 'Comments')
- ),
- array(
- 'element' => 'dc:format',
- 'type' => 'select',
- 'label' => 'Format',
- 'options' => array(
- 'File' => 'Audioclip',
- 'live stream' => 'Webtream'
- ),
- 'attributes'=> array('disabled' => 'on'),
- 'id3' => FALSE
- ),
- array(
- 'element' => 'ls:bpm',
- 'type' => 'text',
- 'label' => 'BPM',
- 'rule' => 'numeric',
- 'id3' => array('BPM')
- ),
- array(
- 'element' => 'ls:rating',
- 'type' => 'text',
- 'label' => 'Rating',
- 'rule' => 'numeric',
- 'id3' => array('Rating')
- ),
- array(
- 'element' => 'dcterms:extent',
- 'type' => 'text',
- 'label' => 'Length',
- 'attributes'=> array('disabled' => 'on'),
- 'id3' => FALSE
- ),
- array(
- 'element' => 'ls:encoded_by',
- 'type' => 'text',
- 'label' => 'Encoded by',
- 'id3' => array('Encoded by')
- ),
- array(
- 'element' => 'ls:track_num',
- 'type' => 'select',
- 'label' => 'Track number',
- 'options' => _getNumArr(0, 99),
- 'id3' => array('Track')
- ),
- array(
- 'element' => 'ls:disc_num',
- 'type' => 'select',
- 'label' => 'Disc number',
- 'options' => _getNumArr(0, 20),
- 'id3' => array('Disk')
- ),
- array(
- 'element' => 'ls:mood',
- 'type' => 'text',
- 'label' => 'Mood',
- 'id3' => array('Mood')
- ),
- array(
- 'element' => 'dc:publisher',
- 'type' => 'text',
- 'label' => 'Label',
- 'id3' => array('Label')
- ),
- array(
- 'element' => 'ls:composer',
- 'type' => 'text',
- 'label' => 'Composer',
- 'id3' => array('Composer')
- ),
- array(
- 'element' => 'ls:bitrate',
- 'type' => 'text',
- 'label' => 'Bitrate',
- 'rule' => 'numeric',
- 'id3' => array('Bitrate')
- ),
- array(
- 'element' => 'ls:channels',
- 'type' => 'select',
- 'label' => 'Channels',
- 'options' => array(
- '' => '',
- 1 => 'Mono',
- 2 => 'Stereo',
- 6 => '5.1'
- ),
- 'id3' => array('Channels')
- ),
- array(
- 'element' => 'ls:samplerate',
- 'type' => 'text',
- 'label' => 'Sample rate',
- 'rule' => 'numeric',
- 'attributes'=> array('disabled' => 'on'),
- 'id3' => array('Samplerate')
- ),
- array(
- 'element' => 'ls:encoder',
- 'type' => 'text',
- 'label' => 'Encoder software used',
- 'id3' => array('Encoder')
- ),
- array(
- 'element' => 'ls:crc',
- 'type' => 'text',
- 'label' => 'Checksum',
- 'rule' => 'numeric',
- 'id3' => array('CRC')
- ),
- array(
- 'element' => 'ls:lyrics',
- 'type' => 'textarea',
- 'label' => 'Lyrics',
- 'id3' => array('Lyrics')
- ),
- array(
- 'element' => 'ls:orchestra',
- 'type' => 'text',
- 'label' => 'Orchestra or band',
- 'id3' => array('Orchestra or band')
- ),
- array(
- 'element' => 'ls:conductor',
- 'type' => 'text',
- 'label' => 'Conductor',
- 'id3' => array('Conductor')
- ),
- array(
- 'element' => 'ls:lyricist',
- 'type' => 'text',
- 'label' => 'Lyricist',
- 'id3' => array('Lyricist')
- ),
- array(
- 'element' => 'ls:originallyricist',
- 'type' => 'text',
- 'label' => 'Original lyricist',
- 'id3' => array('Original lyricist')
- ),
- array(
- 'element' => 'ls:radiostationname',
- 'type' => 'text',
- 'label' => 'Radio station name',
- 'id3' => array('Radio station name')
- ),
- array(
- 'element' => 'ls:audiofileinfourl',
- 'type' => 'text',
- 'label' => 'Audio file information web page',
- 'id3' => array('Audio file information web page'),
- 'attributes'=> array('maxlength' => 256)
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'ls:audiofileinfourl',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'Audio file information web page seems not to be valid URL'
- ),
- array(
- 'element' => 'ls:artisturl',
- 'type' => 'text',
- 'label' => 'Artist web page',
- 'id3' => array('Artist web page'),
- 'attributes'=> array('maxlength' => 256)
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'ls:artisturl',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'Artist web page seems not to be valid URL'
- ),
- array(
- 'element' => 'ls:audiosourceurl',
- 'type' => 'text',
- 'label' => 'Audio source web page',
- 'id3' => array('Audio source web page'),
- 'attributes'=> array('maxlength' => 256)
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'ls:audiosourceurl',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'Audio source web page seems not to be valid URL'
- ),
- array(
- 'element' => 'ls:radiostationurl',
- 'type' => 'text',
- 'label' => 'Radio station web page',
- 'id3' => array('Radio station web page'),
- 'attributes'=> array('maxlength' => 256)
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'ls:radiostationurl',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'Radio station web page seems not to be valid URL'
- ),
- array(
- 'element' => 'ls:buycdurl',
- 'type' => 'text',
- 'label' => 'Buy CD web page',
- 'id3' => array('Buy CD webpage'),
- 'attributes'=> array('maxlength' => 256)
- ),
- array(
- 'rule' => 'regex',
- 'element' => 'ls:buycdurl',
- 'format' => UI_REGEX_URL,
- 'rulemsg' => 'Buy CD web page seems not to be valid URL'
- ),
- array(
- 'element' => 'ls:isrcnumber',
- 'type' => 'text',
- 'label' => 'ISRC number',
- 'rule' => 'numeric',
- 'id3' => array('ISRC')
- ),
- array(
- 'element' => 'ls:catalognumber',
- 'type' => 'text',
- 'label' => 'Catalog number',
- 'rule' => 'numeric',
- 'id3' => array('Catalog')
- ),
- array(
- 'element' => 'ls:originalartist',
- 'type' => 'text',
- 'label' => 'Original artist',
- 'id3' => array('Original Artist')
- ),
- array(
- 'element' => 'dc:rights', ## ???
- 'type' => 'text',
- 'label' => 'Copyright',
- 'id3' => array('Copyright')
- ),
- ),
- 'Voice' => array(
- array(
- 'element' => 'dc:title',
- 'type' => 'text',
- 'label' => 'Title',
- ),
- array(
- 'element' => 'dcterms:temporal', ## time/date!!
- 'type' => 'text',
- 'label' => 'Report date/time',
- ),
- array(
- 'element' => 'dcterms:spatial', ## menu
- 'type' => 'textarea',
- 'label' => 'Report location',
- ),
- array(
- 'element' => 'dcterms:entity',
- 'type' => 'textarea',
- 'label' => 'Report organizations',
- ),
- array(
- 'element' => 'dc:description',
- 'type' => 'textarea',
- 'label' => 'Description',
- ),
- array(
- 'element' => 'dc:creator', ## menu??
- 'type' => 'text',
- 'label' => 'Artist/Creator',
- ),
- array(
- 'element' => 'dc:subject',
- 'type' => 'text',
- 'label' => 'Subject',
- ),
- array(
- 'element' => 'dc:type', ## menu
- 'type' => 'text',
- 'label' => 'Genre',
- ),
- array(
- 'element' => 'dc:format',
- 'type' => 'select',
- 'label' => 'Format',
- 'options' => array(
- 'File' => 'Audioclip',
- 'live stream' => 'Webstream'
- ),
- 'attributes'=> array('disabled' => 'on')
- ),
- array(
- 'element' => 'dc:contributor',
- 'type' => 'text',
- 'label' => 'Contributor',
- ),
- array(
- 'element' => 'dc:language', ##menu
- 'type' => 'text',
- 'label' => 'Language',
- ),
- array(
- 'element' => 'dc:rights',
- 'type' => 'text',
- 'label' => 'Copyright',
- ),
- )
- ),
- 'playlist' => array(
- array(
- 'element' => 'dc:title',
- 'type' => 'text',
- 'label' => 'Title',
- 'required' => TRUE
- ),
- array(
- 'element' => 'dc:creator',
- 'type' => 'text',
- 'label' => 'Creator',
- 'required' => TRUE
- ),
- array(
- 'element' => 'dcterms:extent',
- 'type' => 'text',
- 'label' => 'Length',
- 'attributes'=> array('disabled' => 'on')
- ),
- array(
- 'element' => 'dc:description',
- 'type' => 'textarea',
- 'label' => 'Description'
- ),
- )
-);
-?>
\ No newline at end of file
diff --git a/htmlUI/formmask/subjects.inc.php b/htmlUI/formmask/subjects.inc.php
deleted file mode 100644
index e6783cd31..000000000
--- a/htmlUI/formmask/subjects.inc.php
+++ /dev/null
@@ -1,120 +0,0 @@
- array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'SUBJECTS.addSubj'
- ),
- array(
- 'element' => 'login',
- 'type' => 'text',
- 'label' => 'Login',
- 'required' => TRUE
- ),
- array(
- 'element' => 'passwd',
- 'type' => 'password',
- 'label' => 'Password',
- 'required' => TRUE
- ),
- array(
- 'element' => 'passwd2',
- 'type' => 'password',
- 'label' => 'Repeat password',
- 'required' => TRUE
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'location.href="'.UI_BROWSER.'?act=SUBJECTS"'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'Submit')
- )
- ),
-
- 'addGroup' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'SUBJECTS.addSubj'
- ),
- array(
- 'element' => 'login',
- 'type' => 'text',
- 'label' => 'Groupname',
- 'required' => TRUE
- ),
- array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'attributes'=> array('onClick' => 'location.href="'.UI_BROWSER.'?act=SUBJECTS"'),
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'Submit')
- )
- ),
-
- 'chgPasswd' => array(
- array(
- 'element' => 'act',
- 'type' => 'hidden',
- 'constant' => 'SUBJECTS.chgPasswd'
- ),
- array(
- 'element' => 'login',
- 'type' => 'hidden'
- ),
- 'oldpasswd' => array(
- 'element' => 'oldpasswd',
- 'type' => 'password',
- 'label' => 'Old password',
- 'required' => TRUE
- ),
- array(
- 'element' => 'passwd',
- 'type' => 'password',
- 'label' => 'Password',
- 'required' => TRUE
- ),
- array(
- 'element' => 'passwd2',
- 'type' => 'password',
- 'label' => 'Repeat password',
- 'required' => TRUE
- ),
- 'cancel' => array(
- 'element' => 'cancel',
- 'type' => 'button',
- 'label' => 'Cancel',
- 'groupit' => TRUE
- ),
- array(
- 'element' => 'Submit',
- 'type' => 'submit',
- 'label' => 'Submit',
- 'groupit' => TRUE
- ),
- array(
- 'group' => array('cancel', 'Submit')
- )
- ),
-);
-?>
\ No newline at end of file
diff --git a/htmlUI/html/assets/dom-drag.js b/htmlUI/html/assets/dom-drag.js
deleted file mode 100644
index 7c31f0167..000000000
--- a/htmlUI/html/assets/dom-drag.js
+++ /dev/null
@@ -1,149 +0,0 @@
-/**************************************************
- * dom-drag.js
- * 09.25.2001
- * www.youngpup.net
- **************************************************
- * 10.28.2001 - fixed minor bug where events
- * sometimes fired off the handle, not the root.
- **************************************************
- * 05.30.2005 - added a workaround for firefox
- * activating links when finished dragging.
- * mmosier@astrolabe.com
- **************************************************/
-
-var Drag = {
-
- obj : null,
-
- init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
- {
- o.onmousedown = Drag.start;
-
- o.hmode = bSwapHorzRef ? false : true ;
- o.vmode = bSwapVertRef ? false : true ;
-
- o.root = oRoot && oRoot != null ? oRoot : o ;
-
- if (o.hmode && isNaN(parseInt(o.root.style.left ))) o.root.style.left = "0px";
- if (o.vmode && isNaN(parseInt(o.root.style.top ))) o.root.style.top = "0px";
- if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right = "0px";
- if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";
-
- o.minX = typeof minX != 'undefined' ? minX : null;
- o.minY = typeof minY != 'undefined' ? minY : null;
- o.maxX = typeof maxX != 'undefined' ? maxX : null;
- o.maxY = typeof maxY != 'undefined' ? maxY : null;
-
- o.xMapper = fXMapper ? fXMapper : null;
- o.yMapper = fYMapper ? fYMapper : null;
-
- o.root.onDragStart = new Function();
- o.root.onDragEnd = new Function();
- o.root.onDrag = new Function();
- },
-
- start : function(e)
- {
- var o = Drag.obj = this;
- e = Drag.fixE(e);
- var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
- var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
- o.root.onDragStart(x, y);
-
- o.startX = x;
- o.startY = y;
- o.lastMouseX = e.clientX;
- o.lastMouseY = e.clientY;
-
- if (o.hmode) {
- if (o.minX != null) o.minMouseX = e.clientX - x + o.minX;
- if (o.maxX != null) o.maxMouseX = o.minMouseX + o.maxX - o.minX;
- } else {
- if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
- if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
- }
-
- if (o.vmode) {
- if (o.minY != null) o.minMouseY = e.clientY - y + o.minY;
- if (o.maxY != null) o.maxMouseY = o.minMouseY + o.maxY - o.minY;
- } else {
- if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
- if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
- }
-
- document.onmousemove = Drag.drag;
- document.onmouseup = Drag.end;
-
- if (o.linkDisabled) {
- var hrefs = o.root.getElementsByTagName("a");
- for (var i = 0; i < hrefs.length; i++) {
- hrefs[i].onclick = hrefs[i].prevOnclick;
- hrefs[i].prevOnclick = null;
- }
- o.linkDisabled = false;
- }
-
- return false;
- },
-
- drag : function(e)
- {
- e = Drag.fixE(e);
- var o = Drag.obj;
-
- var ey = e.clientY;
- var ex = e.clientX;
- var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
- var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
- var nx, ny;
-
- if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
- if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
- if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
- if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);
-
- nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
- ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));
-
- if (o.xMapper) nx = o.xMapper(y)
- else if (o.yMapper) ny = o.yMapper(x)
-
- Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
- Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
- Drag.obj.lastMouseX = ex;
- Drag.obj.lastMouseY = ey;
-
- var threshold = 4;
- if (!o.linkDisabled) {
- if (Math.abs(nx - o.startX) > threshold || Math.abs(ny - o.startY) > threshold) {
- var hrefs = o.root.getElementsByTagName("a");
- for (var i = 0; i < hrefs.length; i++) {
- hrefs[i].prevOnclick = hrefs[i].onclick;
- hrefs[i].onclick = function() { return false; };
- }
- o.linkDisabled = true;
- }
- }
-
- Drag.obj.root.onDrag(nx, ny, Drag.obj.root);
- return false;
- },
-
- end : function()
- {
- document.onmousemove = null;
- document.onmouseup = null;
- Drag.obj.root.onDragEnd( parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]),
- parseInt(Drag.obj.root.style[Drag.obj.vmode
- ? "top" : "bottom"]), Drag.obj.root);
- Drag.obj = null;
- },
-
- fixE : function(e)
- {
- if (typeof e == 'undefined') e = window.event;
- if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
- if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
- return e;
- }
-};
diff --git a/htmlUI/html/assets/draglist.js b/htmlUI/html/assets/draglist.js
deleted file mode 100644
index a8651ec13..000000000
--- a/htmlUI/html/assets/draglist.js
+++ /dev/null
@@ -1,295 +0,0 @@
-// ----------------------------------------------------------------------------
-// (c) Copyright, DTLink, LLC 1997-2005
-// http://www.dtlink.com
-//
-// DragList - Drag and Drop Ordered Lists
-//
-// Javascript Support file for formVista fvml tag.
-//
-// For more information please see:
-//
-// http://www.formvista.com/otherprojects/draglist.html
-//
-// For questions or comments please contact us at:
-//
-// http://www.formvista.com/contact.html
-//
-// LICENSE: This file is governed by the new BSD license. For more information
-// please see the LICENSE.txt file accompanying this package.
-//
-// REVISION HISTORY:
-//
-// 2004-11-12 YmL:
-// . initial revision.
-//
-// 2005-05-28 YmL:
-// . pulled out of formVista, relicensed and packaged as a standalone implementation.
-//
-// 2005-06-02 mtmosier:
-// . added horizontal dragging support.
-//
-// ------------------------
-
-/**
-* constructor for dragList class
-*/
-
-function fv_dragList( name )
- {
-
- // name of this dragList. Must match the id of the root DIV tag.
-
- this.dragListRootId = name;
-
- // array of item offsets
-
- this.offsetsX = new Array();
- this.offsetsY = new Array();
-
- }
-
-// ----------------------------------------------
-
-/**
-* setup the draglist prior to use
-*
-* @param string orientation defaults to vert. if set to "horz" renders horizontally.
-* @param string itemTagName. if null defaults to "div". Can be "span".
-*/
-
-fv_dragList.prototype.setup = function( orientation, itemTagName )
- {
-
- var horizontal;
-
- if ( orientation == "horz" )
- horizontal = true;
- else
- horizontal = false;
-
- this.listRoot = document.getElementById( this.dragListRootId );
- this.listItems = this.getListItems( itemTagName );
-
- for (var i = 0; i < this.listItems.length; i++)
- {
-
- if ( this.listItems[i] == undefined )
- continue;
-
- if ( horizontal )
- {
- Drag.init(this.listItems[i], null, null, null, 0, 0);
- }
- else
- {
- Drag.init(this.listItems[i], null, 0, 0, null, null);
- }
-
- // ---------------------------------------------------
- // on drag method
-
- this.listItems[i].onDrag = function( x, y, thisElem )
- {
-
- x = thisElem.offsetLeft;
- y = thisElem.offsetTop;
-
- // this is a callback from the dom-drag code. From within this
- // function "this" does not refer to the fv_draglist function.
-
- draglist = getDragList( thisElem );
-
- draglist.recalcOffsets( itemTagName );
-
- var pos = draglist.getCurrentOffset( thisElem, itemTagName );
-
- //var listItems = this.getListItems( itemTagName );
-
- // if bottom edge is below top of lower item.
-
- var testMoveUp;
- var testMoveDown;
- if ( horizontal )
- {
- testMoveUp = (x + draglist.getDivWidth(thisElem) > draglist.offsetsX[pos + 1] + draglist.getDivWidth( draglist.listItems[pos + 1] ));
- testMoveDown = x < draglist.offsetsX[pos - 1];
- }
- else
- {
- testMoveUp = (y + draglist.getDivHeight(thisElem) > draglist.offsetsY[pos + 1] + draglist.getDivHeight( draglist.listItems[pos + 1] ));
- testMoveDown = y < draglist.offsetsY[pos - 1];
- }
-
- if (( pos != draglist.listItems.length - 1) && testMoveUp )
- {
- draglist.listRoot.removeChild(thisElem);
-
- if ( pos + 1 == draglist.listItems.length )
- {
- draglist.listRoot.appendChild( thisElem );
- }
- else
- {
- draglist.listRoot.insertBefore(thisElem, draglist.listItems[pos+1]);
- }
-
- thisElem.style["top"] = "0px";
- thisElem.style["left"] = "0px";
- }
- else if ( pos != 0 && testMoveDown )
- {
- draglist.listRoot.removeChild(thisElem);
- draglist.listRoot.insertBefore(thisElem, draglist.listItems[pos-1]);
- thisElem.style["top"] = "0px";
- thisElem.style["left"] = "0px";
- }
-
- };
-
- this.listItems[i].onDragEnd = function(x,y,thisElem)
- {
- thisElem.style["top"] = "0px";
- thisElem.style["left"] = "0px";
- }
-
- } // end of for loop.
-
- this.recalcOffsets( itemTagName );
-
- } // end of setup.
-
-// ----------------------------------------------
-
-
-/**
-* update the order value fields and submit the form.
-*/
-
-fv_dragList.prototype.do_submit = function( formName, dragListRootId )
- {
-
- var listOrderItems = this.listRoot.getElementsByTagName("input");
-
- for (var i = 0; i < listOrderItems.length; i++)
- {
- listOrderItems[i].value = i;
- }
-
- expr = "document." + formName + ".submit()";
-
- eval( expr );
- }
-
-// ----------------------------------------------
-// "Private" methods.
-// ----------------------------------------------
-
-fv_dragList.prototype.recalcOffsets = function( itemTagName )
- {
- var listItems = this.getListItems( itemTagName );
-
- for (var i = 0; i < listItems.length; i++)
- {
- this.offsetsX[i] = listItems[i].offsetLeft;
- this.offsetsY[i] = listItems[i].offsetTop;
- }
- }
-
-fv_dragList.prototype.getCurrentOffset = function(elem, itemTagName)
- {
- var listItems = this.getListItems( itemTagName );
-
- for (var i = 0; i < listItems.length; i++)
- {
- if (listItems[i] == elem)
- {
- return i;
- }
- }
- }
-
-fv_dragList.prototype.getDivWidth = function(elem)
- {
-
- if (( elem == undefined) || ( elem.offsetWidth == undefined ))
- return( 0 );
-
- value = elem.offsetWidth;
- if (isNaN(value))
- {
- value = 0;
- }
-
- return( value );
- }
-
-fv_dragList.prototype.getDivHeight = function(elem)
- {
-
- if (( elem == undefined) || ( elem.offsetHeight == undefined ))
- return( 0 );
-
- value = elem.offsetHeight;
- if (isNaN(value))
- {
- value = 25;
- }
-
- return( value );
- }
-
-/**
-* return list of draggable items
-*/
-
-fv_dragList.prototype.getListItems = function( itemTagName )
- {
- if ( itemTagName == undefined )
- {
- itemTagName = "div";
- }
-
- var listItems = this.listRoot.getElementsByTagName( itemTagName );
-
- return( listItems );
- }
-
-// end of draglist class definition.
-
-// -------------------------------------
-
-/**
-* add a new dragList to the list of draglists on this page
-*
-* This implementatoin supports multiple managed draglists on
-* a single page. The index is contained in a global dragListIndex
-* array that must be declared in the page.
-*/
-
-function addDragList( draglist )
- {
- dragListIndex[ draglist.dragListRootId ] = draglist;
- }
-
-// -------------------------------------------------------
-
-/**
-* given a draggable div element, return the draglist it belongs to
-*
-* @see fv_draglist.prototype.setup
-* @todo this should probably be a method inside the draglist class.
-*/
-
-function getDragList( elem )
- {
-
- // given a list item return the drag list it belongs to.
-
- var draglistContainer = elem.parentNode;
-
- var draglist = dragListIndex[ draglistContainer.id ];
-
- return( draglist );
- }
-
-// END
diff --git a/htmlUI/html/assets/jquery-1.3.2.min.js b/htmlUI/html/assets/jquery-1.3.2.min.js
deleted file mode 100644
index b1ae21d8b..000000000
--- a/htmlUI/html/assets/jquery-1.3.2.min.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * jQuery JavaScript Library v1.3.2
- * http://jquery.com/
- *
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
- *
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
- */
-(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,""]||!O.indexOf("
",""]||(!O.indexOf(" | ","
"]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
-/*
- * Sizzle CSS Selector Engine - v0.9.3
- * Copyright 2009, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(Fa';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("").append(M.responseText.replace(/
-
-
-
-
-
-
-
-
- 'link' for breadcrumbs.
- * Farthest-away link comes first, increasing in specificity.
- *
- * @return string
- */
-function camp_html_breadcrumbs($p_crumbs)
-{
- $lastCrumb = array_pop($p_crumbs);
- $str = '';
- //$str .= '';
- $str .= "".getGS("You are here:")."";
- $tmpCrumbs = array();
- foreach ($p_crumbs as $crumb) {
- if (count($crumb) == 2) {
- $str .= camp_html_breadcrumb($crumb[0], $crumb[1]);
- }
- else {
- $str .= camp_html_breadcrumb($crumb[0], $crumb[1], $crumb[2]);
- }
- }
-// $numCrumbs = count($p_crumbs);
-// for ($i = 0; i < ($numCrumbs - 1); $i++) {
-// $str .= camp_html_breadcrumb($text, $link) . " | ";
-// }
- //print_r($lastCrumb);
- $str .= camp_html_breadcrumb($lastCrumb[0], $lastCrumb[1], false, true);
- //$str .= ' ';
- //$str .= ' ';
- $str .= ' |
';
- $str .= '
';
- return $str;
-} // fn camp_html_breadcrumbs
-
-
-/**
- * Create one breadcrumb.
- *
- * @param string $p_text
- * @param mixed $p_link
- * @param boolean $p_active
- * @param boolean $p_separator
- * @return string
- */
-function camp_html_breadcrumb($p_text, $p_link, $p_separator = true, $p_active = false) {
- $tmpStr = '';
- if ($p_active) {
- $class = "breadcrumb_active";
- }
- else {
- $class = "breadcrumb";
- }
- if ($p_separator) {
- $tmpStr .= "";
- }
- else {
- $tmpStr .= "";
- }
- if ($p_link != "") {
- $tmpStr .= "$p_text";
- }
- else {
- $tmpStr .= "$p_text";
- }
- $tmpStr .="";
- if ($p_separator) {
- $tmpStr .= " ";
- }
- else {
- $tmpStr .= " ";
- }
- return $tmpStr;
-} // fn camp_html_breadcrumb
-?>
\ No newline at end of file
diff --git a/htmlUI/localizer/index.php b/htmlUI/localizer/index.php
deleted file mode 100644
index 8a6e544ab..000000000
--- a/htmlUI/localizer/index.php
+++ /dev/null
@@ -1,115 +0,0 @@
-";
-//print_r($g_translationStrings);
-//print_r($_REQUEST);
-//echo "";
-#$crumbs = array();
-#$crumbs[] = array("Localizer", "");
-#echo camp_html_breadcrumbs($crumbs);
-
-//echo "Action: $action
";
-
-if ($g_localizerConfig['MAINTENANCE']) {
- include 'maintenance.php';
-}
-
-
-switch ($action) {
- case 'translate':
- require_once("translate.php");
- translationForm($_REQUEST);
- break;
-
- case 'save_translation':
- $targetLanguageId = Input::Get('localizer_target_language');
- $data = Input::Get('data', 'array');
- Localizer::ModifyStrings($prefix, $targetLanguageId, $data);
- // Localizer strings are changed -> reload files
- Localizer::LoadLanguageFiles('globals', $langCode);
- Localizer::LoadLanguageFiles('localizer', $langCode);
- require_once("translate.php");
- translationForm($_REQUEST);
- break;
-
- case 'remove_string':
- $deleteMe = Input::Get('string', 'string');
- Localizer::RemoveString($prefix, $deleteMe);
- require_once("translate.php");
- translationForm($_REQUEST);
- break;
-
- case 'move_string':
- $pos1 = Input::Get('pos1', 'int');
- $pos2 = Input::Get('pos2', 'int');
- Localizer::MoveString($prefix, $pos1, $pos2);
- require_once("translate.php");
- translationForm($_REQUEST);
- break;
-
- case 'add_missing_translation_strings':
- $missingStrings = Localizer::FindMissingStrings($prefix);
- if (count($missingStrings) > 0) {
- Localizer::AddStringAtPosition($prefix, 0, $missingStrings);
- }
- require_once("translate.php");
- translationForm($_REQUEST);
- break;
-
- case 'delete_unused_translation_strings':
- $unusedStrings = Localizer::FindUnusedStrings($prefix);
- if (count($unusedStrings) > 0) {
- Localizer::RemoveString($prefix, $unusedStrings);
- }
- require_once("translate.php");
- translationForm($_REQUEST);
- break;
-
- //case 'add_string':
- // $pos = Input::Get('pos');
- // if ($pos == 'begin') {
- // $pos = 0;
- // }
- // elseif ($pos == 'end') {
- // $pos = null;
- // }
- //
- // $msg = Localizer::CompareKeys($directory, $_REQUEST['newKey']);
- // if (count($msg) > 0) {
- // foreach ($msg as $val => $err) {
- // while ($key = array_search($val, $_REQUEST['newKey'])) {
- // unset($_REQUEST['newKey'][$key]);
- // }
- // }
- // }
- // // skip if all was unset above
- // if (count($_REQUEST['newKey'])) {
- // Localizer::AddStringAtPosition($base, $directory, $pos, $_REQUEST['newKey']);
- // }
- //
- // require_once("translate.php");
- // translationForm($_REQUEST);
- // break;
-
-} // switch
-
-?>
-
-