/administrator/components/com_breezingforms/libraries/crosstec/classes/BFQuickMode.php
PHP | 1745 lines | 1589 code | 122 blank | 34 comment | 169 complexity | 374ca1b32a219a597dc81f8ec8df6fc5 MD5 | raw file
Possible License(s): LGPL-3.0, LGPL-2.0, JSON, GPL-2.0, BSD-3-Clause, LGPL-2.1, MIT
Large files files are truncated, but you can click here to view the full file
- <?php
- /**
- * BreezingForms - A Joomla Forms Application
- * @version 1.8
- * @package BreezingForms
- * @copyright (C) 2008-2012 by Markus Bopp
- * @license Released under the terms of the GNU General Public License
- **/
- defined('_JEXEC') or die('Direct Access to this location is not allowed.');
- require_once(JPATH_SITE.'/administrator/components/com_breezingforms/libraries/Zend/Json/Decoder.php');
- require_once(JPATH_SITE.'/administrator/components/com_breezingforms/libraries/Zend/Json/Encoder.php');
- class BFQuickMode{
-
- /**
- * @var HTML_facileFormsProcessor
- */
- private $p = null;
-
- private $dataObject = array();
-
- private $rootMdata = array();
-
- private $fading = true;
-
- private $fadingClass = '';
-
- private $fadingCall = '';
-
- private $useErrorAlerts = false;
- private $useDefaultErrors = false;
- private $useBalloonErrors = false;
-
- private $rollover = false;
-
- private $rolloverColor = '';
-
- private $toggleFields = '';
-
- private $hasFlashUpload = false;
-
- private $flashUploadTicket = '';
-
- private $cancelImagePath = '';
-
- private $uploadImagePath = '';
-
- private $htmltextareas = array();
-
- function __construct( HTML_facileFormsProcessor $p ){
-
- // will make sure mootools loads first, important 4 jquery
- jimport('joomla.version');
- $version = new JVersion();
- if(version_compare($version->getShortVersion(), '3.0', '<')){
- JHTML::_('behavior.mootools');
- }
-
- JFactory::getDocument()->addScriptDeclaration('<!--');
-
- $this->p = $p;
- $this->dataObject = Zend_Json::decode( base64_decode($this->p->formrow->template_code) );
- $this->rootMdata = $this->dataObject['properties'];
- $this->fading = $this->rootMdata['fadeIn'];
- $this->useErrorAlerts = $this->rootMdata['useErrorAlerts'];
- $this->useDefaultErrors = isset($this->rootMdata['useDefaultErrors']) ? $this->rootMdata['useDefaultErrors'] : false;
- $this->useBalloonErrors = isset($this->rootMdata['useBalloonErrors']) ? $this->rootMdata['useBalloonErrors'] : false;
- $this->rollover = $this->rootMdata['rollover'];
- $this->rolloverColor = $this->rootMdata['rolloverColor'];
- $this->toggleFields = $this->parseToggleFields( isset($this->rootMdata['toggleFields']) ? $this->rootMdata['toggleFields'] : '[]' );
-
- mt_srand();
- $this->flashUploadTicket = md5( strtotime('now') . mt_rand( 0, mt_getrandmax() ) );
- JFactory::getDocument()->addStyleDeclaration('
- .bfClearfix:after {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
- .bfInline{
- float:left;
- }
- .bfFadingClass{
- display:none;
- }');
- $jQuery = '';
- if(isset($this->rootMdata['disableJQuery']) && $this->rootMdata['disableJQuery']){
- $jQuery = 'var JQuery = jQuery;'."\n";
- } else {
- JFactory::getDocument()->addScript(JURI::root(true) . '/components/com_breezingforms/libraries/jquery/jq.min.js');
- }
-
- JFactory::getDocument()->addStyleSheet( JURI::root(true) . '/components/com_breezingforms/libraries/jquery/tooltip.css' );
- JFactory::getDocument()->addScript(JURI::root(true) . '/components/com_breezingforms/libraries/jquery/tooltip.js');
- if($this->useBalloonErrors){
- JFactory::getDocument()->addStyleSheet( JURI::root(true) . '/components/com_breezingforms/libraries/jquery/validationEngine.jquery.css' );
- JFactory::getDocument()->addScript(JURI::root(true) . '/components/com_breezingforms/libraries/jquery/jquery.validationEngine-en.js');
- JFactory::getDocument()->addScript(JURI::root(true) . '/components/com_breezingforms/libraries/jquery/jquery.validationEngine.js');
- }
- $toggleCode = '';
- if($this->toggleFields != '[]'){
- $toggleCode = '
- var toggleFieldsArray = '.$this->toggleFields.';
- String.prototype.beginsWith = function(t, i) { if (i==false) { return
- (t == this.substring(0, t.length)); } else { return (t.toLowerCase()
- == this.substring(0, t.length).toLowerCase()); } }
- function bfDeactivateSectionFields(){
- for( var i = 0; i < bfDeactivateSection.length; i++ ){
- bfSetFieldValue(bfDeactivateSection[i], "off");
- JQuery("#"+bfDeactivateSection[i]+" .ff_elem").each(function(i){
- if( JQuery(this).get(0).name && JQuery(this).get(0).name.beginsWith("ff_nm_", true) ){
- bfDeactivateField[JQuery(this).get(0).name] = true;
- }
- });
- }
- for( var i = 0; i < toggleFieldsArray.length; i++ ){
- if(toggleFieldsArray[i].state == "turn"){
- bfSetFieldValue(toggleFieldsArray[i].tName, "off");
- }
- }
- }
- function bfToggleFields(state, tCat, tName, thisBfDeactivateField){
- // maybe a little to harsh, but currently no other workaround
- // file uploads will be removed for the complete form if a rule is executed
- // make sure you offer file uploads at the end of your form if you have visibility rules!
- if(typeof bfFlashUploadInterval != "undefined"){
- window.clearInterval( bfFlashUploadInterval );
- for(qID in bfFlashUploadAll){
- try{
- JQuery(bfFlashUploadAll[qID]).uploadifyCancel(qID);
- }catch(e){}
- }
- bfFlashUploadTooLarge = {};
- bfFlashUploadAll = {};
- JQuery("#bfFileQueue").html("")
- JQuery(".bfFlashFileQueueClass").html("");
- }
- if(state == "on"){
- if(tCat == "element"){
- if( typeof JQuery("[name=\"ff_nm_"+tName+"[]\"]") != "undefined" && JQuery("[name=\"ff_nm_"+tName+"[]\"]").parent().attr("class").substr(0, 10) == "bfElemWrap" ){
- JQuery("[name=\"ff_nm_"+tName+"[]\"]").parent().css("display", "");
- } else if(JQuery("[name=\"ff_nm_"+tName+"[]\"]").get(0).type == "checkbox" || JQuery("[name=\"ff_nm_"+tName+"[]\"]").get(0).type == "radio"){
- JQuery("[name=\"ff_nm_"+tName+"[]\"]").parent().parent().css("display", "");
- }
- thisBfDeactivateField["ff_nm_"+tName+"[]"] = false;
- bfSetFieldValue(tName, "on");
- } else {
- JQuery("#"+tName).css("display", "");
- bfSetFieldValue(tName, "on");
- JQuery("#"+tName).find(".ff_elem").each(function(i){
- if( JQuery(this).get(0).name && JQuery(this).get(0).name.beginsWith("ff_nm_", true) ){
- thisBfDeactivateField[JQuery(this).get(0).name] = false;
- }
- });
- }
- } else {
- if(tCat == "element"){
- if( typeof JQuery("[name=\"ff_nm_"+tName+"[]\"]") != "undefined" && JQuery("[name=\"ff_nm_"+tName+"[]\"]").parent().attr("class").substr(0, 10) == "bfElemWrap" ){
- JQuery("[name=\"ff_nm_"+tName+"[]\"]").parent().css("display", "none");
- } else if(JQuery("[name=\"ff_nm_"+tName+"[]\"]").get(0).type == "checkbox" || JQuery("[name=\"ff_nm_"+tName+"[]\"]").get(0).type == "radio"){
- JQuery("[name=\"ff_nm_"+tName+"[]\"]").parent().parent().css("display", "none");
- }
- thisBfDeactivateField["ff_nm_"+tName+"[]"] = true;
- bfSetFieldValue(tName, "off");
- } else {
- JQuery("#"+tName).css("display", "none");
- bfSetFieldValue(tName, "off");
- JQuery("#"+tName+" .ff_elem").each(function(i){
- if( JQuery(this).get(0).name && JQuery(this).get(0).name.beginsWith("ff_nm_", true) ){
- thisBfDeactivateField[JQuery(this).get(0).name] = true;
- }
- });
- }
- }
- }
- function bfSetFieldValue(name, condition){
- for( var i = 0; i < toggleFieldsArray.length; i++ ){
- if( toggleFieldsArray[i].action == "if" ) {
- if(name == toggleFieldsArray[i].tCat && condition == toggleFieldsArray[i].statement){
- var element = JQuery("[name=\"ff_nm_"+toggleFieldsArray[i].condition+"[]\"]");
-
- switch(element.get(0).type){
- case "text":
- case "textarea":
- if(toggleFieldsArray[i].value == "!empty"){
- element.val("");
- } else {
- element.val(toggleFieldsArray[i].value);
- }
- break;
- case "select-multiple":
- case "select-one":
- if(toggleFieldsArray[i].value == "!empty"){
- for(var j = 0; j < element.get(0).options.length; j++){
- element.get(0).options[j].selected = false;
- }
- }
- for(var j = 0; j < element.get(0).options.length; j++){
- if(element.get(0).options[j].value == toggleFieldsArray[i].value){
- element.get(0).options[j].selected = true;
- }
- }
- break;
- case "radio":
- case "checkbox":
- var radioLength = element.size();
- if(toggleFieldsArray[i].value == "!empty"){
- for(var j = 0; j < radioLength; j++){
- element.get(j).checked = false;
- }
- }
- for(var j = 0; j < radioLength; j++){
- if( element.get(j).value == toggleFieldsArray[i].value ){
- element.get(j).checked = true;
- }
- }
- break;
- }
- }
- }
- }
- }
- function bfRegisterToggleFields(){
-
- var offset = 0;
- var last_offset = 0;
- var limit = 10;
- var limit_cnt = 0;
-
- if( arguments.length == 1 ){
- offset = arguments[0];
- }
- var thisToggleFieldsArray = toggleFieldsArray;
- var thisBfDeactivateField = bfDeactivateField;
- var thisBfToggleFields = bfToggleFields;
-
- for( var i = offset; limit_cnt < limit && i < toggleFieldsArray.length; i++ ){
- // for( var i = 0; i < toggleFieldsArray.length; i++ ){
- if( toggleFieldsArray[i].action == "turn" && (toggleFieldsArray[i].tCat == "element" || toggleFieldsArray[i].tCat == "section") ){
- var toggleField = toggleFieldsArray[i];
- var element = JQuery("[name=\"ff_nm_"+toggleFieldsArray[i].sName+"[]\"]");
- if(element.get(0)){
- switch(element.get(0).type){
- case "text":
- case "textarea":
- JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").unbind("blur");
- JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").blur(
- function(){
- for( var k = 0; k < thisToggleFieldsArray.length; k++ ){
- var regExp = "";
- if(thisToggleFieldsArray[k].value.beginsWith("!", true) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"){
- regExp = thisToggleFieldsArray[k].value.substring(1, thisToggleFieldsArray[k].value.length);
- }
- if(thisToggleFieldsArray[k].condition == "isnot"){
- if(
- ( ( regExp != "" && JQuery(this).val().test(regExp) <= 0 ) || JQuery(this).val() != thisToggleFieldsArray[k].value ) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- ){
- var names = thisToggleFieldsArray[k].tName.split(",");
- for(var n = 0; n < names.length; n++){
- thisBfToggleFields(thisToggleFieldsArray[k].state, thisToggleFieldsArray[k].tCat, JQuery.trim(names[n]), thisBfDeactivateField);
- }
- //break;
- }
- } else if(thisToggleFieldsArray[k].condition == "is"){
- if(
- ( ( regExp != "" && JQuery(this).val().test(regExp) > 0 ) || JQuery(this).val() == thisToggleFieldsArray[k].value ) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- ){
- var names = thisToggleFieldsArray[k].tName.split(",");
- for(var n = 0; n < names.length; n++){
- thisBfToggleFields(thisToggleFieldsArray[k].state, thisToggleFieldsArray[k].tCat, JQuery.trim(names[n]), thisBfDeactivateField);
- }
- //break;
- }
- }
- }
- }
- );
- break;
- case "select-multiple":
- case "select-one":
- JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").unbind("change");
- JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").change(
- function(){
- var res = JQuery.isArray( JQuery(this).val() ) == false ? [ JQuery(this).val() ] : JQuery(this).val();
- for( var k = 0; k < thisToggleFieldsArray.length; k++ ){
-
- // The or-case in lists
- var found = false;
- var chkGrpValues = new Array();
- if(thisToggleFieldsArray[k].value.beginsWith("#", true) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"){
- chkGrpValues = thisToggleFieldsArray[k].value.substring(1, thisToggleFieldsArray[k].value.length).split("|");
- for(var l = 0; l < chkGrpValues.length; l++){
- if( JQuery.inArray(chkGrpValues[l], res) != -1 ){
- found = true;
- break;
- }
- }
- }
- // the and-case in lists
- var foundCount = 0;
- chkGrpValues2 = new Array();
- if(thisToggleFieldsArray[k].value.beginsWith("#", true) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"){
- chkGrpValues2 = thisToggleFieldsArray[k].value.substring(1, thisToggleFieldsArray[k].value.length).split(";");
- for(var l = 0; l < res.length; l++){
- if( JQuery.inArray(res[l], chkGrpValues2) != -1 ){
- foundCount++;
- }
- }
- }
-
- if(thisToggleFieldsArray[k].condition == "isnot"){
-
- if(
- (
- !JQuery.isArray(res) && JQuery(this).val() != thisToggleFieldsArray[k].value && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ||
- (
- JQuery.isArray(res) && ( JQuery.inArray(thisToggleFieldsArray[k].value, res) == -1 || !found || ( foundCount == 0 || foundCount != chkGrpValues2.length ) ) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ){
- var names = thisToggleFieldsArray[k].tName.split(",");
- for(var n = 0; n < names.length; n++){
- thisBfToggleFields(thisToggleFieldsArray[k].state, thisToggleFieldsArray[k].tCat, JQuery.trim(names[n]), thisBfDeactivateField);
- }
- //break;
- }
- } else if(thisToggleFieldsArray[k].condition == "is"){
- if(
- (
- !JQuery.isArray(res) && JQuery(this).val() == thisToggleFieldsArray[k].value && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ||
- (
- JQuery.isArray(res) && ( JQuery.inArray(thisToggleFieldsArray[k].value, res) != -1 || found || ( foundCount != 0 && foundCount == chkGrpValues2.length ) ) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ){
- var names = thisToggleFieldsArray[k].tName.split(",");
- for(var n = 0; n < names.length; n++){
- thisBfToggleFields(thisToggleFieldsArray[k].state, thisToggleFieldsArray[k].tCat, JQuery.trim(names[n]), thisBfDeactivateField);
- }
- //break;
- }
- }
- }
- }
- );
- break;
- case "radio":
- case "checkbox":
- var radioLength = JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").size();
- for(var j = 0; j < radioLength; j++){
- JQuery("#" + JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").get(j).id ).unbind("click");
- JQuery("#" + JQuery("[name=\"ff_nm_"+toggleField.sName+"[]\"]").get(j).id ).click(
- function(){
- // NOT O(n^2) since its ony executed on click event!
- for( var k = 0; k < thisToggleFieldsArray.length; k++ ){
-
- // used for complex checkbox group case below
- var chkGrpValues = new Array();
- if(JQuery(this).get(0).checked && thisToggleFieldsArray[k].value.beginsWith("#", true) && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"){
- chkGrpValues = thisToggleFieldsArray[k].value.substring(1, thisToggleFieldsArray[k].value.length).split("|");
- }
- if(thisToggleFieldsArray[k].condition == "isnot"){
- if(
- // simple radio case for selected value
- ( JQuery(this).get(0).type == "radio" && JQuery(this).get(0).checked && JQuery(this).val() != thisToggleFieldsArray[k].value && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]" )
- ||
- // single checkbox case for checked/unchecked
- (
- JQuery(this).get(0).type == "checkbox" &&
- JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]" &&
- ( JQuery(this).get(0).checked && thisToggleFieldsArray[k].value != "!checked"
- ||
- JQuery(this).get(0).checked && thisToggleFieldsArray[k].value == "!unchecked"
- )
- )
- ||
- // complex checkbox/radio group case by multiple values
- (
- JQuery(this).get(0).checked && JQuery.inArray(JQuery(this).val(), chkGrpValues) == -1 && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ||
- // simple checkbox group case by single value
- (
- JQuery(this).get(0).type == "checkbox" && JQuery(this).get(0).checked && JQuery(this).val() != thisToggleFieldsArray[k].value && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ){
- var names = thisToggleFieldsArray[k].tName.split(",");
- for(var n = 0; n < names.length; n++){
- thisBfToggleFields(thisToggleFieldsArray[k].state, thisToggleFieldsArray[k].tCat, JQuery.trim(names[n]), thisBfDeactivateField);
- }
- //break;
- }
- }
- else
- if(thisToggleFieldsArray[k].condition == "is"){
- if(
- // simple radio case for selected value
- ( JQuery(this).get(0).type == "radio" && JQuery(this).get(0).checked && JQuery(this).val() == thisToggleFieldsArray[k].value && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]" )
- ||
- // single checkbox case for checked/unchecked
- (
- JQuery(this).get(0).type == "checkbox" &&
- JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]" &&
- ( JQuery(this).get(0).checked && thisToggleFieldsArray[k].value == "!checked"
- ||
- !JQuery(this).get(0).checked && thisToggleFieldsArray[k].value == "!unchecked"
- )
- )
- ||
- // complex checkbox/radio group case by multiple values
- (
- JQuery(this).get(0).checked && JQuery.inArray(JQuery(this).val(), chkGrpValues) != -1 && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ||
- // simple checkbox group case by single value
- (
- JQuery(this).get(0).type == "checkbox" && JQuery(this).get(0).checked && JQuery(this).val() == thisToggleFieldsArray[k].value && JQuery(this).get(0).name == "ff_nm_"+thisToggleFieldsArray[k].sName+"[]"
- )
- ){
- var names = thisToggleFieldsArray[k].tName.split(",");
- for(var n = 0; n < names.length; n++){
- thisBfToggleFields(thisToggleFieldsArray[k].state, thisToggleFieldsArray[k].tCat, JQuery.trim(names[n]), thisBfDeactivateField);
- }
- //break;
- }
- }
- }
-
- }
- );
- }
- break;
- }
- }
- }
-
- limit_cnt++;
- last_offset = i;
- }
-
- if( last_offset+1 < toggleFieldsArray.length ){ setTimeout("bfRegisterToggleFields( "+last_offset+" )", 350); }
- }';
-
- }
-
- JFactory::getDocument()->addScriptDeclaration(
- $jQuery.'
- var inlineErrorElements = new Array();
- var bfSummarizers = new Array();
- var bfDeactivateField = new Array();
- var bfDeactivateSection = new Array();
- '.$toggleCode.'
- function bfCheckMaxlength(id, maxlength, showMaxlength){
- if( JQuery("#ff_elem"+id).val().length > maxlength ){
- JQuery("#ff_elem"+id).val( JQuery("#ff_elem"+id).val().substring(0, maxlength) );
- }
- if(showMaxlength){
- JQuery("#bfMaxLengthCounter"+id).text( "(" + (maxlength - JQuery("#ff_elem"+id).val().length) + " '.BFText::_('COM_BREEZINGFORMS_CHARS_LEFT').')" );
- }
- }
- function bfRegisterSummarize(id, connectWith, type, emptyMessage, hideIfEmpty){
- bfSummarizers.push( { id : id, connectWith : connectWith, type : type, emptyMessage : emptyMessage, hideIfEmpty : hideIfEmpty } );
- }
- function bfField(name){
- var value = "";
- switch(ff_getElementByName(name).type){
- case "radio":
- if(JQuery("[name="+ff_getElementByName(name).name+"]:checked").val() != "" && typeof JQuery("[name="+ff_getElementByName(name).name+"]:checked").val() != "undefined"){
- value = JQuery("[name="+ff_getElementByName(name).name+"]:checked").val();
- if(!isNaN(value)){
- value = Number(value);
- }
- }
- break;
- case "checkbox":
- case "select-one":
- case "select-multiple":
- var nodeList = document["'.$this->p->form_id.'"][""+ff_getElementByName(name).name+""];
- if(ff_getElementByName(name).type == "checkbox" && typeof nodeList.length == "undefined"){
- if(typeof JQuery("[name="+ff_getElementByName(name).name+"]:checked").val() != "undefined"){
- value = JQuery("[name="+ff_getElementByName(name).name+"]:checked").val();
- if(!isNaN(value)){
- value = Number(value);
- }
- }
- } else {
- var val = "";
- for(var j = 0; j < nodeList.length; j++){
- if(nodeList[j].checked || nodeList[j].selected){
- val += nodeList[j].value + ", ";
- }
- }
- if(val != ""){
- value = val.substr(0, val.length - 2);
- if(!isNaN(value)){
- value = Number(value);
- }
- }
- }
- break;
- default:
- if(!isNaN(ff_getElementByName(name).value)){
- value = Number(ff_getElementByName(name).value);
- } else {
- value = ff_getElementByName(name).value;
- }
- }
- return value;
- }
- function populateSummarizers(){
- // cleaning first
-
- for(var i = 0; i < bfSummarizers.length; i++){
- JQuery("#"+bfSummarizers[i].id).parent().css("display", "");
- JQuery("#"+bfSummarizers[i].id).html("<span class=\"bfNotAvailable\">"+bfSummarizers[i].emptyMessage+"</span>");
- }
- for(var i = 0; i < bfSummarizers.length; i++){
- var summVal = "";
- switch(bfSummarizers[i].type){
- case "bfTextfield":
- case "bfTextarea":
- case "bfHidden":
- case "bfCalendar":
- case "bfFile":
- if(JQuery("[name=\"ff_nm_"+bfSummarizers[i].connectWith+"[]\"]").val() != ""){
- JQuery("#"+bfSummarizers[i].id).text( JQuery("[name=\"ff_nm_"+bfSummarizers[i].connectWith+"[]\"]").val() ).html();
- var breakableText = JQuery("#"+bfSummarizers[i].id).html().replace(/\\r/g, "").replace(/\\n/g, "<br/>");
-
- if(breakableText != ""){
- var calc = null;
- eval( "calc = typeof bfFieldCalc"+bfSummarizers[i].id+" != \"undefined\" ? bfFieldCalc"+bfSummarizers[i].id+" : null" );
- if(calc){
- breakableText = calc(breakableText);
- }
- }
-
- JQuery("#"+bfSummarizers[i].id).html(breakableText);
- summVal = breakableText;
- }
- break;
- case "bfRadioGroup":
- case "bfCheckbox":
- if(JQuery("[name=\"ff_nm_"+bfSummarizers[i].connectWith+"[]\"]:checked").val() != "" && typeof JQuery("[name=\"ff_nm_"+bfSummarizers[i].connectWith+"[]\"]:checked").val() != "undefined"){
- var theText = JQuery("[name=\"ff_nm_"+bfSummarizers[i].connectWith+"[]\"]:checked").val();
- if(theText != ""){
- var calc = null;
- eval( "calc = typeof bfFieldCalc"+bfSummarizers[i].id+" != \"undefined\" ? bfFieldCalc"+bfSummarizers[i].id+" : null" );
- if(calc){
- theText = calc(theText);
- }
- }
- JQuery("#"+bfSummarizers[i].id).text( theText );
- summVal = theText;
- }
- break;
- case "bfCheckboxGroup":
- case "bfSelect":
- var val = "";
- var nodeList = document["'.$this->p->form_id.'"]["ff_nm_"+bfSummarizers[i].connectWith+"[]"];
-
- for(var j = 0; j < nodeList.length; j++){
- if(nodeList[j].checked || nodeList[j].selected){
- val += nodeList[j].value + ", ";
- }
- }
- if(val != ""){
- var theText = val.substr(0, val.length - 2);
- if(theText != ""){
- var calc = null;
- eval( "calc = typeof bfFieldCalc"+bfSummarizers[i].id+" != \"undefined\" ? bfFieldCalc"+bfSummarizers[i].id+" : null" );
- if(calc){
- theText = calc(theText);
- }
- }
- JQuery("#"+bfSummarizers[i].id).text( theText );
- summVal = theText;
- }
- break;
- }
-
- if( ( bfSummarizers[i].hideIfEmpty && summVal == "" ) || ( typeof bfDeactivateField != "undefined" && bfDeactivateField["ff_nm_"+bfSummarizers[i].connectWith+"[]"] ) ){
- JQuery("#"+bfSummarizers[i].id).parent().css("display", "none");
- }
- }
- }
- ');
-
- if($this->fading || !$this->useErrorAlerts || $this->rollover){
- if(!$this->useErrorAlerts){
- $defaultErrors = '';
- if($this->useDefaultErrors || (!$this->useDefaultErrors && !$this->useBalloonErrors)){
- $defaultErrors = 'JQuery(".bfErrorMessage").html("");
- JQuery(".bfErrorMessage").css("display","none");
- JQuery(".bfErrorMessage").fadeIn(1500);
- var allErrors = "";
- var errors = error.split("\n");
- for(var i = 0; i < errors.length; i++){
- allErrors += "<div class=\"bfError\">" + errors[i] + "</div>";
- }
- JQuery(".bfErrorMessage").html(allErrors);
- JQuery(".bfErrorMessage").css("display","");';
- }
- JFactory::getDocument()->addScriptDeclaration('var bfUseErrorAlerts = false;'."\n");
- JFactory::getDocument()->addScriptDeclaration('
- function bfShowErrors(error){
- '.$defaultErrors.'
- if(JQuery.bfvalidationEngine)
- {
- JQuery("#'.$this->p->form_id.'").bfvalidationEngine({
- promptPosition: "bottomLeft",
- success : false,
- failure : function() {}
- });
- for(var i = 0; i < inlineErrorElements.length; i++)
- {
- if(inlineErrorElements[i][1] != "")
- {
- var prompt = null;
-
- if(inlineErrorElements[i][0] == "bfCaptchaEntry"){
- prompt = JQuery.bfvalidationEngine.buildPrompt("#bfCaptchaEntry",inlineErrorElements[i][1],"error");
- }
- else if(inlineErrorElements[i][0] == "bfReCaptchaEntry"){
- // nothing here yet for recaptcha, alert is default
- alert(inlineErrorElements[i][1]);
- }
- else if(typeof JQuery("#flashUpload"+inlineErrorElements[i][0]).get(0) != "undefined")
- {
- prompt = JQuery.bfvalidationEngine.buildPrompt("#"+JQuery("#flashUpload"+inlineErrorElements[i][0]).val(),inlineErrorElements[i][1],"error");
- }
- else
- {
- if(ff_getElementByName(inlineErrorElements[i][0])){
- prompt = JQuery.bfvalidationEngine.buildPrompt("#"+ff_getElementByName(inlineErrorElements[i][0]).id,inlineErrorElements[i][1],"error");
- }else{
- alert(inlineErrorElements[i][1]);
- }
- }
-
- JQuery(prompt).mouseover(
- function(){
- var inlineError = JQuery(this).attr("class").split(" ");
- if(inlineError && inlineError.length && inlineError.length == 2){
- var result = inlineError[1].split("formError");
- if(result && result.length && result.length >= 1){
- JQuery.bfvalidationEngine.closePrompt("#"+result[0]);
- }
- }
- }
- );
- }
- else
- {
- if(typeof JQuery("#flashUpload"+inlineErrorElements[i][0]).get(0) != "undefined")
- {
- JQuery.bfvalidationEngine.closePrompt("#"+JQuery("#flashUpload"+inlineErrorElements[i][0]).val());
- }
- else
- {
- if(ff_getElementByName(inlineErrorElements[i][0])){
- JQuery.bfvalidationEngine.closePrompt("#"+ff_getElementByName(inlineErrorElements[i][0]).id);
- }
- }
- }
- }
- inlineErrorElements = new Array();
- }
- }');
- }
- if($this->fading){
- $this->fadingClass = ' bfFadingClass';
- $this->fadingCall = 'bfFade();';
- JFactory::getDocument()->addScriptDeclaration('
- function bfFade(){
- JQuery(".bfPageIntro").fadeIn(1000);
- var size = 0;
- JQuery(".bfFadingClass").each(function(i,val){
- var t = this;
- setTimeout(function(){JQuery(t).fadeIn(1000)}, (i*100));
- size = i;
- });
- setTimeout(\'JQuery(".bfSubmitButton").fadeIn(1000)\', size * 100);
- setTimeout(\'JQuery(".bfPrevButton").fadeIn(1000)\', size * 100);
- setTimeout(\'JQuery(".bfNextButton").fadeIn(1000)\', size * 100);
- setTimeout(\'JQuery(".bfCancelButton").fadeIn(1000)\', size * 100);
- }
- ');
- }
-
- if($this->rollover && trim($this->rolloverColor) != ''){
- JFactory::getDocument()->addScriptDeclaration('
- var bfElemWrapBg = "";
- function bfSetElemWrapBg(){
- bfElemWrapBg = JQuery(".bfElemWrap").css("background-color");
- }
- function bfRollover() {
- JQuery(".ff_elem").focus(
- function(){
- var parent = JQuery(this).parent();
- if(parent && parent.attr("class").substr(0, 10) == "bfElemWrap"){
- parent.css("background","'.$this->rolloverColor.'");
- } else {
- parent = JQuery(this).parent().parent();
- parent.css("background","'.$this->rolloverColor.'");
- }
- parent.addClass("bfRolloverBg");
- }
- ).blur(
- function(){
- var parent = JQuery(this).parent();
- if(parent && parent.attr("class").substr(0, 10) == "bfElemWrap"){
- parent.css("background",bfElemWrapBg);
- } else {
- parent = JQuery(this).parent().parent();
- parent.css("background",bfElemWrapBg);
- }
- parent.removeClass("bfRolloverBg");
- }
- );
- }
- function bfRollover2() {
- JQuery(".bfElemWrap").mouseover(
- function(){
- JQuery(this).css("background","'.$this->rolloverColor.'");
- JQuery(this).addClass("bfRolloverBg");
- }
- );
- JQuery(".bfElemWrap").mouseout(
- function(){
- JQuery(this).css("background",bfElemWrapBg);
- JQuery(this).removeClass("bfRolloverBg");
- }
- );
- }
- ');
- }
- }
- JFactory::getDocument()->addScriptDeclaration('
- JQuery(document).ready(function() {
- if(typeof bfFade != "undefined")bfFade();
- if(typeof bfSetElemWrapBg != "undefined")bfSetElemWrapBg();
- if(typeof bfRollover != "undefined")bfRollover();…
Large files files are truncated, but you can click here to view the full file