function haSetCookie(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); let expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function haGetCookie(cname) { let name = cname + "="; let decodedCookie = decodeURIComponent(document.cookie); let ca = decodedCookie.split(';'); for(let i = 0; i { return String(email) .toLowerCase() .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,}))$/ ); }; function haSaveIFSEmailToCookies() { var cEmail = jQuery("#inf_field_Email").val() if (validateEmail(cEmail)) { console.log(cEmail); haSetCookie('haVisitorEmail', cEmail, 10); } } jQuery(function() { jQuery("#inf_field_Email").change(function(){ haSaveIFSEmailToCookies(); }); jQuery("#inf_field_Email").on('input', function() { haSaveIFSEmailToCookies(); }); }); var haMarketSelectModule = angular.module('haBasicFormMarketSelectModule', []); haMarketSelectModule.controller('haBasicFormMarketSelectController', function($scope,$http) { $scope.testVar = "TestValue"; $scope.membership_level_annual = '0'; $scope.membership_level_monthly = '0'; $scope.marketsSelected = {}; $scope.market_type = ''; $scope.msa_1 = ''; $scope.msa_2 = ''; $scope.msa_3 = ''; $scope.state_1 = ''; $scope.state_2 = ''; $scope.state_3 = ''; $scope.region_1 = ''; $scope.region_2 = ''; $scope.region_3 = ''; $scope.state_filter_1 = ''; $scope.filter_msas_1 = {state: 'XX'}; $scope.state_filter_2 = ''; $scope.filter_msas_2 = {state: 'XX'}; $scope.state_filter_3 = ''; $scope.filter_msas_3 = {state: 'XX'}; $scope.marketsSelected = []; $scope.resetSelection = function() { console.log("resetSelection!"); $scope.marketsSelected = {}; $scope.market_type = 'USA'; $scope.msa_1 = ''; $scope.msa_2 = ''; $scope.msa_3 = ''; $scope.state_1 = ''; $scope.state_2 = ''; $scope.state_3 = ''; $scope.region_1 = ''; $scope.region_2 = ''; $scope.region_3 = ''; $scope.state_filter_1 = ''; $scope.filter_msas_1 = {state: 'XX'}; $scope.state_filter_2 = ''; $scope.filter_msas_2 = {state: 'XX'}; $scope.state_filter_3 = ''; $scope.filter_msas_3 = {state: 'XX'}; $scope.updateHiddenMarketFields(); } $scope.updateHiddenMarketFields = function() { console.log("Setting the hidden fields..."); for (var i = 1; i<=3; i++) { if (typeof $scope.marketsSelected['market_' + i] != 'undefined') { jQuery('input').closest('#MarketLocation' + i).val($scope.marketsSelected['market_' + i].id); jQuery('input').closest('#MarketLocation' + i + 'Name').val($scope.marketsSelected['market_' + i].name); jQuery('input').closest('#FunnelMarketLocation' + i).val($scope.marketsSelected['market_' + i].id); jQuery('input').closest('#FunnelMarketLocation' + i + 'Name').val($scope.marketsSelected['market_' + i].name); jQuery('input').closest('#RequestedMarket' + i).val($scope.marketsSelected['market_' + i].id); jQuery('input').closest('#RequestedMarket' + i + 'Name').val($scope.marketsSelected['market_' + i].name); } else { jQuery('input').closest('#MarketLocation' + i).val(''); jQuery('input').closest('#MarketLocation' + i + 'Name').val(''); jQuery('input').closest('#FunnelMarketLocation' + i).val(''); jQuery('input').closest('#FunnelMarketLocation' + i + 'Name').val(''); jQuery('input').closest('#RequestedMarket' + i).val(''); jQuery('input').closest('#RequestedMarket' + i + 'Name').val(''); } } this.saveContactSelection(); } $scope.isMarketSelected = function(marketId) { for (var i in $scope.marketsSelected) { if ($scope.marketsSelected[i].id == marketId) return true; } return false; } $scope.setMarket = function(fieldModelName) { $scope.market_type = 'USA'; if (fieldModelName.indexOf('state') > -1) $scope.market_type = 'State'; if (fieldModelName.indexOf('region') > -1) $scope.market_type = 'Region'; var marketIndex = parseInt(fieldModelName.slice(-1)); var marketName = $scope.getMarketNameById($scope[fieldModelName]); $scope.marketsSelected['market_' + marketIndex] = { id: $scope[fieldModelName], name: marketName }; $scope.updateHiddenMarketFields(); // console.log(">>>" + $scope[fieldModelName] + ">>>" + marketIndex + ">>>" + marketName); } $scope.getMarketNameById = function(marketId) { for (var i in $scope.msas) { if ($scope.msas[i].id == marketId) return $scope.msas[i].name; } for (var i in $scope.states) { if ($scope.states[i].id == marketId) return $scope.states[i].name_full; } for (var i in $scope.regions) { if ($scope.regions[i].id == marketId) return $scope.regions[i].name_full; } return "ERR_UKMN"; } $scope.updateSelectStateFilters = function() { $scope.filter_msas_1.state = $scope.state_filter_1; $scope.filter_msas_2.state = $scope.state_filter_2; $scope.filter_msas_3.state = $scope.state_filter_3; } $http.get('https://www.housingalerts.com/ext/tools/datafeed/?request=markets&option=msas').then(function(data) { data = data.data; //Angular 1.6.5 fix ( not needed with 1.4.something ) for (var key in data) { data[key]['id'] -= 4921; if ( typeof data[key].name != 'undefined') { var states_str = data[key].name.substring(data[key].name.indexOf(',')); data[key].state = states_str.replace("(MSAD)",""); } } $scope.msas = data; }); $http.get('https://www.housingalerts.com/ext/tools/datafeed/?request=markets&option=states').then(function(data) { data = data.data; //Angular 1.6.5 fix ( not needed with 1.4.something ) for (var key in data) { data[key]['id'] -= 4921; } $scope.states = data; }); $http.get('https://www.housingalerts.com/ext/tools/datafeed/?request=markets&option=regions').then(function(data) { data = data.data; //Angular 1.6.5 fix ( not needed with 1.4.something ) for (var key in data) { data[key]['id'] -= 4921; } $scope.regions = data; }); });