// JavaScript Document// Developed By Metriplica www.metriplica.com www.multiplica.com
function campaignStack (){this.campaignData = new Array();this.stackSize = 6;this.hashid = "";this.campaignDataText="";this.userdef="";this.campTimeOut = 30*24*60*60;this.sessionTimeOut = 30*60*1000;this.buyCounterTimeOut = (10*365+3)*24*60*60;this.newvisit="";this.mdom=document.domain;this.durcc = ";path=/;domain="+this.mdom+";";this.goal = "";this.proc = false;this.mxcd = "";this.mxbc = 0;this._setTimeoutCC = function (seg) {var now = new Date();now.setTime(now.getTime()+(1000*seg));return now.toGMTString().replace(",","");};this._setDomainName = function(d) {if(d!="none"){this.mdom=d;this.durcc = ";domain="+this.mdom+";path=/;";}else{this.durcc = ";server="+this.mdom+";path=/;";}this.hashid = this._uHash(d);};this._isNewVisit = function(){this._setDomainName("none");if(this.rCookie("__utmb=",";").length==0 || this.rCookie("__utmc=",";").length==0) this.newvisit = true;else this.newvisit = false;};this._isGoal = function (ig){if(ig) this.goal = true;else this.goal = false;};this._recover = function() {if(this.goal){var mxbc = this.rCookie("__mxc=",";");var mxR = new RegExp("(?:[0-9]+\.([0-9]+)\.([^$]+)$)");mxbc = mxR.exec(mxbc);if(mxbc!=null && mxbc[1]!="") this.mxbc = mxbc[1];if(mxbc!=null && mxbc[2]!="") this.mxcd = mxbc[2];}this._recoverSearchValues();this._recoverFromCookies();};this._recoverFromCookies = function() {for(i=0;i<this.stackSize;i++) {aux = this.rCookie("__utmz"+i+"=",";");if(aux.length>0) {this.campaignData[i] = aux;}else this.campaignData[i] = "";}};this._resetSequence = function() {this.proc = true;this.goal = false;this._recoverSearchValues();for(i=0;i<this.stackSize;i++) {aux = this.getCampData(this.rCookie("__utmz"+i+"=",";"));if(aux.length>0) {document.cookie = "__utmz"+i+"="+this.hashid+"."+aux+this.durcc;}}this._recoverFromCookies();};this._eraseSequence = function() {for(i=0;i<this.stackSize;i++) {aux = this.rCookie("__utmz"+i+"=",";");if(aux.length>0) document.cookie = "__utmz"+i+"="+this.durcc;}};this._proc = function () {  if(this.newvisit) {if(this._rQueryParam("__utmz0").length==0) {var cutmz = this.rCookie("__utmz=",";");var cRE = new RegExp("(?:(utmcsr=[^;$]+)(&|$))");var cRE2 = new RegExp("(?:(utmgclid=[^;$]+)(&|$))");var c = cRE.exec(cutmz); var c2 = cRE2.exec(cutmz);var currentCamp;if(c!=null) currentCamp = new String(c[1]);else if(c2!=null) currentCamp = new String(c2[1]);currentCamp += "|expires="+this._setTimeoutCC(this.campTimeOut)+"";if(c!=null && document.referrer.length>0 && this._isReferrer(new String(document.referrer)) &&this._rQueryParam("utm_source").length==0){currentCamp = "utmcsr="+this._rReferrerDomain()+"";currentCamp += "|utmccn=(referral)";currentCamp += "|utmcmd=referral";currentCamp += "|utmcct="+escape(this._rReferrerPath())+"";currentCamp += "|expires="+this._setTimeoutCC(this.campTimeOut)+"";}else if (document.referrer.length==0) {currentCamp = new String("utmcsr=(direct)");currentCamp += "|utmccn=(direct)";currentCamp += "|utmcmd=(none)";currentCamp += "|expires="+this._setTimeoutCC(this.campTimeOut)+"";}else if(c2!=null) {currentCamp = new String("utmcsr="+this._rReferrerDomain());currentCamp += "|utmccn=(google-cpc)";currentCamp += "|utmcmd=cpc";currentCamp += "|utmctr="+escape(this._rReferrerParam("q"));currentCamp += "|expires="+this._setTimeoutCC(this.campTimeOut)+"";}if(true) {currentCamp = "__utmz="+this.hashid+"."+currentCamp;for(var i=this.stackSize-1; i--; i>0) {if(this.campaignData[i-1]!= null && this.campaignData[i-1].length>0) {this.campaignData[i] = this.campaignData[i-1].replace("__utmz"+(i-1)+"=","__utmz"+i+"=");}}this.campaignData[0] = currentCamp.replace("__utmz=","__utmz0=");}}  }  if(this.newvisit || this.goal) this._save(); };this._save = function() {var ctc,aux;for(i=0;i<this.stackSize;i++) {this.campaignDataText += "{"+this.getCampData(this.campaignData[i])+"}";if(this.campaignData[i].length>0 && !this.goal) {document.cookie = this.campaignData[i]+this.durcc+this._rCTimeout(this.campaignData[i])+"";}}if(this.goal){this.mxbc++;document.cookie = "__mxc="+this.hashid+"."+this.mxbc+"."+this._setTimeoutCC(this.campTimeOut)+this.durcc+"expires="+this._setTimeoutCC(this.buyCounterTimeOut)+"";vuelingTracker._trackPageview("/mxcampaigns/"+this.campaignDataText);this._resetSequence();}};this.rCookie = function (n,s) { if (!document.cookie || document.cookie=="" || !n || n=="" || !s || s=="") return ""; var i,i2,i3,c=""; i=document.cookie.indexOf(n+this.hashid); i3=n.indexOf("="+this.hashid)+1; if (i > -1) {  i2=document.cookie.indexOf(s,i); if (i2 < 0) { i2=document.cookie.length; }  c=document.cookie.substring((i+i3),i2); } return c;};this._rCTimeout = function (c) { var cRE = new RegExp("(expires=[^;]+)"); var cp = cRE.exec(c);if(cp!=null) return(cp[1]);return "";};this._rCMedium = function (c) { var cRE = new RegExp("utmcmd=([^\|]+)"); var cp = cRE.exec(c);if(cp!=null) return(cp[1]);return "";};this._rCKeyword = function (c) { var cRE = new RegExp("utmctr=([^\|]+)"); var cp = cRE.exec(c);if(cp!=null) return(cp[1]);return "";};this.getCampData = function(cs) {indu = cs.indexOf("utmcsr");if(this.goal) {expu = 0;} else {expu = cs.length-cs.indexOf("|expires");}return(cs.substr(indu,cs.length-indu-expu));};this.getUserDefData = function(cs) {indu = cs.indexOf(".");return(cs.substr(indu+1,cs.length-indu));};this._uHash = function(d) {d = d.replace("www",""); if (!d || d=="" || d=="none") return 1; var h=0,g=0; for (var i=d.length-1;i>=0;i--) {  var c=parseInt(d.charCodeAt(i));  h=((h << 6) & 0xfffffff) + c + (c << 14);  if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));  } return h;};this._rQueryParam = function(p) {var qpRE = new RegExp("(?:"+p+"=([^&$])+(&|$))");var qp = qpRE.exec(location.search);if(qp!=null) return(qp[0].replace("&","").replace(p+"=",""));else return "";};this._rReferrerParam = function(p) {var qpRE = new RegExp("(?:"+p+"=([^&$])+(&|$))");var qp = qpRE.exec(document.referrer);if(qp!=null) return(qp[0].replace("&","").replace(p+"=",""));else return "";};this._rReferrerDomain = function() {var rfRE = new RegExp("(?:(http://)([^/]*)([^$]))");var rf = rfRE.exec(document.referrer);if(rf!=null) return(rf[2]);else return "";};this._rReferrerPath= function() {var rfRE = new RegExp("(?:(http://)([^/]*)([^$]*))");var rf = rfRE.exec(document.referrer);if(rf!=null) return(rf[3]);else return "";};this._getCampaignString = function (){var cst="";for(i=0;i<this.stackSize;i++) {if(this.campaignData[i].length>0) {cst+="("+this._rCMedium(this.campaignData[i])+"|"+this._rCKeyword(this.campaignData[i])+")";}}return(cst);};this._linkByPost = function(csform) {for(i=0;i<this.stackSize;i++) {this.campaignDataText += "{"+this.getCampData(this.campaignData[i])+"}";if(this.campaignData[i].length>0) {if(csform.action.indexOf("?")>-1) csform.action+="&";else csform.action+="?";csform.action+="__utmz"+i+"="+escape(this.campaignData[i].replace(this.hashid+".",""));}}vuelingTracker._linkByPost(csform);};this._link = function(cshref) {for(i=0;i<this.stackSize;i++) {this.campaignDataText += "{"+this.getCampData(this.campaignData[i])+"}";if(this.campaignData[i].length>0) {if(cshref.href.indexOf("?")>-1) cshref.href+="&";else cshref.href+="?";cshref.href+="__utmz"+i+"="+escape(this.campaignData[i].replace(this.hashid+".",""));}}vuelingTracker._linkByPost(cshref.href);};this._recoverSearchValues = function(){for(i=0;i<this.stackSize;i++) {var ucstr = new String(this._rQueryParam("__utmz"+i));if(ucstr.length>0) {var cprev = unescape(ucstr).replace("__utmz"+i+"=","__utmz"+i+"="+this.hashid+".");if(!this.proc) {if((this.mxcd.valueOf()=="")||(Date.parse(this._rCTimeout(cprev).replace("expires=",""))>Date.parse(this.mxcd))||(Date.parse(this._rCTimeout(cprev).replace("expires=",""))>(Date.parse(this._setTimeoutCC(this.campTimeOut))-this.sessionTimeOut))){ document.cookie = cprev+";"+this.durcc+this._rCTimeout(cprev)+";"; }}}}};this._cleanSearch = function() {var s = new String(unescape(location.search));for(i=0;i<this.stackSize;i++) {var spRE = new RegExp("(?:__utmz"+i+"=([^&$])+(&|$))");var sp = spRE.exec(location.search);if(sp!=null) s = s.replace(sp[1],"");}return s;};this._recoverExpTime = function(n) {var auxc = this.rCookie(n,";");var etRE = new RegExp("(?:expires=([^$]+)$)");var te = etRE.exec(auxc);if(te!=null) return(te[1]);else return "";};this._isReferrer = function (s){if(s.indexOf("google.")>-1) return false;if(s.indexOf("yahoo.")>-1 ) return false;if(s.indexOf("msn.")>-1) return false;if(s.indexOf("aol.")>-1) return false;if(s.indexOf("lycos.")>-1) return false;if(s.indexOf("ask.")>-1) return false;if(s.indexOf("altavista.")>-1) return false;if(s.indexOf("netscape.")>-1) return false;if(s.indexOf("cnn.")>-1) return false;if(s.indexOf("looksmart.")>-1) return false;if(s.indexOf("about.")>-1) return false;if(s.indexOf("mamma.")>-1) return false;if(s.indexOf("alltheweb.")>-1) return false;if(s.indexOf("gigablast.")>-1) return false;if(s.indexOf("voila.")>-1) return false;if(s.indexOf("virgilio.")>-1) return false;if(s.indexOf("live.")>-1) return false;if(s.indexOf("baidu.")>-1) return false;if(s.indexOf("alice.")>-1) return false;if(s.indexOf("yandex.")>-1) return false;if(s.indexOf("najdi.")>-1) return false;if(s.indexOf("club-internet.")>-1) return false;if(s.indexOf("mama.")>-1) return false;if(s.indexOf("seznam.")>-1) return false;if(s.indexOf("search.")>-1) return false;if(s.indexOf("wp.")>-1) return false;if(s.indexOf("onet.")>-1 ) return false;if(s.indexOf("netsprint.")>-1) return false;if(s.indexOf("google.interia.")>-1) return false;if(s.indexOf("szukacz.")>-1) return false;if(s.indexOf("yam.")>-1) return false;if(s.indexOf("pchome.")>-1) return false;if(s.indexOf("kvasir.")>-1) return false;if(s.indexOf("sesam.")>-1) return false;if(s.indexOf("ozu.")>-1) return false;if(s.indexOf("terra.")>-1) return false;if(s.indexOf("nostrum.")>-1) return false;if(s.indexOf("mynet.")>-1) return false;if(s.indexOf("ekolay.")>-1) return false;if(s.indexOf("ilse.")>-1) return false;return(true);  };};
