var Gooooal;
if(!Gooooal) Gooooal = {};

Gooooal.AD = {};
_gAD = Gooooal.AD;

function adTracker(tid) {
	if(typeof(pageTracker)!="undefined" && pageTracker._trackPageview)
	  pageTracker._trackPageview(tid);
	else if(typeof(urchinTracker)!="undefined")
	  urchinTracker(tid);
	else
	  window.status = tid;
}


_gAD.floatList = new Array();

_gAD.onscroll = function() {
  if(_gAD.floatList.length==0) return;

  var showTop = 0;
  if (typeof window.pageYOffset != 'undefined') {
    showTop = window.pageYOffset;
  } else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
    showTop = document.documentElement.scrollTop;
  }else if (typeof document.body != 'undefined') {
    showTop = document.body.scrollTop;
  }
  showTop = showTop>120?(showTop-120):0;
  for(var i=0; i<_gAD.floatList.length; i++) {
    var dd = document.getElementById(_gAD.floatList[i]);
    if(dd) {
      dd.style.top = showTop + "px";
    }
  }
}

_gAD.eltop = function(e) {
  var el = e, t = 0;
  while(el) {
    t += el.offsetTop;
	el = el.offsetParent;
  }
  return t;
}


if(window.attachEvent)
  window.attachEvent("onscroll", _gAD.onscroll);
else if(window.addEventListener)
  window.addEventListener("scroll", _gAD.onscroll, false);

_gAD.tryTimes = 0;

_gAD.Set = function(adc){

    if(typeof(_gl)=="object" && _gl.loading) {
      if(_gAD.tryTimes<20) {
        _gAD.tryTimes++;
        window.setTimeout(function(){_gAD.Set(adc);}, 100);
        return;
      }
    }

        _gAD.Rolling.Stop();
        try{
            	var ad = null;
            	var adCtl = null;        
            	var adi = null;
    		for(var i=0; i<adc.items.length; i++){
      			ad = adc.items[i];
      		
      			if(ad.si.length == 0 || ad.p == 0)
      				continue;
    		
    			adCtl = document.getElementById(ad.c);
      			if(!adCtl)
      				continue;


            if(ad.c=="ad_hd_1") {
              var cc = document.getElementById("div_ad_head");
              if(cc) cc.style.display = "";
            }


                if(adCtl.className.indexOf("fbanner")>=0) {
                  _gAD.floatList.push(adCtl.id);
                }

      			if(ad.r == 1 && ad.si.length>1){
      				// 轮播广告
      				_gAD.Rolling.Add(ad);
      			}else{
      				// 非轮播广告   			  				  			  				
      				adi = ad.si[0];

      				if(adi.img.substring(0,5)=="<scri") {

      				  var sif = "<iframe id=\"ifm_"+ad.c+"\" frameborder=0  marginheight=0 marginwidth=0 width="+adi.w+" height="+adi.h+" scrolling=\"no\" allowTransparency=\"true\"></iframe>";
      				  adCtl.innerHTML = sif;
      				  var iffm = document.getElementById("ifm_"+ad.c);
      				  if(iffm) {
      				    iffm.contentWindow.document.write(adi.img);
      				    window.setTimeout(function(){iffm.contentWindow.document.close();}, 5000);
      				  }

      				} else {

      				  adCtl.innerHTML = _gAD.getContent(adi);
      				  //window.alert(adCtl.innerHTML);

                    }

      			}
    		}
	}catch(e){}
	_gAD.Rolling.Start();
}


_gAD.getContent = function(adi){
  var str;
  if(adi.img.substring(adi.img.length-3)=="swf") {
    str = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width="+adi.w+" height="+adi.h+">"
            + "<param name=\"movie\" value=\""+adi.img+"\" />"
            + "<param name=\"quality\" value=\"high\" />"
            + "<param name=\"wmode\" value=\"transparent\" />"
            + "<embed src=\""+adi.img+"\" quality=\"high\" wmode=\"transparent\" width="+adi.w+" height="+adi.h+" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />"
            + "</object>";
    if(adi.t!="" && adi.t!="null")
      return "<button style=\"width:"+adi.w+"px; height:"+adi.h+"px; background:transparent; border:0; padding:0; cursor:pointer;\" onclick=\"window.open('"+adi.t+"');adTracker('"+adi.tr+"');\">" + str + "</button>";
  } else if(adi.img.substring(adi.img.length-3)=="htm" || adi.img.substring(adi.img.length-4)=="html") {
    str = "<iframe src=\""+adi.img+"\" frameborder=0  marginheight=0 marginwidth=0 width="+adi.w+" height="+adi.h+" scrolling=\"no\" allowTransparency=\"true\"></iframe>";
  } else {
    str = "<img src='"+adi.img+"' width="+adi.w+" height="+adi.h+">";
  }
  if(adi.t!="" && adi.t!="null")
    return "<a href='"+adi.t+"'"+(adi.t.substring(0,11)=="javascript:"?"":" target='_blank'")+" onclick=\"adTracker('"+adi.tr+"');\">" + str + "</a>";
  else
    return str;
}

_gAD.Rolling = {};
_gAD.Rolling.Items = [];
_gAD.Rolling.Interval = 500;
_gAD.Rolling.AD = function(ad){
	this.Container = document.getElementById(ad.c);
	this.Container.style.height = ad.h;
	this.Container.style.width = ad.w;
	this.SI = _gAD.Clone(ad.si);
	this.Tick = Math.round(ad.ri/_gAD.Rolling.Interval);
	this.CurTick = 0;
	this.Count = ad.si.length;
	this.Index = -1;
}
_gAD.Rolling.Timer = null;
_gAD.Rolling.Roll = function(){
        var item = null;
	for(var i=0;i<_gAD.Rolling.Items.length; i++){
		item = _gAD.Rolling.Items[i];
		if(--item.CurTick<0){
			item.CurTick = item.Tick;
			item.Index = (item.Index+1)%item.Count;

			var adi = item.SI[item.Index];
			item.Container.innerHTML = _gAD.getContent(adi);
		}
	}
}
_gAD.Rolling.Add = function(ad){
        var rAD = new _gAD.Rolling.AD(ad);
	_gAD.Rolling.Items.push(rAD);
}
_gAD.Rolling.Restart = function(){
	_gAD.Rolling.Stop();
	_gAD.Rolling.Start();
}
_gAD.Rolling.Start = function(){
        if(_gAD.Rolling.Items.length > 0){
                _gAD.Rolling.Roll();
		_gAD.Rolling.Timer = setInterval(_gAD.Rolling.Roll, _gAD.Rolling.Interval);
	}
}
_gAD.Rolling.Stop = function(){
	if(_gAD.Rolling.Timer)
		clearInterval(_gAD.Rolling.Timer);
}

// 移到Util里去
_gAD.Clone = function clone(obj){
    if(obj == null || typeof(obj) != 'object') return obj;

    if(obj.constructor == Array) {
            var temp = [];
            for(var i = 0; i < obj.length; i++) {
                    if(typeof(obj[i]) == 'object')
                    	temp.push(clone(obj[i]));
                    else
                        temp.push(obj[i]);
                }
            return temp;
    }

    var temp = {};
    for(var key in obj) temp[key] = clone(obj[key]);
    return temp;
}

_gAD.addTextAd = function(tbid, colnum) {
  if(typeof(GL_AD_text)=="undefined" || !GL_AD_text) return;
  var tb = document.getElementById(tbid);
  if(!tb || tb.tagName!="TABLE") return;
  var i, n = 0, tr, td, adc;
  try {
    for(i=1; i<tb.rows.length; i++) {
      tr = tb.rows[i];
      if(tr.getAttribute("tr_ad")=="1") {
        tb.deleteRow(i);
        i--;
      } else if(tr.style.display!="none" && tr.cells.length==colnum) {
        adc = GL_AD_text[n];
        if(adc && n>0) {
          tr = tb.insertRow(i);
          tr.setAttribute("tr_ad", "1");
          td = tr.insertCell(-1);
          td.colSpan = colnum;
          td.style.textAlign = "center";
          td.bgColor = "#fffbe8";
          td.innerHTML = adc;
          i++;
        }
        n++;
      }
    }

    for(p in GL_AD_text) {
      if(parseInt(p)>0 && parseInt(p)>=n) {
        adc = GL_AD_text[p];
        tr = tb.insertRow(tb.rows.length);
        tr.setAttribute("tr_ad", "1");
        td = tr.insertCell(-1);
        td.colSpan = colnum;
        td.style.textAlign = "center";
        td.bgColor = "#fffbe8";
        td.innerHTML = adc;
      }
    }
  } catch(e) {}
}

