  var ADREGATE = {
  internal_counter: 0,
  insert: function(spot_id){
    var request = {
      main: "spot",
      id: spot_id
    }
    this.request(request);
  },
  request: function(req){
    var path = "http://cutoutandkeep.adregate.com";
    if (typeof req == "object"){
      // Object request
      path += "/server";
      var first = true;
      for(prop in req){
        path += first ? '/' : '/'; first = false;
        path += req[prop]; 
      }
    }else{
      path += req;
    }
   this._scriptTag(path);
  },
  recordClick: function(ad_id){
    var request = '/server/click/' + ad_id;
    this.request(request);
  },
  // Sets up all onclick, onhover, etc events to fire off
  setEvents: function(container, ad_id){
    var links = container.getElementsByTagName('a');
    for(var i=0; i<links.length; i++){
      var link = links[i];
      link.ad_id = ad_id;
      var click_func = function(){
        //ADREGATE.recordClick(this.ad_id);
      }
      this._addEvent(link, 'click', click_func);
    }
		var click_func = function(){
		       ADREGATE.recordClick(ad_id);
		}
		this._addEvent(container, 'click', click_func);
  },
  _addEvent: function(el, ev, func){
    if (el.addEventListener){ 
      el.addEventListener(ev, func, null);
    }else if(el.attachEvent){
      el.attachEvent('on'+ ev, func);
    }else{ /* AHHHH!! No worky */ }
  },
  _scriptTag: function(path){
    path += '?nocache=' + (new Date()).getTime();
    var element = document.createElement('script');
    element.setAttribute("type", "text/javascript");
    element.setAttribute("charset", "utf-8");
    element.setAttribute("src", path);
    
    document.getElementsByTagName("head").item(0).appendChild(element);
  }
}

ADREGATE.render_ad = function(json){
  var container, inner, title, desc;
  container = document.getElementById("adregate_" + json.spot_id);
  inner = ADREGATE.templates(json, container);
  container.innerHTML = inner;
  this.setEvents(container, json.ad_id);
}


if (!ADREGATE.templates){
  ADREGATE.templates = function(json, container){
    var inner;
    // Text Ad
    if (json.ad_type == 'text'){
      title = "<span class=\"adtitle\"><a href=\"" + json.link + "\">" + json.title + "</a></span>";
		inner = title;
    }
    // Graphic Ad
    if (json.ad_type == 'image'){
		inner = "<a href=\"" + json.link + "\"><img src=\"" + json.graphic + "\" width=\"" + json.imgwidth + "\" height=\"" + json.imgheight + "\" /></a>";
    }
	// Flash Ad
	if (json.ad_type == 'flash'){
		inner = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"";
		inner += "codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"" + json.imgwidth + "\" height=\"" + json.imgheight + "\" id=\"Untitled-1\" align=\"middle\">";
		inner += "<param name=\"allowScriptAccess\" value=\"sameDomain\" />";
		inner += "<param name=\"movie\" value=\"" + json.graphic + "\" />";
		inner += "<param name=\"quality\" value=\"high\" />";
		inner += "<param name=\"bgcolor\" value=\"#ffffff\" />";
		inner += "<embed src=\"" + json.graphic + "\" quality=\"high\" bgcolor=\"#ffffff\" width=\"" + json.imgwidth + "\"";
		inner += "height=\"" + json.imgheight + "\" name=\"mymovie\" align=\"middle\" allowScriptAccess=\"sameDomain\"";
		inner += "type=\"application/x-shockwave-flash\" pluginspage=\"http://www.adobe.com/go/getflashplayer\" />";
		inner += "</object>";
    }
	// HTML Ad
	if (json.ad_type == 'html'){
		inner = json.html;
  }
	// JavaScript Ad
	if (json.ad_type == 'javascript'){
		inner = "";
   innertop = "<style>.adoverlay{z-index:200000;position:absolute;width:800px;height:800px;background-image:url('http://cutoutandkeep.adregate.com/images/transparent.gif');cursor:pointer;}iframe {position:absolute !important;z-index:1;cursor:pointer;border:1px solid #f00;}</style><div class=\"adoverlay\">";
	innerbottom = "</div>";
	}
    return inner;
  }
}  ADREGATE.insert(100080);


