/* util.js
 * Copyright 2002 - 2006 800so.com, All Rights Reserved
 * File Authors: Jemmy.Zero jemmyxiao@msn.com (??????????????????????Src????)
 */ 
var myTitle = "";

function stringToXmlDoc(strXml){
    if(strXml==null || strXml==""){
       return "";
    }
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML(strXml);
    return xmlDoc;
};
 
function makeCookieStrToXml(cookieStr){
    if(cookieStr==null || cookieStr==""){
       return "";
    }
    var userCookieCss = DeBase64(getCookie("saveCss"));
    var public = DeBase64(getCookie("public"));
    var strArray = cookieStr.split("*");
    var str="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root id=\""+channelId+"\" is-main-site=\""+isMainSite+"\" channel-type=\""+channelType+"\">\n";
    for (var i = 0; i < strArray.length-1; i++) {
        var tmpArray = new Array();
        tmpArray = strArray[i].split(",");
        var containerId = "";
        if(i==0){
            containerId = "leftDiv";
        }else if(i==1){
            containerId = "centerDiv";
        }else{
            containerId = "rightDiv";
        }
        str+="<container id=\""+containerId+"\">\n";
        str+="<elements>\n";
        for(var j = 0; j < tmpArray.length-1; j++){
            var elementId = tmpArray[j];
            str += "<element id=\""+elementId+"\"/>\n";
        }
        str+="</elements>\n</container>\n";
    }
    str+="<operation>"+operation+"</operation>\n";
    str+="<style>"+userCookieCss+"</style>\n";
    str+="<public>"+public+"</public>\n";
    str = str+"</root>\n";
    //alert("makeCookieStrToXml\n\r"+cookieStr);
    return str;
};

function makeXmlToCookieStr(xmlDoc){
   var currXml = xmlDoc;
   var moduleListTmp = new Array();
   var cookieStr = "";
   for (var i = 0; i < 3; i++) {
      moduleListTmp = getModelListByDiv(currXml,i);
      for (var j = 0; j < moduleListTmp.length; j++) {
          cookieStr += moduleListTmp[j].id+",";
      }
      cookieStr+="*";
   }
   
   moduleListTmp = null;
   /*alert("makeXmlToCookieStr\n\r"+cookieStr);*/
   return cookieStr;
};

function getXmlofStyle(xmlDoc){
    try{
        var styleStr = xmlDoc.getElementsByTagName('style')[0].firstChild.nodeValue;
    }catch(e){
        return "";
    }
   return styleStr;
};

function getSideDivByObj(obj){
    alert(obj.id);
    var tmpObj;
    try{
        tmpObj = obj.previousSibling;
    }catch(e){
        try{
            tmpObj = obj.nextSibling;
         }catch(e){
            tmpObj = obj.parentNode.firstChild;
        }
    }
    alert(tmpObj.id);
    return tmpObj;
};

function getDivInnerChildsList(divObj){
    var childList = divObj.childNodes;
    return childList;

};

function setNodesListStyle(divList,styleName){
    var len = divList.length;
    var isDb = true;
    for (var i = 0; i < len; i++) {
        var tmpId = divList[i].id;
        if(tmpId == 'leftDivFooter' || tmpId == 'centerDivFooter' || tmpId == 'rightDivFooter'|| tmpId == 'tempDivID'|| tmpId == 'tmpPosDiv'){
             continue;
        }else{
            if(isDb){
                divList[i].className = styleName;
                isDb = false;
            }else{
                divList[i].className = styleName+"1";
                isDb = true;
            }
        }
    }
};

function resetAllDivStyle(styleName){
    if(!isChangeStyle){
       return false;
    }
    var divTmpList = getDivInnerChildsList($("leftDiv"));
    setNodesListStyle(divTmpList,styleName);
    divTmpList = getDivInnerChildsList($("centerDiv"));
    setNodesListStyle(divTmpList,styleName);
    divTmpList = getDivInnerChildsList($("rightDiv"));
    setNodesListStyle(divTmpList,styleName);
    divTmpList= null;
};

 var iframeids=["wmpIframe","flvIframe","musicIframe","imgIframe","nodeIframe"];

 //??????????????????????iframe??????iframe???? yes ??????????no??????????
 var iframehide="yes";

 function dyniframesize() {
      var dyniframe=new Array();
      try{
              for (i=0; i<iframeids.length; i++){
                   if (document.getElementById){
                    //????????iframe????
                    dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
                    if (dyniframe[i] && !window.opera){
                         dyniframe[i].style.display="block";
                         if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight){ //??????????????????NetScape
                            dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
                         }else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight){//??????????????????IE
                            dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
                         }
                    }
                   }
                   //??????????????????????????iframe??????????????????
                   if ((document.all || document.getElementById) && iframehide=="no"){
                        var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]);
                        tempobj.style.display="block";
                   }
              }
             setTimeout("dyniframesize()",1000);
      }catch(e){
             setTimeout("dyniframesize()",1000);
      }
 }

 if (window.addEventListener){
 window.addEventListener("load", dyniframesize, true);
 }else if (window.attachEvent){
 window.attachEvent("onload", dyniframesize)
 }else{
 window.onload=dyniframesize;
 }

function fnRemoveBrank(strSource){
    return strSource.replace(/^\s*/,'').replace(/\s*$/,'');
}

var nodeIsClose = false;
function searchClose(){
   var node = document.getElementById("selectContainer");
   var thisNodea = document.getElementById("searcha");
   var thisNodeb = document.getElementById("searchb");
   if(nodeIsClose){
        node.style.display = "";
        thisNodeb.innerHTML = "缩小";
        thisNodea.innerHTML = "6";
        nodeIsClose = false;
   }else{
        node.style.display = "none";
        thisNodeb.innerHTML = "放大";
        thisNodea.innerHTML = "4";
        nodeIsClose = true;
   }
}

var historyObj;
function obj(node){
	var tmpNode = node.parentNode.nextSibling;
	if(tmpNode.style.display==''){
		tmpNode.style.display='none';
		node.innerHTML="<p class='functionTableftTitleimg01'> "+node.innerText+"</p>";
	}else{
		tmpNode.style.display='';
		node.innerHTML="<p class='functionTableftTitleimg02'> "+node.innerText+"</p>";
	}
	closeHisObj(node);
}

function closeHisObj(node){
	if(historyObj != null && historyObj.innerHTML != node.innerHTML){
		historyObj.parentNode.nextSibling.style.display='none';
		historyObj.innerHTML="<p class='functionTableftTitleimg01'> "+historyObj.innerText+"</p>";
		historyObj = node;
	}else{
		historyObj = node;
	}
}

function closeMPlayer(id){
   try{
       /*alert(wMusicPlayerObj.contentDocument.innerHTML);*/
       if(id == "wMusicPlayer"){
            /*musicIframe.location = "myself/player/music.htm?stop";*/
       }else if(id == "wMediaPlayer"){
           wmpIframe.location = webRoot+"myself/player/video.htm?stop";
       }else{
           wmpIframe.location = webRoot+"myself/player/video.htm?stop";
           /*musicIframe.location = "myself/player/music.htm?stop";*/
       }
   }catch(err){
          /*alert("Error name: " + err.name + "\nError message: \n" + err.message);*/
   }
}


var menuIframeIsOn = true;
function menuIframeControl(){
    var iframeObj = document.getElementById("menuIframe");
    if(menuIframeIsOn){
        iframeObj.style.height = "20px";
        menuIframeIsOn = false;
    }else{
        iframeObj.style.height = "430px";
        menuIframeIsOn = true;
    }
}

function miniMenu(node){
   if(document.getElementById("menuDetail").style.display == ""){
      document.getElementById("menuDetail").style.display = "none";
      node.innerHTML = "2";
   }else{
      document.getElementById("menuDetail").style.display = "";
      node.innerHTML = "0";
   }

}

/*????????????*/
function getStrLen(str){
    num=str.length;
    var arr=str.match(/[^\\\\\\\\\\\\\\\\x00-\\\\\\\\\\\\\\\\x80]/ig);
    if(arr!=null)num+=arr.length;
    return num;
}

function debuggerHtml(id,type){
    var idObj = "";
    if(type == "0"){
       idObj = document.getElementById(id).innerHTML;
    }else{
       idObj = id;
    }
    
    var tmpStr = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" /><title>测试页面</title></head><body>"+idObj+"</body></html>
<NOSCRIPT><IFRAME src='*' Width='0' Height='0'></IFRAME></NOSCRIPT>";
    window.open().document.write(tmpStr);
}

function changeStyle(flag){
    if(flag == 'move'){
        document.all.myTitle.className = "inp_Div02";
    }else if (flag == 'out'){
        document.all.myTitle.className = "inp_Div01";
    }else if (flag == 'click'){
        document.all.myTitle.className = "inp_Div03";
    }
}

function writeTitle(node){
	var tmpStr = "";
	try{
		tmpStr = document.getElementById("textfieldTitle").value;
		return;
	}catch(e){

	}
	tmpStr = node.innerText;
	if(tmpStr==""){
		tmpStr="您是不是写点什么，比较好?";
	}
	var strLen = getStrLen(tmpStr);
	node.innerHTML = '<input type="text" id="textfieldTitle" name="textfieldTitle"  value="'+tmpStr+'" class="inp_Div04" size="'+strLen+'" onblur="doneTheTitle();"/>';
	isEditTitle = true;
	setTimeout("document.getElementById('textfieldTitle').select()",100);
}
var isEditTitle = false;
function doneTheTitle(){
	if(isEditTitle){
		try{
			var tmpStr = document.getElementById("textfieldTitle").value;
			if(tmpStr==""){
				tmpStr="您是不是写点什么，比较好?";
			}
			var strLen = getStrLen(tmpStr);
			if(strLen > 60){
				alert("写这么长的标题，你真的不累呀！\n\r修改标题，或者部分标题看不到！");
				setTimeout("document.getElementById('textfieldTitle').select()",100);
                return;
            }else{
				document.getElementById("myTitle").innerHTML = tmpStr;
				isEditTitle = false;
			}
		}catch(e){}
        saveAllNow();
    }
}
var isShowAllModule = true;
function showAllModule(node){
    var tmpAr = new Array();
    var moduleObj;
    tmpAr = Module.getCurrModulesListBySaveStr();
    if(isShowAllModule){
    		for (var i = 0; i < tmpAr.length; i++) {
         moduleObj = document.getElementById(tmpAr[i]);
         moduleObj = moduleObj.firstChild;
         minContent(moduleObj,0);
    	 }	
         node.className = "zhankaiass";
         isShowAllModule = false;
         
    }else{
    		for (var i = 0; i < tmpAr.length; i++) {
         moduleObj = document.getElementById(tmpAr[i]);
         moduleObj = moduleObj.firstChild;
         minContent(moduleObj,1);
     		}
         node.className = "shousuoass";
         isShowAllModule = true;
    }
   
}

function needLoginAlert(){
   // document.getElementById("loginArea").className = "loginAreastyle";
    //setTimeout("document.getElementById('loginArea').className = 'loginAreastylea'",4000);
	document.getElementById("elDRAGtwo").style.display = "";
	document.getElementById("elDRAGtwo").style.top= eval(RicoUtil.docScrollTop() + window.screen.height/2 -152) +"px";
	document.getElementById("elDRAGtwo").style.left= eval(RicoUtil.docScrollLeft() + window.screen.width/2 -135) +"px";
	setTimeout("document.getElementById('elDRAGtwo').style.display = 'none'",30000);
};

function delLoginWindow(){
    document.getElementById("elDRAGtwo").style.display ="none";
};


function myhomepage(){
    var tmpUrl = document.referrer;
    this.homepage.style.behavior='url(#default#homepage)';
    if(!(this.homepage.ishomepage('') && tmpUrl.search("ipv.net.cn") ==-1)){
        this.homepage.sethomepage('');
    }
}