//处理文章广告和栏目广告, 文内广告在组件解释程序来处理
//1  页面刷新时广告更新
//2  横向列表,广告之间间距为 10px
//3  隔一定时间更新广告
//4  飘浮在页面上的效果
//5  总是处于底部右边的效果
//6  纵向列表显示效果，间距为 10px
//7  对联显示
//8  背投弹出
//9  总是处于中部右边的效果
//10 总是处于底部左边的效果
//11 总是处于中部左边的效果
//12 总是处于顶部右边的效果
//13 总是处于顶部左边的效果
//14 全屏显示

var isError = false;
var xmlPath = "/AdPreview/";
var arrAd = new Array();
var arrIndex = 0;
var iii = 0;
var objList = new Array();

	function closeDiv(sName){
		
		var tt = document.getElementsByName(sName);
		alert(tt);
		//tt.style.visibility='hidden';
	}

function parseXMLFile(sUrl ,nAdType, nStyle, sName, width, height)
{
    var sRet = "";
    var xmlDoc;
    var root;
    
    try
    {

    	xmlDoc = new ActiveXObject("Msxml2.DOMDocument");  
        xmlDoc.async = false;  	  
        xmlDoc.load(sUrl);

        
        root = xmlDoc.documentElement;
        //alert("sname"+sName);
        if(root.childNodes.item(0).childNodes.item(0).text == "1")
        {
            //alert(sName+" is delete!!");
            isError = true;
            return sRet;
        }
	//alert("sname"+sName+"-->ret:"+sRet);
        var eltAdRoot = root.selectSingleNode("adList");//selectNodes
        var eltAdList  = eltAdRoot.selectNodes("ad");
        var nLen = eltAdList.length;
        
        if(nAdType == 3)
        {
            var nIndex = 0;
           
            linkUrl = eltAdList.item(nIndex).selectSingleNode("linkurl").text;
            entityUrl = eltAdList.item(nIndex).selectSingleNode("entityurl").text;
             
            sRet = getDisplayContent(linkUrl, entityUrl, sName, width, height);
        }
        else
        {
        	  sRet = "<table cellspacing=\"0\" border=\"0\" cellappending=\"0\" widthh=\""+width+"\">";
        	  var listentity="";
            if(nStyle == 2 || nStyle == 6)
            {
                for(i=0; i<nLen; i++)
                {
                    linkUrl = eltAdList.item(i).selectSingleNode("linkurl").text;
                    entityUrl = eltAdList.item(i).selectSingleNode("entityurl").text;
                    
                    var rowentity = "<td>"+getDisplayContent(linkUrl, entityUrl, sName, width, height)+"</td>";
                    if(nStyle == 6 && i >= 0){
                    	listentity += "<tr>"+rowentity+"</tr>";
                    }	else
                    listentity += rowentity;
                    
                    if(i<(nLen-1)){
                    	if(nStyle==2){
                         listentity += "<td width=10 nowrap></td>"; 
                      }   
                      else {
                      	 
                      	 listentity += "<tr height=10 nowrap><td>&nbsp;</td></tr>"; 
                      	 
                      }	 
                      
                    }  
                    
                }
                if(nStyle==2)
                    sRet += "<tr>"+listentity+"</tr>";
                else     sRet += listentity;
                sRet += "</table>";	
                    
                

            }
            if(nStyle == 1 || nStyle == 4 || nStyle == 5 || nStyle == 7 || (nStyle >= 9 && nStyle <= 13 )){
            	    
//                for(i=0; i<nLen; i++)
//                {
//                    linkUrl = eltAdList.item(i).selectSingleNode("linkurl").text;
//                    entityUrl = eltAdList.item(i).selectSingleNode("entityurl").text;
	
//                    sRet = getDisplayContent(linkUrl, entityUrl, sName, width, height);
										                    
//                }
                if(nLen>0){
                    linkUrl = eltAdList.item(0).selectSingleNode("linkurl").text;
                    entityUrl = eltAdList.item(0).selectSingleNode("entityurl").text;
	
                    sRet = getDisplayContent(linkUrl, entityUrl, sName, width, height);
                }
                var closeStr = "<p align=right><img src=\"/AdPreview/buttom.gif\" onclick=\"closeDiv('"+sName+"')\"/></p>";
                if(nStyle!=1 && nStyle!=7){
									//sRet += closeStr;                	
                }

            }
            if(nStyle == 8){
                    linkUrl = eltAdList.item(0).selectSingleNode("linkurl").text;
                    entityUrl = eltAdList.item(0).selectSingleNode("entityurl").text;            	
            				var tt = window.open(entityUrl,"popAd","height="+height+", width="+width+", top=0, left=0, toolbar=no, menubar=no, scrollbars=no,resizable=yes,location=no, status=no");
            }
        }
	
        return sRet;
    }
    catch(ex)
    {
    	  //alert(ex);
        isError = true;
        return sRet;
    }
}

function getEntityType(entityUrl)
{
    var pos = entityUrl.lastIndexOf(".");
    var entityType = entityUrl.substring(pos + 1);
    return entityType;
}

function isFlash(entityType)
{
    if(entityType == "swf")
        return true;
    return false;
}

function isVideo(entityType){
	
    if(entityType == "wav" || entityType == "rm" || entityType == "wmv"  )
        return true;
    return false;	
}

function isAudio(entityType){
	    if(entityType == "mid" || entityType == "mp3" || entityType == "mpeg" || entityType == "mpg" )
        return true;
    return false;	
}
function getDisplayContent(linkUrl, entityUrl, sName,width,height)
{
    var result = "";
    
    if(isFlash(getEntityType(entityUrl)))
    {
        result += "<OBJECT id=\"img" + sName + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"";

        	result += " Height=\""+height+"\" ";
        	result += " width=\""+width+"\" ";
   
        result += " codebase=\"http://active.macromedia.com/flash2/cabs/swflash.cab#version=5,0,0,0\">";
        result += "<PARAM NAME=movie VALUE=\"" + entityUrl + "\">";
        result += "<PARAM NAME=quality VALUE=high>";
        result += "<EMBED src=\"" + entityUrl + "\" quality=high TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></EMBED>";
        result += "</OBJECT>";
    }else if(isVideo(getEntityType(entityUrl))){
			  result += " <object name=\"founderflashobject\" classid=\"clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa\" width=\""+width+"\" height=\""+height+"\"> ";
			  result += " <param name=\"autostart\" value=\"-1\"> ";
			  result += " <param name=\"shuffle\" value=\"0\"> ";
			  result += " <param name=\"prefetch\" value=\"0\"> ";
			  result += " <param name=\"nolabels\" value=\"0\"> ";
			  result += " <param name=\"src\" value=\""+entityUrl+"\"> ";
			  result += " <param name=\"controls\" value=\"imagewindow,controlpanel\"> ";
			  
			  result += " <param name=\"console\" value=\"clip1\"> ";
			  result += " <param name=\"loop\" value=\"0\"> ";
			  result += " <param name=\"numloop\" value=\"0\"> ";
			  result += " <param name=\"center\" value=\"0\"> ";
			  result += " <param name=\"maintainaspect\" value=\"0\"> ";
			  result += " <param name=\"backgroundcolor\" value=\"#000000\"> ";
			  result += " </object>    	";
    }else if(isAudio(getEntityType(entityUrl))){
    	result += "<object name=\"founderflashobject\" width=\""+width+"\" height=\""+height+"\"> ";
  		result += "<embed src=\""+entityUrl+"\" quality=high  width=\""+width+"\" height=\""+height+"\" > ";
  		result += "</embed> ";
			result += "</object> ";
    }
    else
    {
    	if(linkUrl == null || linkUrl.length == 0 || linkUrl == "null")
	        result += "<img id=\"img" + sName + "\" src=\"" + entityUrl + "\" border=0 ></img>";
			else
			{
	        result += "<a href=\"" + linkUrl + "\" target=\"_blank\">";
	        result += "<img id=\"img" + sName + "\" src=\"" + entityUrl + "\" border=0></img>";
	        result += "</a>";
			}
    }
    return result;
}



function doContentAd(sUrl,width,height)
{
	
    if(document.all("adv_div_default") == null)
        return;

    if(document.all("adv_div_none") != null)
        return;

    var objAds = document.all("adv_div_default");
    //alert(objAds);
    

    var sName = "divcontent";
    var sAdValue = parseXMLFile(sUrl,3,0,sName,width,height);
	
    if(isError)
        return;

    if(objAds.length == null)
    {
    	objAds.innerHTML = sAdValue;
    	objAds.style.display = "inline";
    	return;
    }
    
    for(i=0;i<objAds.length;i++)
    {
    	objAds[i].innerHTML = sAdValue;
    	objAds[i].style.display = "inline";
    }

}



function showAd(nAdType, nAdPosition, nStyle,ad_siteid,ad_nodeid,width,height)
{

    isError=false;	
       if(nAdType == 3)
    {
        nAdPosition = 0;
    }

    
    var sUrl = xmlPath + "ad_" + ad_siteid + "_" + ad_nodeid + "_" + nAdType + "_" + nAdPosition + ".xml";

            if(nStyle == 3)
        {
            arrAd[arrIndex] = new Array();
            arrAd[arrIndex][0] = nAdType;
            arrAd[arrIndex][1] = nAdPosition;
            arrAd[arrIndex][2] = 1;

            arrIndex++;
            if(arrIndex == 1)
            {
                window.setInterval('reloadAd()',5000);
            }

            nStyle = 1;
        }

        var sName = "div_ad_" + nAdType + "_" + nAdPosition;
        var sRet = parseXMLFile(sUrl, nAdType, nStyle, sName,width,height);
        
        if(isError)
            return;
        
        //alert(sRet);

        if(nStyle == 5 || nStyle == 4 || nStyle == 7 || (nStyle >= 9 && nStyle<=13))
        {
            adMove(sRet, sName, nStyle);
        }if(nStyle == 8){
        	
        }
				else
				{
					  
            var obj = document.all(sName);
            
            obj.innerHTML = sRet;
  			}


}

function popAd(){
	}

function showAd_preivew(nAdType, nAdPosition, nStyle,ad_siteid,ad_nodeid,width,Height,s_xmlpath)
{

	xmlPath = s_xmlpath;
	showAd(nAdType, nAdPosition, nStyle,ad_siteid,ad_nodeid,width,Height);
}

function reloadAd()
{
    for(i=0; i<arrIndex; i++)
    {
    	var objname = "div_ad_"+arrAd[i][0]+"_"+arrAd[i][1];
    	var obj = document.all(objname);
    	var tWidth = 0;
    	var tHeight = 0;
    	if(obj!=null)
    	{
    		if(obj.length != null)
    			obj = obj[0];
    		tWidth = obj.width;
    		tHeight = obj.height;
    		//alert(tWidth);
    		//alert(tHeight);
    	}
        showAd(arrAd[i][0], arrAd[i][1], arrAd[i][2]);
        setAdSize(objname, tWidth, tHeight)
    }
}

var imgheight = 200;


function adMoveRefresh(sName, nStyle)
{
    if(nStyle == 5 || nStyle == 10)
    {
    	//alert("body clientHeight == "+document.body.clientHeight);
    	//alert("div clientHeight == "+document.all(sName).clientHeight);
        document.all(sName).style.posTop = document.body.scrollTop + document.body.clientHeight - document.all(sName).clientHeight - 10;
        //alert("final top == "+document.all(sName).style.posTop);
        if(nStyle==10)
          document.all(sName).style.left = 10;
        else
          document.all(sName).style.right = 5;
        
        setTimeout("adMoveRefresh(\"" + sName +"\"," + nStyle + ");",500);
    }else if(nStyle == 9 || nStyle == 11){
        document.all(sName).style.posTop = (document.body.scrollTop + document.body.clientHeight)/2;
        if(nStyle==11)
          document.all(sName).style.left = 11;
        else
          document.all(sName).style.right = 9;
        
        setTimeout("adMoveRefresh(\"" + sName +"\"," + nStyle + ");",500);
    	
    }else if(nStyle == 12 || nStyle == 13){
        document.all(sName).style.posTop = document.body.scrollTop;
        if(nStyle==13)
          document.all(sName).style.left = 13;
        else
          document.all(sName).style.right = 12;
        
        setTimeout("adMoveRefresh(\"" + sName +"\"," + nStyle + ");",500);    	
    } 	
    else if(nStyle == 7){
//    	  itop = 100;
//        document.all(sName).style.posTop = (document.body.scrollTop + document.body.clientHeight)/2;
//        alert(document.all(sName));
//        document.all(sName+"_clone").style.posTop = (document.body.scrollTop + document.body.clientHeight)/2;
//        document.all(sName).style.right = 5;
//        document.all(sName+"_clone").style.left = 5;
        
//        setTimeout("adMoveRefresh(\"" + sName +"\"," + nStyle + ");",500);
    	
    }    
    else if(nStyle == 4)
    {
        var nTop = document.all(sName).style.top;
        var nLeft = document.all(sName).style.left;
        nTop = nTop.replace("px","");
        nLeft = nLeft.replace("px","");
        nTop = nTop - 0 + 10;
        nLeft = nLeft - 0 + 10;
        if(nTop > document.body.clientHeight)
        {
            nTop = nTop - document.body.clientHeight;
        }

        if(nLeft > document.body.clientWidth)
        {
            nLeft = nLeft - document.body.clientWidth;
        }

        document.all(sName).style.top = nTop;
        document.all(sName).style.left = nLeft;
	setTimeout("adMoveRefresh(\"" + sName +"\"," + nStyle + ");",500);
    }

    
}

function adMove(sRet, sName, nStyle)
{

    var obj = document.all(sName);
    var obj2 ;
    
    var realRet = "";
    var realRet_clone = "";
    
    var closeStr = "";
		//"<p align=right><img src=\"/AdPreview/buttom.gif\" onclick=\"closeDiv('"+sName+"')\"/></p>";
    var closeStr_clone ="";
		//"<p align=right><img src=\"/AdPreview/buttom.gif\" onclick=\"closeDiv('"+sName+"_clone')\"/></p>";
    
    if(nStyle==7){
    	
    	realRet =       "<div id=\"" + sName + "\" style='top:100;position: absolute;visibility: visible;z-index: 1;left:1;'>" + closeStr+sRet + "</div>";
    	realRet_clone = "<div id=\"" + sName + "_clone\" style='top:100;position: absolute;visibility: visible;z-index: 1;right:1;'>"+closeStr_clone + sRet + "</div>";
  	}else{
  		realRet = "<div id=\"" + sName + "\" style='position: absolute;visibility: visible;z-index: 1'>" + sRet+closeStr + "</div>";	
  	}
   
    
  	  
    
    //imgheight = document.all("img" + sName).height;
 	  if(nStyle!=7){   
      adMoveRefresh(sName, nStyle);
      obj.outerHTML = realRet;
    }else{
    	document.write(realRet);
    	document.write(realRet_clone);
    	
    }  
}

function setAdSize(adname, nWidth, nHeight)
{
	var ads = document.getElementsByName(adname);
	for(i=0;i<ads.length;i++)
	{
		if(nWidth > 0)
			ads[i].width = nWidth;
		if(nHeight > 0)
			ads[i].height = nHeight;
	}
	

}