//show_companion_ad.js 

function tspotLoad(url, element, callback) {
  var script = document.createElement("script");
  script.src = url;
  var done = false;
  script.onload = script.onreadystatechange = function() {
    if (!done && (!this.readyState||this.readyState==="loaded"||this.readyState==="complete")) {
      done = true;
      callback();
      script.onload = script.onreadystatechange = null;
    }
  };
  element.insertBefore(script, element.firstChild);
}

function tspotInit(callback) {
  if (window.tspotjQuery) {
    callback();
  }
  else if (!window.jQuery||!jQuery().jquery||!jQuery().jquery.match(/^1\.[34]/)) {
    var head = document.getElementsByTagName("head")[0] || document.documentElement;
    var jq = window.jQuery;
    tspotLoad("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", head, function(){
      window.tspotjQuery = jQuery.noConflict();
      window.jQuery = jq;
      callback();
    });
  }
  else {
    window.tspotjQuery = jQuery;
    callback();
  }
}

function tspotShowBanner() {
  var args = arguments,
  params = {};
  for(var i = 0, len = args.length; i<len; i++) {
    params[args[i]] = args[++i] ? args[i] : false;
  }
  tspotInit((function(params){
    var $ = window.tspotjQuery,
      params = $.extend(true, {log_url: false, link_url: false, visual_url: "", ad_id: false, ad_type: false}, params||{});
    return function(){
      var $tc, $gc;
      
      if($("#default_companion_ad_div").length){ // SDK only
        $("#default_companion_ad_div").hide();
			}
			
			if (window.tspot_container_id && !!$("#"+tspot_container_id).length) {
        $tc = $("#"+tspot_container_id);
      }
      
      if (window.google_container_id && !!$("#"+google_container_id).length) {
        $gc = $("#"+google_container_id);
      }
      
      if (params.ad_type == "tumri") {
        $gc && $gc.hide();
        if ($tc) {
          $tc.show().html(
            '<iframe src="" id="tumri_'+Math.floor(Math.random()*100000)+'" scrolling="no" allowTransparency="true" frameborder="0" style="width:300px; height:250px; border:none; margin:0; padding:0; overflow:hidden;"></iframe>'
          );
          window.setTimeout(function(){
            var iframe = $tc.find("iframe").get(0);
            var doc = iframe.contentDocument || iframe.contentWindow.document || iframe.document;
            !$.browser.msie && doc.open();
            doc.write('<style> * {margin:0;padding:0}</style><scr'+'ipt src="'+params.visual_url+'"></scr'+'ipt>');
            !$.browser.msie && doc.close();
          }, 1);
        }
      }
      
      else if (params.ad_type == "GOOGLEAUDIO") {
        $tc && $tc.hide();
        $gc && $gc.show();
      }
      
      else {
        $gc && $gc.hide();
        
        //determine if this is a swf or jpeg ts visual, get vars ready for embedding a swf
        var tsfileind = params.visual_url.lastIndexOf("/");
	var tsfilen = params.visual_url.substr(tsfileind+1);
	var tsfiledotind = tsfilen.lastIndexOf(".");
	var tsfiletype = tsfilen.substr(tsfiledotind+1);
	var tsfilename = tsfilen.substring(0,tsfiledotind);
        
	if (params.ts_domain == undefined) {
		params.ts_domain = "http://player.cdn.targetspot.com/";
	}        
        if (tsfiletype.indexOf("swf") >= 0 || tsfiletype.indexOf("SWF") >= 0) {
        	//this is a targetspot swf visual
        	var flashvarsobj = "swf_url="+escape(params.visual_url)+"&link_url="+escape(params.link_url)+"&track_url="+escape(params.log_url)+"&evidon_cid="+params.evidon_cid+"&evidon_nid="+params.evidon_nid;
        	
        	if ($tc) {
		   $tc.show().html(
			 '<iframe src="" id="tsswf_'+Math.floor(Math.random()*100000)+'" scrolling="no" allowTransparency="true" frameborder="0" style="width:300px; height:250px; border:none; margin:0; padding:0; overflow:hidden;"></iframe>'
			  );
		    window.setTimeout(function(){
			    var iframe = $tc.find("iframe").get(0);
			    var doc = iframe.contentDocument || iframe.contentWindow.document || iframe.document;
			    !$.browser.msie && doc.open();
			    doc.write('<style> * {margin:0;padding:0}</style>');
			    doc.write('<object width="300" height="250" >');
			    doc.write('<param name="ts_companion_banner_shell" value="ts_companion_banner_shell.swf?'+flashvarsobj+'" />');
			    doc.write('<embed src="'+params.ts_domain+'player/ts_companion_banner_shell.swf?'+flashvarsobj+'" width="300" height="250">');
			    doc.write('</embed>');
			    doc.write('</object>');
			    !$.browser.msie && doc.close();
		   }, 1);
        	}
        } else {
        	if (params.ad_type == "ANDOAUDIO") {
        		//this is an ando visual
        		html = '<img src="'+params.visual_url+'" border="0" width="'+tspot_ad_width+'" height="'+tspot_ad_height+'"/>';
        	} else {
        		//this is a targetspot jpeg visual
        		var filename = /\/([^\/]+)$/.exec(params.visual_url)[1],
			    visual_url_sized = /^(.*)\/[^\/]+$/.exec(params.visual_url)[1]+'/'+tspot_ad_width+'/'+tspot_ad_height+'/'+filename,
			    html = '<img src="'+visual_url_sized+'" border="0" width="'+tspot_ad_width+'" height="'+tspot_ad_height+'"/>';
		}
		if (params.link_url) {
		  html = '<a href="'+params.link_url+'" target="_blank">'+html+'</a>'
		}
      $tc.show().html(
       '<iframe src="" id="tsvisual_'+Math.floor(Math.random()*100000)+'" scrolling="no" allowTransparency="true" frameborder="0" style="width:'+tspot_ad_width+'px; height:'+tspot_ad_height+'px; border:none; margin:0; padding:0; overflow:hidden;"></iframe>'
      );
      var iframe = $tc.find("iframe").get(0);
      var doc = iframe.contentDocument || iframe.contentWindow.document || iframe.document;
      !$.browser.msie && doc.open();
      // check to see if we should include evidon
      if(params.evidon_nid != 0 && params.evidon_cid != 0){
        doc.write('<script type="text/javascript" src="http://c.betrad.com/surly.js?;ad_w=300;ad_h=250;coid='+params.evidon_cid+';nid='+params.evidon_nid+'"></script>')
      }
      doc.write('<style> * {margin:0;padding:0}</style>');
      doc.write(html);
      var $click_target = $(doc).find("a");
      !$.browser.msie && doc.close();

    if (!$click_target.length) {
      $click_target = $(doc).find("img");
    }

    $click_target.bind("tspot.track", function(){
      var self = this;
      $(this).append("<iframe src='"+params.log_url+"' style='visibility:hidden;display:none;'></iframe>").unbind("tspot.track");
    })
    .click(function(){
      $(this).trigger("tspot.track");
      return true;
    });
        }
      }
    }
  })(params));
}

function tspotHideBanner(id) {
  tspotInit(function(){
    var $ = window.tspotjQuery;
    window.tspot_container_id && $("#"+tspot_container_id).hide();
    window.google_container_id && $("#"+google_container_id).hide();
  });
}

tspotInit(function(){
  var $ = window.tspotjQuery;
  $(function(){
    tspotHideBanner();
  });
});


