
var djConfig = {
    isDebug: false,
    debugContainerId: "",
    allowQueryConfig: false,
    baseScriptUri: "",
    parseWidgets: true,
    searchIds: [],
    baseRelativePath: "",
    libraryScriptUri: "",
    iePreventClobber: false,
    ieClobberMinimal: true,
    preventBackButtonFix: true,
	bindEncoding: "utf-8"	
};
	var div="svcContent";     //显示内容的DIV
	var msgdiv="msginfo"       //显示提示信息的DIV
	var ajaxurl="casexml.asp";   //提交页地址
	var num=5;                 //每页显示留言数
	var maxpagenum=10;           //显示页码数
	var currpage=1;            //当前页码
	var objName="cl";           //对象名
	
	function CaseList(clname){

		if(typeof(clname) != "string" || clname == "")
    	throw(new Error(-1, 'Error,Please Tell Me Your Name!'));		

		this.objName=clname
		//取得案例列表
		this.getCaseList=function(page){
			postMsg("数据载入中，请稍等...","loading")		
			dojo.io.bind({
				url:ajaxurl+"?action=get&page="+page+"&num="+num+"&rnd="+Math.random()*1000,
				handle: function(type, datam, evt){ 
    			    if(type == "load"){ 
            			responseXML(datam)
		        	 }else if(type == "error"){ 
						postMsg(data,"error")
			         }else{ 
						postMsg(data,"error")        	
			   	     }
	    		 },
				mimetype:"text/xml",
				preventCache: false,
				useCache: false
			})			
		}			
		
		function responseXML(datam){
		   var xmldoc = datam
		   var items = xmldoc.getElementsByTagName('item');
	 	   var rss="";
		   var rssnum=items.length;		

		   var totalnum=0
      	   for(i=0;(totalnum<num && i<rssnum);i++){		
				var caseid=getXMLNode(items[i].getElementsByTagName("caseid")[0].firstChild);  
				var casename=getXMLNode(items[i].getElementsByTagName("casename")[0].firstChild);
				var clientname=getXMLNode(items[i].getElementsByTagName("clientname")[0].firstChild);
				var casetag=getXMLNode(items[i].getElementsByTagName("casetag")[0].firstChild);
			    var casedetail=getXMLNode(items[i].getElementsByTagName("casedetail")[0].firstChild);
				var casedemo=getXMLNode(items[i].getElementsByTagName("casedemo")[0].firstChild);
				
				try {
					rss+="<div class='demolist'>"
					rss+="<div class='demo_pic'><img alt='客户网站案例截图' src='"+casedemo+"' border='0' /></div>";
					rss+="<div class='demo_txt'><ul>";					
					rss+="<li><strong>项目名称</strong>："+casename+"</li>";
					rss+="<li><strong>客户名称</strong>："+clientname+"</li>";
					rss+="<li><strong>服务项目</strong>："+casetag+"</li>";
					rss+="<li><strong>项目说明</strong>："+casedetail+"</li>";
					rss+="<li><a href='view_case.asp?caseid="+caseid+"'><img src='images/icon_case_view.gif' alt='详细信息' width='30' height='11' border='0' /></a>";
					rss+="</li><ul></div></div>";
					}
				catch(e){
					rss+="<div style='display:block'>无内容</div>"}	
					rss+="";						
				}
		    var info = xmldoc.getElementsByTagName('info');				
			var pageHTML=""
			var pagecount=getXMLNode(info[0].getElementsByTagName("pagecount")[0].firstChild);	
			var page=getXMLNode(info[0].getElementsByTagName("page")[0].firstChild);				
			var nums=getXMLNode(info[0].getElementsByTagName("num")[0].firstChild);	
			var totalnum=getXMLNode(info[0].getElementsByTagName("totalnum")[0].firstChild);	
			currpage=page;
			if(pagecount.length==0)	{pagecount=1}			
			

			pageHTML=showPageNoList(totalnum,pagecount,currpage)
		    $(div).innerHTML=rss+pageHTML;			   
			postMsg("","") 		
		}					

		//处理返回信息
		function processReturnMsg(data){
		   var xmldoc = data;
		   var items = xmldoc.getElementsByTagName('caselist');
		   var msg=items[0].getElementsByTagName("msg")[0].firstChild.nodeValue;  
		   postMsg(msg,"")			   
		   setTimeout("eval("+this.objName+".getCaseList(currpage))",1000)
		}			 
	
		//显示页码 参数:总记录，总页数，当前页码，共显示多少页 totalnum,totalpage,cpage,showpagenum
		function showPageNoList(){
			totalnum=arguments[0];
			totalpage=arguments[1];			
			cpage=arguments[2];
			if(arguments.length==4){var shownum=arguments[3];}else{var showpagenum=maxpagenum;}
						
			var pstart,pend
			pstart=pend=1
			totalpage=parseInt(totalpage)
			cpage=parseInt(cpage)
			if(cpage>totalpage){cpage=totalpage}
				
			if(totalpage<=showpagenum){pstart=1;pend=totalpage;}		
			else{
				var movestep=Math.round(showpagenum/2)
				if(cpage>movestep){pstart=cpage-movestep
					pend=cpage+movestep
					if(pend>totalpage){
						pstart=totalpage-showpagenum
						pend=totalpage
					}				
				}
				else{
					pstart=1
					pend=showpagenum
				}			
			}		
			if(pstart<1){pstart=1}
			if(pend<1){pend=1}			
		   	var str_page=""		
			if(totalpage>1){
				str_page="<div class='pagelist'><a class='p_total'>"+totalnum+"</a> <a class='p_pages'>&nbsp;"+cpage+"/"+totalpage+"&nbsp;</a> "
				str_page+="<a href='#' onclick='javascript:"+this.objName+".getCaseList(1);return false;' class='p_num'>|&lsaquo;</a> <a href='#' onclick='javascript:"+this.objName+".getCaseList(\""+(cpage-1)+"\");return false;' class='p_num'>&lsaquo;&lsaquo;</a> "
				for(var k=pstart;k<=pend;k++){
					str_page+=((k==cpage)?("<a class='p_curpage'>"+k+"</a> "):("<a href='#' class='p_num' onclick='javascript:"+this.objName+".getCaseList(\""+k+"\");return false;'>"+k+"</a> "))
				}
				str_page=str_page+" <a href='#' onclick='javascript:"+this.objName+".getCaseList(\""+((cpage==totalpage)?cpage:cpage+1)+"\");return false;' class='p_num' >&rsaquo;&rsaquo;</a> <a href='#' onclick='javascript:"+this.objName+".getCaseList(\""+totalpage+"\");return false;' class='p_num'>&rsaquo;|</a>"
				str_page+="</div>"
			}
			return str_page
		}
		
	}
		
//*******************************************
//   公共函数
//*******************************************	
	//提示信息
	function postMsg(){
		if(arguments.length==3){var mdiv=arguments[2];}	else{var mdiv=msgdiv}	
		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="images/icon_ok.gif";
				break;			
			case "error":
				img="images/icon_err.gif";
				break;		
			default:
				img="images/icon_war.gif"
				break;	
		}
		$(mdiv).innerHTML="<div id='loading'>"+(img!=""?"<img src='"+img+"' border='0'> ":"")+msg+"</div>";	
		if(msg!="")	{
			//By hopesoft@2006-11-19
			var navUserAgent = navigator.userAgent
			if (navUserAgent.indexOf("Firefox") >= 0 || navUserAgent.indexOf("Opera") >= 0) {
				$(mdiv).style.top = (document.body.scrollTop?document.body.scrollTop:document.documentElement.scrollTop) + ((document.body.clientHeight > document.documentElement.clientHeight)?document.documentElement.clientHeight:document.body.clientHeight) - 70 + 'px';
			}
			else{
				$(mdiv).style.top = (document.body.scrollTop?document.body.scrollTop:document.documentElement.scrollTop) + ((document.documentElement.clientHeight == 0)?document.body.clientHeight:document.documentElement.clientHeight) - 70 + 'px';
			}
			$(mdiv).style.display="block"			
		}
		else{$(mdiv).style.display="none"}						
	}	

	function escapeAscii(s){
		var ss=s
		var strNew=""
		for(var i=0;i<s.length;i++)	{
			strNew+=(ss.charCodeAt(0,1)<32?(escape(ss.substring(0,1))):(ss.substring(0,1)))
			ss=ss.substring(1,ss.length)
		}
		return strNew
	}
	
	function $(obj){return document.getElementById(obj)}
	function getXMLNode(obj){return (eval(obj)!==null)?obj.nodeValue:""}
	function isEmail(s){var re = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;return (re.test(s));}			   
	function XMLEncode(str){
//       str=Trim(str);
	   str=unescape(str);
	   str=str.replace(/\n/g,'<br>') 
//       str=str.replace(/\&/g,"&amp;");
       str=str.replace(/\</g,"&lt;");
       str=str.replace(/\>/g,"&gt;");
       str=str.replace(/\'/g,"&apos;");
       str=str.replace(/\\/g,"&quot;");	   
       return str;
	}
　　
　　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;
	}