//用户页面核心
var getxml = SystemDomain + "home/getxml.asp"
var pingpage = SystemDomain + "ping.asp"
var signinVal="out";
var signinUser="";
//************************************************************
$(function(){
	var QS = QueryStringFormat();
	sidebarFill();
    if ((QS["cateid"]!="") || (QS["date"]!="") || (QS["page"]!="")){
		getBlogPage(QS["page"]);
	}else{
		appendCategory();
		ping();
	}
	$("#MsgDialog").dialog({
		bgiframe: true,
		autoOpen: false,
		width:350,
		height:200,
		modal: true,
		buttons: {
			"确定": function() {
				$(this).dialog('close');
			}
		}
	});

});
//格式化QueryString
function QueryStringFormat(){
	var Params = {};
	var urltext = window.location.href;
	var SharpQuery = urltext.replace(/^[^\#]+\#?/,'');
	if (!SharpQuery){SharpQuery = urltext.replace(/^[^\?]+\??/,'');}
	var QSParams = tb_parseQuery( SharpQuery );
	if (QSParams["cateid"]){var cateid = $.trim(QSParams["cateid"]);}else{var cateid = "";}
	if (QSParams["date"]){var logdate = $.trim(QSParams["date"]);}else{var logdate = "";}
	if (QSParams["page"]){var pagenum = $.trim(QSParams["page"]);}else{var pagenum = "";}
	var Pairs = sitecfg.split("_");
	var isindex = Pairs[0];
	var blogid = Pairs[1];
	var logview = $("#distype").val();   //"0";
	var perpage = Pairs[2];
	var logid = "";
	if (isindex!="1"){
		logid = Pairs[3];
	}
	Params = {isindex:isindex,blogid:blogid,logview:logview,cateid:cateid,date:logdate,page:pagenum,perpage:perpage,logid:logid};
	return Params;
}
//日历函数开始
function SBS_DateAdd(interval,number,date){
	number = parseInt(number);
	if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])}
	if (typeof(date)=="object"){var date = date}
	switch(interval){
	case "y":return new Date(date.getFullYear()+number,date.getMonth(),date.getDate()); break;
	case "m":return new Date(date.getFullYear(),date.getMonth()+number,checkDate(date.getFullYear(),date.getMonth()+number,date.getDate())); break;
	case "d":return new Date(date.getFullYear(),date.getMonth(),date.getDate()+number); break;
	case "w":return new Date(date.getFullYear(),date.getMonth(),7*number+date.getDate()); break;
	}
}
function checkDate(year,month,date){
	var enddate = ["31","28","31","30","31","30","31","31","30","31","30","31"];
	var returnDate = "";
	if (year%4==0){enddate[1]="29"}
	if (date>enddate[month]){returnDate = enddate[month]}else{returnDate = date}
	return returnDate;
}
function WeekDay(date){
	var theDate;
	if (typeof(date)=="string"){theDate = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2]);}
	if (typeof(date)=="object"){theDate = date}
	return theDate.getDay();
}
function SBS_Calendar(){
	var lis = "";
	var lisrow = "";
	var listag1,listag2;
	var now;
	if (typeof(arguments[0])=="string"){
		selectDate = arguments[0].split("-");
		var year = selectDate[0];
		var month = parseInt(selectDate[1])-1+"";
		var date = selectDate[2];
		if (date==null || date=="undefined" || date=="NaN"){date="01";}
		now = new Date(year,month,date);
	}else if (typeof(arguments[0])=="object"){
		now = arguments[0];
	}else{
		now = new Date();
	}
	var lastMonthEndDate = SBS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate();
	var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01");
	var thisMonthLastDate = SBS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01");
	var thisMonthEndDate = thisMonthLastDate.getDate();
	var thisMonthEndDay = thisMonthLastDate.getDay();
	var todayObj = new Date();
	today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate();
	for (i=0; i<lastMonthDate; i++){  // Last Month's Date
		lisrow = "<li class=\"DayA DayB\"><a class=\"otherday\">"+lastMonthEndDate+"</a></li>|" + lisrow;  //DayB用于解决ajax日期与日志错位,并不用于css
		lastMonthEndDate--;
	}
	for (i=1; i<=thisMonthEndDate; i++){ // Current Month's Date
		if(today == now.getFullYear()+"-"+now.getMonth()+"-"+i){
			lisrow += "<li class=\"DayA\"><a href=\"index.html#date="+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\" class=\"today\" title=\""+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\" redir=\""+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\">"+i+"</a></li>|";
		}else{
		  lisrow += "<li class=\"DayA\"><a href=\"index.html#date="+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\" title=\""+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\" redir=\""+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"\">"+i+"</a></li>|";
		}
	}
	var j=1;
	for (i=thisMonthEndDay; i<6; i++){  // Next Month's Date
		lisrow += "<li class=\"DayA\"><a class=\"otherday\">"+j+"</a></li>|";
		j++;
	}
	var lisarr = lisrow.split("|");
	for (i=0; i<=lisarr.length; i++){
		if (lisarr[i]=="undefined" || lisarr[i]==null || lisarr[i]==""){
		}else{
			if ((i % 7)==0){
				lis += "<div class=\"Calendar_Day\"><ul class=\"Day_UL\">"+lisarr[i];
			}else if ((i % 7)==6){
				lis += lisarr[i]+"<\/ul><\/div>";
			}else{
				lis += lisarr[i];
			}
		}		
	}
	var CalendarTitle = "<div id=\"LeftB\" onclick=\"SBS_Calendar(SBS_DateAdd('m',-1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this);\"></div>";
	CalendarTitle += "<div id=\"RightB\" onclick=\"SBS_Calendar(SBS_DateAdd('m',1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this);\"></div><a href=\"index.html#date="+now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"\" onclick=\"_selectThisDay(this)\" title=\""+now.getFullYear()+"年"+(parseInt(now.getMonth())+1).toString()+"月\" redir=\""+now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"\">"+now.getFullYear()+"年"+(parseInt(now.getMonth())+1).toString()+"月</a>";
	if (arguments.length>1){
		$('#The_Calendar_day').html(lis);
		$('#Calendar_Top').html(CalendarTitle);
	}else{
		var todayObj = new Date();
		todayObj.getFullYear();
		var todayString = todayObj.getFullYear()+"年"+(todayObj.getMonth()+1)+"月"+todayObj.getDate()+"";
		var CalendarBox = "<div id=\"Calendar_Top\">"+CalendarTitle+"</div><div id=\"Calendar_week\"><ul class=\"Week_UL\"><li><font color=\"#ff0000\">日</font></li><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><li>六</li></ul></div><div id=\"The_Calendar_day\">"+lis+"</div>";	//</div>
		setTimeout(function(){getDateList(now.getFullYear(),now.getMonth(),"1");},50);
		return CalendarBox;
	}
	setTimeout(function(){getDateList(now.getFullYear(),now.getMonth(),"1");},50);
}
//<div class='Calendar'>
//选择某一日期的日志
function _selectThisDay(date){
	var QS = QueryStringFormat();
	var logdate = date.redir || date.getAttribute("redir");
	//redirect("/default.asp","date="+d);
	if (logdate==null || logdate=="undefined"){logdate="";}
	if (QS["isindex"] = "1"){
		$("#Content_ContentList").html("<div><img src=\""+SystemDomain+"style/images/loading.gif\"> Loading...</div>");//
		loadlog(QS["perpage"],1,QS["blogid"],QS["cateid"],logdate,QS["logview"]);
	}else{
		redirect("index.html","date="+logdate);
	}
}
//页面转向
function redirect(){
    if (arguments.length==0){
        return;
    }
    if (arguments.length==1){
        setTimeout(function(){location.href = arguments[0];},10);
        return;
    }else if(arguments.length==2 && typeof(arguments[1])=="boolean"){
	    (arguments[1]==true)?window.open(arguments[0]):location.href = arguments[0];
        return;
    }else{
        var paraObj = {};
        if (arguments[0].indexOf("?")!=-1){
            var curUrlParas = arguments[0].substring(arguments[0].indexOf("?")+1,arguments[0].length).split("&");
            for (i=0; j=curUrlParas[i]; i++){
                paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
            }
        }
		var j = arguments.length;
		if (typeof(arguments[j-1])=="boolean"){
			j--;
		}
        for (i=1; i<j; i++){
            paraObj[arguments[i].substring(0,arguments[i].indexOf("=")).toLowerCase()] = arguments[i].substring(arguments[i].indexOf("=")+1,arguments[i].length);
        }
        var newURL= "";
        for (key in paraObj){
            newURL += key+"="+paraObj[key]+"&";
        }
        if (arguments[0].indexOf("?")!=-1){
            newURL = arguments[0].substring(0,arguments[0].indexOf("?")+1)+newURL.substring(0,newURL.length-1);
        }else{
            newURL = arguments[0]+"?"+newURL.substring(0,newURL.length-1);
        }
		if(typeof(arguments[arguments.length-1])=="boolean" && arguments[arguments.length-1]==true){
			setTimeout(function(){window.open(newURL);},10);
		}else{
			setTimeout(function(){location.href = newURL;},10);
		}
        return;
    }
}
//获取某日对应的帖子
function getDateList(){
	var QS = QueryStringFormat();
	var d;
	if (arguments.length<1){
		d = new Date();
	}else{
		d = new Date(arguments[0],arguments[1],arguments[2]);
	}
	var _m = (d.getMonth()+1)+"";
	_m = _m.replace(/\D/g,"");
	$.get(
		getxml, 
		{ action: "calendar", blogid: QS["blogid"], logdate: d.getFullYear()+"-"+_m, r:Math.random()},
		function(x){
			if(x.responseText=="") return;
			var result = x.split(",");
			var resultObj = {};
			for (i=0; j=result[i]; i++){
				var k = j.split("|");
				if (resultObj[k[0]]==null || typeof resultObj[k[0]]=="undefined"){
					resultObj[k[0]] = [];
				}
				resultObj[k[0]].push(decodeURIComponent(k[1]));
			}
			var aObj = [];
			var liObj = document.getElementById("The_Calendar_day").getElementsByTagName("li");
			for (i=0; j=liObj[i]; i++){
				if (j.className=="DayA"){
					aObj.push(j.getElementsByTagName("a")[0]);
				}
			}
			for (var key in resultObj){
				aObj[key-1].className = "haveD";
				aObj[key-1].title = decodeURIComponent(resultObj[key].join("\r\n"));
				$(aObj[key-1]).bind("click", function(){ _selectThisDay(this);});
			}
		}
	);
}
//日历函数结束
//************************************************************
//写入顶部Flash文件,来自PJ-Blog2,鼹鼠修改
function WriteHeadFlash(Enflash,Align,Top,Path,Width,Height,Transparent){
	if (Enflash=='-1'){
		var Temp,T=""
		Temp='<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="FlashH" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="'+Width+'" height="'+Height+'">'
		Temp+='<param name="movie" value="'+Path+'"/>'
		Temp+='<param name="quality" value="High"/>'
		Temp+='<param name="scale" value="ExactFit"/>'
		if (Transparent) {Temp+=' <param name="wmode" value="transparent"/>';T='wmode="transparent"'}
		Temp+='<embed src="'+Path+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="FlashH" width="'+Width+'" height="'+Height+'" quality="High" '+T+' scale="ExactFit"/>'
		Temp+='</object>'
		document.getElementById("FlashHead").style.textAlign= Align;
		document.getElementById("FlashHead").style.top= Top;
		document.getElementById("FlashHead").innerHTML=Temp
	}
}
//显示主页列表
function ContentListShow(){
	var QS = QueryStringFormat();
    if ((QS["cateid"]!="") || (QS["date"]!="") || (QS["page"]!="")){
		$("#Content_ContentList").hide();
	}
}
//日志翻页
function blogpage(o){
	setTimeout(
		function(){
		var page = o.getAttribute("page");
		var QS = QueryStringFormat();
		if (page>0)
		{
			o.innerHTML = "<img src='"+SystemDomain+"style/images/loading.gif' border='0' style='position:absolute' \/>&nbsp;&nbsp;&nbsp;&nbsp;";
			o.style.textDecoration = "none";
			getBlogPage(page);
		}else{
			alert("location.reload()");
			//return;
		}		
	}//function
	,0);
}
function getBlogPage(page){
	var QS = QueryStringFormat();
	loadlog(QS["perpage"],page,QS["blogid"],QS["cateid"],QS["date"],QS["logview"]);
}
//处理得到的日志数据
function loadlog(l,page,blogid,cateid,logdate,distype) {
	$.get(
		getxml, 
		{ action:"blog",l:l,blogid:blogid,page:page,cateid:cateid,logdate:logdate,distype:distype,r:Math.random()},
		function(x){
			$("#innermainContent").html(x);
			appendCategory();
			if (cateid>0){
				$("#blog_cate_name").html("分类: " + getCategoryName(cateid));
				//$("#blog_cate_name").html("分类: " + getContentByID(AllCategorys,cateid));
			}
			$.scrollTo('0px',1500);
		}
	);
}
//处理得到的评论数据
function loadcomment(page){
	var QS = QueryStringFormat();
	if (page>1)
	{
		$.get(
			getxml, 
			{ action: "comment", blogid:QS["blogid"], l: QS["perpage"],logid:QS["logid"],page:page, r:Math.random()},
			function(x){ $("#commentBox").html(x);ubbcomment(); }
		);
	}else{
		$.get("comment/"+QS["logid"] + ".html?r="+Math.random(), function(x){$("#commentBox").html(x);ubbcomment();});
	}
}
//处理得到的留言数据
function getGuestBook(page){
	var QS = QueryStringFormat();
	$.get(
		getxml, 
		{ action:"userguestbook",page:page,blogid:QS["blogid"],r:Math.random()},
		function(x){
			$("#innermainContent").html(x);
			UserSignInedHide();			
			ubbcomment();
		}
	);
}
//转UBB
function ubbcomment(){
	$(".commentcontent").each(function(i){
		var sCont = $(this).html();
		$(this).html(UbbCode2Html(sCont));
		}
	);
}
//评论翻页
function commentpage(o){
	var page = o.getAttribute("page");
	o.innerHTML = "<img src='"+SystemDomain+"style/images/loading.gif' border='0' style='position:absolute' \/>&nbsp;&nbsp;&nbsp;&nbsp;";
	o.style.textDecoration = "none";
	loadcomment(page);
}
//留言翻页
function guestbookpage(o){
	var page = o.getAttribute("page");
	o.innerHTML = "<img src='"+SystemDomain+"style/images/loading.gif' border='0' style='position:absolute' \/>&nbsp;&nbsp;&nbsp;&nbsp;";
	o.style.textDecoration = "none";
	getGuestBook(page);
}
//选择某一分类的日志
function selectCateID(cateid){
	var QS = QueryStringFormat();
	if (QS["isindex"] == "1"){
		loadlog(QS["perpage"],1,QS["blogid"],cateid,QS["logdate"],QS["logview"]);
	}
}
//插入某个日志的分类名
function appendCategory(){
	$(".blog_cate_name").each(function(i){
		var scateid = $(this).attr("cateid");
		$(this).html("<a href=\"index.html#cateid="+scateid+"\" onclick=\"selectCateID(\'"+scateid+"\');\">"+getCategoryName(scateid)+"</a>");
		}
	);
}
//得到某个日志的分类名
function getCategoryName(scateid){
	var str='';
	str = AllCategorys[scateid];
	if (!str){return '其他';}else{return str;}
}
function getProfile(){
	var QS = QueryStringFormat();
	$.get(
		getxml, 
		{ action:"userprofile",blogid:QS["blogid"],r:Math.random()},
		function(x){
			$("#innermainContent").html(x);
		}
	);
}
//日志显示方式
function DisPlayType(myType){
	var QS = QueryStringFormat();
	$("#distype").val(myType);
	loadlog(QS["perpage"],QS["page"],QS["blogid"],QS["cateid"],QS["date"],myType);
}
//缩放网页内宽度太大的图片
function ReImgSize(){
	var iwidth = 550;
	var swidth = "550";
	for (i=0;i<document.images.length;i++){
		if (document.all){
			if (document.images[i].width>iwidth){
				document.images[i].width=swidth;
				try{
					document.images[i].outerHTML='<a href="'+document.images[i].src+'" target="_blank" title="在新窗口打开图片">'+document.images[i].outerHTML+'</a>';
				}catch(e){}
			 }
		}else{
			if (document.images[i].width>iwidth) {
			  document.images[i].title="在新窗口打开图片";
			  document.images[i].style.cursor="pointer";
			  document.images[i].onclick=function(e){window.open(this.src);}
			}
		}
	}
}
////////////////////////////////////////
//引用
function addQuote(usr,content){

}
//设置字体
function SetFont(size){
	document.getElementById("logPanel").style.fontSize=size
}
//ping
function ping(){
	var QS = QueryStringFormat();
	var logids = "";
	if (QS["isindex"] == "1"){//主页和列表页面。主页和列表页面的CateID动态生成，无需根据日志ID查对应的CateID，直接根据CateID查CateName
		$(".blog_comment_count").each(function(){logids=logids+this.getAttribute("logid")+",";});//alert(logids);
		$.getJSON(
			pingpage, 
			{ action: "logs", id: logids, blogid:QS["blogid"], r:Math.random()},
			function(x){
				$(".blog_view_count").each(function(){this.innerHTML=x.logcount[this.getAttribute("logid")].view;});
				$(".blog_comment_count").each(function(){this.innerHTML=x.logcount[this.getAttribute("logid")].comm;});
				$(".blog_track_count").each(function(){this.innerHTML=x.logcount[this.getAttribute("logid")].track;}	);
				for (var key in x.logcount["0"]) {$("#site_" + key + "_count").html(x.logcount["0"][key]);}
				signinVal = x.userlogin["login"];signinUser = x.userlogin["username"];
			}
		);
	}else if (QS["isindex"] == "0"){//独立日志页面
		logids = QS["logid"]; 
		$.getJSON(
			pingpage, 
			{ action: "logs", id:logids, blogid:QS["blogid"], r:Math.random() },
			function(x){
				$(".blog_view_count").html(x.logcount[logids].view);
				$(".blog_comment_count").html(x.logcount[logids].comm);
				$(".blog_track_count").html(x.logcount[logids].track);
				for (var key in x.logcount["0"]) {$("#site_" + key + "_count").html(x.logcount["0"][key]);}
				if (parseInt(x.logcount[logids].comm)>0){loadcomment(1);}
				signinVal = x.userlogin["login"];signinUser = x.userlogin["username"];
			}
		);
	}
	UserSignInedHide();
}
function UserSignInedHide() {if (signinVal=="in"){$(".userloginhide").hide();$("#msgusername").val(signinUser);}}
function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}
function sidebarFill(){
	var sideBarStr='';
	for (var key in BlogModule) {if (BlogModule[key]!=''){sideBarStr += BlogModule[key];}}
	$('#innersidebar').html('<div id="sidebar-topimg"></div>' + sideBarStr + ' <div id="sidebar-bottomimg"></div>');
	var Calendar = document.getElementById("Calendar_Body");if(Calendar){$('#Calendar_Body').html(SBS_Calendar());}
	for (var key2 in Themeinfo) {$('#'+key2).html(Themeinfo[key2]);}	
	for (var key3 in showsiteinfo) {$(showsiteinfo[key3].idtype + key3).html(showsiteinfo[key3].htmlstr);}	
	if (SkinSwf['UseFlash']==-1){WriteHeadFlash('-1',SkinSwf['FlashAlign'],SkinSwf['FlashTop'],SkinSwf['FlashPath'],SkinSwf['FlashWidth'],SkinSwf['FlashHeight'],SkinSwf['FlashTransparent']);}
}