//Code structure inspired from http://drnicwilliams.com/2006/11/21/diy-widgets/
mx = new function() {
  var base = 'http://www.mediagridwork.com/';
  var styleurl = base + "mx.css"
  var url = base + 'x.php?sid='+sid+'&tc='+title_color+'&dc='+description_color+'&lc='+link_color+'&bgc='+background_color+'&bc='+border_color;
  var root = 'adgridwork.com';

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

  function isIE() {
    return (navigator.userAgent.indexOf('MSIE')!=-1);
  }

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

  this.response = function(data) {
    if (!data) return;
    var topdiv = document.getElementById(root);
    topdiv.style.width=''+(data.block_width)+'px';
    //topdiv.style.height=''+data.block_height+'px';
    topdiv.style.overflow='hidden';
    //topdiv.style.textAlign='center';
    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.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 ifr=document.createElement('iframe');
    ifr.setAttribute('src', 'http://www.adgridwork.com/');
    ifr.style.display='none';
    //topdiv.appendChild(ifr);

  }

  //getstyle(styleurl);
  document.write("<div id='" + root + "' style='display: none'></div>");
  getcontent();
  var no_script = document.getElementById('no_script');
  if (no_script) { no_script.style.display = 'none'; }
}
