// setup param grabbing function getUrlParameter(sParam) { var sPageURL = window.location.search.substring(1); var sURLVariables = sPageURL.split('&'); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split('='); if (sParameterName[0] == sParam) { return decodeURIComponent(sParameterName[1].replace(/\+/g, ' ')); } } } function paramPresent(param) { return getUrlParameter(param) !== void 0 && getUrlParameter(param) !== ''; } // build featured results in a carousel: https://www.codeply.com/go/UBE4KZIeSJ function carouselBuild() { $('#resultsCarousel .carousel-item').each(function() { var minPerSlide = 3; var next = $(this).next(); if (!next.length) { next = $(this).siblings(':first'); } next.children(':first-child').clone().appendTo($(this)); for (var i = 0; i < minPerSlide; i++) { next = next.next(); if (!next.length) { next = $(this).siblings(':first'); } next.children(':first-child').clone().appendTo($(this)); } }); } function translateMonthsUntilStart(monthsUntilStart) { // translate var monthsToStartInt = parseInt(monthsUntilStart); var today = new Date(); var dd = today.getDate(); var mm = (today.getMonth() + 1 + monthsToStartInt) % 12; // January is 0! if (mm === 0) { mm = 12; // edge case for December } var yyyy = today.getFullYear(); if (dd < 10) { dd = '0' + dd; } if (mm < 10) { mm = '0' + mm; } return yyyy + '-' + mm + '-' + dd; } function translateAge(age) { var today = new Date(); var yyyy = today.getFullYear() - age; return yyyy + '-01-01'; } // grab user data via maxmind window.mmResults = function(ip, zip, city, state) { var areaOfStudyMapping = { '1': [ 'Criminal Justice & Legal' ], // criminal justice '3': [ 'Business' ], // business '14': [ 'Computers & Technology' ], // information technology '18': [ 'Fine Arts & Design' ], // art and design '23': [ 'Health, Nursing, Medicine' ], // healthcare '27': [ 'Social and Behavioral Sciences' ], // psychology '33': [ 'Education & Teaching' ], // education '40': [ 'Liberal Arts & Humanities' ], // general '175': [ 'Vocational Training' ], // trade skills '229': [ 'Math, Science & Engineering' ] // science and engineering }; var degreeLevelMapping = { '5': 'Associate', // associate '6': 'Bachelor', // bachelors '7': 'Master', // masters '8': 'Doctorate', // doctorate '9': 'Certificate / Diploma', // certificate '11': 'Certificate / Diploma', // diploma '10': 'Bachelor', // continuing education '13': 'Master', // graduate certificate '12': 'Doctorate', // post-doctoral certificate '14': 'Associate' // tutoring, supplemental ed }; var eduLevelMapping = { '1': "Haven't completed High School", // some high school '2': 'High School', // high school diploma '3': 'GED', // GED '4': 'Some College', // some college '5': 'Associate', // associate '6': 'Bachelor', // bachelors '7': 'Master', // masters '8': 'Doctorate' //doctorate }; var militaryMapping = { false: 'None', true: 'Active Duty(AD)' }; var schoolTypeMapping = { online: 'Online Only', campus: 'Campus Only', both: 'Campus or Online' }; var usCitizenMapping = { '1': true, '0': false, true: true, false: false }; var rnLicenseMapping = { '1': '1', '0': '0', true: '1', false: '0' }; // vars from params var ip = ip; var zip = zip; var city = city; var state = state; // TODO: See if changing grad year changes age // presets // education level if (paramPresent('education_level')) { var education_level = getUrlParameter('education_level'); } else if (paramPresent('education_level_id')) { var education_level = eduLevelMapping[getUrlParameter('education_level_id')]; } else { var education_level = 'Associate'; } // degree level if (paramPresent('degree_level')) { var degree_level = getUrlParameter('degree_level'); } else if (paramPresent('degree_level_id')) { var degree_level = degreeLevelMapping[getUrlParameter('degree_level_id')]; } else { var degree_level = 'Bachelor'; } // study area var defaultStudyArea = ['Health, Nursing, Medicine']; if (window.rootStudyAreaId) { var study_area = areaOfStudyMapping[window.rootStudyAreaId]; } else if (paramPresent('area_of_study')) { var study_area = getUrlParameter('area_of_study'); } else { var study_area = defaultStudyArea; } var hs_grad_year = paramPresent('hs_grad_year') ? getUrlParameter('hs_grad_year') : '2013'; var age = paramPresent('age') ? getUrlParameter('age') : '25'; var zip = paramPresent('zip') ? getUrlParameter('zip') : zip; // set utm params to session if (paramPresent('utm_source')) { var utm_source = getUrlParameter('utm_source'); localStorage.setItem('utm_source', utm_source); } else { var utm_source = localStorage.getItem('utm_source') || null; } if (paramPresent('utm_campaign')) { var utm_campaign = getUrlParameter('utm_campaign'); localStorage.setItem('utm_campaign', utm_campaign); } else { var utm_campaign = localStorage.getItem('utm_campaign') || null; } if (paramPresent('utm_medium')) { var utm_medium = getUrlParameter('utm_medium'); localStorage.setItem('utm_medium', utm_medium); } else { var utm_medium = localStorage.getItem('utm_medium') || null; } if (paramPresent('utm_content')) { var utm_content = getUrlParameter('utm_content'); localStorage.setItem('utm_content', utm_content); } else { var utm_content = localStorage.getItem('utm_content') || null; } if (paramPresent('utm_term')) { var utm_term = getUrlParameter('utm_term'); localStorage.setItem('utm_term', utm_term); } else { var utm_term = localStorage.getItem('utm_term') || null; } if (paramPresent('age_level')) { var age_level = getUrlParameter('age_level'); } else { var age_level = 30; } // prefill sidebar form $("input[name='zip']").val(zip); $("input[name='hs_grad_year']").val(hs_grad_year); $("select[name='degree_level']").val(degree_level); $("select[name='area_of_study']").val(study_area); $("select[name='education_level']").val(education_level); function consoleDump() { console.log( 'Degree Level: ' + degree_level + '\nStudy Area: ' + study_area + '\nZip: ' + zip + '\nHS Grad Year: ' + hs_grad_year + '\nEducation Level: ' + education_level + '\nAge: ' + age + '\nSub 1: ' + utm_source + '\nSub2: ' + utm_campaign ); } // consoleDump(); // populate header text $('#degree_level_text').html(degree_level); $('#study_area_text').html(study_area); $('#city_text').html(city); $('#state_text').html(state); // make the api request var xml_request = { product: 'clicks', vertical: 'education', exclusive: false, source_token: 'Aw6LI4zv-pqqmKbBxPAPQ4yW04iIlw', // CF Featured School Listing - Premium Sites exclude_buyers: [ window.excludeBuyers ], limit: 6, data: { sub_1: window.providerId, sub_2: window.siteDomain, sub_3: paramPresent('subid3') ? getUrlParameter('subid3') : 'referral', // "age": getUrlParameter('age_level') || "30", education_level: education_level, degree_level: degree_level, area_of_study: study_area, zipcode: paramPresent('zip') ? getUrlParameter('zip') : zip, ip_address: ip, user_agent: navigator.userAgent, utm_source: utm_source, utm_campaign: utm_campaign, utm_medium: utm_medium, utm_content: utm_content, utm_term: utm_term, source_url: encodeURIComponent(location.protocol + '//' + location.host + location.pathname), // cfurl and initiatingurl us_citizen: paramPresent('us_citizen') ? usCitizenMapping[getUrlParameter('us_citizen')] : true, high_school_graduation_year: paramPresent('hs_grad_year') ? parseInt(getUrlParameter('hs_grad_year')) : 2004, learning_preference: paramPresent('school_type') ? schoolTypeMapping[getUrlParameter('school_type')] : 'Campus or Online', military_affiliation: paramPresent('military_affiliation') ? militaryMapping[getUrlParameter('military_affiliation')] : 'None', planned_start_date: paramPresent('months_until_start') ? translateMonthsUntilStart(getUrlParameter('months_until_start')) : translateMonthsUntilStart(3), date_of_birth: translateAge(age_level), registered_nurse: paramPresent('rn_license') ? rnLicenseMapping[getUrlParameter('rn_license')] : '0' } }; var results_i = 1; console.log(xml_request); var json_request = JSON.stringify(xml_request); var apiUrl = 'https://matching.platform.ue.co/ping'; var xmlhttp = new XMLHttpRequest(); // render the results xmlhttp.error = function(error) { console.log(error); }; xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 201) { var i = 0; var myObj = JSON.parse(this.responseText); console.log(myObj); if (myObj.bids == 0) { $('.noresults').show(); $('#featured_listing').hide(); } else { $('.noresults').hide(); } $('.loading').hide(); for (x in myObj.bids) { if (i == 4) { break; } var result = myObj.bids[x]; var description = result.description != undefined ? result.description : ''; var trimmedDescription = result.description != undefined ? description.substring(0, 400) : ''; var trimmedDescriptionTwo = result.description != undefined ? description.substring(0, 200) : ''; var clickUrl = result.click_url; var imgUrl = result.image_url; var schoolHeadline = result.headline != undefined ? result.headline : result.buyer_name; var schoolName = result.buyer_name; var displayUrl = result.display_url != undefined ? result.display_url : 'Visit ' + schoolName + ' Site'; var impressionPixel = result.impression_html != undefined ? result.impression_html : ''; if ($('#mastodon-results').length) { if (description.length > 1) { document.getElementById('mastodon-results').innerHTML += "
Visit School’s Site
" + impressionPixel + '
'; } } else if ($('#mastodon-carousel').length) { document.getElementById('mastodon-carousel').innerHTML += ""; } else if ($('#mastodon-featured-school-blocks').length) { document.getElementById('mastodon-featured-school-blocks').innerHTML += "
'; i++; // limits results to 4 } else if ($('#mastodon-simple-results').length) { if (description.length > 1) { document.getElementById('mastodon-simple-results').innerHTML += "

" + schoolHeadline + "

Ad " + displayUrl + '

' + trimmedDescriptionTwo + " Read more

" + impressionPixel + '
'; i++; } } if ($('#mastodon-table-results').length) { document.getElementById('mastodon-table-results').innerHTML += "Request Info" + schoolName + "

" + trimmedDescription + "… Learn more >

"; } results_i++; } carouselBuild(); } }; var api_token = 'ebbc6c04-93d5-11ea-bb37-0242ac130002'; xmlhttp.open('POST', apiUrl, true); xmlhttp.setRequestHeader('Authorization', 'Bearer ' + api_token); xmlhttp.send(json_request); };