function PageQuery(q) { if(q.length > 1) this.q = q.substring(1, q.length); else this.q = null; this.keyValuePairs = new Array(); if(q) { for(var i=0; i < this.q.split("&").length; i++) { this.keyValuePairs[i] = this.q.split("&")[i]; } } this.getKeyValuePairs = function() { return this.keyValuePairs; } this.getValue = function(s) { for(var j=0; j < this.keyValuePairs.length; j++) { if(this.keyValuePairs[j].split("=")[0] == s) return this.keyValuePairs[j].split("=")[1]; } return -1; } this.getParameters = function() { var a = new Array(this.getLength()); for(var j=0; j < this.keyValuePairs.length; j++) { a[j] = this.keyValuePairs[j].split("=")[0]; } return a; } this.getLength = function() { return this.keyValuePairs.length; } } function replace(string,text,by) { // Replaces text with by in string var i = string.indexOf(text), newstr = ''; if ((!i) || (i == -1)) return string; newstr += string.substring(0,i) + by; if (i+text.length < string.length) newstr += replace(string.substring(i+text.length,string.length),text,by); return newstr; } function split(string,text) { var strLength = string.length, txtLength = text.length; if ((strLength == 0) || (txtLength == 0)) return; var i = string.indexOf(text); if ((!i) && (text != string.substring(0,txtLength))) return; if (i == -1) { splitArray[splitIndex++] = string; return; } splitArray[splitIndex++] = string.substring(0,i); if (i+txtLength < strLength) split(string.substring(i+txtLength,strLength),text); return; } function split(string,text) { splitArray = string.split(text); splitIndex = splitArray.length; } var xid=""; var passed = replace(replace(location.search.substring(1),"+"," "),"=","&"); var splitIndex = 0, splitArray = new Object(); split(passed,'&'); function findXID() { for (var i=0; i -1) qs = ""; return qs; } // the following function is used primarily for offer jump urls function replaceQSKeys(dfltCID) { // dfltCID is optional, for setting default CIDs for a specific OID var inheritedCID = String(getQueryValue("CID")).toLowerCase(); var defaultCID = String(dfltCID).toLowerCase(); var CIDKey = new String(""); if (defaultCID != "" && defaultCID != "undefined") CIDKey = "CID="+defaultCID+"&"; var qs = window.top.location.search.replace(/\?OID=/ig, "?JUMPOID=").replace(/\?CMP=/ig,"?JUMPCMP=").replace(/\&OID=/ig, "&JUMPOID=").replace(/\&CMP=/ig,"&JUMPCMP="); qs = qs.substring(qs.indexOf("?")+1,qs.length); if (inheritedCID == "undefined" || inheritedCID == "") qs = CIDKey+qs; if (qs.charAt(qs.length-1) == "&") { qs = qs.substr(0, (qs.length-1)); } return qs; } // developed for regpath; needs to be expanded to account for repeated values in ofxsCSV function ofxIndex(ofxCurrent, ofxsCSV) { // expects a single string for ofxCurrent; unique CSV for ofxsCSV; both values required var offerCurrent = new String(ofxCurrent).toLowerCase(); var offerArray = new String(ofxsCSV).toLowerCase(); var offerIndex = -1; offerArray = offerArray.split(","); for (i=0; i -1) { var val = new String(""); val = qs.slice(qs.indexOf("=", qs.indexOf(key))+1, qs.indexOf("&", qs.indexOf(key))-1); var qs1stSlice = new String(qs.slice(0, qs.indexOf(key)-1)); var qs2ndSlice = new String(""); if (qs.indexOf(val)+val.length < qs.length) qs2ndSlice = qs.slice(qs.indexOf("&", qs.indexOf(key)), qs.length); qs = qs1stSlice+qs2ndSlice; } return qs; } function getQueryValueCaseInsensitive(s){ var tmp = getQueryValue(s); if(typeof(tmp) != 'undefined' && tmp && tmp.length > 0){ return tmp; } tmp = getQueryValue(s.toLowerCase()); if(typeof(tmp) != 'undefined' && tmp && tmp.length > 0){ return tmp; } tmp = getQueryValue(s.toUpperCase()); if(typeof(tmp) != 'undefined' && tmp && tmp.length > 0){ return tmp; } return ""; } function replaceAll( str, from, to ) { var idx = str.indexOf( from ); while ( idx > -1 ) { str = str.replace( from, to ); idx = str.indexOf( from ); } return str; } function xmlUnescape(s){ s = replaceAll(s, "&", "&"); s = replaceAll(s, "'", "'"); s = replaceAll(s, """, "\""); s = replaceAll(s, "<", "<"); s = replaceAll(s, ">", ">"); return s; } function getJsUrl(){ var adurl = xmlUnescape(getQueryValueCaseInsensitive('ADURL')); var x_sell_url = getQueryValueCaseInsensitive('X_SELL_URL'); var jsurl = ""; if(adurl && adurl.length > 0){ // if adurl, use it jsurl = adurl; } else { // else use x_sell_url jsurl = x_sell_url; } // check for herb // TODO: comment out before production roll var flag = getQueryValueCaseInsensitive('email'); if(flag.substring(0, 4) == "herb"){ // alert(jsurl); } return jsurl; } // needs an upgrade for form exclusions function populateForms() { for (i=0; i 0){ if(pds != "0" && pds != 0){ form.pds.value = 0; } } // alert("form.pds is currently " + form.pds.value); } } function noThanksSubmit( ) { if (document.getElementById('SKIP_OFFER')) { document.getElementById('SKIP_OFFER').value="true"; if (document.getElementById("back_button" )) { document.getElementById("back_button").value = "true"; } if (document.getElementById('applyForm')) { document.getElementById('applyForm').submit(); } } } // function for determining Skip Offer value // and switching flag on and off function setSkipOffer(form){ // find Skip Offer, if it exists and is "true", switch to "false" if(form.SKIP_OFFER){ if(form.SKIP_OFFER != "false"){ form.SKIP_OFFER.value = "false"; } } } function displayBack() { window.history.back(); } // this is simply a test function to // indicate the js file has loaded function adtQSScriptIsLoaded(){ return true; }