
if(typeof(SAPO)=='undefined'){window.SAPO={};}else{window.SAPO=window.SAPO;}
SAPO.namespace=function(ns){if(!ns||!ns.length){return null;}
var levels=ns.split(".");var nsobj=SAPO;for(var i=(levels[0]=="SAPO")?1:0;i<levels.length;++i){nsobj[levels[i]]=nsobj[levels[i]]||{};nsobj=nsobj[levels[i]];}
return nsobj;};SAPO.extend=function(subclass,superclass){var f=function(){};f.prototype=superclass.prototype;subclass.prototype=new f();subclass.prototype.constructor=subclass;subclass.superclass=superclass.prototype;if(superclass.prototype.constructor==Object.prototype.constructor){superclass.prototype.constructor=superclass;}};function s$(element)
{if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++){elements.push(s$(arguments[i]));}
return elements;}
if(typeof(element)=='string'){element=document.getElementById(element);}
return element;}
Function.prototype.createCallback=function(){var args=arguments;var method=this;return function(){return method.apply(window,args);}};Function.prototype.bindObj=function(){if(arguments.length<2&&arguments[0]===undefined){return this;}
var __method=this;var args=[];for(var i=0,total=arguments.length;i<total;i++){args.push(arguments[i]);}
var object=args.shift();return function(){return __method.apply(object,args.concat(function(tmpArgs){var args2=[];for(var j=0,total=tmpArgs.length;j<total;j++){args2.push(tmpArgs[j]);}
return args2;}(arguments)));}};Function.prototype.bindObjEvent=function(){var __method=this;var args=[];for(var i=0;i<arguments.length;i++){args.push(arguments[i]);}
var object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args));}};Object.extend=function(destination,source){for(var property in source){destination[property]=source[property];}
return destination;};if(typeof(SAPO.Browser)=='undefined'){SAPO.Browser={IE:false,GECKO:false,OPERA:false,SAFARI:false,KONQUEROR:false,model:false,version:false,userAgent:false,init:function()
{this.detectBrowser();this.setDimensions();this.setReferrer();},setDimensions:function()
{var myWidth=0,myHeight=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;myHeight=document.body.clientHeight;}
this.windowWidth=myWidth;this.windowHeight=myHeight;},setReferrer:function()
{this.referrer=document.referrer!==undefined?document.referrer.length>0?escape(document.referrer):false:false;},detectBrowser:function()
{var sAgent=navigator.userAgent;this.userAgent=sAgent;sAgent=sAgent.toLowerCase();if((new RegExp("applewebkit\/")).test(sAgent)){this.SAFARI=true;this.model='safari';this.version=sAgent.replace(new RegExp("(.*)applewebkit\/([^\\s]+)(.*)"),"$2");}else if((new RegExp("opera")).test(sAgent)){this.OPERA=true;this.model='opera';this.version=sAgent.replace(new RegExp("(.*)opera.([^\\s$]+)(.*)"),"$2");}else if((new RegExp("konqueror")).test(sAgent)){this.KONQUEROR=true;this.model='konqueror';this.version=sAgent.replace(new RegExp("(.*)konqueror\/([^;]+);(.*)"),"$2");}else if((new RegExp("msie\ ")).test(sAgent)){this.IE=true;this.model='ie';this.version=sAgent.replace(new RegExp("(.*)\\smsie\\s([^;]+);(.*)"),"$2");}else if((new RegExp("gecko")).test(sAgent)){this.GECKO=true;var re=new RegExp("(camino|chimera|epiphany|minefield|firefox|firebird|phoenix|galeon|iceweasel|k\-meleon|seamonkey|netscape|songbird|sylera)");if(re.test(sAgent)){this.model=sAgent.match(re)[1];this.version=sAgent.replace(new RegExp("(.*)"+this.model+"\/([^;\\s$]+)(.*)"),"$2");}else{this.model='mozilla';var reVersion=new RegExp("(.*)rv\:([^\)]+)(.*)");if(reVersion.test(sAgent)){this.version=sAgent.replace(reVersion,"$2");}}}},debug:function()
{var str="known browsers: (ie, gecko, opera, safari, konqueror) \n";str+=[this.IE,this.GECKO,this.OPERA,this.SAFARI,this.KONQUEROR]+"\n";str+="model -> "+this.model+"\n";str+="version -> "+this.version+"\n";str+="\n";str+="original UA -> "+this.userAgent;alert(str);}};SAPO.Browser.init();}
SAPO.logReferer=function(classURL,options){var thisOptions={s:(typeof(options)=='object'&&options['s'])?options['s']:'js.sapo.pt',swakt:(typeof(options)=='object'&&options['swakt'])?options['swakt']:'59a97a5f-0924-3720-a62e-0c44d9ea4f16'};if(typeof(classURL)!='undefined'){var waURI='http://wa.sl.pt/wa.gif?';var aQuery=['pg='+encodeURIComponent(classURL),'swasection='+encodeURIComponent(classURL),'s='+thisOptions.s,'ref='+encodeURIComponent(location.href),'swakt='+thisOptions.swakt,'etype=libsapojs-view','swav=1','swauv=1','bcs=1','bsr=1','bul=1','bje=1','bfl=1',''];var img=new Image();img.src=waURI+aQuery.join('&');}};
if(!SAPO.Widget||typeof(SAPO.Widget)=='undefined'){SAPO.namespace('Widget');}
SAPO.Widget.Adwords=function(options)
{if(SAPO.Exception&&typeof(SAPO.Exception)!='undefined'){this.exception=new SAPO.Exception('SAPO::Widget.Adwords');}else{this.exception=false;}
if(options!='undefined'){this.init(options);}else{this.init({});}};SAPO.Widget.Adwords.prototype={init:function(options)
{this.options={};},printSAS:function(saw){saw=Object.extend({debug:0,affiliate_id:0,site_id:0,position_id:0,cluster_id:666,ad_height:90,ad_width:728,ad_format:"728x90_as",ad_type:"text",c:5,q:'',color_border:"336699",color_bg:"FFCC00",color_link:"0000FF",color_text:"000000",color_url:"008000",defer:false,lambda:false,sid:'',medium:0,keywords:''},saw||{});if(saw.lambda&&!(saw.defer)){saw.lambda(saw);}
saw.sid='sas_'+(Math.random()*100000).toFixed(0);document.write('<iframe id="'+saw.sid+'" width="'+saw.ad_width+'" scrolling="no" height="'+saw.ad_height+'" frameborder="'+(saw.debug==0?0:1)+'" allowtransparency="true" hspace="0" vspace="0" marginheight="0" marginwidth="0" src="'+(saw.defer?'':this.getSawURL(saw))+'" name="saw_frame"></iframe>');if(saw.defer){setTimeout(function(){setTimeout(function(){saw.lambda(saw);document.getElementById(saw.sid).src=ads.getSawURL(saw);},0);},0);}},getSawURL:function(saw){var var_checks=['affiliate_id','site_id','position_id','cluster_id','ad_height','ad_width','ad_format','ad_type','c','q','color_border','color_bg','color_link','color_text','color_url','debug','keywords','medium','lambda'];var info=new Array();info.browser=SAPO.Browser.model;info.bversion=SAPO.Browser.version;info.width=SAPO.Browser.windowWidth;info.height=SAPO.Browser.windowHeight;info.referrer=SAPO.Browser.referrer;var rp=sas_getQueryString(info.browser.referrer);info.keywords=rp.q?rp.q:false;for(var i=0;i<var_checks.length;i++){var val=eval('try{if(saw.'+var_checks[i]+'!==undefined){saw.'+var_checks[i]+';}}catch(e){false;}');if(val!==false){info[var_checks[i]]=val;}}
var saw_url_args=new Array();for(var key in info){if(typeof(info[key])==='string'||typeof(info[key])==='number'){saw_url_args.push(key+'='+info[key]);}}
return'http://adw.sapo.pt/search.html?'+saw_url_args.join('&');}};

function sas_currentScriptElement () {
    var aScripts = document.getElementsByTagName('script'); 
    if(aScripts.length > 0) {
        return aScripts[(aScripts.length - 1)];
    } else {
        return false; 
    }
}

function sas_getQueryString(url)
{   if(!url){return {};};
    var aParams = {};
    if(url.match(/\?(.+)/i)) {
        var queryStr = url.replace(/^(.*)\?([^\#]+)(\#(.*))?/g, "$2");
        if(queryStr.length > 0) {
            var aQueryStr = queryStr.split(/[;&]/); 
            for(var i=0; i < aQueryStr.length; i++) {
                var pairVar = aQueryStr[i].split('=');
                aParams[decodeURIComponent(pairVar[0])] = (typeof(pairVar[1]) != 'undefined' && pairVar[1]) ? decodeURIComponent(pairVar[1]) : false;
            }
        }
    }
    return aParams;
}

var options = sas_getQueryString(sas_currentScriptElement().src);
ads=new SAPO.Widget.Adwords;
var sas_checks=['sas_affiliate_id','sas_site_id','sas_position_id','sas_cluster','sas_ad_height','sas_ad_width', 'sas_ad_format','sas_ad_type','sas_c','sas_color_border','sas_color_bg','sas_color_link','sas_color_text','sas_color_url','sas_debug','sas_keywords', 'sas_medium'];
for(var i=0;i<sas_checks.length;i++) {
  var val=eval('try{if('+sas_checks[i]+'!==undefined){'+sas_checks[i]+';}}catch(e){false;}');
  if(val!==false) {
    options[sas_checks[i].substr(4)]=val;
    }
  }
ads.printSAS(options);
