fbuilderjQuery = (typeof fbuilderjQuery != 'undefined' ) ? fbuilderjQuery : jQuery; fbuilderjQuery(function(){ (function($) { // Namespace of fbuilder $.fbuilder = $.fbuilder || {}; $.fbuilder[ 'objName' ] = 'fbuilderjQuery'; $.fbuilder[ 'controls' ] = {}; $.fbuilder[ 'forms' ] = {}; $.fbuilder[ 'htmlEncode' ] = function(value) { value = $('
').text(value).html() value = value.replace(/"/g, """); return value; }; $.fbuilder[ 'escape_symbol' ] = function( value ) // Escape the symbols used in regulars expressions { return value.replace(/([\^\$\-\.\,\[\]\(\)\/\\\*\?\+\!\{\}])/g, "\\$1"); }; $.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 : '"' + value.replace(/'/g, "\\'").replace( /\$/g, '') + '"'; }; $.fn.fbuilder = function(options){ var opt = $.extend({}, { pub:false, identifier:"", title:"" },options, true); opt.messages = $.extend({ previous: "Previous", next: "Next", page: "Page", of: "of", 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).parents( 'form' ).addClass( theForm.formtemplate ); for (var i=0, h = $.fbuilder.showSettings.formlayoutList.length; i
'); for (var i=0;i'); } else { $("#fieldlist"+opt.identifier+" .pb"+page).append(items[i].show()); if (items[i].predefinedClick) { var cl = $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).attr("class")+" predefinedClick"; $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).attr("class",cl); $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).attr("predefined",items[i].predefined); } if (items[i].userhelpTooltip) { var uh = $("#fieldlist"+opt.identifier+" .pb"+page).find("#"+items[i].name).parents(".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").find(".field").addClass("ignorepb"); $("#fieldlist"+opt.identifier+" .pb0").find(".field").removeClass("ignorepb"); $("#fieldlist"+opt.identifier+" .pbreak").each(function(index) { var code = $(this).html(); var bSubmit = ''; if (index == page) { if ($("#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.page+' '+(index+1)+' '+opt.messages.of+' '+(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){} } } return false; }); } else { if ($("#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()+'
'); } } $( '#fieldlist'+opt.identifier).find(".pbSubmit").bind("click", { 'identifier' : opt.identifier }, function( evt ) { $(this).parents("#fieldlist"+evt.data.identifier).parents("form").submit(); }); $("#fieldlist"+opt.identifier+" .predefinedClick").bind("click", function() { if ($(this).attr("predefined") == $(this).val()) { $(this).val(""); } }); $("#fieldlist"+opt.identifier+" .predefinedClick").blur("click", function() { if ($(this).val()=="") { $(this).val($(this).attr("predefined")); } }); if (i>0) { for (var i=0;i

'+this.title+'

'+this.description+''; } }); //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'; } 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.parents( '.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