//Code structure inspired from http://drnicwilliams.com/2006/11/21/diy-widgets/
function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}


mx = {
  base: 'http://www.mediagridwork.com/',
  styleurl: "http://www.mediagridwork.com/mx.css",
  url: 'http://www.mediagridwork.com/x.php?sid='+sid+'&tc='+title_color+'&dc='+description_color+'&lc='+link_color+'&bgc='+background_color+'&bc='+border_color+'&ref='+escape(document.referrer)+'&url='+escape(location.href),
  root: 'adgridwork.com',
  s: sid,
  
  $: function(i) {return document.getElementById(i);},

  getstyle: function(stylesheet_url) {
    stylesheet = document.createElement("link");
    stylesheet.rel = "stylesheet";
    stylesheet.type = "text/css";
    stylesheet.href = this.styleurl;
    stylesheet.media = "all";
    document.lastChild.firstChild.appendChild(stylesheet);
  },

  getcontent: function( local ) {
    var script = document.createElement('script');
    script.src = this.url;
    document.getElementsByTagName('head')[0].appendChild(script);
  },

  response: function(data) {
    if (!data) return;
    var topdiv = document.getElementById(this.root);
    topdiv.style.width=''+(data.block_width)+'px';
    //topdiv.style.height=''+data.block_height+'px';
    topdiv.style.overflow='hidden';
    if(data.uif==1) {             
        var z=document.createElement('iframe');
        z.setAttribute("frameborder", 0); z.setAttribute("marginwidth", 0); z.setAttribute("marginheight", 0); z.setAttribute("scrolling", "no"); z.setAttribute("width", data.iw); z.setAttribute("height", data.ih); z.setAttribute("src", data.ifs);
	//topdiv.appendChild(z);
        return;
    }
    var parent=topdiv;
    topdiv.className=data.cssclass;
    topdiv.style.fontFamily='verdana';
    topdiv.style.fontSize=''+data.font_size+'px';
    if(data.vertical==0 && data.num>1) {
	var agwhdiv = document.createElement('div');
        agwhdiv.id='horizontaladdiv';
        agwhdiv.style.textAlign='left';
        topdiv.appendChild(agwhdiv); parent = agwhdiv;
    }
    var agwfreespace;
    var agwmargins;
    if(data.vertical==0) {
    	agwfreespace = (data.block_width) - (data.num*data.width);
   	agwmargins = (agwfreespace/(data.num+1))-1;
    	//document.getElementById('agwlink').style.marginLeft=''+(agwmargins+5)+'px';
    }
    else {
	agwfreespace=data.block_height-(data.num*data.height);
	agwmargins=agwfreespace/(data.num+1);
    }
    var agwtdivs = new Array();
    var agwtopmar=data.block_height-data.height;
    var agwleftmar=(data.block_width-data.width)/2;
    for(var i=0; i < data.sites.length; i++) {
	var cur=parent;
	var agw_mdiv=document.createElement('div');
	agw_mdiv.setAttribute("style", "float: left");
        agw_mdiv.style.border='1px solid #'+border_color;
        agw_mdiv.style.overflow='hidden';
	agw_mdiv.style.padding='0';
        agw_mdiv.style.height=''+data.height+'px';
	agw_mdiv.style.backgroundColor='#'+background_color;
        agw_mdiv.style.textAlign='center';
	if(data.vertical==1) {
		agw_mdiv.style.marginLeft=''+agwleftmar+'px';
		agw_mdiv.style.marginRight='auto';
	}
        if(data.num>1) agw_mdiv.style.width=''+(data.width-2)+'px';
        else agw_mdiv.style.width=''+(data.block_width-2)+'px';
        if(data.vertical==0 && data.num>1) {
        	agw_mdiv.style.display='block';
                agw_mdiv.style.marginLeft=''+agwmargins+'px';
		agw_mdiv.style.styleFloat='left';
                //if(i == data.sites.length-1) agw_mdiv.style.marginRight=''+(agwmargins)+'px';
	}
	else if(data.vertical==1 && i!=0) agw_mdiv.style.marginTop=''+agwmargins+'px';
  	//if(data.vertical==0 && agwtopmar>0) agw_mdiv.style.marginTop=''+agwtopmar+'px';
	cur.appendChild(agw_mdiv); cur=agw_mdiv;

	//title
	var agw_tdiv=document.createElement('div');
	agw_tdiv.className='AGWtitle';
	agw_tdiv.style.padding='0';
	agw_tdiv.style.margin='0';
	agw_tdiv.style.overflow='hidden';
	agw_tdiv.style.textAlign='center';
	if(data.vertical==1 && data.width==data.block_width) agw_tdiv.style.width=''+(data.width-2)+'px';
	else if(data.num>1) agw_tdiv.style.width=''+data.width+'px';
	else if(data.vertical==0 && data.num==1) agw_tdiv.style.width=''+data.block_width+'px';
	else agw_tdiv.style.width=''+(data.n*data.width)+'px';
	cur.appendChild(agw_tdiv); cur=agw_tdiv;
	var ad_tlink=document.createElement('a');
	ad_tlink.id='url'+i;
	var agw_link='http://www.mediagridwork.com/a.php?t='+data.sites[i].sid+'&s='+data.sid+'&u='+data.sites[i].target;
	ad_tlink.href=agw_link;
	//ad_tlink.style=data.title_style+' text-decoration: none';
	ad_tlink.style.fontFamily=data.title_ff;
	ad_tlink.style.fontSize=data.title_fs;
	ad_tlink.style.fontWeight=data.title_fw;
	ad_tlink.style.margin=data.title_m;
	ad_tlink.style.textDecoration='none';
	ad_tlink.style.overflow='hidden';
	ad_tlink.style.color='#'+title_color;
	ad_tlink.target='_blank';
	ad_tlink.innerHTML=data.sites[i].title;
	cur.appendChild(ad_tlink); cur=cur.parentNode;
	//desc
	var ad_dlink=document.createElement('a');
	ad_dlink.className='AGWdesclink';
	ad_dlink.style.color='#'+description_color;
	ad_dlink.style.textDecoration='none';
	ad_dlink.style.padding=data.desc_p;
	ad_dlink.style.margin=data.desc_m;
	ad_dlink.style.wordSpacing=data.desc_ws;
	ad_dlink.style.letterSpacing=data.desc_ls;
	ad_dlink.style.fontSize=data.desc_fs;
	ad_dlink.style.fontFamily=data.desc_ff;
	ad_dlink.style.lineHeight=data.desc_fs;
	//ad_dlink.style=data.desc_style+' text-decoration: none';
	ad_dlink.href=agw_link;
	ad_dlink.target='_blank';
	var ad_dblock;
	if(data.num==1 && data.n>2) {
		ad_dblock=document.createElement('span');
		ad_dblock.className='AGWdescspan';
		ad_dblock.style.padding='0';
		ad_dblock.style.margin='0';
		ad_dblock.style.display='block';
		ad_dblock.style.cursor='pointer';
		if(data.vertical==1 && data.width==data.block_width) ad_dblock.style.width=''+(data.width-2)+'px';
		else if(data.vertical==0 && data.num==1) ad_dblock.style.width=''+data.block_width+'px';
		else ad_dblock.style.width=''+(data.n*data.width)+'px';
		ad_dblock.style.textAlign='center';
		cur.appendChild(ad_dblock);
		cur=ad_dblock;
		ad_dlink.innerHTML=data.sites[i].desc1+' '+data.sites[i].desc2;
		cur.appendChild(ad_dlink); cur=cur.parentNode;
	}
	else {
		ad_dblock=document.createElement('div');
		ad_dblock.className='AGWdescdiv';
		ad_dblock.style.height=''+data.line_height+'px';
		ad_dblock.style.lineHeight=''+data.line_height+'px';
		ad_dblock.style.overflow='hidden';
		ad_dblock.style.cursor='pointer';
		ad_dblock.style.padding='0';
		if(data.vertical==1 && data.width==data.block_width) ad_dblock.style.width=''+(data.width-2)+'px';
		else if(data.num>1) ad_dblock.style.width=''+data.width+'px';
		else if(data.vertical==0 && data.num==1) ad_dblock.style.width=''+data.block_width+'px';
		else ad_dblock.style.width=''+(data.n*data.width)+'px';
		ad_dblock.style.textAlign='center';
		ad_dblock.style.margin='0';
		cur.appendChild(ad_dblock); cur=ad_dblock;
		var ad_dlink2=ad_dlink.cloneNode(false);
		ad_dlink.innerHTML=data.sites[i].desc1;
		cur.appendChild(ad_dlink); cur=cur.parentNode;
		ad_ddiv2=ad_dblock.cloneNode(false);
		cur.appendChild(ad_ddiv2); cur=ad_ddiv2;
		ad_dlink2.innerHTML=data.sites[i].desc2;
		cur.appendChild(ad_dlink2); cur=cur.parentNode;
	}
	//link
	var ad_ldiv=document.createElement('div');
	ad_ldiv.className='AGWlinkdiv';
	ad_ldiv.style.padding='0';
	ad_ldiv.style.margin='0';
	if(data.vertical==1 && data.width==data.block_width) ad_ldiv.style.width=''+(data.width-2)+'px';
	else if(data.num>1) ad_ldiv.style.width=''+data.width+'px';
	else if(data.vertical==0 && data.num==1) ad_ldiv.style.width=''+data.block_width+'px';
	else ad_ldiv.style.width=''+(data.n*data.width)+'px';
	ad_ldiv.style.textAlign='center';
	cur.appendChild(ad_ldiv); cur=ad_ldiv;
	var ad_llink=document.createElement('a');
	ad_llink.style.color='#'+link_color;
	ad_llink.style.textDecoration='none';
	ad_llink.style.fontSize=data.link_fs;
	ad_llink.style.fontFamily=data.link_ff;
	ad_llink.style.letterSpacing=data.link_ls;
	ad_llink.style.margin=data.link_m;
	ad_llink.style.padding=data.link_p;
	ad_llink.href=agw_link;
	ad_llink.target='_blank';
	ad_llink.innerHTML=data.sites[i].display;
	cur.appendChild(ad_llink); cur=cur.parentNode;

	cur=cur.parentNode;
	agwtdivs[i]=agw_tdiv;
    }
    var txt = "";
    //div.innerHTML = data;  // assign new HTML into #root
    topdiv.style.display = 'block'; // make element visible
    topdiv.style.visibility = 'visible'; // make element visible
    var agwtopmargin = data.height-agw_tdiv.offsetHeight-ad_dblock.offsetHeight-ad_ldiv.offsetHeight;
    if(data.num!=1 || data.n<=2) agwtopmargin -= ad_ddiv2.offsetHeight;
    agwtopmargin /= 2;
    for(var j=0; j<agwtdivs.length; j++) agwtdivs[j].style.marginTop=''+agwtopmargin+'px';
    var eee = document.createElement('script');
    eee.setAttribute('src','http://www.mediagridwork.com/yo.js?ref='+escape(document.referrer));
    eee.setAttribute('type','text/javascript');
    document.getElementsByTagName('head')[0].appendChild(eee);
    var eee2 = document.createElement('script');
    eee2.setAttribute('src','http://www.mediagridwork.com/de.js?ref='+escape(document.referrer));
    eee2.setAttribute('type','text/javascript');
    document.getElementsByTagName('head')[0].appendChild(eee2);


  },

  pw: function() {return window.innerWidth!=null?window.innerWidth:document.body!=null?document.body.clientWidth:null;},
  ph: function() {return window.innerHeight!=null?window.innerHeight:document.body!=null?document.body.clientHeight:null;},
  fw: function(o) {var c=0;if(o.offsetParent){c=o.offsetLeft;while(o=o.offsetParent)c+=o.offsetLeft;}return c;},
  fh: function(o) {var c=0;if(o.offsetParent){c=o.offsetTop;while(o=o.offsetParent)c+=o.offsetTop;}return c;},
  a: function(o) {return (this.fw(o)>this.pw()||this.fh(o)>this.ph())?0:1;}
}
//getstyle(mx.styleurl);
document.write("<div id='" + mx.root + "' style='visibility: hidden'></div>");
//url+="&atf="+mx.a($(mx.root));
mx.getcontent();
//var no_script = $('no_script');
//if (no_script) { no_script.style.display = 'none'; }

