﻿// Show/Hide Sidebar
function showHideSidebar(){
  try{
    var objSidebar=document.getElementById("sidebar");
    var objContent=document.getElementById("content");
    if(objSidebar.className!="sidebar-hide"){
      objSidebar.className="sidebar-hide";
      objSidebar.style.display="none";
      objContent.className="content-wide";
    }else{
      objSidebar.className="sidebar";
      objSidebar.style.display="block";
      objContent.className="content";
    }
  }catch(e){}
}

// Show/Hide Login Panel
function showLogin(){
  try{
    var panel=document.getElementById("panelUser");
    if(panel){
      if(panel.style.display=='none'){
        panel.style.display='block';
      }else{
        panel.style.display='none';
      }
    }else{
      document.location=loginDir;
    }
  }catch(e){}
}

// String Length with unicode support
function lengthW(str){
  if(str==undefined){ return 0; }
  str=String(str);
  var tLen=0;
  for(var i=0;i<str.length;i++){
    charCode=str.charCodeAt(i);
    if(charCode<0||charCode>255){ tLen+=2 }else{ tLen++ }
  }
  return tLen;
}

// Set Article Font Size
function setFontSize(pt){
  try{
    var t=document.getElementById("textboxContent");
    if(t){
      t.style.fontSize=pt+"pt";
    }
  }catch(e){}
}

// Show/Hide Comments & Trackback - SiC/CYAN 2005
function toggleComments(bShowComment,bShowTrackback){
  var objs=document.getElementById("commentWrapper");
  objs=objs.getElementsByTagName("div");
  for(var i=0;i<objs.length;i++){
    if(objs[i].id.indexOf("comment")>-1&&objs[i].id!="commentTop"){
      if(bShowComment){
        objs[i].style.display="block";
      }else{
        objs[i].style.display="none";
      }
    }
    if(objs[i].id.indexOf("trackback")>-1&&objs[i].id!="commentTop"){
      if(bShowTrackback){
        objs[i].style.display="block";
      }else{
        objs[i].style.display="none";
      }
    }
  }
}

// Toggle Comments & Trackback Order
var bOrder=true;
function toggleOrder(){
  var obj = $("commentList");  
  var objs = obj.getElementsByTagName("div");
  var tmpArray = new Array();
  
  for(var i=0;i<objs.length;i++)
  {  
    if(objs[i].id.indexOf("comment")>-1)
    {
        tmpArray[i]='<div id="'+objs[i].id+'" class="'+objs[i].className+'">\n'+objs[i].innerHTML+'</div>\n';
    }
  }  
  tmpArray.reverse();
  obj.innerHTML = tmpArray.join("\n");  
  
  obj = $("trackbackList");
  objs = obj.getElementsByTagName("div");
   var tmpArray1 = new Array();
  for(var i=0;i<objs.length;i++)
  {  
    if(objs[i].id.indexOf("trackback")>-1)
    {
        tmpArray1[i]='<div id="'+objs[i].id+'" class="'+objs[i].className+'">\n'+objs[i].innerHTML+'</div>\n';
    }
  }
   tmpArray1.reverse();
  obj.innerHTML = tmpArray1.join("\n");
  
  
  obj = $("commtbbox");
  objs = obj.getElementsByTagName("div");
  var tmpArray2 = new Array();
  for(var i=0;i<objs.length;i++)
  {
         if(objs[i].id.indexOf("List")>-1)
         {
            tmpArray2[i]='<div id="'+objs[i].id+'">\n'+objs[i].innerHTML+'</div>\n';
         }
  } 
  tmpArray2.reverse();  
  obj.innerHTML = tmpArray2.join("\n");
  
  delete tmpArray;
  delete tmpArray1;
  delete tmpArray2;
}

function doSearch(){
  var form=document.getElementById("searchForm");
  if(lengthW(form.q.value)<3){
    alert("Keyword length must greater than 3 chars.");
    return false;
  }
  switch(form.searchType.value){   
    case "guestbook":
      form.action=GuestBook_Action;
      return true;
    case "trackbacks":
      form.action=TrackBack_Action;
      return true;
    default:
      form.action=Article_Action;
      return true;
      break;
  }
}


// Conanlwl 2007/6/9
//allcount所有记录数,pagesize每页显示记录数,pageindex当前页,showpagenum页码数目,url页面链接路径(以{0}代替页码),如PageChanged(97,10,7,7,"asp.aspx?pages={0}");
function PageChanged(allcount,pagesize,pageindex,showpagenum,url)
{

 var pagecount = allcount%pagesize==0?parseInt(allcount/pagesize):parseInt(allcount/pagesize)+1; 
 if(pagecount>1)
 {
	var str = "";
	 var firstpage = 1;
	 var mid = parseInt(showpagenum/2+0.5);
	 if(pageindex-mid>0)
	 {
	 	if(pageindex + mid > pagecount)
	 	{
	 		firstpage = pagecount-showpagenum+1;
	 	}
	 	else
	 	{
	 		firstpage = pageindex-mid+1;
	 	}
	 }
	 if(firstpage<1)firstpage=1;
	if(firstpage != 1) str +=  "<a href=\"" + url.replace("{0}",1) + "\" title=\"first\">&lt;&lt;</a>&nbsp;|&nbsp;";
	if(pageindex>1)  str += "<a href=\"" + url.replace("{0}",pageindex-1) + "\" title=\"prev\">&lt;</a>&nbsp;|&nbsp;";
	
	var lastpage= firstpage+showpagenum;
	if(lastpage>pagecount)lastpage=pagecount;
	
	for(var i=firstpage; i <=lastpage;i++)
	{
		if(i == pageindex)
		{
			str += "<span class=\"pagelink-current\">" + i + "</span>&nbsp;|&nbsp;";
		}
		else
		{
			str += "<a href=\"" + url.replace("{0}",i) + "\" title=\"" + i + "\">" + i + "</a>&nbsp;|&nbsp;";
		}
	}
	if(pageindex <pagecount) str += "<a href=\"" + url.replace("{0}",pageindex+1) + "\" title=\"next\">&gt;</a>";
	if(firstpage + showpagenum <= pagecount) str += "&nbsp;|&nbsp;<a href=\"" + url.replace("{0}",pagecount) + "\" title=\"last\">&gt;&gt;</a>";
	 
	 return str; 
	 
 }
 return "";
}


function trim(str) {
return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
}

function trimExt(str)
{
    var extArray = new Array(/\.aspx/ig,/\.asp/ig,/\.html/ig,/\.htm/ig,/\.shtml/ig,/\.js/ig,/\.css/ig);
    for(var i=0;i<extArray.length;i++)
    {
        str = str.replace(extArray[i],"");
    }
    str = str.replace(/\./g,"+");
    str = str.replace(/\*/g,"+");
    str = str.replace(/\?/g,"+");
    str = str.replace(/\|/g,"+");
    str = str.replace(/\</g,"+");
    str = str.replace(/\>/g,"+");
    str = str.replace(/:/g,"+");
    str = str.replace(/"/g,"+");
    str = str.replace(/\\/g,"+");
    str = str.replace(/ /g,"+");
    
    
    while(str.substr(str.length-1)=="+")str=str.substr(0,str.length-1);
    return str;
}

function ajaxresponse(objname, responsetext, succeed) {
    var obj = $(objname);
    if(succeed) {
    obj.innerHTML = '<img src="'+ blogDir +'styles/default/images/check_right.gif">';
    obj.className = "warning";
    } else {
    warning(obj, responsetext);
    }
}

function warning(obj, msg) {
    obj.style.display = '';
    obj.innerHTML = '<img src="'+ blogDir +'styles/default/images/check_error.gif"> &nbsp; ' + msg;
    obj.className = "warning";
}

function checkEmail(sEmail)
{	
	return /^[\-\.\w]+@[\-\w]+(\.\w+)+$/.test(sEmail);
}


// Quote Comment Text 
function doQuote(objID,strAuthor){
    var obj=document.getElementById(objID);
    var text=obj.innerHTML;	
	var s='<div class="quote"><div class="quote-title">引用:<u>' + strAuthor + '</u></div><div class="quote-content">' + text + '</div></div><br />';
	try{
	InsertEditor(s);
	}
	catch(e)
	{
	document.getElementById("message").value +=s;
	showFCK();
	}
	window.location.hash="commentbox";
}

function InsertEditor(str,FCKid)
{
     FCKeditorAPI.GetInstance(FCKid).SetHTML(FCKeditorAPI.GetInstance(FCKid).GetXHTML(true) + str);                
}


