var repalceno = 0;
var floors = 0; //总数
var page_nums  = 10;     //每页显示的分页数
var page_index = 1;
var APageBundle=page_nums;


var sid= $("#sid").val();


function checkcontent()
{
    var s = $.get("sAccount").innerHTML;
    if ( s.length == 0 )
    {
      alert('Sorry，Please Login ');
      return false;
    }

    var content = $("#ping_content").val();
       content = content.replace(/(^\s*)|(\s*$)/g, "");
	if( content.length == 0 )
	{
		alert('Please Write something !');
		$('#ping_content').focus();
		
		return false;
	}
	return true;
}

function isKeyTrigger(e,keyCode)
{
    var argv = isKeyTrigger.arguments;
    var argc = isKeyTrigger.arguments.length;
    var bCtrl = false;
    if(argc > 2){
        bCtrl = argv[2];
    }
    var bAlt = false;
    if(argc > 3){
        bAlt = argv[3];
    }

    var nav4 = window.Event ? true : false;

    if(typeof e == 'undefined') {
        e = event;
    }

    if( bCtrl && 
        !((typeof e.ctrlKey != 'undefined') ? 
            e.ctrlKey : e.modifiers & Event.CONTROL_MASK > 0)){
        return false;
    }
    if( bAlt && 
        !((typeof e.altKey != 'undefined') ? 
            e.altKey : e.modifiers & Event.ALT_MASK > 0)){
        return false;
    }
    var whichCode = 0;
    if (nav4) whichCode = e.which;
    else if (e.type == "keypress" || e.type == "keydown")
        whichCode = e.keyCode;
    else whichCode = e.button;

    return (whichCode == keyCode);
}

function key_CtrlEnter(e,callevent)
{
    var ie =navigator.appName=="Microsoft Internet Explorer"?true:false; 
    if(ie){
        if(event.ctrlKey && window.event.keyCode==13){callevent();}
    }else{
        if(isKeyTrigger(e,13,true)){callevent();}
    }
}

function face_replace(s)
{
    s = s.replace(/:kdhappy;/g, '<img src="/images/face/01.gif" />');
    s = s.replace(/:kdsad;/g, '<img src="/images/face/02.gif" />');
    s = s.replace(/:kdsurprise;/g, '<img src="/images/face/03.gif" />');
    s = s.replace(/:kdcool;/g, '<img src="/images/face/04.gif" />');
    s = s.replace(/:kdmoving;/g, '<img src="/images/face/05.gif" />');
    s = s.replace(/:kdboring;/g, '<img src="/images/face/06.gif" />');
    s = s.replace(/:kdflower;/g, '<img src="/images/face/07.gif" />');
    s = s.replace(/:kdding;/g, '<img src="/images/face/08.gif" />');
    s = s.replace(/:kdhan;/g, '<img src="/images/face/09.gif" />');
    s = s.replace(/:kdanger;/g, '<img src="/images/face/10.gif" />');
    s = s.replace(/:kdpraise;/g, '<img src="/images/face/11.gif" />');
    s = s.replace(/:kdspew;/g, '<img src="/images/face/12.gif" />');
    s = s.replace(/:kdwuyu;/g, '<img src="/images/face/13.gif" />');
    s = s.replace(/:kdse;/g, '<img src="/images/face/14.gif" />');
    s = s.replace(/:kdshy;/g, '<img src="/images/face/15.gif" />');
    s = s.replace(/:kdtiaopi;/g, '<img src="/images/face/16.gif" />');
    s = s.replace(/:kdza;/g, '<img src="/images/face/17.gif" />');
    s = s.replace(/:kdawkward;/g, '<img src="/images/face/18.gif" />');
    s = s.replace(/:kddoubt;/g, '<img src="/images/face/19.gif" />');
    s = s.replace(/:kdheart;/g, '<img src="/images/face/20.gif" />');
    s = s.replace(/:kdbomb;/g, '<img src="/images/face/21.gif" />');
    s = s.replace(/:kdguanzhu;/g, '<img src="/images/face/22.gif" />');
    s = s.replace(/:kdmoney;/g, '<img src="/images/face/23.gif" />');
    s = s.replace(/:kdkeai;/g, '<img src="/images/face/24.gif" />');
    
   return s;
}

function Set_content(v)
{
      $.get("ping_content").innerHTML = v;
}

function get_page_list(all_items, now_page, page_view_num,reLoadFunc){
    if(all_items == 0) return null;

     now_page = parseInt(now_page);
    url_parameter = "";
    var pages_num = Math.ceil(all_items/page_view_num);
    var first_page = (now_page <= 1 || all_items<=3)?
        "":
        " <a href='#follow' onclick=\""+reLoadFunc+"('"+sid+"',1)\">1...</a> ";

    end_page    = (now_page >= pages_num || all_items<=3)?
        "":
        " <a href='#follow' onclick=\""+reLoadFunc+"('"+sid+"',"+ (pages_num)+")\">..."+pages_num+"</a> ";

    pre_page    = (now_page <= 1)?
        "":
        " <a href='#follow' onclick=\""+reLoadFunc+"('"+sid+"',"+(now_page-1)+")\">Prev</a> ";

    next_page   = (now_page >= pages_num)?
        "":
        " <a href='#follow'  onclick=\""+reLoadFunc+"('"+sid+"',"+(now_page + 1)+")\">Next</a> ";

    list_nums = "";
    if( now_page > pages_num - APageBundle + 1 )  var start = pages_num - APageBundle + 1;
    else
    {
        var start= (now_page- parseInt(APageBundle / 2)) > 0 ? (now_page- parseInt(APageBundle / 2)) : 1;
    }
    start = (start>0)?start:1;
    var end  = (all_items- start) < APageBundle ? all_items: (start+ APageBundle - 1);
    end = (end>pages_num)?pages_num:end;  
    var gofirst_page = (start==1)?
        "":
        " <a href='#follow' onclick=\""+reLoadFunc+"('"+sid+"',1)\">1..</a> "; 

    var goend_page  = (end==pages_num)?
        "":
        " <a href='#follow' onclick=\""+reLoadFunc+"("+ (pages_num ) +")\">.."+pages_num+"</a> ";


    for(i = start;i<=end;i++) {
        if(i<1 || i > pages_num) continue;
        if(i == now_page) list_nums+= "<b>"+i+"</b>";
        else list_nums+= " <a href='#follow' onclick=\""+reLoadFunc+"('"+sid+"',"+ (i)+")\">"+i+"</a> ";
    }

    var page_url = new Array();

    full_url = pre_page+" "+gofirst_page+" "+list_nums+" "+goend_page+" "+next_page;
    right_url = pre_page+" "+list_nums+" "+next_page;
    page_url[0] = pre_page;
    page_url[2] = list_nums;
    page_url[4] = next_page;
    if( end > 1 ) page_url[5] = full_url;
    else page_url[5] = "";
    return page_url;
}

function comm_add( )
{
  var sid ,sContent;
  
 if ( checkcontent() )
 {
 sid = $("#sid").val();
 sContent = $("#ping_content").val();

   $.get("msg_status").innerHTML="<img src='/images/busy.gif' /> Doing..."; 
 
   $.postJOSN('/Service/Service.asmx/Comm_Add',{"sId_Cid":sid, "sContent":sContent},
       function(data) {
       
   $.get("msg_status").innerHTML="Successed!"; 
   
    $("#ping_content").val("");
   

    comm_count(sid, Math.ceil( (floors +1)/page_nums) + 1);
       
       } );
  
   
    }
       
}
var D=document; 
function comm_list(sid, floors, pageindex, pagenum)
{
   page_index = pageindex;
   var floor = ( pageindex - 1)  * pagenum;
   if ( floor > floors - pagenum )
   {
     floor = floors - pagenum;
   }

   $.postJOSN('/Service/Service.asmx/Comm_List',{"sId_Cid":sid, "iStartFloor":floor, "iPageNum":pagenum},
                function(data){
    	                folders=data;
    	                var s="";
    	                
    	                $.each(folders,function(folder){
    	                    //s += "<div>"+ this.iId + " " + this.sContent +"</div>";
    	                    repalceno = 0;
    	                    s += "<div  class='pl_1' id='i_" + this.iFloor + "'>" ;
                            s += "<div class='pl_2' >";
                            s +="<a target='_blank' title='"+this.sAccount+"' href='/" + this.sAccount + "'>";
                           if (this.sAvatar == "")
                              s +="<img alt='"+this.sAccount+"' width='32' src='/images/defaultUserLogo.jpg' /></a></div>";
                           else
                            s +="<img alt='"+this.sAccount+"' width='32' src='"+ AvatarServer + "/p32/"+ this.sAvatar +"' /></a></div>";
                            s +="<div  class='pl_3'>" ;
                            s +="<div  class='pl_4'><a href='/" + this.sAccount + "'>"+this.sAccount + "</a> posted on " + this.sTime + "</div>";
                            s += "<div  class='pl_5' ><span><a onclick='reply_view("+this.iFloor+");' href='#replyx'>Reply</a> | <a onclick='support_view("+this.iFloor+");' style='cursor: pointer;' href='#support'>Support</a> | <a onclick='oppos_view("+this.iFloor+");' style='cursor: pointer;' href='#oppos'>Oppose</a> </span></div>";
                            s += "<div style='clear:right;'></div>";
                            s += "<div id='pl_con' class='pl_6'>"+ ubbQuote(ubb2html(this.sContent )) +"</div>";
                            s +="<span id='msg_"+this.iFloor+"' style='display:none;'>"+this.sContent+"</span>";
                            s +="<input type='hidden' id='author_"+this.iFloor+"' value='" + this.sAccount + "'>";
                            s += "</div><div style='clear:both;'></div></div>";
        
        
    	                   });    
    	                
    	                $.get("list_view").innerHTML = s;
    	                
                        F($.get("list_view"));
                        
                        var pagebar = get_page_list(floors,page_index,page_nums,'comm_count');
                          
                        if (pagebar == null) 
                        //if( pagebar[5] == '') 
                        {
                           $.get('pl_page').innerHTML = "";
                         }
                        else 
                            $.get('pl_page').innerHTML = pagebar[5];
                        

                }
                );
}

function comm_count(sid, pageindex )
{
  
   $.postJOSN('/Service/Service.asmx/Comm_Info',{"sId_Cid":sid},function(data){
            $.get("c_count2").innerHTML=data; 
            floors = data;
            comm_list(sid, floors, pageindex , page_nums);
        });
        
}

function reply_view(n)
{
	var str = $.get('msg_'+n).innerHTML;
           str = str.replace(/<BR>/g,'');
           str = str.replace(/<br>/g,'');
           str = str.replace(/<BR\/>/g,'');
           str = str.replace(/<br\/>/g,'');   
           str = str.replace(/<WBR>/g,'');
           str = str.replace(/<wbr>/g,'');
           var userstr = $('#author_'+n).val();
           
           //str = str.unescapeHTML();
	var sdiv = str.indexOf('<DIV>');
	var _sdiv = str.indexOf('</DIV>');
	if( sdiv > -1 && _sdiv > -1 )
	{
		str = str.replace(/<DIV>/g,'[quote]');
                     str = str.replace(/<WBR>/g,'');
                     str = str.replace(/<wbr>/g,'');
		str = str.replace(/<\/DIV>/g,'[/quote]'); 
	}
	//set_focus('#ping_content');
	$('#ping_content').focus();
	$('#ping_content').val('[quote][content]'+str+'[/content]'+userstr+'[/quote]\r\n');
}


function support_view(n)
{
       reply_view(n);
    var s = $('#ping_content').val();
    
       $('#ping_content').val(s + 'Support!');
       comm_add();
   
}

function oppos_view(n)
{
       reply_view(n);
     var s = $('#ping_content').val();
     $('#ping_content').val(s + 'Oppose!');
     comm_add();

}

function RequestQueryString(strName)
{
 var strHref = window.document.location.href;
 var intPos = strHref.indexOf("#");
 var strRight = strHref.substr(intPos + 1);
 var arrTmp = strRight.split("#");
 for(var i = 0; i < arrTmp.length; i++)
 {
  var arrTemp = arrTmp[i].split("=");

  if(arrTemp[0].toUpperCase() == strName.toUpperCase()) 
   {
     return arrTemp[1];
    }
 }
 return "";
}

function set_focus( str )
{
	if( $(str) )
	{
		$(str).scrollIntoView(true);
		window.scrollBy(0, -200);
	}
}

function strip_quote(str)
{
	var quote = str.indexOf('[quote]');
	var _quote = str.indexOf('[/quote]');
	if( quote > -1 && _quote > -1 )
	{
		str = str.replace(/\[quote\]/g,'<div>');
		str = str.replace(/\[\/quote\]/g,'</div>');
	} 
	return str;
}

function ubb2html(s) 
{ 
    if(s.match(/\[(\w+)([^\[\]\s]*)\].*\[\/\1\]/)) 
    { 
        s = s.replace(/\[img\]((?:http|ftp|https):\/\/.+?\.(?:gif|jpg|jpeg|png))\[\/img\]/gi, "<img src='$1'>"); 
   /*     s = s.replace(/\[img\](.+?\.(?:gif|jpg|jpeg|png))\[\/img\]/gi, "<img src='$1'>"); 
        s = s.replace(/\[flash\](.+?\.swf)\[\/flash\]/gi, "<embed src=''$1'' quality=high wmode=transparent type=''application/x-shockwave-flash'' width=400 height=300></embed><br> FLASH: <a href=''$1'' target=_blank>$1</a><br>"); 
        s = s.replace(/\[wma\](.+?\.(?:wma|mp3))\[\/wma\]/gi, "<embed src=''$1'' height=40 AutoStart=0></embed><br> WMA: <a href=''$1'' target=_blank>$1</a><br>"); 
        s = s.replace(/\[color=([#0-9a-zA-Z]{1,10})\](.+?)\[\/color\]/gi, "<font color=''$1''>$2</font>"); 
        s = s.replace(/\[b\](.+?)\[\/b\]/gi, "<b>$1</b>"); 
        s = s.replace(/\[i\](.+?)\[\/i\]/gi, "<i>$1</i>"); 
        s = s.replace(/\[url\](.+?)\[\/url\]/gi,"<a href=$1 target=_blank>$1</a>"); 
        s = s.replace(/\[url=(.[^\[]*)\](.[^\[]*)\[\/url\]/gi,"<a  href=''$1''  target=_blank>$2</a>");   */
    } 
    
	//$("ping_content").value = s;
    s = face_replace(s);
    return s; 	
}

function ubbQuote(str)
{
  repalceno ++;  
  var quotect = str.indexOf('[content]');
  var _quotect = str.indexOf('[/content]');
  if((quotect == -1 || _quotect ==-1)&&repalceno==1)
  {
       str = "<p>"+str;
  }
  else if( quotect> -1 && _quotect> -1 )
  {
    if(repalceno==1) 
        str = str.replace(/\[quote\]([\s\S]*)\[\/quote\]/g,function(s0,s){return '<div class="yy" >'+ubbContent(s)+'</div><p>';});
    else
    {
        str = str.replace(/\[quote\]([\s\S]*)\[\/quote\]([\s\S]*)/g,function(s0,s1,s2){return s2+'[quote]'+s1+'[/quote]';});
        str = str.replace(/\[quote\]([\s\S]*)\[\/quote\]/g,function(s0,s){return '<div class="yy" >'+ubbContent(s)+'</div>';});
    }
  }
  
  return str;
}

function ubbContent(str)
{
  return str.replace(/\[content\]([\s\S]*)\[\/content\]([\s\S]*)/,function(s0,s1,s2){return 'Quote '+s2+' :<br/>'+ubbQuote(s1);});
}

function in_emotion( face )
{
   var s = $("#ping_content").val();
       s += face;
     $("#ping_content").val(s);
		
}
	
function F(n)
{
  var u,r,c,x; 
  if(n.nodeType==3)
  { 
    u=n.data.search(/\S{10}/);
    if(u>=0) 
    { r=n.splitText(u+10); 
      n.parentNode.insertBefore(D.createElement("WBR"),r); 
    } 
  }else if(n.tagName!="STYLE" && n.tagName!="SCRIPT")
  { 
    for (c=0;x=n.childNodes[c];++c)
    {  F(x);
    }
  } 
};
	


comm_count(sid, 1);

Set_content("");

