fbuilderjQuery = (typeof fbuilderjQuery != 'undefined' ) ? fbuilderjQuery : jQuery; fbuilderjQuery(function(){ (function($) { // Namespace of fbuilder $.fbuilder = $.fbuilder || {}; $.fbuilder[ 'objName' ] = 'fbuilderjQuery'; $.fbuilder[ 'controls' ] = ( typeof $.fbuilder[ 'controls' ] != 'undefined' ) ? $.fbuilder[ 'controls' ]: {}; $.fbuilder[ 'forms' ] = ( typeof $.fbuilder[ 'forms' ] != 'undefined' ) ? $.fbuilder[ 'forms' ]: {}; $.fbuilder[ 'htmlEncode' ] = function(value) { value = $('
').text(value).html() value = value.replace( /&/g, '&').replace(/"/g, """); return value; }; $.fbuilder[ 'escape_symbol' ] = function( value ) // Escape the symbols used in regulars expressions { return value.replace(/([\^\$\-\.\,\[\]\(\)\/\\\*\?\+\!\{\}])/g, "\\$1"); }; $.fbuilder[ 'parseValStr' ] = function( value ) { return '"' + value.replace(/'/g, "\\'").replace( /\$/g, '') + '"'; }; $.fbuilder[ 'parseVal' ] = function( value, thousandSeparator, decimalSymbol ) { if( value == '' ) return 0; value += ''; thousandSeparator = new RegExp( $.fbuilder.escape_symbol( ( typeof thousandSeparator == 'undefined' ) ? ',' : thousandSeparator ), 'g' ); decimalSymbol = new RegExp( $.fbuilder.escape_symbol( ( typeof decimalSymbol == 'undefined' ) ? '.' : decimalSymbol ), 'g' ); var t = value.replace( thousandSeparator, '' ).replace( decimalSymbol, '.' ).replace( /\s/g, '' ), p = /[+-]?((\d+(\.\d+)?)|(\.\d+))/.exec( t ); return ( p ) ? p[0]*1 : $.fbuilder[ 'parseValStr' ]( value ); }; $.fn.fbuilder = function(options){ var opt = $.extend({}, { pub:false, identifier:"", title:"" },options, true); opt.messages = $.extend({ previous: "Previous", next: "Next", pageof: "Page {0} of {0}", required: "This field is required.", email: "Please enter a valid email address.", datemmddyyyy: "Please enter a valid date with this format(mm/dd/yyyy)", dateddmmyyyy: "Please enter a valid date with this format(dd/mm/yyyy)", number: "Please enter a valid number.", digits: "Please enter only digits.", maxlength: $.validator.format("Please enter no more than {0} characters"), minlength: $.validator.format("Please enter at least {0} characters."), equalTo: "Please enter the same value again.", max: $.validator.format("Please enter a value less than or equal to {0}."), min: $.validator.format("Please enter a value greater than or equal to {0}.") },opt.messages); opt.messages.max = $.validator.format(opt.messages.max); opt.messages.min = $.validator.format(opt.messages.min); $.extend($.validator.messages, opt.messages); var items = []; var reloadItemsPublic = function() { $("#fieldlist"+opt.identifier).closest( 'form' ).addClass( theForm.formtemplate ); $("#fieldlist"+opt.identifier).html("").addClass(theForm.formlayout); $("#formheader"+opt.identifier).html(theForm.show()); var page = 0; $("#fieldlist"+opt.identifier).append('
'); for (var i=0;i
'); } else { $("#fieldlist"+opt.identifier+" .pb"+page).append(items[i].show()); if (items[i].predefinedClick) { $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).attr("placeholder",items[i].predefined); $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).attr("value",""); } if (items[i].userhelpTooltip) { var uh = $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).closest(".fields"); uh.find(".uh").css("display","none"); if (uh.find(".uh").text()!="") { uh.attr("uh",uh.find(".uh").text()); } } } } if (page>0) { $("#fieldlist"+opt.identifier+" .pb"+page).addClass("pbEnd"); $("#fieldlist"+opt.identifier+" .pbreak").each(function(index) { var code = $(this).html(); var bSubmit = ''; if (index == page) { if ( $( "#cpcaptchalayer"+opt.identifier ).length && !/^\s*$/.test( $( "#cpcaptchalayer"+opt.identifier ).html() ) ) { code += '
'+$("#cpcaptchalayer"+opt.identifier).html()+'
'; $("#cpcaptchalayer"+opt.identifier).html(""); } if ($("#cp_subbtn"+opt.identifier).html()) { bSubmit = '
'+$("#cp_subbtn"+opt.identifier).html()+'
'; } } $(this).html('
'+opt.messages.pageof.replace( /\{\s*\d+\s*\}/, (index+1) ).replace( /\{\s*\d+\s*\}/, (page+1) )+''+code+'
'+opt.messages.previous+'
'+opt.messages.next+'
'+bSubmit+'
'); }); $( '#fieldlist'+opt.identifier).find(".pbPrevious,.pbNext").bind("click", { 'identifier' : opt.identifier }, function( evt ) { var identifier = evt.data.identifier; if ( ($(this).hasClass("pbPrevious")) || (($(this).hasClass("pbNext")) && $(this).parents("form").valid()) ) { var page = parseInt($(this).parents(".pbreak").attr("page")); (($(this).hasClass("pbPrevious"))?page--:page++); $("#fieldlist"+identifier+" .pbreak").css("display","none"); $("#fieldlist"+identifier+" .pbreak").find(".field").addClass("ignorepb"); $("#fieldlist"+identifier+" .pb"+page).css("display","block"); $("#fieldlist"+identifier+" .pb"+page).find(".field").removeClass("ignorepb"); if ($("#fieldlist"+identifier+" .pb"+page).find(".field").length>0) { try { $("#fieldlist"+identifier+" .pb"+page).find(".field")[0].focus(); } catch(e){} } } else { $(this).parents("form").validate().focusInvalid(); } return false; }); } else { if ( $( "#cpcaptchalayer"+opt.identifier ).length && !/^\s*$/.test( $( "#cpcaptchalayer"+opt.identifier ).html() ) ) { $("#fieldlist"+opt.identifier+" .pb"+page).append('
'+$("#cpcaptchalayer"+opt.identifier).html()+'
'); $("#cpcaptchalayer"+opt.identifier).html(""); } if ($("#cp_subbtn"+opt.identifier).html()) { $("#fieldlist"+opt.identifier+" .pb"+page).append('
'+$("#cp_subbtn"+opt.identifier).html()+'
'); } } // Set Captcha Event $( document ).on( 'click', '#fbuilder .captcha img', function(){ var e = $( this ); e.attr( 'src', e.attr( 'src' ).replace( /&\d+$/, '' ) + '&' + Math.floor( Math.random()*1000 ) ); } ); $( '#fieldlist'+opt.identifier).find(".pbSubmit").bind("click", { 'identifier' : opt.identifier }, function( evt ) { $(this).closest("form").submit(); }); if (i>0) { theForm.after_show( opt.identifier ); for (var i=0;i

'+this.title+'

'+this.description+''; }, after_show:function( id ){ $( '#cp_calculatedfieldsf_pform'+id ).attr( 'data-evalequations', this.evalequations ).attr( 'autocomplete', ( ( this.autocomplete ) ? 'on' : 'off' ) ); } }); //var theForm = new fform(), var theForm, ffunct = { getItem: function( name ) { for( var i in items ) { if( items[ i ].name == name ) { return items[ i ]; } } return false; }, getItems: function() { return items; }, loadData:function(f) { var d, e = $("#"+f); this.formId = e.parents( 'form' ).attr( 'id' ); if ( d = $.parseJSON( e.val() )) { if (d.length==2) { items = []; for (var i=0;i
'+this.userhelp+'
'; } } ); $.fbuilder.controls[ 'fcurrency' ] = function(){}; $.extend( $.fbuilder.controls[ 'fcurrency' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Currency", ftype:"fcurrency", predefined:"", predefinedClick:false, required:false, size:"small", readonly:false, currencyText:"USD", thousandSeparator:",", centSeparator:".", min:"", max:"", formatDynamically:false, getFormattedValue:function( value ) { this.centSeparator = $.trim(this.centSeparator); if( /^\s*$/.test( this.centSeparator ) ) { this.centSeparator = '.'; } var v = $.trim( value ); v = v.replace( new RegExp( $.fbuilder[ 'escape_symbol' ](this.currencySymbol), 'g' ), '' ) .replace( new RegExp( $.fbuilder[ 'escape_symbol' ](this.currencyText), 'g' ), '' ); v = $.fbuilder.parseVal( v, this.thousandSeparator, this.centSeparator ); if( !isNaN( v ) ) { v = v.toString(); var parts = v.toString().split("."), counter = 0, str = ''; if( !/^\s*$/.test( this.thousandSeparator ) ) { for( var i = parts[0].length-1; i >= 0; i--){ counter++; str = parts[0][i] + str; if( counter%3 == 0 && i != 0 ) str = this.thousandSeparator + str; } parts[0] = str; } if( typeof parts[ 1 ] != 'undefined' && parts[ 1 ].length == 1 ) { parts[ 1 ] += '0'; } if( /^\s*$/.test( this.centSeparator ) ) { this.centSeparator = '.'; } return this.currencySymbol+parts.join( this.centSeparator )+this.currencyText; } else { return value; } }, show:function() { if( this.formatDynamically ) { var me = this; $( document ).on( 'change', '[name="' + this.name + '"]', function(){ this.value = me.getFormattedValue( this.value ); } ); } return '
'+this.userhelp+'
'; }, after_show:function() { if( typeof $[ 'validator' ] != 'undefined' ) { $.validator.addMethod( 'min', function( value, element, param ) { var sf = element.id.match( /_\d+$/)[ 0 ], e = $.fbuilder[ 'forms' ][ element.id.match( /_\d+$/)[ 0 ] ].getItem( element.name ), thousandSeparator = ( typeof e.thousandSeparator != 'undefined' ) ? e.thousandSeparator : '', centSymbol = ( typeof e.centSeparator != 'undefined' && $.trim( e.centSeparator ) ) ? e.centSeparator : '.'; return this.optional(element) || $.fbuilder.parseVal( value, thousandSeparator, centSymbol ) >= param; } ); $.validator.addMethod( 'max', function( value, element, param ) { var sf = element.id.match( /_\d+$/)[ 0 ], e = $.fbuilder[ 'forms' ][ element.id.match( /_\d+$/)[ 0 ] ].getItem( element.name ), thousandSeparator = ( typeof e.thousandSeparator != 'undefined' ) ? e.thousandSeparator : '', centSymbol = ( typeof e.centSeparator != 'undefined' && $.trim( e.centSeparator ) ) ? e.centSeparator : '.'; return this.optional(element) || $.fbuilder.parseVal( value, thousandSeparator, centSymbol ) <= param; } ); } }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ); if( e.length ) { var v = $.trim( e.val() ); v = v.replace( new RegExp( $.fbuilder[ 'escape_symbol' ](this.currencySymbol), 'g' ), '' ) .replace( new RegExp( $.fbuilder[ 'escape_symbol' ](this.currencyText), 'g' ), '' ); return $.fbuilder.parseVal( v, this.thousandSeparator, this.centSeparator ); } return 0; } } ); $.fbuilder.controls[ 'fnumber' ] = function(){}; $.extend( $.fbuilder.controls[ 'fnumber' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Number", ftype:"fnumber", predefined:"", predefinedClick:false, required:false, size:"small", thousandSeparator:"", decimalSymbol:".", min:"", max:"", dformat:"digits", formats:new Array("digits","number"), show:function() { return '
'+this.userhelp+'
'; }, after_show:function() { if( typeof $[ 'validator' ] != 'undefined' ) { $.validator.addMethod( 'number', function( value, element ) { var sf = element.id.match( /_\d+$/)[ 0 ], e = $.fbuilder[ 'forms' ][ element.id.match( /_\d+$/)[ 0 ] ].getItem( element.name ), thousandSeparator = ( typeof e.thousandSeparator != 'undefined' ) ? e.thousandSeparator : '', decimalSymbol = ( typeof e.decimalSymbol != 'undefined' && $.trim( e.decimalSymbol ) ) ? e.decimalSymbol : '.'; var regExp = new RegExp( '^-?(?:\\d+|\\d{1,3}(?:' + $.fbuilder.escape_symbol( thousandSeparator ) + '\\d{3})+)?(?:' + $.fbuilder.escape_symbol( decimalSymbol ) + '\\d+)?$' ); return this.optional(element) || regExp.test( value ); } ); $.validator.addMethod( 'min', function( value, element, param ) { var sf = element.id.match( /_\d+$/)[ 0 ], e = $.fbuilder[ 'forms' ][ element.id.match( /_\d+$/)[ 0 ] ].getItem( element.name ), thousandSeparator = ( typeof e.thousandSeparator != 'undefined' ) ? e.thousandSeparator : '', decimalSymbol = ( typeof e.decimalSymbol != 'undefined' && $.trim( e.decimalSymbol ) ) ? e.decimalSymbol : '.'; return this.optional(element) || $.fbuilder.parseVal( value, thousandSeparator, decimalSymbol ) >= param; } ); $.validator.addMethod( 'max', function( value, element, param ) { var sf = element.id.match( /_\d+$/)[ 0 ], e = $.fbuilder[ 'forms' ][ element.id.match( /_\d+$/)[ 0 ] ].getItem( element.name ), thousandSeparator = ( typeof e.thousandSeparator != 'undefined' ) ? e.thousandSeparator : '', decimalSymbol = ( typeof e.decimalSymbol != 'undefined' && $.trim( e.decimalSymbol ) ) ? e.decimalSymbol : '.'; return this.optional(element) || $.fbuilder.parseVal( value, thousandSeparator, decimalSymbol ) <= param; } ); } }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ); if( e.length ) { var v = $.trim( e.val() ); return $.fbuilder.parseVal( v, this.thousandSeparator, this.decimalSymbol ); } return 0; } } ); $.fbuilder.controls[ 'femail' ] = function(){}; $.extend( $.fbuilder.controls[ 'femail' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Email", ftype:"femail", predefined:"", predefinedClick:false, required:false, size:"medium", equalTo:"", show:function() { return '
'+this.userhelp+'
'; }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ); if( e.length ) return $.fbuilder.parseValStr( e.val() ); return ''; } } ); $.fbuilder.controls[ 'fdate' ] = function(){}; $.extend( $.fbuilder.controls[ 'fdate' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Date", ftype:"fdate", predefined:"", predefinedClick:false, size:"medium", required:false, dformat:"mm/dd/yyyy", tformat:"24", showDropdown:false, dropdownRange:"-10:+10", minDate:"", maxDate:"", invalidDates:"", minHour:0, maxHour:23, minMinute:0, maxMinute:59, stepHour: 1, stepMinute: 1, showTimepicker: false, defaultDate:"", defaultTime:"", working_dates:[true,true,true,true,true,true,true], formats:new Array("mm/dd/yyyy","dd/mm/yyyy"), init:function() { function checkValue( v, min, max ) { v = parseInt( v ); if( isNaN( v ) ) v = max; else if( v < min ) v = min; else if( v > max ) v = max; return v; } this.minHour = checkValue( this.minHour, 0, 23 ); this.maxHour = checkValue( this.maxHour, 0, 23 ); this.minMinute = checkValue( this.minMinute, 0, 59 ); this.maxMinute = checkValue( this.maxMinute, 0, 59 ); this.stepHour = checkValue( this.stepHour, 1, Math.max( 1, this.maxHour - this.minHour ) ); this.stepMinute = checkValue( this.stepMinute, 1, Math.max( 1, this.maxMinute - this.minMinute ) ); this.invalidDates = this.invalidDates.replace( /\s+/g, '').match( /\d{1,2}\/\d{1,2}\/\d{4}/g ); if( this.invalidDates !== null ) { for( var i = 0, h = this.invalidDates.length; i < h; i++ ) this.invalidDates[ i ] = new Date( this.invalidDates[ i ] ); } }, get_hours:function() { var str = '', i = 0, h, from = ( this.tformat == 12 ) ? 1 : this.minHour, to = ( this.tformat == 12 ) ? 12 : this.maxHour; while( ( h = from + this.stepHour * i ) <= to ) { if( h < 10 ) h = '0'+''+h; str += ''; i++; } return ':'; }, get_minutes:function() { var str = '', i = 0, m; while( ( m = this.minMinute + this.stepMinute * i ) <= this.maxMinute ) { if( m < 10 ) { m = '0'+''+m; } str += ''; i++; } return ''; }, get_ampm:function() { var str = ''; if( this.tformat == 12 ) { return ''; } return str; }, set_date_time:function() { var str = $( '#'+this.name+'_date' ).val(); if( this.showTimepicker ) { var h = $( '#'+this.name+'_hours' ).val(); str += ' '+( ( this.tformat == 12 && $( '#'+this.name+'_ampm' ).val() == 'pm' ) ? ( h*1 + 12 ) % 24 : h )+':'+$( '#'+this.name+'_minutes' ).val(); } $( '#'+this.name ).val( str ).change(); }, show:function() { var attr = 'value'; if( this.predefinedClick ) { attr = 'placeholder'; } return '
'+( ( this.showTimepicker ) ? ' '+this.get_hours()+this.get_minutes()+' '+this.get_ampm() : '' )+''+this.userhelp+'
'; }, setEvents : function() { var me = this; $( document ).on( 'change', '#'+this.name+'_date', function(){ me.set_date_time(); } ); $( document ).on( 'change', '#'+this.name+'_hours', function(){ me.set_date_time(); } ); $( document ).on( 'change', '#'+this.name+'_minutes', function(){ me.set_date_time(); } ); $( document ).on( 'change', '#'+this.name+'_ampm', function(){ me.set_date_time(); } ); }, after_show:function() { function setValue( f, v, m ) { v = Math.min( v*1, m*1 ); v = ( v < 10 ) ? 0+''+v : v; $( '#' + f + ' [value="' + v + '"]' ).attr( 'selected', true ); }; function validateDate( d, w, i ) { try{ if( d === null ) return [false,""]; if ( !w[ d.getDay()]) return [false,""]; if( i !== null ) { for( var j = 0, h = i.length; j < h; j++ ) { if( d.getDate() == i[ j ].getDate() && d.getMonth() == i[ j ].getMonth() && d.getFullYear() == i[ j ].getFullYear() ) return [false,""]; } } } catch( _err ){} return [true,""]; }; function validateTime( e, i ) { if( i.showTimepicker ) { var base = e.name.replace( '_date', '' ), h = $('#'+base+'_hours').val(), m = $('#'+base+'_minutes').val(); if( i.tformat == 12 && $('#'+base+'_ampm').val() == 'pm' ) h = h*1 + 12; if( h < i.minHour || h > i.maxHour ) return false; } return true; }; function validator( v, e ) { try { var p = e.name.replace( '_date', '' ).split( '_' ), item = $.fbuilder[ 'forms' ][ '_'+p[ 1 ] ].getItem( p[ 0 ]+'_'+p[ 1 ] ), inst = $.datepicker._getInst( e ), minDate = $.datepicker._determineDate( inst, $.datepicker._get( inst, 'minDate'), null), maxDate = $.datepicker._determineDate(inst, $.datepicker._get(inst, 'maxDate'), null), dateFormat = $.datepicker._get(inst, 'dateFormat'), date = $.datepicker.parseDate(dateFormat, v, $.datepicker._getFormatConfig(inst)); return this.optional( e ) || ( ( minDate == null || date >= minDate ) && ( maxDate == null || date <= maxDate ) && validateDate( $( e ).datepicker( 'getDate' ), item.working_dates, item.invalidDates )[ 0 ] && validateTime( e, item ) ); } catch( er ) { return false; } }; this.setEvents(); var p = { dateFormat: this.dformat.replace(/yyyy/g,"yy"), minDate: this.minDate, maxDate: this.maxDate }, dp = $( "#"+this.name+"_date" ), dd = (this.defaultDate != "") ? this.defaultDate : ( ( this.predefined != "" ) ? this.predefined : new Date() ); dp.click( function(){ $(document).click(); $(this).focus(); } ); if (this.showDropdown) p = $.extend(p,{changeMonth: true,changeYear: true,yearRange: this.dropdownRange}); p = $.extend(p, { beforeShowDay: ( function ( w, i ) { return function( d ){ return validateDate( d, w, i ); }; } )( this.working_dates, this.invalidDates ) } ); dp.datepicker(p); if( !this.predefinedClick ) dp.datepicker( "setDate", dd); if( !validateDate( dp.datepicker( "getDate"), this.working_dates, this.invalidDates)[ 0 ] ) { dp.datepicker( "setDate", ''); } if( this.showTimepicker ) { var parts, time = {}, tmp = 0; if( ( parts = /(\d{1,2}):(\d{1,2})/g.exec( this.defaultTime ) ) != null ) { time[ 'hour' ] = parts[ 1 ]; time[ 'minute' ] = parts[ 2 ]; } else { var d = new Date(); time[ 'hour' ] = d.getHours(); time[ 'minute' ] = d.getMinutes(); } setValue( this.name+'_hours', ( this.tformat == 12 ) ? ( ( time[ 'hour' ] > 12 ) ? time[ 'hour' ] - 12 : ( ( time[ 'hour' ] == 0 ) ? 12 : time[ 'hour' ] ) ) : time[ 'hour' ], ( this.tformat == 12 ) ? 12 : this.maxHour ); setValue( this.name+'_minutes', time[ 'minute' ], this.maxMinute ); $( '#'+this.name+'_ampm'+' [value="' + ( ( time[ 'hour' ] < 12 ) ? 'am' : 'pm' ) + '"]' ).attr( 'selected', true ); } $( '#'+this.name+'_date' ).change(); $.validator.addMethod("dateddmmyyyy", validator ); $.validator.addMethod("datemmddyyyy", validator ); }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ); if( e.length ) { var v = $.trim( e.val() ), d = /(\d{1,2})\/(\d{1,2})\/(\d{4})(\s(\d{1,2}):(\d{1,2}))?/.exec( v ), h = 0, m = 0; if( d ) { if( typeof d[ 5 ] != 'undefined' ) h = d[ 5 ]; if( typeof d[ 6 ] != 'undefined' ) m = d[ 6 ]; var date = ( this.dformat == 'mm/dd/yyyy' ) ? new Date( d[ 3 ], ( d[ 1 ] * 1 - 1 ), d[ 2 ], h, m, 0, 0 ) : new Date( d[ 3 ], ( d[ 2 ] * 1 - 1 ), d[ 1 ], h, m, 0, 0 ); if( this.showTimepicker ) { return date.valueOf() / 86400000; } else { return Math.ceil( date.valueOf() / 86400000 ); } } } return 0; } } ); $.fbuilder.controls[ 'ftextarea' ] = function(){}; $.extend( $.fbuilder.controls[ 'ftextarea' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Untitled", ftype:"ftextarea", predefined:"", predefinedClick:false, required:false, size:"medium", minlength:"", maxlength:"", rows:4, show:function() { return '
'+this.userhelp+'
'; }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ), v = ''; if( e.length ) { v = e.val(); } return v; } } ); $.fbuilder.controls[ 'fcheck' ]=function(){}; $.extend( $.fbuilder.controls[ 'fcheck' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Check All That Apply", ftype:"fcheck", layout:"one_column", required:false, showDep:false, show:function() { this.choicesVal = ((typeof(this.choicesVal) != "undefined" && this.choicesVal !== null)?this.choicesVal:this.choices.slice(0)); var str = ""; if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null)) { this.choicesDep = new Array(); for (var i=0;i'; } return '
'+str+''+this.userhelp+'
'; }, showHideDep:function( toShow, toHide ) { var item = $( '#'+this.name+'.depItem' ), form_identifier = this.form_identifier; try { if( item.length ) { var parent = item.closest( '.fields' ); parent.find( '.field' ).each( function() { var item = $( this ); if( item.attr( 'dep' ) && item.attr( 'dep' ) != '' ) { var d = item.attr( 'dep' ).split( ',' ); for ( i=0; i'; } return '
'+str+''+this.userhelp+'
'; }, showHideDep:function( toShow, toHide ) { var item = $( '#'+this.name+'.depItem' ), form_identifier = this.form_identifier; try { if( item.length ) { var parent = item.closest( '.fields' ); parent.find( '.field' ).each( function() { var item = $( this ); if( item.attr( 'dep' ) && item.attr( 'dep' ) != '' ) { var d = item.attr( 'dep' ).split( ',' ); for ( i=0; i'+l[i]+''; } return '
'+this.userhelp+'
'; }, showHideDep:function( toShow, toHide ) { var item = $( '#'+this.name ), form_identifier = this.form_identifier; try { if( item.find( '.depItem' ).length ) { var id = item.attr( 'id' ); item.find( '.depItem' ).each( function() { var item = $( this ); if( item.attr( 'dep' ) && item.attr( 'dep' ) != '' ) { var d = item.attr( 'dep' ).split( ',' ); for ( i=0; i
'+this.userhelp+'
'; }, after_show:function() { $.validator.addMethod("upload_size", function(value, element,params) { return this.optional(element) || (element.files[0].size/1024 < params); }); } } ); $.fbuilder.controls[ 'fpassword' ] = function(){}; $.extend( $.fbuilder.controls[ 'fpassword' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Untitled", ftype:"fpassword", predefined:"", predefinedClick:false, required:false, size:"medium", minlength:"", maxlength:"", equalTo:"", show:function() { return '
'+this.userhelp+'
'; }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ); if( e.length ) return $.fbuilder.parseValStr( e.val() ); return ''; } } ); $.fbuilder.controls[ 'fPhone' ]=function(){}; $.extend( $.fbuilder.controls[ 'fPhone' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Phone", ftype:"fPhone", required:false, dformat:"### ### ####", predefined:"888 888 8888", show:function() { var me = this, str = "", tmp = this.dformat.split(' '), tmpv = this.predefined.split(' '), attr = ( typeof this.predefinedClick != 'undefined' && this.predefinedClick ) ? 'placeholder' : 'value'; for (var i=0;i
'+$.trim(tmp[i])+'
'; } } return '
'+str+''+this.userhelp+'
'; }, after_show: function() { var me = this, tmp = me.dformat.split(' '); for (var i = 0, h = tmp.length; i < h; i++ ) { $( '#'+me.name+'_'+i ).bind( 'change', function(){ var v = ''; for( var i = 0; i < tmp.length; i++ ) { v += $( '#'+me.name+'_'+i ).val(); } $( '#'+me.name ).val( v ).change(); } ); if( i+1 < h ) { $('#'+me.name+'_'+i).bind( 'keyup', { 'next': i+1 }, function( evt ){ var e = $( this ); if( e.val().length == e.attr( 'maxlength' ) ) { e.change(); $( '#'+me.name+'_'+evt.data.next ).focus(); } } ); } } }, val:function() { var e = $( '[id="' + this.name + '"]:not(.ignore)' ); if( e.length ) return $.fbuilder.parseValStr( e.val() ); return ''; } } ); $.fbuilder.controls[ 'fCommentArea' ]=function(){}; $.extend( $.fbuilder.controls[ 'fCommentArea' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Comments here", ftype:"fCommentArea", userhelp:"A description of the section goes here.", show:function() { return '
'+this.userhelp+'
'; } } ); $.fbuilder.controls[ 'fhidden' ]=function(){}; $.extend( $.fbuilder.controls[ 'fhidden' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { ftype:"fhidden", title:"", predefined:"", show:function() { return '
'; } } ); $.fbuilder.controls[ 'fSectionBreak' ] = function(){}; $.extend( $.fbuilder.controls[ 'fSectionBreak' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Section Break", ftype:"fSectionBreak", userhelp:"A description of the section goes here.", show:function() { return '
'+this.userhelp+'
'; } } ); $.fbuilder.controls[ 'fPageBreak' ]=function(){}; $.extend( $.fbuilder.controls[ 'fPageBreak' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Page Break", ftype:"fPageBreak", show:function() { return '
'+this.userhelp+'
'; } } ); $.fbuilder.controls[ 'fsummary' ] = function(){}; $.extend( $.fbuilder.controls[ 'fsummary' ].prototype, $.fbuilder.controls[ 'ffields' ].prototype, { title:"Summary", ftype:"fsummary", fields:"", titleClassname:"summary-field-title", valueClassname:"summary-field-value", fieldsArray:[], show:function() { var me = this, p = $.trim( me.fields.replace( /\,+/g, ',') ).split( ',' ), l = p.length; if( l ) { var str = '
'+( ( !/^\s*$/.test( me.title ) ) ? '

'+me.title+'

': '' )+'
'; for( var i = 0; i < l; i++ ) { if( !/^\s*$/.test( p[ i ] ) ) { p[ i ] = $.trim( p[ i ] ); str += '
'; } } str += '
'; return str; } }, after_show: function(){ var me = this, p = $.trim(me.fields.replace( /\,+/g, ',') ).split( ',' ), l = p.length; if( l ) { for( var i = 0; i < l; i++ ) { if( !/^\s*$/.test( p[ i ] ) ) { p[ i ] = $.trim( p[ i ] ); me.fieldsArray.push( p[ i ] + me.form_identifier ); $( document ).on( 'change', '#' + p[ i ] + me.form_identifier, function(){ me.update(); } ); } } $( document ).on( 'showHideDepEvent', function( evt, form_identifier ) { me.update(); }); $( '#cp_calculatedfieldsf_pform'+me.form_identifier ).bind( 'reset', function(){ setTimeout( function(){ me.update(); }, 10 ); } ); } }, update:function() { for ( var j = 0, k = this.fieldsArray.length; j < k; j++ ) { var i = this.fieldsArray[ j ], e = $( '[id="' + i + '"]'), tt = $( '[ref="' + i + '"]'); if( e.length && tt.length ) { var t = $( '#' + i ).closest( '.fields' ).find( 'label:first' ).text(), v = []; e.each( function(){ var e = $(this); if( /(checkbox|radio)/i.test( e.attr( 'type' ) ) && !e.is( ':checked' ) ) { return; } else if( e[0].tagName == 'SELECT' ) { v.push( $(e[0].options[ e[0].selectedIndex ]).attr( 'vt' ) ); } else { if( e.attr( 'vt' ) ) { v.push( e.attr( 'vt' ) ); } else { v.push( e.val() ); } } } ); tt.find( '.cff-summary-title' ).html( ( /^\s*$/.test( t ) ) ? '' : t ); tt.find( '.cff-summary-value' ).html( v.join( ', ' ) ); if( e.hasClass( 'ignore' ) ) { tt.hide(); } else { tt.show(); } } } } }); var fcount = 1; var fnum = "_"+fcount; while (eval("typeof cp_contactformpp_fbuilder_config"+fnum+" != 'undefined'")) { try { var cp_contactformpp_fbuilder_config = eval("cp_contactformpp_fbuilder_config"+fnum); var f = $("#fbuilder"+fnum).fbuilder($.parseJSON(cp_contactformpp_fbuilder_config.obj)); f.fBuild.loadData("form_structure"+fnum); $("#cp_contactformpp_pform"+fnum).validate({ ignore:".ignore,.ignorepb", errorElement: "div", errorPlacement: function(e, element) { if (element.hasClass('group')) element = element.parent(); e.insertBefore(element); e.addClass('message'); // add a class to the wrapper e.css('position', 'absolute'); e.css('left',0 ); e.css('top',element.parent().outerHeight(true)); } }); } catch (e) {} fcount++; fnum = "_"+fcount; } })(fbuilderjQuery); });