function iconify($, inputContainer, iconClass, bgdText) { var iconDiv = $("
") .addClass("top-padding-10") .addClass("left-padding-5") .attr("style", "position: absolute; z-index: 0"); var iconTag = $("") .addClass("sprite") .addClass("sprite-icon-small") .addClass(iconClass) .addClass("pos-float-left") .addClass("margin-5"); var bgdTag = $("

") .addClass("top-padding-5") .addClass("left-padding-3") .addClass("large-text") .addClass("light-gray-text") .addClass("pos-float-left") .text(bgdText); iconDiv.append(iconTag); iconDiv.append(bgdTag); $(inputContainer).prepend(iconDiv); var inputTag = $(inputContainer + " input") .addClass("full-width-form") .addClass("form-tbx") .addClass("pos-relative") .addClass("pos-z-index-1"); if(inputTag.attr("style") == undefined) { inputTag.attr("style",""); } inputTag.attr("style", inputTag.attr("style") + "padding-left:37px;"); inputTag.focus(function(e) { $(bgdTag).attr("style", "display:none"); }); inputTag.focusout(function(e) { if($(this).val() == "") { $(bgdTag).attr("style", ""); } else { $(bgdTag).attr("style", "display:none"); } }); if(inputTag.val() == "") { $(bgdTag).attr("style", ""); } else { $(bgdTag).attr("style", "display:none"); } } function backgroundify($, inputContainer, bgdText) { var bgdDiv = $("

") .addClass("top-padding-10") .addClass("left-padding-5") .attr("style", "position: absolute; z-index: 0"); var bgdTag = $("

") .addClass("top-padding-5") .addClass("left-padding-3") .addClass("large-text") .addClass("light-gray-text") .addClass("pos-float-left") .text(bgdText); bgdDiv.append(bgdTag); $(inputContainer).prepend(bgdDiv); var inputTag = $(inputContainer + " input") .addClass("full-width-form") .addClass("form-tbx") .addClass("pos-relative") .addClass("pos-z-index-1"); inputTag.focus(function(e) { $(bgdTag).attr("style", "display:none"); }); inputTag.focusout(function(e) { if($(this).val() == "") { $(bgdTag).attr("style", ""); } else { $(bgdTag).attr("style", "display:none"); } }); if(inputTag.val() == "") { $(bgdTag).attr("style", ""); } else { $(bgdTag).attr("style", "display:none"); } } function cashify($, inputContainer) { var iconDiv = $("

") .addClass("top-padding-10") .addClass("left-padding-5") .attr("style", "position: absolute; z-index: 0; -border: solid 1px #f00;"); var dollarTag = $("

") .addClass("top-padding-5") .addClass("left-padding-5") .addClass("large-text") .addClass("black-text") .addClass("pos-float-left") .text("$"); var bgdTag = $("

") .addClass("top-padding-5") .addClass("left-padding-5") .addClass("large-text") .addClass("light-gray-text") .addClass("pos-float-left") .text("0.00"); iconDiv.append(dollarTag); iconDiv.append(bgdTag); $(inputContainer).prepend(iconDiv); var inputTag = $(inputContainer + " input") .addClass("full-width-form") .addClass("form-tbx") .addClass("pos-relative") .addClass("pos-z-index-1"); if(inputTag.attr("style") == undefined) { inputTag.attr("style",""); } inputTag.attr("style", inputTag.attr("style") + "padding-left:24px;"); inputTag.focus(function(e) { $(bgdTag).attr("style", "display:none"); }); inputTag.focusout(function(e) { if($(this).val() == "") { $(bgdTag).attr("style", ""); } else { var value = parseFloat($(this).val()); if(isNaN(value) || value == 0) { $(this).val(""); $(bgdTag).attr("style", ""); } else { $(this).val(value.toFixed(2)); $(bgdTag).attr("style", "display:none"); } } }); if(inputTag.val() == "") { $(bgdTag).attr("style", ""); } else { var value = parseFloat(inputTag.val()); if(isNaN(value) || value == 0) { inputTag.val(""); $(bgdTag).attr("style", ""); } else { inputTag.val(value.toFixed(2)); $(bgdTag).attr("style", "display:none"); } } } function percentify($, inputContainer) { var iconDiv = $("

") .addClass("top-padding-10") .addClass("left-padding-5") .attr("style", "position: absolute; z-index: 0"); var percentTag = $("

") .addClass("top-padding-5") .addClass("left-padding-5") .addClass("large-text") .addClass("black-text") .attr("style", "position:absolute; right:10px; top:10px;") .text("%"); var bgdTag = $("

") .addClass("top-padding-5") .addClass("left-padding-5") .addClass("large-text") .addClass("light-gray-text") .addClass("pos-float-left") .text("0"); iconDiv.append(bgdTag); $(inputContainer).prepend(iconDiv); $(inputContainer).append(percentTag); var inputTag = $(inputContainer + " input") .addClass("full-width-form") .addClass("form-tbx") .addClass("pos-relative") .addClass("pos-z-index-1"); if(inputTag.attr("style") == undefined) { inputTag.attr("style",""); } inputTag.focus(function(e) { $(bgdTag).attr("style", "display:none"); }); inputTag.focusout(function(e) { if($(this).val() == "") { $(bgdTag).attr("style", ""); } else { var value = parseFloat($(this).val()); if(isNaN(value) || value <= 0) { $(this).val(""); $(bgdTag).attr("style", ""); } else { if(value > 100) { value = 100; } $(this).val(Math.floor(value)); $(bgdTag).attr("style", "display:none"); } } }); if(inputTag.val() == "") { $(bgdTag).attr("style", ""); } else { var value = parseFloat(inputTag.val()); if(isNaN(value) || value <= 0) { inputTag.val(""); $(bgdTag).attr("style", ""); } else { if(value > 100) { value = 100; } $(this).val(Math.floor(value)); $(bgdTag).attr("style", "display:none"); } } } function clearify($, inputContainer, callback) { var linkTag = $("") .attr("href", "#") .addClass("sprite") .addClass("sprite-icon-small") .addClass("sprite-x-icon-small") .addClass("hidden-content") .attr("style", "position: absolute; right: 10px; top: 15px; z-index: 2;"); var inputTag = $(inputContainer + " input") .addClass("full-width-form") .addClass("form-tbx") .addClass("pos-relative") .addClass("pos-z-index-1"); if(inputTag.attr("style") == undefined) { inputTag.attr("style",""); } inputTag.attr("style", inputTag.attr("style") + "padding-right: 31px;"); $(inputContainer).append(linkTag); inputTag.on("input propertychange paste", function(e) { if($(this).val() == "") { linkTag.addClass("hidden-content"); } else { linkTag.removeClass("hidden-content"); } }); if(inputTag.val() == "") { linkTag.addClass("hidden-content"); } else { linkTag.removeClass("hidden-content"); } linkTag.click(function(e) { inputTag.val(""); linkTag.addClass("hidden-content"); inputTag.blur(); callback(); e.preventDefault(); }); } function AwesomeSauceTable(pageSize) { var offset = 0; var data = []; var resultsUpdated = false; var clearEntriesCallbacks = []; var getTemplateCallbacks = []; var addEntryCallbacks = []; var setPagersVisibleCallback = function(visible) {}; var setLeftPagerVisibleCallback = function(visible) {}; var setRightPagerVisibleCallback = function(visible) {}; var updateTableEventHandlersCallback = function() {}; var accentFold = function(str) { // A lot more potential options can go here return str.replace("“", "\"") .replace("”", "\"") .replace("’", "'") ; }; var htmlEntify = function(str) { // A lot more could go here return str.replace("$", "$"); }; var searchify = function(searchText) { for(var t=0; t 0) { searchTerms.push(htmlEntify(accentFold(parts[i])).toLowerCase()); } } searchTerms.sort(function(a, b) { if(a.length < b.length) { return -1; } else if(a.length > b.length) { return 1; } else { return 0; } }).reverse(); var matchCount = 0; var addedCount = 0; for(var i=0; i= 0) { isSearchTermSubstringOfOther = true; } } matches.push(isSearchTermSubstringOfOther); } for (var key in entry) { if (entry.hasOwnProperty(key)) { var components = [ { "type":"string", "val":String(entry[key]) } ]; for(var s=0; s= 0) { newComponents.push( { "type":"string", "val":components[e]["val"].substring(0, idx) }); newComponents.push( { "type":"match", "val":components[e]["val"].substring(idx, idx + searchTerms[s].length) }); newComponents.push( { "type":"string", "val":components[e]["val"].substring(idx + searchTerms[s].length) }); matches[s] = true; } else { newComponents.push(components[e]); } } else { newComponents.push(components[e]); } } components = newComponents; } var replacement = ""; for(var e=0; e"; replacement += components[e]["val"]; replacement += ""; } } for(var t=0; t= offset) { if(addedCount == pageSize) { return true; } else { for(var t=0; t 0); var moreResults = searchify(searchText); setLeftPagerVisibleCallback(offset != 0); setRightPagerVisibleCallback(moreResults); updateTableEventHandlersCallback(); } }, }; } function validateEmail(email) { return email.match( /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ); };