if(!Array.prototype.forEach){Array.prototype.forEach=function(fun){var len=this.length;if(typeof fun!="function"){throw new TypeError()}var thisp=arguments[1];for(var i=0;i<len;i++){if(i in this){fun.call(thisp,this[i],i,this)}}}}var geoTrans={jsc:0,subPartner:"Default",internalTransitionalAdsOn:false,externalTransitionalAdsOn:false,impressionCount:1,secondaryImpressionCount:10,maxNodes:800,maxKeywords:800,keywordList:[],foundKeywordList:[],keywordStr:"",usedWords:{},ignoredTags:{"!":1,A:1,BUTTON:1,HEAD:1,HTML:1,INPUT:1,IMG:1,META:1,H1:1,H2:1,H3:1,H4:1,H5:1,H6:1,OPTION:1,SCRIPT:1,NOSCRIPT:1,SELECT:1,STYLE:1,TEXTAREA:1,TITLE:1,XML:1,SUP:1,LINK:1,LABEL:1,IFRAME:1},getHostnameFromUrl:function(url){var m=url.match(/:\/\/(.[^/]+)/);if(m!=null&&m.length>0){return m[1]}else{return""}},getElm:function(id){return document.getElementById(id)},trim:function(s){if(s==null||s=="undefined"){return""}var q=s.replace(/^\s+/,"");return q.replace(/\s+$/,"")},getMeta:function(mn){var m=document.getElementsByTagName("meta");for(var i in m){if(m[i].name==mn){return m[i].content}}},isVarSet:function(variable){return(typeof(window[variable])=="undefined")?false:true},setCookie:function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString()}else{var expires=""}document.cookie=name+"="+value+expires+"; path=/"},readCookie:function(name){var nameEQ=name+"=";var ca=document.cookie.split(";");for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)==0){return c.substring(nameEQ.length,c.length)}}return null},now:function(){return +new Date},jsonReq:function(fullUrl,cb){this.fullUrl=fullUrl;this.noCache="&_="+(new Date()).getTime();this.headLoc=document.getElementsByTagName("head").item(0);this.scriptId="geojsonp"+geoTrans.jsc++;this.vars=new Object();var jsonp=this.scriptId;window[jsonp]=function(tmp){cb(tmp);window[jsonp]=undefined;try{delete window[jsonp]}catch(e){}}},ajaxChannel:function(){this.rpc=function(call){var request=call.url+"/"+call.request.method;aObj=new geoTrans.jsonReq(request,call.callback);aObj.vars=call.request.params;aObj.buildScriptTag();aObj.addScriptTag()}},callbacks:[],jq:null,validateCallback:function(callback){if(typeof callback==="undefined"){throw"Cannot validate callback: undefined"}if(callback&&callback.length<1){throw"Callback missing at least 1 placeholder argument"}return callback},fillArray:function(data,qty){var array=[];for(var i=qty;i>0;i--){array.push(data)}return array},loadScript:function(url,callback){var script=document.createElement("script");script.type="text/javascript";if(typeof script.readyState==="undefined"){script.onload=function(){callback()}}else{script.onreadystatechange=function(){if(script.readyState==="loaded"||script.readyState==="complete"){script.onreadystatechange=null;callback()}}}script.src=url;document.getElementsByTagName("head")[0].appendChild(script);return script},jQ:{isReady:false,isolate:function(){var callback=geoTrans.validateCallback(arguments[0]);if(!geoTrans.jQ.isReady){return geoTrans.callbacks.push(callback)}return callback.apply(this,geoTrans.fillArray(geoTrans.jq,callback.length))},setup:function(version){if(!document.body){var oldonload=window.onload;if(typeof window.onload!="function"){window.onload=function(){geoTrans.jQ.setup(version)}}else{window.onload=function(){this.setup(version);if(oldonload!=null&&typeof oldonload=="function"){oldonload()}}}return}var url="http://ajax.googleapis.com/ajax/libs/jquery/"+(version||"1.4.2")+"/jquery.min.js";geoTrans.loadScript(url,function(){geoTrans.jQ.isReady=true;geoTrans.jq=jQuery.noConflict(true);geoTrans.callbacks.forEach(geoTrans.jQ.isolate);delete (geoTrans.callbacks)})}},loadVars:function(){if(this.isVarSet("geoTrans_ExternalLinkTransitionalsOn")){this.externalTransitionalAdsOn=geoTrans_ExternalLinkTransitionalsOn}if(this.isVarSet("geoTrans_InternalLinkTransitionalAdsOn")){this.internalTransitionalAdsOn=geoTrans_InternalLinkTransitionalAdsOn}if(this.isVarSet("geoTrans_Impression")){this.impressionCount=geoTrans_Impression}if(this.isVarSet("geoTrans_SecondaryImpression")){this.secondaryImpressionCount=geoTrans_SecondaryImpression}if(this.isVarSet("geoTrans_SubPartner")){this.subPartner=geoTrans_SubPartner}if(this.trim(this.subPartner)==""){this.subPartner="Default"}if(isNaN(this.impressionCount)){this.impressionCount=1}if(isNaN(this.secondaryImpressionCount)){this.secondaryImpressionCount=10}},injectCss:function(){this.jQ.isolate(function($){$("head").append('<script type="text/javascript" src="http://js.geoads.com/json.js"><\/script>');$("head").append('<script type="text/javascript" src="http://js.geoads.com/getLinks.ashx?proxy"><\/script>')})},regexCheck:function(tmpStr){var regExp1=/[,.:;?!(){}]/gi;tmpStr=tmpStr.replace(regExp1," . ");tmpStr=tmpStr.toLowerCase();var regExp1=/[0-9]{5,}/gi;tmpStr=tmpStr.replace(regExp1," ");if(tmpStr.indexOf("'")>=0){var regExp1=/( '|' )/gi;tmpStr=tmpStr.replace(regExp1," . ")}return tmpStr},isCW:function(w){if(w.length>25){return 0}w=w.toLowerCase();result=w.match(/^[a-z0-9][a-z0-9\\-]+('s|[a-z0-9])$/g);if(!result){return 0}return 1},checkKeywords:function(tmpStr){if(tmpStr.length<=2){return}tmpStr=this.regexCheck(tmpStr);var Words=tmpStr.split(" ");var tmp_words="";var tmp_key="";var tmpWordPos=0;for(WordPos=0;WordPos<=Words.length;WordPos++){tmpWordPos=WordPos;if(WordPos!=Words.length){word=this.trim(Words[WordPos])}if(WordPos!=Words.length&&this.isCW(word)==1){if(tmp_words!=""){tmp_words+=" "}tmp_words+=word;this.usedWords[word]=this.usedWords[word]?this.usedWords[word]++:1}else{if(tmp_words!=""){var newString=true;if(tmp_words.indexOf(" ")<0&&this.usedWords[tmp_words]>1){newString=false}if(newString){if(tmp_words.length<25&&tmp_words.indexOf(" ")>-1){this.keywordList.push(tmp_words)}else{tmpWordPos++;WordPos=tmpWordPos}}if(tmp_key!=""){tmp_key+="|"}tmp_key+=tmp_words;tmp_words=""}}if(this.maxKeywords--<1&&tmp_words==""){break}}},getKeywords:function(parent,ignore){if(parent+""=="undefined"){return}if(!ignore&&this.ignoredTags[parent.tagName]==1){return}else{if(!ignore&&(parent.tagName!="BODY"&&(parent.style.visibility=="hidden"||typeof(parent.onclick)=="function"||typeof(parent.onmouseover)=="function"||parent.style.display=="none"||parent.offsetWidth==0||parent.offsetHeight==0))){return}}var nodes=parent.childNodes;if(this.maxNodes--==0||this.maxKeywords<1){return}for(var i=0;i<nodes.length;i++){var node=nodes[i];if(node.parentNode!=parent){continue}if(node.nodeType==1){this.getKeywords(node,false)}else{if((node.nodeType==3)&&/[\w]{2,}/.test(node.data)){var temp=this.trim(node.data);var regExp1=/[\s\n\r]/gi;temp=temp.replace(regExp1," ");var regExp2=/ +/gi;temp=temp.replace(regExp2," ");tt=temp.split(" ");if(tt.length>=1){this.checkKeywords(temp,node)}}}}},clearKeywords:function(){this.maxNodes=800;this.maxKeywords=800;this.keywordList=new Array();this.usedWords=new Object()},findKeyword:function(parent,keyword){if(this.ignoredTags[parent.tagName]==1){return}else{if((parent.tagName!="BODY"&&(parent.style.visibility=="hidden"||typeof(parent.onclick)=="function"||typeof(parent.onmouseover)=="function"||parent.style.display=="none"||parent.offsetWidth==0||parent.offsetHeight==0))){return}}var nodes=parent.childNodes;for(var i=0;i<nodes.length;i++){var node=nodes[i];if(node.parentNode!=parent){continue}if(node.nodeType==1){this.findKeyword(node,keyword)}else{if((node.nodeType==3)&&/[\w]{2,}/.test(node.data)){var position=node.data.search(new RegExp("\\b"+keyword+"\\b","i"));if(position>=0){var doAdd=true;for(var x in this.foundKeywordList){if(this.foundKeywordList[x]===keyword){doAdd=false}}if(doAdd){this.foundKeywordList.push(keyword)}}}}}},loadKeywords:function(){var tmpKeys=new Array();this.getKeywords(document.getElementsByTagName("body")[0],true);var titleNode=document.getElementsByTagName("title")[0];for(var j=0;j<this.keywordList.length;j++){var position=titleNode.text.search(new RegExp("\\b"+this.keywordList[j]+"\\b","i"));if(position>=0){tmpKeys.push(this.keywordList[j])}}this.clearKeywords();var meta=this.getMeta("keywords");if(meta){var metaArray=meta.split(",");for(var i=0;i<metaArray.length;i++){var word=this.trim(metaArray[i]);if(word.indexOf(" ")>0){this.keywordList.push(word)}}}for(var j=0;j<tmpKeys.length;j++){this.keywordList.push(tmpKeys[j])}var m=document.getElementsByTagName("meta");for(var i in m){if(m[i].name=="description"){this.getKeywords(m[i],true)}}var bodyElm=document.getElementsByTagName("body")[0];for(var k=0;k<this.keywordList.length;k++){this.findKeyword(bodyElm,this.keywordList[k])}for(var k=0;k<this.foundKeywordList.length;k++){var pos=0;var contain=false;while((pos=this.keywordStr.indexOf(this.foundKeywordList[k],pos+1))>=0){var lastCharPos=this.foundKeywordList[k].length+pos;if(pos>0&&this.keywordStr.charAt(pos-1)!=" "&&this.keywordStr.charAt(pos-1)!="|"){continue}if(lastCharPos<this.keywordStr.length&&this.keywordStr.charAt(lastCharPos)!=" "&&this.keywordStr.charAt(lastCharPos)!="|"){continue}contain=true;break}if(!contain){this.keywordStr+=this.foundKeywordList[k]+"|"}if(this.keywordStr.length>6000){break}}this.keywordStr=this.keywordStr.substring(0,this.keywordStr.length-1)},checkLoaded:function(cb){if(typeof getLinks=="function"){eval(cb+"();");return}setTimeout("geoTrans.checkLoaded('"+cb+"')",400)},updateLinksForTransitionalAd:function(adUrl){adUrl=geoTrans.trim(adUrl);if(adUrl==""){return}this.jQ.isolate(function($){var changeInternalLinks=false;if(geoTrans.internalTransitionalAdsOn){var imp=geoTrans.readCookie("geoTransImp");if(!imp||parseInt(imp)<0){imp="0"}imp=parseInt(imp)+1;geoTrans.setCookie("geoTransImp",imp,1);var imp2=geoTrans.readCookie("geoTransSecImp");if(parseInt(imp)==parseInt(geoTrans.impressionCount)){geoTrans.setCookie("geoTransSecImp",0,1);changeInternalLinks=true}else{if(imp2){imp2=parseInt(imp2)+1;geoTrans.setCookie("geoTransSecImp",imp2,1);if(parseInt(imp2)>=parseInt(geoTrans.secondaryImpressionCount)){geoTrans.setCookie("geoTransSecImp",0,1);changeInternalLinks=true}}}}var currentDomain=geoTrans.trim(geoTrans.getHostnameFromUrl(document.location.href)).toLowerCase();$("a").each(function(){var domain="";if(this.href!=null){domain=geoTrans.trim(geoTrans.getHostnameFromUrl(this.href)).toLowerCase()}var changeLink=false;var isInternalLink=false;if(domain!=""&&currentDomain!=""){if(domain!=currentDomain){if(geoTrans.externalTransitionalAdsOn){changeLink=true}}else{isInternalLink=true}if((!isInternalLink&&changeLink)||(isInternalLink&&changeInternalLinks)){if(this.href.indexOf("?")>-1){return true}if(this.onclick!=null&&geoTrans.trim(this.onclick+"")!=""){return true}var transPageHost="http://js.geoads.com/";var theHref=this.href;this.onclick=function(){document.location.href=transPageHost+"trans.aspx?show="+encodeURIComponent(adUrl)+"&next="+encodeURIComponent(theHref)+"&prev="+encodeURIComponent(document.location.href);return false}}}})})},showTransitionalAd:function(resp){if(resp!=null&&resp.result!=null&&resp.result.showAd=="true"){if(resp.result.adUrl!=null){geoTrans.updateLinksForTransitionalAd(resp.result.adUrl)}}},checkShowTransitionalAd:function(){var s=new getLinks();s.channel=new geoTrans.ajaxChannel();s.kwargs=true;s.showTransitionalAd(geoTrans_Partner,geoTrans.subPartner,location.href,geoTrans.keywordStr,geoTrans.showTransitionalAd)},load:function(){if(document.location.href.indexOf("geoads.com")>-1){return}this.jQ.setup("1.4.2");this.loadVars();if(!this.externalTransitionalAdsOn&&!this.internalTransitionalAdsOn){return}this.loadKeywords();this.injectCss();geoTrans.checkLoaded("geoTrans.checkShowTransitionalAd")}};geoTrans.jsonReq.prototype.buildScriptTag=function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("charset","utf-8");var url=this.fullUrl+"?jsonp="+this.scriptId;for(key in this.vars){url+="&"+key+"="+encodeURIComponent(this.vars[key])}url+=this.noCache;this.scriptObj.setAttribute("src",url);this.scriptObj.setAttribute("id",this.scriptId);var done=false;var head=this.headLoc;this.scriptObj.onload=this.scriptObj.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;this.onload=this.onreadystatechange=null;head.removeChild(this)}}};geoTrans.jsonReq.prototype.addScriptTag=function(){this.headLoc.appendChild(this.scriptObj)};geoTrans.load();
