1var getHost=function(){var scripts=document.getElementsByTagName("script");var i;for(i=0;i<scripts.length;i++){var urlAttribute=scripts[i].attributes.getNamedItem("src");if(urlAttribute){var url=urlAttribute.nodeValue;if(typeof url!='undefined'&&url.indexOf("revinate-form")!=-1){var parser=document.createElement("a");parser.href=url;if(parser.host.indexOf('inguest.com')!=-1){return parser.host}}}} 2return"contact-api.inguest.com"};var getSubmitButton=function(doc){var elements=doc.getElementsByTagName("button");var i;for(i=0;i<elements.length;i++){if(elements[i].attributes.getNamedItem("type").nodeValue=="submit"){return elements[i]}} 3return undefined};var getFormData=function(form,token){var inputs=Array.prototype.slice.call(form.getElementsByTagName("input"));var selects=Array.prototype.slice.call(form.getElementsByTagName("select"));var textareas=Array.prototype.slice.call(form.getElementsByTagName("textarea"));var elements=[].concat(inputs,selects,textareas);var data={tokens:[token],contacts:[]};var contact={};var i=0;for(i=0;i<elements.length;i++){switch(elements[i].nodeName){case 'INPUT':if(elements[i].type=='checkbox'){contact[elements[i].name]=elements[i].checked;break} 4case 'SELECT':if(elements[i].type=='select-multiple'){var j=0;var selected=[];for(j=0;j<elements[i].options.length;j++){if(elements[i].options[j].selected){selected.push(elements[i].options[j].value)}} 5contact[elements[i].name]=selected;break} 6default:var group=elements[i].getAttribute('data-group');var delimiter=elements[i].getAttribute('data-delimiter');var elementName=elements[i].name;var elementValue=elements[i].value;if(group){if(!elementValue){break} 7if(contact.hasOwnProperty(group)){contact[group]+=elementValue}else{contact[group]=elementValue} 8if(delimiter){contact[group]+=delimiter} 9break} 10contact[elementName]=elementValue}} 11data.contacts=[contact];return data};var revFormOnSubmit=function(){var form=document.getElementById("revinate_contact_api_form");var token=form.attributes.getNamedItem('token').nodeValue;var data=getFormData(form,token);if(typeof data.contacts[0].email=='undefined'||data.contacts[0].email==""){return} 12var url="https://"+getHost()+"/api/add-contacts-to-lists";var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");var button=getSubmitButton(form);button.disabled=!0;xhr.onreadystatechange=function(){if(xhr.readyState==XMLHttpRequest.DONE){if(xhr.status==200){if(typeof button!='undefined'){button.innerHTML="Submitted";button.disabled=!0}}else{if(typeof button!='undefined'){button.innerHTML="Failed";button.disabled=!1}}}};xhr.open("POST",url,!0);xhr.setRequestHeader("Content-Type","text/plain");var payload=JSON.stringify(data);xhr.send(payload)}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.