/**
  *
  *  Copyright 2006 www.51Ajax.com
  *
  *  Rss Ver 0.3
  *  Author :hopesoft[琥珀]  
  *  Email  :hopesoft@msn.com
  *  Website:http://www.51ajax.com
  *  
  **/
  
	function GetRss(fid,div,num,stype,sid){
  	//stype:0不循环 1循环
	   var url;
	　　switch(rssFrom){
			case "bbs":
				url="/bbs/rss.php?fid="+fid+"&auth=0"+"&rnd="+Math.round(Math.random()*1000,4)
				break;
			case "blog":
				url="/blog/rss.php?rnd="+Math.round(Math.random()*1000,4)
				break;				
			case "tech":
				url="/tech/rss.php?tid="+fid+"&rnd="+Math.round(Math.random()*1000,4)			
				break;				
			default:
				url="/bbs/rss.php?fid="+fid+"&auth=0"+"&rnd="+Math.round(Math.random()*1000,4)
				break;				
		}

		postMsg("正在读取数据，请稍等!","loading",div)		
		dojo.io.bind({
				url:url,
				handle: function(type, data, evt){ 
    			    if(type == "load"){ 					    
            			processXML(data,stype,sid)
		        	 }else if(type == "error"){ 
						postMsg(data,"error")
			         }else{ 
						postMsg(data,"error")        	
			   	     }
	    		 },
				mimetype:"text/xml",
				preventCache: false,
				useCache: false
			})						
	
		function processXML(data,stype,sid){
		   var xmldoc = data;
		   var items = xmldoc.getElementsByTagName('item');
		   var title;
		   var description;
	 	   var rss="";

			var oBuffer = new StringBuffer();
			oBuffer.append("<div id='right'><UL>");
			var rssnum=items.length
			var totalnum=0
      		for(i=0;(totalnum<num && i<rssnum);i++){
				var descid=fid+"_"+i				
				title=items[i].getElementsByTagName( "title" );  //读取RSS中的title项
				links=items[i].getElementsByTagName("link");
				if(rss.indexOf(links[0].firstChild.nodeValue)==-1){				
					totalnum+=1;									
					oBuffer.append("<li><a href='"+getXMLNode(links[0].firstChild)+"' target='_blank' title='"+getXMLNode(title[0].firstChild)+"'>"+getXMLNode(title[0].firstChild).toString().ellipse(42)+"</a></li>")					
				}				
			}
			oBuffer.append("</UL></div>")
		    $(div).innerHTML=oBuffer.toString();
			//By hopesoft@2006-11-18
			if(stype=="1"){
				sid=sid+1
				if(rssArray.length>sid){GetRss(rssArray[sid][0],"rss"+rssArray[sid][0],8,stype,sid)}
			}
			//By hopesoft@2006-11-18
		 }
	}

//*******************************************
//   公共函数
//*******************************************	
	function StringBuffer(){
		this._strings_= new Array;	
	}
	
	StringBuffer.prototype.append = function(str){
		this._strings_.push(str);
	}
	StringBuffer.prototype.toString = function() {
			return this._strings_.join("");
	}

	function show(i)
		{if($("desc"+i).style.display=="none"){$("desc"+i).style.display=""}
		else{$("desc"+i).style.display="none"}}

	function hideobj(id)	
		{if($(id)){$(id).style.display='none';}else{alert(id)}}

	function minmax(id){
	    var c=$("rss"+id);
    	if(c){
	        var d=c.style.display!="none";
    	    //c.style.display=d?"none":"block";
        	var e=$("minmax_a_"+id);
	        if(e){
	            if(d){e.className=e.className.replace(/minbox/,"maxbox")
				dojo.fx.wipeOut(c)
				}
            else{e.className=e.className.replace(/maxbox/,"minbox")
			dojo.fx.wipeIn(c)}
    	    }

	    }
	    return false
	}

	function editobj(id,id2)	
		{if($(id).style.display=="none"){$(id).style.display="";$(id2).innerHTML="取消"}
		else{$(id).style.display="none";$(id2).innerHTML="编辑"}}

	function setlistnum(rssid,rsstype,stype){
		var listnum=$("listnum_"+rssid).value		
		GetRss(rssid,"rss"+rssid,listnum,stype,0)
		}

	function postMsg(){
		if(arguments.length==3){var mdiv=arguments[2];}else{return}
		var msg=arguments[0];
		var imgtype=arguments[1]
		var imgtype=imgtype.toLowerCase();
		var img="";		
		switch(imgtype){
			case "loading":
				img="/images/loading.gif";
				break;
			case "ok":
				img="";
				break;			
			case "error":
				img="";
				break;		
			default:
				img=""
				break;	
		}
		$(mdiv).innerHTML="<div id='loading'>"+(img!=""?"<img src='"+img+"' border='0' width='20' height='20'> ":"")+msg+"</div>";	
		if(msg!="")	{
		$(mdiv).style.display=""}
		else{$(mdiv).style.display="none"}						
	}	
	
	function getXMLNode(obj){return (eval(obj)!==null)?obj.nodeValue:""}
	String.prototype.ellipse = function(maxLength){
		var len=0;
		for(var i=0; i<this.length; i++){
			var c=this.charCodeAt(i);
		     //半角
    		 if(c<256||(c>=0xff61&&c<=0xff9f)){
		       len=len+1;
		     }
		     //全角
		     else{
		       len=len+2;
		     }
			 if(len>maxLength)return this.substr(0,i-3)+"...";
		   }		
    	return this;
	}
　　function chkStrLen(msg){
	    var str=msg;
		var len=0;
		for(var i=0; i<str.length; i++){
			var c=str.charCodeAt(i);
		     //半角
    		 if(c<256||(c>=0xff61&&c<=0xff9f)){
		       len=len+1;
		     }
		     //全角
		     else{
		       len=len+2;
		     }
	   }
	   return len;
	}		