﻿/***************************** 
*    Yidea.net 艺想软件
*    用户前台函数 
******************************/


var xmlDoc;
var tipusing;
var errInfo = new Array();
errInfo[0]="连接服务器失败,请查看网络连接是否正常！";
errInfo[1]="服务器返回数据格式错误！";

function getFileName()
{
    var url = this.location.href;
    var pos = url.lastIndexOf("/");
    if(pos == -1)
        pos = url.lastIndexOf("\\");
    var filename = url.substr(pos+1);
    pos=filename.indexOf("?");
    if(pos>=0)filename=filename.substr(0,pos);
    //alert(filename);
    if(filename.length<1)
	filename="default.aspx";
    return filename;
}


//分页设定
function SetPage(name,str,node)
{
	var temp="";
	var p=node.attributes["P"];//上一页
	var n=node.attributes["N"];//下一页
	var c=node.attributes["C"];//总数
	var s=node.attributes["S"];//页面大小
	var t=node.attributes["T"];//总页数
	var cp=eval(p)+1;//当前页
	temp="共有"+c+"条";
	//alert(cp);
	if(t>1)temp+="，本页显示"+s+"条";
	if(p!="0")temp+=" <a href=\"javascript:"+str.replace("$Page$",p)+"\">上一页</a>";
	if(n!="0")temp+=" <a href=\"javascript:"+str.replace("$Page$",n)+"\">下一页</a>";
	//alert(t);
	
	if(t>1){
		str=str.replace("$Page$","this.options[this.selectedIndex].value");
		var slt=document.createElement("SELECT");
		slt.onchange = str;
		for(var i=1;i<=t;i++){
			var oOption = document.createElement("OPTION");
			oOption.text = i;
			oOption.value = i;
			slt.options.add(oOption);
			if(i==cp)slt.options[i-1].selected=true;
		}
		temp+=" "+slt.outerHTML;
	}
	$(name).innerHTML=temp;
}



/*****************************
*    获取用户导航栏
******************************/
function getUrl(setUrl,blogID)
{

		
    var response = "";	
	var url="ajax.aspx";
	var pars;
	pars="A=getUrlValue&url="+setUrl+"&blogID="+blogID+"&r="+Math.random();

	var myAjax= new Ajax.Request(
		url,
		{
			method: 'get',
			asynchronous :false,
			parameters: pars,
			onSuccess: function(transport){	
				response= transport.responseText;			
			},
			OnFailure:function(transport){
			}
		});
		return response;

}
function GetNav(blogID)
{

    var url = getUrl("nav.xml",blogID);

	var pars;
	$('NavBar').innerHTML="正在获取导航栏，请稍后....";
        
	var myAjax= new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function(transport){
//			var parser = new DOMParser();
//            var xml = parser.parseFromString(transport.responseText, "text/xml");
				var xml=transport.responseXML;
				var root=xml.documentElement;
				var response="";
				try{
					for(i=0; i < root.childNodes.length; i++){
						
                                                if(root.childNodes[i].getAttribute("ShowNav")=="1"){
						var temp="<span class=NavItem><a href='";
						temp+=root.childNodes[i].getAttribute("Url")
						temp+="'>"+root.childNodes[i].getAttribute("Name")+"</a></span>";
						
						
						response+=temp;}
					 }
					}
					catch(e){
						$('NavBar').innerHTML="生成菜单失败！<a href='javascript:GetNav(\""+blogID+"\");'>重试</a>";
					}
					
					$('NavBar').innerHTML=response.substr(0,response.length-1);
			},
			onFailure:function(transport){
				$('NavBar').innerHTML="连接服务器失败！<a href='javascript:GetNav(\""+blogID+"\");'>重试</a>";
			}
		});
		
}
/*****************************
*    获取用户导航当前位置
******************************/
function GetPosition(blogID)
{
     var url = getUrl("nav.xml",blogID);
	var pars;
	var myAjax= new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function(transport){
				var xml=transport.responseXML;
				var root=xml.documentElement;
				var response="";
				try{
					for(i=0; i < root.childNodes.length; i++){
						if(root.childNodes[i].getAttribute("Url").toUpperCase()==getFileName().toUpperCase())
							{
                                                                $('Positionnav').innerHTML=root.childNodes[i].getAttribute("Name");
                                                                
							}
                                              
					 }
					}
					catch(e){
					}
                                       $('Positionnav').style.display='';
                                       
					
					
			},
			onFailure:function(transport){
			}
		});
		
}
/*****************************
*    获取用户子分类
******************************/

function GetPClassList(pClassID,blogID)
{
      var url = getUrl("nav.xml",blogID);
	var pars="";
	pars="r="+Math.random();
	$("PClassList").innerHTML="正在获取栏目，请稍后...";
	
	var myAjax= new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function(transport){
				var response="";
				xmlDoc=new EXDoc(transport.responseText);
				var node=FindPClassNode(xmlDoc.root,pClassID);
				
				if(node){
                                       
                                        if(node.contents.length==0)node=FindPClassNode(xmlDoc.root,pParentClassID);//若无子栏目则显示兄弟栏目
                                        if(node==null){$("PClassList").innerHTML="";return;}//查找兄弟栏目出错，返回空
					for(var i=0;i<node.contents.length;i++){
						
						var child=node.contents[i];
						var temp="";
						temp="<li><a class =\"subclass\" href=\""+child.attributes["Url"]+"\">";
						temp+=child.attributes["Name"]+"</a></li>";
						response+=temp;
						
					}
					$("PClassList").innerHTML=response;
				}
				else
				    $("PClassList").innerHTML="";
			},
			onFailure:function(transport){
				$("PClassList").innerHTML=errInfo[0];
			}
		});
}
//遍历查找节点
function FindPClassNode(content,id)
{
	
	if(content.attributes["ID"] && content.attributes["ID"]==id)
	return content;
	else{
		//alert(content.contents.length);
		for(var i=0;i<content.contents.length;i++){
		   var node=FindPClassNode(content.contents[i],id);
		   if(node)return node;
		}
	}
	return null;
}

/*****************************
*    播放器相关函数
******************************/
function GetMediaPlayWithImg(type,count)
{
	var url;
	if(type==null||type=="sys")
	url="/xml/Video.xml";
	else
	url="ajax.aspx";
	
	var pars;
	try{pars="A=getVideoList&BlogID="+blog+"&ListType="+type+"&r="+Math.random();}catch(e){}

	var myAjax=new Ajax.Request(
		url,
		{
			method:"get",
			parameters:pars,
			onSuccess:function(transport){
				var response="";
				xmlDoc=new EXDoc(transport.responseText);
				mplXmlDoc3=xmlDoc;//alert(transport.responseText);
				var template=$("SystemMediaTemplate").innerHTML;
				//alert();
				for(var i=0; i < xmlDoc.root.contents.length; i++){
					if(count<=i)break;
					var temp="";
					var child=xmlDoc.root.contents[i];
					temp=template.replace(/\$Text\$/gi,child.getValue("Text"));		
					temp=temp.replace(/\$Thumb\$/gi,child.getValue("Thumb"));
					temp=temp.replace(/\$ID\$/gi,child.attributes["ID"]);					
					response+=temp;
				}
				$("SystemMedia").innerHTML=response;
			},
			onFailure:function(transport){
			}
		});
}

function GetMediaPlayList(name,type,order)
{
	var url="";
        var target=0;
	if(name=="artist"){
	   url="/xml/Video.xml";
	}
	else{
           target=1;
	   url="/ajax.aspx";
	}
	   
	var pars="";
	pars="A=getVideoList&BlogID="+name+"&listType="+type+"&order="+order;
	pars+="&r="+Math.random();

	$("MPTip").innerHTML="正在载入列表，请稍后。。。";
	
	var myAjax=new Ajax.Request(
		url,
		{
			method:"get",
			parameters:pars,
			onSuccess:function(transport){
				var response="";
				xmlDoc=new EXDoc(transport.responseText);
				if(target==0)mplXmlDoc1=xmlDoc;
                                else mplXmlDoc2=xmlDoc;
				var firstID=0;
                                //alert(transport.responseText);
				for(var i=0; i < xmlDoc.root.contents.length; i++){
					var temp="";
					var child=xmlDoc.root.contents[i];
					if(i==0)firstID=child.attributes["ID"];
					temp="<li onmouseover=\"this.className='over'\" onmouseout=\"this.className='up'\"><a href=\"javascript:Play('"+child.attributes["ID"]+"') \" style=display:block;>";
					temp+=child.getValue("Text")+"</a></li>";
					response+=temp;
				}
				$("MPLContent").innerHTML=response;
                                var str=xmlDoc.root.attributes["Name"];
                                //if(str.length>10){str=str.sub_str(10,'left');str+="...";}
				$("MPTip").innerHTML=str;
                                xs_scroll();//初始化下拉条
				if(type=='artist')
				   $('DIV_hideScreen').onclick=function(){Play(0);};
				else
				   $('DIV_hideScreen').onclick=function(){Play(firstID);};
				
			},
			onFailure:function(transport){
				$("MPTip").innerHTML=errorInfo[0];
				HideAfter3Seconds("MPTip");
			}
		});
         
}

function GetMediaPlayList2(name,type)
{
	var url="";
        var target=0;
	if(name=="artist"){
	   url="/xml/Video.xml";
	}
	else{
           target=1;
	   url="ajax.aspx";
	}
	   
	var pars="";
	pars="A=getVideoList&BlogID="+name+"&listType="+type;
	pars+="&r="+Math.random();

	$("MPTip").innerHTML="正在载入列表，请稍后。。。";
	
	var myAjax=new Ajax.Request(
		url,
		{
			method:"get",
			parameters:pars,
			onSuccess:function(transport){
				var response="";
				xmlDoc=new EXDoc(transport.responseText);
				if(target==0)mplXmlDoc1=xmlDoc;
                                else mplXmlDoc2=xmlDoc;
				var firstID=0;
                                //alert(transport.responseText);
				for(var i=0; i < xmlDoc.root.contents.length; i++){
					var temp="";
					var child=xmlDoc.root.contents[i];
					if(i==0)firstID=child.attributes["ID"];
					temp="<li onmouseover=\"this.className='over'\" onmouseout=\"this.className='up'\"><a href=\"javascript:Play('"+child.attributes["ID"]+"'),style()\" style=display:block;>";
					temp+=child.getValue("Text")+"</a></li>";
					response+=temp;
				}
				$("MPLContent").innerHTML=response;
                                var str=xmlDoc.root.attributes["Name"];
                                //if(str.length>10){str=str.sub_str(10,'left');str+="...";}
				$("MPTip").innerHTML=str;
                                xs_scroll();//初始化下拉条
				if(type=='artist')
				   $('DIV_hideScreen').onclick=function(){Play(0);};
				else
				   $('DIV_hideScreen').onclick=function(){Play(firstID);};
				
			},
			onFailure:function(transport){
				$("MPTip").innerHTML=errorInfo[0];
				HideAfter3Seconds("MPTip");
			}
		});
         
        
}




function style()
{
    $("mediaplay_liebiao").style.display = "none";
    $("kuanpin").style.display = "block";
}
/*****************************
*    用户登录
******************************/
var showLoginH=false;
function ShowLoginH()
{
	showLoginH=!showLoginH;
	Element.hide($("LoginInfo"));
	if(showLoginH){
		RefleshChkNum();
		Element.show($("LoginForm"));
		Element.hide($("BeforeLogin"));
	}else{
		Element.hide($("LoginForm"));
		Element.show($("BeforeLogin"));
	}
}

function ShowLogin(bShow)
{
	try{Element.hide($("BeforeLogin"));}catch(e){}
	
	if(bShow){
		if($("BeforeLogin")==null||$("BeforeLogin")=='undefined')
		Element.show($("LoginForm"));
		else{
			Element.hide($("LoginForm"));
			Element.show($("BeforeLogin"));
		}
		Element.hide($("LoginInfo"));
	}
	else{
		Element.hide($("LoginForm"));
		Element.show($("LoginInfo"));
	}
}
function Loginout()
{
	var url="ajax.aspx";
	var pars="A=userLoginOut&r="+Math.random();
	var myAjax=new Ajax.Request(
		url,
		{
			method:"get",
			parameters:pars,
			onSuccess:function(transport){
				var response=transport.responseText;
				ShowLogin(true);
                                window.location=window.location;
			},
			onFailure:function(transport){
				$("LoginInfo").innerHTML=errorInfo[0];
			}
		});
}
function ResetLoginForm()
{
	$("UserName").value="";
	$("Password").value="";
	$("ChkNum").value="";
}
function UserLogin(type)
{
	var username=$F("UserName").trim();
	var pwd=$F("Password").trim();
	var chk=$F("ChkNum").trim();
	
	if((username==''||pwd==''||chk=='')&&type=='login'){
	   alert('用户名，密码或者验证码都必须填写');
	   return null;
	}
	
	var url="ajax.aspx";
	var pars="";
	pars="A=userLogin&UserName="+username+"&pwd="+pwd+"&chk="+chk;
	pars+="&r="+Math.random();
	ShowLogin(false);
	$("LoginInfo").innerHTML="正在验证登录信息，请稍后...";
	
	var myAjax=new Ajax.Request(
		url,
		{
			method:"post",
			parameters:pars,
			onSuccess:function(transport){
				var response=transport.responseText;
				//alert(response);
				if(/<error>.+?<\/error>/.test(response)){
					
					if(type=="login")
					$("LoginInfo").innerHTML=response+" <span class=\"relogin\" ><a href='javascript:ShowLogin(true)'>重新登录</a><span>";
					else
					ShowLogin(true);
				}
				else{
					xmlDoc=new EXDoc(response);
					
					response=$("LoginTemplate").innerHTML;
					response=response.replace(/\$USERNAME\$/gi,xmlDoc.root.getValue("UserName"));
					response=response.replace(/\$LASTLOGINTIME\$/gi,xmlDoc.root.getValue("LastLoginTime"));
					respones=response.replace(/\$LOGINTIMES\$/gi,xmlDoc.root.getValue("LoginTimes"));
					
					$("LoginInfo").innerHTML=response;
					ResetLoginForm();
					ShowLogin(false);
                                        if(type=='login')window.location=window.location;
				}
			},
			onFailure:function(transport){
				$("LoginInfo").innerHTML=errorInfo[0]+" <a href='javascript:ShowLogin(true)'>重新登录</a>";
			}
		});
}

function UserLogin2(type)
{
	var username=$F("UserName").trim();
	var pwd=$F("Password").trim();
	var chk=$F("ChkNum").trim();
	
	if (type=='login')
	{
	    if(username==''){
	        $("reU").innerHTML = "× 用户名不能为空！";
	        return null;
	    }
	    else if(pwd=="")
	    {
	        $("reP").innerHTML = "× 密码不能为空！";
	        return null;
	    }
	    else if(chk=="")
	    {
	        $("rCP").innerHTML = "× 验证码不能为空！";
	        return null;
	    }
	}
	
	var url="ajax.aspx";
	var pars="";
	pars="A=userLogin2&UserName="+username+"&pwd="+pwd+"&chk="+chk;
	pars+="&r="+Math.random();
	$("LoginInfo").innerHTML="正在验证登录信息，请稍后...";
	
	var myAjax=new Ajax.Request(
		url,
		{
			method:"post",
			parameters:pars,
			asynchronous :false,
			onSuccess:function(transport){
				var response=transport.responseText;
				//alert(response);
				if(/<error>.+?<\/error>/.test(response)){
					
					if(type=="login")
					$("LoginInfo").innerHTML=response;
				}
				else{
					xmlDoc=new EXDoc(response);
							
					sessionUserName = xmlDoc.root.getValue("UserName");
					getBlogList(sessionUserName);
	                switchTab("re2");
					ResetLoginForm();
				}
			},
			onFailure:function(transport){
				$("LoginInfo").innerHTML=errorInfo[0]+" <a href='javascript:UserLogin2("+type+")'>重新登录</a>";
			}
		});
}


/***************************** 
*    留言板
******************************/

function ShowGB(index)
{
	for(var i=0;i<3;i++){
		Element.hide($("GBPanel"+i));
	}
	Element.show($("GBPager"));
	Element.show($("GBPanel"+index));
	switch(index){
		case 0:
		ResetGuestBook();
		Element.hide($("GBPager"));
		break;
		case 1:
		GetGuestBook(1);
		break;
		case 2:
		GetCommentListByBlog('blog',0,1);
		break;
		default:break;
	}
}
function Quote(ID,nickName)
{
	var temp=$(ID).innerHTML;
	temp=temp.replace(/<div\sclass=Quote>/gi,"[Quote]");
	temp=temp.replace(/<\/div>/gi,"[/Quote]");
	temp=temp.replace(/<span\sclass=QuoteTitle>/gi,"[QuoteTitle]");
	temp=temp.replace(/<\/span>/gi,"[/QuoteTitle]");
	temp=temp.replace(/<span\sclass=QuoteContent>/gi,"[QuoteContent]");
	temp=temp.replace(/<\/span>/gi,"[/QuoteContent]");
	
	$("Content").value+="[Quote][QuoteTitle][ "+nickName+" ][/QuoteTitle][QuoteContent]"+temp+"[/QuoteContent][/Quote]";
	Element.hide($("GBPanel1"));
	Element.hide($("GBPanel2"));
	Element.show($("GBPanel0"));
}
function ResetGuestBook()
{
	$("Title").value="";
	$("Content").value="";
	$("NickName").value="";
}
function AddGuestBook()
{
	var title=$F("Title").trim();
	var content=$F("Content").trim();
	var nickName=$F("NickName").trim();
	/*
	if(title==""||content==""||nickName==""){
		alert('有内容未填写');
		return;
	}
	*/
	var url="ajax.aspx";
	var pars="A=AddGuestBook&BlogID="+blog+"&Title="+encodeURI(title)+"&Content="+encodeURI(content);
	pars+="&NickName="+encodeURI(nickName)+"&r="+Math.random();
	
	var myAjax=new Ajax.Request(
		url,
		{
			method:"post",
			parameters:pars,
			onSuccess:function(transport){
				var response=transport.responseText;
				if(/<OK>/.test(response)){
					alert('发表成功');
					ShowGB(1);
					ResetGuestBook();
				}
				else{
					alert('发表失败!');
					//alert(response);
				}
			},
			onFailure:function(transport){
				alert(errInfo[1]);
			}
		});
}
function GetGuestBook(pageIndex)
{
	var url="ajax.aspx";
	var pars="";
	pars="A=guestbookList&BlogID="+blog+"&page="+pageIndex+"&r="+Math.random();
	
	Element.show($("Tip"));
	$("Tip").innerHTML="正在获取留言数据,请稍后...";
	
	var fun="GetGuestBook($Page$)";
	var myAjax=new Ajax.Request(
	url,
	{
		method:"get",
		parameters:pars,
		onSuccess:function(transport){
				var response="";
				xmlDoc=new EXDoc(transport.responseText);
				var temp=$("GBItemTemplate").innerHTML;
				for(i=0; i < xmlDoc.root.contents.length; i++){
					var child=xmlDoc.root.contents[i];
					temp=$("GBItemTemplate").innerHTML;
					temp=temp.replace(/\$ID\$/gi,child.getValue("ID"));
					temp=temp.replace("$Title$",child.getValue("Title"));
					temp=temp.replace("$Content$",child.getValue("Content"));
					temp=temp.replace(/\$NickName\$/gi,child.getValue("NickName"));
					temp=temp.replace("$Time$",child.getValue("CreateTime"));
					response+=temp;
				}
				$("GBPanel1").innerHTML=response;
				Element.show($("GBPanel1"));
				Element.hide($("Tip"));
				SetPage("GBPager",fun,xmlDoc.root);
		},
		onFailure:function(transport){
		}
	});
}


/***************************** 
*    根据BLOGID获取评论
******************************/
function GetCommentListByBlog(listType,attitude,page)
{
	var fun;

	fun="GetCommentListByBlog('"+listType+"',"+attitude+",$Page$)";
	
	var url="ajax.aspx";
	var pars;
    var pID;
    try{pID=pClassID;}catch(e){pID=0;}
    var pType;
    try{pType=pClassType;}catch(e){pType=0;}
    var pCustomType;
    try{pCustomType=customType;}catch(e){pCustomType=0;}
	pars="A=getCommentList&BlogID="+blog+"&ListType="+listType+"&page="+page+"&PClassID="+pID+"&Attitude="+attitude+"&PostType="+pType+"&CustomType="+pCustomType;
	
	pars+="&r="+Math.random();
	Element.show($("Tip"));
	$("Tip").innerHTML="正在获取评论数据,请稍后...";
	
	var myAjax= new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function(transport){
				var response="";//alert(transport.responseText);
				xmlDoc=new EXDoc(transport.responseText);
				try{
				for(i=0; i < xmlDoc.root.contents.length; i++){
					var child=xmlDoc.root.contents[i];//alert(child.getValue("FriendBlogID"));
					response+=GetCommentItem(child.getValue("Title"),child.getValue("Content"),child.getValue("CreateTime"),child.getValue("UserName"),child.getValue("ParentTitle"),child.getValue("ParentID"),child.getValue("ParentType"),child.getValue("Attitude"),child.getValue("FriendBlogID"));
					
				}
						
				$("GBPanel2").innerHTML=response;
				
				SetPage("GBPager",fun,xmlDoc.root);
				Element.hide($("Tip"));
				//HideTip();
				}
				catch(e){
					//ShowTip("服务器返回数据出错");
					//HideAfter3Seconds("CommentTip");
				}
			},
			OnFailure:function(transport){
				//ShowTip(errInfo[0]+"<a href='javascript:"+fun.replace("$Page$",page)+"'>重试</a>");
			}
		});
}




