$(document).ready(function(){ $('#jobAlertMessage').hide(); $('#jobAlertLoading').hide(); $('#signup').hover( function(){ $(this).addClass("ui-state-hover"); }, function(){ $(this).removeClass("ui-state-hover"); } ).mousedown( function(){ $(this).addClass("ui-state-active"); } ).mouseup( function(){ $(this).removeClass("ui-state-active"); } ).click( function(){ save_jobalert(); } ); $('#alertEmail').focus( function() { $(this).removeClass('ui-state-error'); } ); $('#alertZip').focus( function() { $(this).removeClass('ui-state-error'); } ); $('#alertIndustry').focus( function() { $(this).removeClass('ui-state-error'); } ); var allFields = $([]).add($('#alertEmail')).add($('#alertZip')).add($('#alertIndustry')); $("#dialog").dialog({ bgiframe: true, draggable: true, closeOnEscape: true, resizable: false, autoOpen: false, title: 'Job Alerts', maxWidth: 340, maxHeight: 334, open: function(){ $('#alertEmail').val(''); $('#alertEmail').tabIndex = 1; $('#alertZip').val(''); $('#alertZip').tabIndex = 2; document.getElementById('all').checked = false; document.getElementById('alertInfo').checked = true; allFields.val('').removeClass('ui-state-error'); $('#alertIndustry').val(['Select Job Industry']); $('#alertZip').tabIndex = 3; $('#all').tabIndex = 4; $('#alertInfo').tabIndex = 5; $('#signup').tabIndex = 6; }, close: function(){ allFields.val('').removeClass('ui-state-error'); $('#alertIndustry').val(['Select Job Industry']); } }); $('#windowOpen').click(function(){ $("#dialog").dialog('open'); }); $('#all').change(function(){ $('#alertIndustry').removeClass('ui-state-error'); if ($('#all:checked').val() == "allindustries") { var optNames = new Array(); var selOptions = $('select[name=alertIndustry] option').each(function(){ if ($(this).text() != "Select Job Industry") { optNames.push($(this).text()); } }); $('#alertIndustry').val(optNames); } else { $('#alertIndustry').val(['Select Job Industry']); } }); }); function save_jobalert(){ var email = $('#alertEmail').val(); var zip = $('#alertZip').val(); var industry_id = $('#alertIndustry').val(); var allFields = $([]).add($('#alertEmail')).add($('#alertZip')).add($('#alertIndustry')); var consent = 0; var valid = true; var message = ""; if ($('input:checkbox[name=alertInfo]:checked').val() == "consent") { consent = 1; } if (email.match(/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i)) { // Successful match } else { valid = false; message += '\nPlease enter a valid email address.'; $('#alertEmail').addClass('ui-state-error'); } if (zip.match(/\b[0-9]{5}(?:-[0-9]{4})?\b/)) { // Successful match } else { valid = false; message += '\nPlease enter a valid zip code.'; $('#alertZip').addClass('ui-state-error'); } if (industry_id == 0) { valid = false; message += '\nPlease select at least one industry.'; $('#alertIndustry').addClass('ui-state-error'); } if (!valid) { alert('There was a problem processing your entry:' + message); return false; } else { var indust = industry_id.join(); var industStr = indust.replace(/^0,\s*?/, ''); var params = { email:email, consent:consent, zip:zip, industries:industStr }; var str = jQuery.param(params); //alert("submitted ok!"); $.ajax({ type: "POST", dataType: 'xml', url: WEBDIR+"jobAlerts/createJobAlert", data: str, beforeSend: function(){ $("#jobAlertForm").hide(); $('#jobAlertLoading').show(); }, success: function(xml){ if($("result",xml).text() == "Success"){ allFields.val('').removeClass('ui-state-error'); document.getElementById('all').checked = false; document.getElementById('alertInfo').checked = true; $('#alertIndustry').val(['Select Job Industry']); $('#jobAlertLoading').hide(); $("#jobAlertMessage").show(); } else { var errors = $("errors",xml).text(); alert('There was a problem processing your entry:\n'+errors); $('#jobAlertLoading').hide(); $('#jobAlertMessage').hide(); $('#jobAlertForm').show(); } } }); } return false; }