﻿// JScript File

//##################################################
//               CALL BACK RESPONSE
//##################################################
   
  function PageClientCallbackResult(RequestID, result)
  {

    HideMessagePanel();

    switch(RequestID)
    {
    case "PostArticle" :
          PostArticleResponse(result); // "PostArticle" and "PostEntry" are same -
          break;
    case "UpdateArticle" :
          PostArticleResponse(result); // "UpdateArticle" and "PostArticle" are same -
          break;
     case "LoggedOut" :
          LoggedOutResponse(result);
          break;         
    case "PostEntry" :
          PostEntryResponse(result);
          break;
    case "SaveEntry" :
          SaveEntryResponse(result);
          break;          
    case "UpdateEntry" :
          UpdateEntryResponse(result);
          break;          
    case "DeleteEntry" :
          DeleteEntryResponse(result);
          break;
    case "GetNewPage" :
          GetNewPageResponse(result);
          break;          
     case "GetEntry" :
          GetEntryResponse(result);
          break;
     case "GetArticle" :
          GetArticleResponse(result);
          break;          
     case "EditEntry" :
          EditEntryResponse(result);
          break;
     case "GetGridViewPage" :
          GetGridViewPageResponse(result);
          break;
    case "PostComment" :
          PostCommentResponse(result);
          break;          
     case "GetCommentList" :
          GetCommentListResponse(result);
          break;       
     case "GetComment" :
          GetCommentResponse(result);
          break; 
     case "ViewCommentList" :
          ViewCommentListResponse(result);
          break; 
      case "ViewComment" :
          ViewCommentResponse(result);
          break;          
     case "EditComment" :
          EditCommentResponse(result);
          break;                 
     case "UpdateComment" :
          UpdateCommentResponse(result);
          break;                   
     case "DeleteComment" :
          GetCommentListResponse(result);
          break;     
     case "GetCategoryView" :
          GetCategoryViewResponse(result);
          break;
     case "GetFilterValues" :
          GetFilterValuesResponse(result);
          break;
     case "GetCartItems" :
          GetCartItemsResponse(result);
          break;
     case "RateArticle" :
          RateArticleResponse(result);
          break;
     case "ReportAbuse" :
          ReportAbuseResponse(result);
          break;
     case "RateComment" :
          RateCommentResponse(result);
          break;
     case "ReportComment" :
          ReportAbuseResponse(result);
          break;
    case "GetCityList" :
          GetCityListResponse(result);
          break;
    case "GetRegionCityList" :
          GetRegionCityListResponse(result);
          break;
         
    default :
         break;   
    }
    

  }
 
 
function LoggedOutResponse(result)
{

alert("Your Session has expired. Please Login");

}
  
  
//########## GET ENTRY ######################################


function GetEntry(FileID,PostID)
{

    Message = "<ClientRequest>" +
               "<RequestID>GetEntry</RequestID>"  +
               "<FileID>" + FileID + "</FileID>" +                               
               "<PostID>" + PostID + "</PostID>" +                
              "</ClientRequest>";

    ShowEntryMessagePanel(PostID);
   
    //Call Call Back Script
    var context ="";
    ClientCallBackFunction(Message, context);


}

//###########################################################


//###################################################################################
//                  Response For Saving Panel Content
//###################################################################################

function PostArticleResponse(result)
{

    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 
    var State = xmlDoc.getElementsByTagName("State")[0].firstChild.nodeValue 
    var PostID = xmlDoc.getElementsByTagName("PostID")[0].firstChild.nodeValue 
  
      alert(Message) 

    //FileID Currently not USED as siteblog doesnt implement this save mode yet
    var FileID = xmlDoc.getElementsByTagName("FileID")[0].firstChild.nodeValue 
    

      
    if(State == "Published")  
        CancelPost() ; 
        
    else
    {
        if((State == "Draft") && (RequestID=="PostArticle"))
        {
        
        //Change button to Update after first save of draft
        var PostButton = '<input type="button" value="Publish" onclick="javascript:UpdateArticle(\'' +   FileID  + "','" +  PostID +  "\')\"/>" ;
        getElementFromID("EditorPostBtnPnl").innerHTML = PostButton;

        var SaveButton = '<input type="button" value="Save" onclick="javascript:SaveArticleUpdate(\'' +   FileID  + "','" +  PostID +  "\')\"/>" ;
        getElementFromID("EditorSaveBtnPnl").innerHTML = SaveButton;

        
        }
    }
    
     



}


function PostEntryResponse(result)
{
    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 


    alert(Message) 
    
    CancelPost()  ; 
    
}


function SaveEntryResponse(result)
{

    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 
    var State = xmlDoc.getElementsByTagName("State")[0].firstChild.nodeValue 
    var PostID = xmlDoc.getElementsByTagName("PostID")[0].firstChild.nodeValue 
  
      alert(Message) 

    //FileID Currently not USED as siteblog doesnt implement this save mode yet
    var FileID = xmlDoc.getElementsByTagName("FileID")[0].firstChild.nodeValue 
    

      
    if(State == "Published")  
        CancelPost() ; 
        
    else
    {
        if((State == "Draft") && (RequestID=="PostEntry"))
        {
        
        //Change button to Update after first save of draft
        var PostButton = '<input type="button" value="Publish" onclick="javascript:UpdateEntry(\'' +   FileID  + "','" +  PostID +  "\')\"/>" ;
        getElementFromID("EditorPostBtnPnl").innerHTML = PostButton;

        var SaveButton = '<input type="button" value="Save" onclick="javascript:SaveEntryUpdate(\'' +   FileID  + "','" +  PostID +  "\')\"/>" ;
        getElementFromID("EditorSaveBtnPnl").innerHTML = SaveButton;

        
        }
    }
    
     



}


/* CURRENTLY NOT SHARED HERE - CAN CHANGE THAT
function UpdateEntryResponse(result)
{

    CreateXMLDOMDocument(result);

    var Message =  xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 

    alert(Message);
    
    DisplayPanel("View");

}
*/

function PostCommentResponse(result)
{
    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 
    var PostID = xmlDoc.getElementsByTagName("PostID")[0].firstChild.nodeValue 

    var EditorPanel = "CEditorPnl" + PostID ;
    getElementFromID(EditorPanel).style.display = 'none';



    alert(Message)   
    
    CancelComment();
     
    
}

function UpdateCommentResponse(result)
{
    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 
    var CommentID = xmlDoc.getElementsByTagName("CommentID")[0].firstChild.nodeValue 

    //var EditorPanel = "CEditorPnl" + PostID ;
    //getElementFromID(EditorPanel).style.display = 'none';

    alert(Message)    
    
}

function ViewCommentListResponse(result)
{

    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 
    var PostID = xmlDoc.getElementsByTagName("PostID")[0].firstChild.nodeValue 
    var ControlHTML = xmlDoc.getElementsByTagName("ControlHTML").item(0).text;  //Encapsulated in CDATA

    var CViewPnl = "CViewPnl" + PostID;
    getElementFromID(CViewPnl).innerHTML  = ControlHTML ; 
  
    getElementFromID(CViewPnl).style.display = 'block';
    getElementFromID("CEditorPnl" + PostID).style.display = 'none';

    getElementFromID("CViewComment" + PostID).style.display = 'none';
    getElementFromID("CHideComment" + PostID).style.display = 'block';

    //Reset Lastconmment panel name  - else a non-existing panel (from previous page) can be referenced
    getElementFromID("LastCommentDetailPnlName").innerHTML = "";
    
}



function DeleteEntryResponse(result)
{
    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 


    alert(Message)    
    //var PostID = xmlDoc.getElementsByTagName("PostID")[0].firstChild.nodeValue 
    var ControlHTML = xmlDoc.getElementsByTagName("ControlHTML").item(0).text;  //Encapsulated in CDATA

   // var GridViewListPnl = "CViewPnl" + PostID;
    getElementFromID("GridViewListOuterPnl").innerHTML  = ControlHTML ; 
  
        
    
}


//###################################################################################

//------- END ---------------------------------------------


    
function DisplayPanel(Pnl)
{

    //Reset Options
    //Reset Filters. This is needed for IE behavior of sometimes not 
    //have empty  string when alternating between "admin" and "list"
    //This just refreshes the option list 
    //ResetListView();
    //ResetGviewList();
    //ResetGviewCommentList();



    getElementFromID("PreviousPageMode").innerHTML = getElementFromID("PageMode").innerHTML;

    switch(Pnl)
    {

    case "FrontPage" :
        {
        DefaultPanelDisplay();       
         if(getElementFromID("ListPanel") != null)
            getElementFromID("ListPanel").style.display = "none"
        getElementFromID("FrontPagePanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "FrontPage"
        break; 
        } 

    case "View" :
        {
        DefaultPanelDisplay(); 
        if(getElementFromID("MidContentPanel") != null)
            getElementFromID("MidContentPanel").style.display = "block"
 
        if(getElementFromID("ListViewPanel") != null)
            getElementFromID("ListViewPanel").style.display = "block"
        
        if(getElementFromID("ListViewFilterPanel") != null) 
        getElementFromID("ListViewFilterPanel").style.display = "block";

        getElementFromID("PageMode").innerHTML = "View"
        break; 
        }
    case "Entry" :
        {
        DefaultPanelDisplay();       
        getElementFromID("DataListEntryPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "View"
        break; 
        }        
        
    case "Post" :
        {
        DefaultPanelDisplay();       
        getElementFromID("PostPanel").style.display = "block"
        getElementFromID("ListPanel").style.display = "none"
        getElementFromID("PageMode").innerHTML = "Post"
        break; 
        }
     case "ViewEntry" :
        {
        DefaultPanelDisplay();       
        getElementFromID("DataListEntryPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "ViewEntry"
        break; 
        } 
     case "List" :
        {
        DefaultPanelDisplay();  
        if(getElementFromID("MidContentPanel") != null)
            getElementFromID("MidContentPanel").style.display = "block"
        
        getElementFromID("GridViewPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "List"
      
        if(getElementFromID("ListViewFilterPanel") != null) 
        getElementFromID("ListViewFilterPanel").style.display = "block";
        break; 
        }       
              
    case "Admin" :
        {
        DefaultPanelDisplay();       
        getElementFromID("GridViewPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "Admin"
        
        if(getElementFromID("ListViewFilterPanel") != null) 
        getElementFromID("ListViewFilterPanel").style.display = "block";
        break; 
        }
    case "Comment" :
        {
        DefaultPanelDisplay();       
        getElementFromID("GridViewCommentPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "Comment"
        
        break; 
        }
    case "PostComment" :
        {
        DefaultPanelDisplay();       
        getElementFromID("PostCommentPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "PostComment"
        
        break; 
        }        
        
    case "Category" :
        {
        DefaultPanelDisplay();       
        break; 
        } 
     case "CategoryView" :
        {
        
        DefaultPanelDisplay();  
        //avoid script failure for cases where category panel is not used
        if(getElementFromID("CategoryViewPanel") != null)
            getElementFromID("CategoryViewPanel").style.display = "block";
        
        getElementFromID("PageMode").innerHTML = "View"
        break; 
        } 
        
      case "ShopCart" :
        {
        DefaultPanelDisplay();     
        if(getElementFromID("MidContentPanel") != null)          
            getElementFromID("MidContentPanel").style.display = "block"
        
        getElementFromID("GridViewPanel").style.display = "block"
        getElementFromID("PageMode").innerHTML = "List"
      
        if(getElementFromID("ListViewFilterPanel") != null) 
        getElementFromID("ListViewFilterPanel").style.display = "none";
        break; 
        }       
                  
               
    case "Layout" :
        {
        DefaultPanelDisplay();       
        getElementFromID("HeaderPanel").style.display = "none"
        getElementFromID("ContentPanel").style.display = "none"
        getElementFromID("PageLayoutAndStylePanel").style.display = "block"
        getElementFromID("PageLayoutTemplatePanel").style.display = "block"
        //getElementFromID("PageMode").innerHTML = "PageLayout"
        break; 
        }
    case "Style" :
        {
        DefaultPanelDisplay();
        getElementFromID("HeaderPanel").style.display = "none"
        getElementFromID("ContentPanel").style.display = "none"
        getElementFromID("PageLayoutAndStylePanel").style.display = "block"
        getElementFromID("PageStyleTemplatePanel").style.display = "block"
        //getElementFromID("PageMode").innerHTML = "PageLayout"
        break; 
        } 
        /*
     case "Setting" :
        {
        DefaultPanelDisplay();       
        getElementFromID("ContentPanel").style.display = "none"
        getElementFromID("PageLayoutAndStylePanel").style.display = "block"
        getElementFromID("PageSettingControlPanel").style.display = "block"
        //getElementFromID("PageMode").innerHTML = "PageLayout"
        break; 
        }
         */      
    case "Content" :
        {

        DefaultPanelDisplay(); 
        var PageMode = getElementFromID("PageMode").innerHTML      
        DisplayPanel(PageMode)
        break; 
        } 

     case "PageMenu" :
        {
        DefaultPanelDisplay();       
        getElementFromID("PageMenuManagerPanel").style.display = "block"
        //getElementFromID("PageMode").innerHTML = "PageLayout"
        break; 
        }  
                
    default :
        break;
        
        }
        
}



//Hide all Panel and then 
function DefaultPanelDisplay()
{
        if(getElementFromID("FrontPagePanel") != null)
            getElementFromID("FrontPagePanel").style.display = "none"

        if(getElementFromID("DataListEntryPanel") != null)
            getElementFromID("DataListEntryPanel").style.display = "none"
        
        if(getElementFromID("MidContentPanel") != null)
            getElementFromID("MidContentPanel").style.display = "none"
        
        if(getElementFromID("ListViewPanel") != null)
            getElementFromID("ListViewPanel").style.display = "none"
        
        if(getElementFromID("PostPanel") != null)
            getElementFromID("PostPanel").style.display = "none"
   
   
         if(getElementFromID("ListPanel") != null)
            getElementFromID("ListPanel").style.display = "block"
  
        if(getElementFromID("GridViewPanel") != null)
            getElementFromID("GridViewPanel").style.display = "none"
        
        if(getElementFromID("GridViewCommentPanel") != null)
            getElementFromID("GridViewCommentPanel").style.display = "none"
        
        if(getElementFromID("PostCommentPanel") != null)
            getElementFromID("PostCommentPanel").style.display = "none"
        
        if(getElementFromID("PageMenuManagerPanel") != null)
            getElementFromID("PageMenuManagerPanel").style.display = "none"

        if(getElementFromID("PageLayoutAndStylePanel") != null)
            getElementFromID("PageLayoutAndStylePanel").style.display = "none"
        
        if(getElementFromID("PageLayoutTemplatePanel") != null)
            getElementFromID("PageLayoutTemplatePanel").style.display = "none"
        
        if(getElementFromID("PageStyleTemplatePanel") != null)
            getElementFromID("PageStyleTemplatePanel").style.display = "none"
     
       // getElementFromID("PageSettingControlPanel").style.display = "none"
        
        if(getElementFromID("PageMenuManagerPanel") != null)
        getElementFromID("PageMenuManagerPanel").style.display = "none"

        if(getElementFromID("HeaderPanel") != null)
            getElementFromID("HeaderPanel").style.display = "block"

        if(getElementFromID("ContentPanel") != null)
            getElementFromID("ContentPanel").style.display = "block"
        
        //avoid script failure for cases where category panel is not used
        if(getElementFromID("CategoryViewPanel") != null)
            getElementFromID("CategoryViewPanel").style.display = "none";
 
        if(getElementFromID("ArticleListPagesPanel") != null)  //Used by BLOG
            getElementFromID("ArticleListPagesPanel").style.display = "none";

        if(getElementFromID("ListViewFilterPanel") != null) 
            getElementFromID("ListViewFilterPanel").style.display = "none";


        if(getElementFromID("RateArticlePanel") != null) 
            getElementFromID("RateArticlePanel").style.display = "none";

        if(getElementFromID("ReportAbusePanel") != null) 
            getElementFromID("ReportAbusePanel").style.display = "none";


}





function GetCalendarItem(Date)
{

    //Check to See which mode calendar is operating
    
    
    var PageMode = getElementFromID('PageMode').innerHTML
    
    switch(PageMode)
    {
     case "View" :
        {
         //Set Filter Values
        getElementFromID('IFilterBy').innerHTML = "caldate";
        getElementFromID('IFilterValue').innerHTML = Date;

        //Get Updated Page With Filter
        var PageNum='1';
        GetNewPage(PageNum);  
        break; 
        }
     case "FrontPage" :
        {
        //Change the mode to view mode
        getElementFromID('PageMode').innerHTML = "View";
        
         //Set Filter Values
        getElementFromID('IFilterBy').innerHTML = "caldate";
        getElementFromID('IFilterValue').innerHTML = Date;

        //Get Updated Page With Filter
        var PageNum='1';
        GetNewPage(PageNum);  
        break; 
        }        
     case "List" :
        {
        getElementFromID("GViewCurrentPage").innerHTML = "1";
        getElementFromID("GViewSortBy").innerHTML = "caldate";
        getElementFromID("GViewSortOrder").innerHTML = "ASC";
        getElementFromID("GViewFilterBy").innerHTML = "caldate" ; 
        getElementFromID("GViewFilterValue").innerHTML = Date ; 

        GridViewCallBackFunction()
        break; 
        }    
             
     case "Admin" :
        {
        getElementFromID("GViewCurrentPage").innerHTML = "1";
        getElementFromID("GViewSortBy").innerHTML = "caldate";
        getElementFromID("GViewSortOrder").innerHTML = "ASC";
        getElementFromID("GViewFilterBy").innerHTML = "caldate" ; 
        getElementFromID("GViewFilterValue").innerHTML = Date ; 

        GridViewCallBackFunction()
        break; 
        } 
     case "Comment" :
        {  
        getElementFromID("GViewCommentCurrentPage").innerHTML = "1";
        getElementFromID("GViewCommentSortBy").innerHTML = "caldate";
        getElementFromID("GViewCommentSortOrder").innerHTML = "ASC";
        getElementFromID("GViewCommentFilterBy").innerHTML = "caldate" ; 
        getElementFromID("GViewCommentFilterValue").innerHTML = Date ; 

        GridViewCommentCallBackFunction()
        break; 
        } 
              
      case "Post" :
        {     
        
        //In some cases using "PostDate" , other case uses "eventDate"
         if(getElementFromID("PostDateBlock") != null)
            InitDateSelection(Date, "PostDate"); //If in Post edit mode, then use calendar to set date selection
         
         if(getElementFromID("EventDateBlock") != null)
            InitDateSelection(Date, "EventDate"); //If in Post edit mode, then use calendar to set date selection         

         break; 
        }
        
        
     default :
        break;
        
    }
       
}




function PostComment(FileID, PostID)
{


    getElementFromID("CFileID").innerHTML = FileID
    getElementFromID("CPostID").innerHTML = PostID
    getElementFromID("CEditorMode").innerHTML = "New";


    getElementFromID("OriginalPostPnl").innerHTML = getElementFromID("EntryPnl" + PostID).innerHTML

    //Title = getElementFromID("CTitle").value;
    getElementFromID("CTitle").value =  getElementFromID("PostTitle" + PostID ).innerHTML


    DisplayPanel("PostComment");

    getElementFromID("CUpdateButton").style.display = "none";
    getElementFromID("CSubmitButton").style.display = "inline";


    var CEditorBit = getElementFromID("CEditorBit").innerHTML
    if(CEditorBit=="0")
    {

    ShowTextEditor("", "CEditor")
    getElementFromID("CEditorBit").innerHTML="1";
    
    }





}


function ShowOriginalArticle()
{
  getElementFromID("OriginalPostPnl").style.display = "block";
  getElementFromID("ShowOriginalArticleLnk").style.display = "none";
  getElementFromID("HideOriginalArticleLnk").style.display = "inline";
    

}

function HideOriginalArticle()
{
      getElementFromID("OriginalPostPnl").style.display = "none";
      getElementFromID("ShowOriginalArticleLnk").style.display = "inline";
      getElementFromID("HideOriginalArticleLnk").style.display = "none";
        

}




function CancelComment()
{
     
     ResetComment(); //clear content
     getElementFromID("PostCommentPanel").style.display = 'none' ; 
     
     var PreviousPageMode = getElementFromID("PreviousPageMode").innerHTML
     DisplayPanel(PreviousPageMode);  //go back to listing

}


function ResetComment()
{

   getElementFromID("CUrl").value = "http://";
   getElementFromID("CName").value = "";
   getElementFromID("CTitle").value = "";
   getElementFromID("CPrivate").checked = false ;

   SetEditorContents("","CEditor","") ; //clear editor content
   
    

}



function UpdateComment()
{
    var OpType = "UpdateComment";
    var FileID = getElementFromID("CFileID").innerHTML
    var PostID = getElementFromID("CPostID").innerHTML
    var CommentID = getElementFromID("CCommentID").innerHTML

    SendComment(FileID, PostID, CommentID, OpType)
    
    
}


function SubmitComment()
{
    var OpType = "PostComment";
    var CommentID = "";
    var FileID = getElementFromID("CFileID").innerHTML
    var PostID = getElementFromID("CPostID").innerHTML
    
    SendComment(FileID, PostID, CommentID, OpType)

}



function SendComment(FileID,PostID, CommentID, OpType)
{

   var Url = getElementFromID("CUrl").value;
   var PostedBy = getElementFromID("CName").value;
   var Title = getElementFromID("CTitle").value;
   var CommentEditorInstance = "CEditor";
   
   var Private = "false";  
   if(getElementFromID("CPrivate").checked)
        Private = "true";

   var Comment = GetEditorContents("", CommentEditorInstance );


    Message = "<ClientRequest>" +
               "<RequestID>" + OpType + "</RequestID>"  +
               "<FileID>" + FileID + "</FileID>" +                               
               "<PostID>" + PostID + "</PostID>" +  
               "<CommentID>" + CommentID + "</CommentID>" +                               
               "<PostedBy>" + PostedBy + "</PostedBy>" + 
               "<Private>" + Private + "</Private>" +                
               "<Url>" + CDATA(Url) + "</Url>" + 
               "<Title>" + CDATA(Title) + "</Title>" +                
               "<Comment>" + CDATA(Comment) + "</Comment>"  +
              "</ClientRequest>";

    ShowPostCommentMessagePanel();
    //Call Call Back Script
    var context ="";
    ClientCallBackFunction(Message, context);




}






function ViewCommentList(FileID, PostID, Page)
{
 
    if(getElementFromID("RateArticlePanel") != null) 
        getElementFromID("RateArticlePanel").style.display = "none";

    if(getElementFromID("ReportAbusePanel") != null) 
        getElementFromID("ReportAbusePanel").style.display = "none";

   
    var FilterBy = "";
    var FilterValue = ""; 
    var SortBy = "id";
    var SortOrder = "ASC";
    //var Page = "1";

    Message = "<ClientRequest>" +
               "<RequestID>ViewCommentList</RequestID>"  +
               "<FileID>" + FileID + "</FileID>" +                               
               "<PostID>" + PostID + "</PostID>" +                               
               "<Page>" + Page + "</Page>" +                
               "<SortBy>" + SortBy + "</SortBy>" + 
               "<SortOrder>" + SortOrder + "</SortOrder>" + 
               "<FilterBy>" + FilterBy + "</FilterBy>" + 
               "<FilterValue>" + FilterValue + "</FilterValue>" +                                                             
              "</ClientRequest>";

    ShowCommentMessagePanel(PostID);

    //Call Call Back Script
    var context ="";
    ClientCallBackFunction(Message, context);


}


function HideComment(PostID)
{

    var ViewPanel = "CViewPnl" + PostID ;
    getElementFromID(ViewPanel).style.display = 'none';

    getElementFromID("CViewComment" + PostID).style.display = 'block';
    getElementFromID("CHideComment" + PostID).style.display = 'none';

}




//###########################################################


function ManageCustomMenu()
{
    DisplayPanel("PageMenu")
    
 }
 
function CancelPost()
{


    ResetEntry();
    //DisplayPanel("View") //go back to listing
    var PreviousPageMode = getElementFromID("PreviousPageMode").innerHTML
    DisplayPanel(PreviousPageMode);  //go back to listing

    
}




//###########################################################
//              Busy Message
//###########################################################

function ShowListMessagePanel()
{
    var RefPnlName = "ListPanel";
    var LeftOffset = "200";

    ShowMessagePanel("Retrieving Data... Please Wait", RefPnlName, LeftOffset, "0")
    
    //var XYPos = findPos(getElementFromID(RefPnlName))
    //window.scrollTo(XYPos[0],XYPos[1]) 
   
    //******window.scrollTo(0,0) 

}

function ShowPostMessagePanel()
{

    var RefPnlName = "PostPanel";
    var LeftOffset = "200";

    if(getElementFromID("ContentEditorPnl") != null)
    {
        RefPnlName = "ContentEditorPnl";
       // LeftOffset = "0";
    }
    else
    {
      //var XYPos = findPos(getElementFromID(RefPnlName))
      // window.scrollTo(XYPos[0],XYPos[1]) 
        
      //****  window.scrollTo(0,0) 
    }


    ShowMessagePanel("Posting Data... Please Wait", RefPnlName, "200", "0")
}

function ShowEditMessagePanel()
{
    ShowMessagePanel("Retrieving Data... Please Wait", "ListPanel", "200", "0")
}


function ShowDeleteMessagePanel()
{
    ShowMessagePanel("Deleting Data... Please Wait", "ListPanel", "200", "0")
}

function ShowEntryMessagePanel(PostID)
{

    var EntryDetailPanel = "EntryPnl" + PostID ;// "EntryDetailPnl" + PostID ; 
    var RefPnlName = "ListPanel";
    var LeftOffset = "200";

    if(getElementFromID(EntryDetailPanel) != null)
    {
        RefPnlName = EntryDetailPanel;
       // LeftOffset = "0";
    }
    else
    {
      //var XYPos = findPos(getElementFromID(RefPnlName))
      //window.scrollTo(XYPos[0],XYPos[1]) 
        
        //*********window.scrollTo(0,0) 
    }

    ShowMessagePanel("Retrieving Data... Please Wait", RefPnlName, LeftOffset, "0")


}


function ShowCommentMessagePanel(PostID)
{
    var CViewPnl = "CViewPnl" + PostID;
    var LeftOffset = "200";

    ShowMessagePanel("Retrieving Comments... Please Wait", CViewPnl, LeftOffset, "0")

}



function ShowRatingMessagePanel(PostID)
{
    var CViewPnl = "CViewPnl" + PostID;
    var LeftOffset = "200";
    var TopOffset = "50";

    ShowMessagePanel("Submiting Your Rating... Please Wait", CViewPnl, LeftOffset, TopOffset)

}
function ShowAbuseMessagePanel(PostID)
{
    var CViewPnl = "CViewPnl" + PostID;
    var LeftOffset = "200";
    var TopOffset = "50";

    ShowMessagePanel("Submiting Your Report... Please Wait", CViewPnl, LeftOffset, TopOffset)

}


function ShowPostCommentMessagePanel()
{
    ShowMessagePanel("Posting Comment... Please Wait", "CEditor", "200", "0")
}

function ShowEditorMessagePanel(EditorID)
{
    ShowMessagePanel("Initializing Editor... Please Wait", EditorID, "50", "0")
}


function ShowMessagePanel(Message, RefPnlName, LeftOffset, TopOffset)
{


    var MessagePanel = getElementFromID("MessagePanel") ;
    
    var RefPanel = getElementFromID(RefPnlName) ;
    var XYPos = findPos(RefPanel)

    //var LeftOffset = 200;
    //var TopOffset = 0;
    
    MessagePanel.style.left =  XYPos[0] + parseInt(LeftOffset)  + "px" ;
    MessagePanel.style.top = XYPos[1] +  parseInt(TopOffset) + "px" ;
     
    getElementFromID("MessagePanelText").innerHTML = Message;
  
   
    MessagePanel.style.display = 'block' ;

   //Move Window to Top of page
   // window.scrollTo(0,0) 


}


function HideEditorMessagePanel()
{

    HideMessagePanel();
}

function HideMessagePanel()
{
    var MessagePanel = getElementFromID("MessagePanel") ;

    getElementFromID("MessagePanelText").innerHTML = "Retrieving Data... Please Wait";
    MessagePanel.style.top = '-500px';
    MessagePanel.style.left = '-500px';
    MessagePanel.style.display = 'none' ;
 

}




/*
//This one uses 
function ShowMessageAlert(Message)
{
    SetMouseCordinates();

    getElementFromID("MessagePanelText").innerHTML = Message;

    var MessagePanel = getElementFromID("MessagePanel") ;

    MessagePanel.style.top = getElementFromID("MouseY").value + 'px';
    MessagePanel.style.left = getElementFromID("MouseX").value + 'px';
    MessagePanel.style.display = 'block' ;
   
    MessagePanel.focus();


}

function HideMessageAlertPanel()
{

    var MessagePanel = getElementFromID("MessagePanel") ;

    getElementFromID("MessagePanelText").innerHTML = "Retrieving Data... Please Wait";
    MessagePanel.style.top = '-500px';
    MessagePanel.style.left = '-500px';
    MessagePanel.style.display = 'none' ;

}

*/


//###########################################################
//                  RATE ARTICLE
//###########################################################


function RateArticle(FileID, PostID)
{
    CancelAbuseReport();

    var CViewPnlID = "CViewPnl" + PostID;
    var CViewPnl = getElementFromID(CViewPnlID) ;
    var XYPos = findPos(CViewPnl)

    var RateArticlePanel = getElementFromID("RateArticlePanel") ;
    
    RateArticlePanel.style.left =  XYPos[0] + "px" ;
    RateArticlePanel.style.top = XYPos[1] + 10 + "px" ;
     
   // getElementFromID("MessagePanelText").innerHTML = Message;
  
   
    RateArticlePanel.style.display = 'block' ;

    var SubmitButton = '<input type="button" id="SubmitRating" value="Submit" onclick="javascript:SubmitArticleRating(\'' +   FileID  + "','" +  PostID +  "\')\"/>" ;
    getElementFromID("SubmitRatingPnl").innerHTML = SubmitButton;
    //getElementFromID("SubmitRating").onclick = '"javascript:SubmitArticleRating(\'' +   FileID  + "','" +  PostID +  "\')\"/>" ;



}

function SubmitArticleRating(FileID, PostID)
{

    var Rating = getSelectedRadio(document.forms[0].ArticleRating) ;

    if((Rating == null)|| (Rating == "") )
     {
      alert("Please Select Rating")
      return; 
     }
 

    Message = "<ClientRequest>" +
               "<RequestID>RateArticle</RequestID>"  +
               "<FileID>" + FileID + "</FileID>" +                               
               "<PostID>" + PostID + "</PostID>" +                               
               "<Rating>" + Rating + "</Rating>" +                
              "</ClientRequest>";

    ShowRatingMessagePanel(PostID)

    //Call Call Back Script
    var context ="";
    ClientCallBackFunction(Message, context);


}


function RateArticleResponse(result)
{
    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 


    alert(Message) 
    
    CancelArticleRating();
    
}


function HideArticleRating()
{

CancelArticleRating();

}


function CancelArticleRating()
{


    var RateArticlePanel = getElementFromID("RateArticlePanel") ;

    RateArticlePanel.style.top = '-500px';
    RateArticlePanel.style.left = '-500px';
    RateArticlePanel.style.display = 'none' ;


}

function CommentThumbUp(FileID, PostID, CommentID, Rating)
{
    RateComment(FileID, PostID, CommentID, "ThumbUp")
}

function CommentThumbDn(FileID, PostID, CommentID, Rating)
{
    RateComment(FileID, PostID, CommentID, "ThumbDn")
}


function RateComment(FileID, PostID, CommentID, Rating)
{


    Message = "<ClientRequest>" +
               "<RequestID>RateComment</RequestID>"  +
               "<FileID>" + FileID + "</FileID>" +                               
               "<PostID>" + PostID + "</PostID>" +                               
               "<CommentID>" + CommentID + "</CommentID>" +  
               "<Rating>" + Rating + "</Rating>" +                               
              "</ClientRequest>";

    ShowRatingMessagePanel(PostID)

    //Call Call Back Script
    var context ="";
    ClientCallBackFunction(Message, context);


}


function RateCommentResponse(result)
{

    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 


    alert(Message) 
    
    CancelArticleRating();
    
}


//###########################################################
//                  REPORT ABUSE
//###########################################################


function ReportAbuseValue(Me)
{

    var OptionID =  Me.id ; 

    SelectedIndex = getElementFromID(OptionID).selectedIndex
    SelectedOption = getElementFromID(OptionID).options[SelectedIndex].value
    getElementFromID("AbuseReportValue").value = SelectedOption;

}


function ReportAbuse(FileID, PostID)
{
    var CViewPnlID = "CViewPnl" + PostID;
    GetReportAbusePanel(CViewPnlID, 10, "ReportAbuse", FileID, PostID, "")
}

function ReportComment(FileID, PostID, CommentID)
{
    var CViewPnlID = "CReportPnl" + PostID + CommentID;
    GetReportAbusePanel(CViewPnlID, 20, "ReportComment", FileID, PostID, CommentID)
}


function GetReportAbusePanel(CViewPnlID, TopOffset, RequestID, FileID, PostID, CommentID)
{
    CancelArticleRating();

    var CViewPnl = getElementFromID(CViewPnlID) ;
    var XYPos = findPos(CViewPnl)

    var ReportAbusePanel = getElementFromID("ReportAbusePanel") ;
    
    ReportAbusePanel.style.left =  XYPos[0] + "px" ;
    ReportAbusePanel.style.top = XYPos[1] + TopOffset + "px" ;
       
   
    ReportAbusePanel.style.display = 'block' ;

    var SubmitButton = '<input type="button" id="SubmitAbuse" value="Submit" onclick="javascript:SubmitAbuseReport(\'' +   RequestID  + "','" +   FileID  + "','" +  PostID + "','" +  CommentID +  "\')\"/>" ;
    getElementFromID("SubmitAbusePnl").innerHTML = SubmitButton;



}



function SubmitAbuseReport(RequestID, FileID, PostID, CommentID)
{

    var CategoryID = getElementFromID("AbuseReportValue").value ;
    var Description = getElementFromID("AbuseDescription").value ;
    var ArticleUrl = "";//getElementFromID("AbuseDescription").value ;

     if(Description.length > 1000)
     {
     alert("Description is " + Description.length + " long, greater than 1000 characters" )
     return;
     }
 

    Message = "<ClientRequest>" +
               "<RequestID>" + RequestID + "</RequestID>"  +
               "<FileID>" + FileID + "</FileID>" +                               
               "<PostID>" + PostID + "</PostID>" + 
               "<ArticleUrl>" + ArticleUrl + "</ArticleUrl>" + 
               "<CommentID>" + CommentID + "</CommentID>" + 
               "<CategoryID>" + CategoryID + "</CategoryID>" + 
               "<Description>" + Description + "</Description>" + 
              "</ClientRequest>";

    ShowAbuseMessagePanel(PostID)

    //Call Call Back Script
    var context ="";
    ClientCallBackFunction(Message, context);


}


function ReportAbuseResponse(result)
{
    CreateXMLDOMDocument(result);

    var RequestID = xmlDoc.getElementsByTagName("RequestID")[0].firstChild.nodeValue  
    var Message = xmlDoc.getElementsByTagName("Message")[0].firstChild.nodeValue 


    alert(Message) 
    
    CancelAbuseReport();
    
}


function HideAbuseReport()
{

CancelAbuseReport();

}


function CancelAbuseReport()
{


    var ReportAbusePanel = getElementFromID("ReportAbusePanel") ;

    ReportAbusePanel.style.top = '-500px';
    ReportAbusePanel.style.left = '-500px';
    ReportAbusePanel.style.display = 'none' ;


}




//###########################################################
//                  PRINTER FRIENDLY VERSION
//###########################################################
function PrintVersion(FileID, PostID, Section)
{

}

function ArticlePrintVersion(FileID, PostID)
{
    var EntryDetailPnl = "EntryDetailPnl" + PostID;

    var ListTotalPageCount = "ListTotalPageCount" + PostID;
    var TotalPageCount = parseInt(getElementFromID(ListTotalPageCount).value)


    var AuthorInfo = '<div  style="width:99%">' + getElementFromID("AuthorInfo").innerHTML + '</div>';
    var ArticleInfo = '<div>' + getElementFromID("ArticleInfo").innerHTML + '</div>';
    var ListPageTitlePanel = '<div class="ListEntryTitle">' + getElementFromID("ListPageTitlePanel").innerHTML + '</div>';

    var Body = "";

    //Iterate through pages and  get content to save
    for(i=1; i<= TotalPageCount; i++)
    {
    var PageContentID = "ListPage"+i+"Content"
  
    var PageContent = '<div>' + getElementFromID(PageContentID).innerHTML + '</div>';
     
    Body = Body + PageContent;
    
    }
    
    var Content = '<div class="DataListEntryPanel">' + AuthorInfo + ArticleInfo + ListPageTitlePanel + Body + "</div>";
    
    LaunchPrintWindow(Content);
    
    
}


  

function LaunchPrintWindow(Content)
    {

var newFeatures = "" + 
               "height=900px,width=900px,alwaysLowered=0,alwaysRaised=0," + 
               "channelmode=0,dependent=0,directories=1,fullscreen=0," + 
               "hotkeys=1,location=0,menubar=1,resizable=1,scrollbars=1," + 
               "status=1,titlebar=1,toolbar=1,z-lock=0" ;

     // var PrintWindow=window.open('','PrintView','height=900,width=900,scrollbars=1,resizable=1');      
     // alert(document.getElementByName("head").innerHTML)

      var Header = getElementFromID("ctl00_MR_header").innerHTML

      var PrintWindow=window.open('','PrintView',newFeatures);      
    
    
      var ApplicationPath = getElementFromID("ApplicationPath").innerHTML;   
      //var CSSLink = '<link href="' + ApplicationPath +'/Article/Article.css" rel="stylesheet" type="text/css" />'
      
      PrintWindow.document.write('<html><head>' + Header + '</head><body>');
      PrintWindow.document.write(Content);
      PrintWindow.document.write('</body></html>');
      PrintWindow.document.close();
    }
    
