/************************************
*
*  墙外广告加载脚本(QWAdLoad) V1.3
*
*  网址：http://www.xwangye.com
*  QQ群：2883304(已满不加人)  63172250
*
************************************/

var isSetLoadQWAd=false;var orderType="desc";
var Ads,qwCurAdCodeIndex;

function LoadSingleAd(AdCode)
{
	var AdArea=document.getElementById(AdCode.getAttribute("QWADArea"));
	if(AdArea.getAttribute("isQWAdInit")==null||AdArea.getAttribute("isQWAdInit")=="false")
	{
		AdArea.innerHTML="";
		AdArea.setAttribute("isQWAdInit","true");
	}
	if(AdCode.tagName=="TEXTAREA")    //如果是使用的textarea标签
	{
		var tmpSpan=document.createElement("span");
		setInnerHTML(tmpSpan,AdCode.value,AdArea);
	}
	else
	{　　　　//如果是直接使用的div
		AdArea.appendChild(AdCode);
		singleAdLoaded();
	}
}

function singleAdLoaded()
{
	if(orderType=="desc")
	{
		qwCurAdCodeIndex--;
		if(qwCurAdCodeIndex<0) return;
	}
	else
	{
		qwCurAdCodeIndex++;
		if(qwCurAdCodeIndex>=Ads.length) return;
	}
	LoadSingleAd(Ads[qwCurAdCodeIndex]);
}

function htmlInited(toArea,obj)
{
	toArea.appendChild(obj);
	singleAdLoaded();
}

var setInnerHTML = (function () {
	var element_stack = [];
	var input_stack = [];
	var html_stack = [];
	var timer = null;
	var ua = navigator.userAgent.toLowerCase();
	var isIE = (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0);
	var old_document_write = document.write;
	var old_document_writeln = document.writeln;
	var loding_script = false;
	var mytoArea;

	var callback = function () {
		if (loding_script) {
			   return;
		}
		if (element_stack.length == 0) {
			   clearInterval(timer);
			   timer = null;
			   return;
		}
		var index = element_stack.length - 1;
		var input = input_stack[index];
		
		if (input.length == 0) {
			   input_stack.pop();
			   var element = element_stack.pop();
			   var html = html_stack.pop();
			   element.innerHTML = '';

			   if (html.match(/<script([^>]*>)((.|\r|\n)*?)<\/script>/i) != null) {
				 setInnerHTML(element, html,mytoArea);
				 return;
			   }
			   if (isIE) {
				 html = '<div style="display:none">for IE</div>' + html;
				 element.innerHTML = html;				 
				 element.removeChild(element.firstChild);
			   } else {
				 element.innerHTML = html;
			   }
			   htmlInited(mytoArea,element);
			   return;
		}
		var item = input[input.length - 1];
		if (typeof item == 'string') {
			   html_stack[index] += item;
			   input.pop();
		} else if (typeof item == 'object') {
			   if (item.src) {
				 loding_script = true;
				 var script = document.createElement('script');
				 script.src = item.src;
				 script.__index = index;
				 
				 
				 if (isIE) {
					script.onreadystatechange = script_loaded;
				 } else {
					script.onload = script_loaded;
				 }
				 var head = document.getElementsByTagName('head')[0];
                                                                 setWrite();
				 head.appendChild(script);
			   }
			   if (item.text) {
				 var script = document.createElement('script');
				 script.text = item.text;
				 var head = document.getElementsByTagName('head')[0];
				 setWrite();
				 head.appendChild(script);
				 resertWrite();
				 input.pop();
			   }
		} else {
			   input.pop();
		}
	}
	
	var script_loaded = function () {
		if (isIE && this.readyState.toLowerCase() != "loaded" && this.readyState.toLowerCase() != "complete") {
			   return;
		}
		resertWrite();
		var index = this.__index;
		input_stack[index].pop();
		loding_script = false;
	}
	
	var new_document_write = function() {
	for (var i = 0; i < arguments.length; i++) {
		   html_stack[element_stack.length - 1] += arguments[i];
	}
	}
	
	var new_document_writeln = function () {
	for (var i = 0; i < arguments.length; i++) {
		   new_document_write(arguments[i] + "\n");
	}
	}
	
	var setWrite = function () {
			   document.write = new_document_write;
			   document.writeln = new_document_writeln;		
	}
	var resertWrite = function () {
			   document.write = old_document_write;
			   document.writeln = old_document_writeln;		
	}
	
	return function (element, htmlCode,toArea) {
		mytoArea=toArea;
		element_stack.push(element);
		html_stack.push('');
		var input = [];
		while (true) {
			   if ((m = htmlCode.match(/<script([^>]*>)((.|\r|\n)*?)<\/script>/i)) == null) {
				 break;
			   }
			   input.unshift(htmlCode.substr(0, m.index));
			   
			   htmlCode = htmlCode.substr(m.index + m[0].length);
			   if ((m2 = m[1].match(/src\s*=\s*(['"]?)([^'">\s]*)\1/i)) != null) {
				 input.unshift({src:m2[2]});
			   } else {
				 input.unshift({text:m[2]});
			   }
		}
		input.unshift(htmlCode);
		input_stack.push(input);
		if (timer == null) {
			   timer = setInterval(callback, 5);
		}
	}
})();

function loadQWAd()
{
	if(isSetLoadQWAd)
		return;
	else
		isSetLoadQWAd=true;	
	
	Ads=document.getElementsByName("QWADLoad");	
		
	if(Ads.length>0)
	{
		if(orderType=="desc")
			qwCurAdCodeIndex=Ads.length-1;
		else
			qwCurAdCodeIndex=0;
		LoadSingleAd(Ads[qwCurAdCodeIndex]);
	}
		
}

function QWAttach(o,e,f)
{
   if (o.attachEvent)
     o.attachEvent("on"+e,f);
   else if (o.addEventListener)
      window.addEventListener("load",loadQWAd,false);
}

QWAttach(window,"load",loadQWAd);
