var empty = [{"name":"Select Country First","alpha-2":"-1", "mm":-1}]; var states = [{"name":"Select State *","alpha-2":"-1", "mm":-1},{"name":"Alabama","alpha-2":"AL", "mm":0},{"name":"Alaska","alpha-2":"AK", "mm":1},{"name":"Arizona","alpha-2":"AZ", "mm":2},{"name":"Arkansas","alpha-2":"AR", "mm":3},{"name":"California","alpha-2":"CA", "mm":4},{"name":"Colorado","alpha-2":"CO", "mm":5},{"name":"Connecticut","alpha-2":"CT", "mm":6},{"name":"Delaware","alpha-2":"DE", "mm":7},{"name":"District of Columbia","alpha-2":"DC", "mm":8},{"name":"Florida","alpha-2":"FL", "mm":9},{"name":"Georgia","alpha-2":"GA", "mm":10},{"name":"Hawaii","alpha-2":"HI", "mm":11},{"name":"Idaho","alpha-2":"ID", "mm":12},{"name":"Illinois","alpha-2":"IL", "mm":13},{"name":"Indiana","alpha-2":"IN", "mm":14},{"name":"Iowa","alpha-2":"IA", "mm":15},{"name":"Kansa","alpha-2":"KS", "mm":16},{"name":"Kentucky","alpha-2":"KY", "mm":17},{"name":"Lousiana","alpha-2":"LA", "mm":18},{"name":"Maine","alpha-2":"ME", "mm":19},{"name":"Maryland","alpha-2":"MD", "mm":20},{"name":"Massachusetts","alpha-2":"MA", "mm":21},{"name":"Michigan","alpha-2":"MI", "mm":22},{"name":"Minnesota","alpha-2":"MN", "mm":23},{"name":"Mississippi","alpha-2":"MS", "mm":24},{"name":"Missouri","alpha-2":"MO", "mm":25},{"name":"Montana","alpha-2":"MT", "mm":26},{"name":"Nebraska","alpha-2":"NE", "mm":27},{"name":"Nevada","alpha-2":"NV", "mm":28},{"name":"New Hampshire","alpha-2":"NH", "mm":29},{"name":"New Jersey","alpha-2":"NJ", "mm":30},{"name":"New Mexico","alpha-2":"NM", "mm":31},{"name":"New York","alpha-2":"NY", "mm":32},{"name":"North Carolina","alpha-2":"NC", "mm":33},{"name":"North Dakota","alpha-2":"ND", "mm":34},{"name":"Ohio","alpha-2":"OH", "mm":35},{"name":"Oklahoma","alpha-2":"OK", "mm":36},{"name":"Oregon","alpha-2":"OR", "mm":37},{"name":"Pennsylvania","alpha-2":"PA", "mm":38},{"name":"Rhode Island","alpha-2":"RI", "mm":39},{"name":"South Carolina","alpha-2":"SC", "mm":40},{"name":"South Dakota","alpha-2":"SD", "mm":41},{"name":"Tennessee","alpha-2":"TN", "mm":42},{"name":"Texas","alpha-2":"TX", "mm":43},{"name":"Utah","alpha-2":"UT", "mm":44},{"name":"Vermont","alpha-2":"VT", "mm":45},{"name":"Virginia","alpha-2":"VA", "mm":46},{"name":"Washington","alpha-2":"WA", "mm":47},{"name":"West Virginia","alpha-2":"WV", "mm":48},{"name":"Wisconsin","alpha-2":"WI", "mm":49},{"name":"Wyoming","alpha-2":"WY", "mm":50}]; var provinces = [{"name":"Select Province *","alpha-2":"", "mm":-1},{"name":"Alberta","alpha-2":"AB","mm":51},{"name":"British Columbia","alpha-2":"BC","mm":52},{"name":"Manitoba","alpha-2":"MB","mm":53},{"name":"New Brunswick","alpha-2":"NB","mm":54},{"name":"Newfoundland and Labrador","alpha-2":"NL","mm":55},{"name":"Nova Scotia","alpha-2":"NS","mm":56},{"name":"Northwest Territories","alpha-2":"NT","mm":57},{"name":"Nunavut","alpha-2":"NU","mm":58},{"name":"Ontario","alpha-2":"NT","mm":59},{"name":"Prince Edward Island","alpha-2":"PE","mm":60},{"name":"Quebec","alpha-2":"QC","mm":61},{"name":"Saskatchewan","alpha-2":"SK","mm":62},{"name":"Yukon","alpha-2":"YT","mm":63}]; var other = [{"name":"None Available","alpha-2":"-1", "mm":-1}];
var recaptchaCallback = function(response) { $("#hiddenRecaptcha").valid(); };
function countWords(w){ var r = 0; a = w.replace(/\s/g,' '); a = a.split(' '); for (z=0; z < a.length; z++) { if (a[z].length > 0) r++; } return r; }
$.validator.addMethod("usernameCheck", function(value) { // Returns succesful if username is NOT used var notDuplicateUsername = false; $.ajax({ url: '/ajax?action=usernameCheck&username=' + escape(value), success: function(data) { notDuplicateUsername = (data.result == 'success'); }, dataType: 'json', async: false }, "json"); return notDuplicateUsername; }, 'Already in Use or Bad Username (Only Letters, Numbers, and spaces).');
$.validator.addMethod("stateCheck", function(value) { // Returns succesful if country = USA and State is Selected or Country different country = $('#countrySelect').val(); console.log("Validate - State: " + value + " Country: " + country); return (country != 224 && country != 37) || value >= 0; }, 'Required if in USA and Canada.');
$.validator.addMethod("selectCheck", function(value) { return value >= 0; }, 'This field is required.');
$.validator.addMethod("shortBioCheck", function(value) { wordCount = countWords(value); return wordCount > 1 && wordCount < 26; }, 'Use between 2 and 25 words.'); $.validator.addMethod("NotaRobot", function(value) { wordCount = countWords(value); return wordCount > 1 && wordCount < 26; }, 'Use between 2 and 25 words.'); // Jquery extension to easily replace select options (function($, window) { $.fn.replaceOptions = function(options) { var self, $option; this.empty(); self = this; $.each(options, function(index, option) { $option = $("") .attr("value", option['mm']) .text(option.name); self.append($option); }); }; })(jQuery, window);
function updateStateSelect() { var countrySelect = $("#countrySelect"); var stateSelect = $("#stateSelect"); console.log("Updating country select: " + countrySelect.val()); $("#stateInput").prop('disabled', true).hide(); if(countrySelect.val() == 224) { stateSelect.replaceOptions(states); stateSelect.prop('disabled', false).show(); } else if(countrySelect.val() == 37) { stateSelect.replaceOptions(provinces); stateSelect.prop('disabled', false).show(); } else if(countrySelect.val() == -1) { stateSelect.replaceOptions(empty); stateSelect.prop('disabled', true).show(); } else { stateSelect.replaceOptions(other); stateSelect.prop('disabled', true).show(); } }
$(function() {
$("#producer-signup-form").validate({ ignore: ".tt-input", rules: { username: { required: true, minlength: 5, maxlength: 35, usernameCheck: true }, firstname: "required", lastname: "required", city: "required", zip: "required", phone: "required", state: { stateCheck: true }, country: { required: true, selectCheck: true }, email: { required: true }, short_bio: { required: true, shortBioCheck: true }, rate: { required: true, selectCheck: true
}, password: { required: true, minlength: 5, maxlength: 35 }, confirmpassword: { required: true, equalTo: "#password", minlength: 5, maxlength: 35 }, "hiddenRecaptcha": { required: function() { if(grecaptcha.getResponse() == '') { return true; } else { return false; } } }, skills: "required", categories: "required", //camera: "required", //lighting: "required", //audiogear: "required", //editsoftware: "required", agree_terms: "required" }, highlight: function(element) { $(element).closest(".form-group").addClass("has-error"); }, unhighlight: function(element) { $(element).closest(".form-group").removeClass("has-error"); }, errorElement: "span", errorClass: "help-block", errorPlacement: function(error, element) { if (element.parent(".input-group").length) { error.insertAfter(element.parent()); } else { error.insertAfter(element); } } });
updateStateSelect(); $("#countrySelect").change(function(e){ updateStateSelect(); $("#stateSelect").valid(); });
var skillset = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'), queryTokenizer: Bloodhound.tokenizers.whitespace, prefetch: '/ajax?action=skillTags' }); skillset.clearPrefetchCache(); skillset.initialize();
$('.skills').tagsinput({ itemValue: 'value', itemText: 'text', typeaheadjs: { name: 'skillset', displayKey: 'text', source: skillset.ttAdapter() } });
// needed for validation $('.skills').on('itemAdded', function(event) { $('.skills').valid(); }).on('itemRemoved', function(event) { $('.skills').valid(); });
// Categories lookup var categories = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'), queryTokenizer: Bloodhound.tokenizers.whitespace, prefetch: '/ajax?action=categoryTags' }); categories.clearPrefetchCache(); categories.initialize();
$('.categories').tagsinput({ itemValue: 'value', itemText: 'text', typeaheadjs: { name: 'categories', displayKey: 'text', source: categories.ttAdapter() } });
// needed for validation $('.categories').on('itemAdded', function(event) { $('.categories').valid(); }).on('itemRemoved', function(event) { $('.categories').valid(); });
/* var projcategories = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), queryTokenizer: Bloodhound.tokenizers.whitespace, prefetch: { url: 'assets/projcategories.json', filter: function(list) { return $.map(list, function(catname) { return { name: catname }; }); } } }); projcategories.initialize();
$('.categories').tagsinput({ typeaheadjs: { name: 'projcategories', displayKey: 'name', valueKey: 'name', source: projcategories.ttAdapter() } });*/ });