﻿// JScript File
//This file contains all of the calls made to the 'ws_lg_News' web service and handles the return calls from it
    var intCurrentBlogID;

    function b_GetTickerNews(){
        ret = ws_lg_News.GetTickerItems(b_onCompleteTickerNews, b_OnErrorGeneric, b_OnTimeoutGeneric);    
    }
    function b_onCompleteTickerNews(result){
        document.getElementById("Ticker").innerHTML = result;
    }

    function b_search(){
        var ID;
        var strTitle;
        var intCategory;
        var strText;
        var strStartDate;
        var strEndDate;
        
        ID = '';
        ID = document.getElementById("txtID").value;
        if (ID.length<1){
            ID='j';
        }
        if(isNaN(ID)==true){
            ID = 0;
        }
        strTitle = document.getElementById("txtTitle").value;
        strText = document.getElementById("txtText").value;
        strStartDate = document.getElementById("txtStartDate").value;
        strEndDate = document.getElementById("txtEndDate").value;
        intCategory = document.getElementById("cmbSrchCategories").options[document.getElementById("cmbSrchCategories").selectedIndex].value;
        if (intCategory.length<1){
            intCategory='j';
        }
        if(isNaN(intCategory)==true){
            intCategory = 0;
        }

        document.getElementById("SearchResults").innerHTML = "Loading....";
        document.getElementById("BlogDetail").innerHTML = "";
        document.getElementById("txthdnOwnerID").value = "";
        //window.alert("Cat:" & intCategory);
        ret = ws_lg_News.Search(ID, strTitle, strText, intCategory, strStartDate, strEndDate, false, b_OnCompleteSearch, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteSearch(result){
        //window.alert("Search done");
        document.getElementById("SearchResults").innerHTML = result;
    }

    function b_Search_Newsletter(intNewsletterID){
        var strTitle;
        
        strTitle = document.getElementById("txtsrchNewsTitle").value;

        document.getElementById("StoriesSearchResults").innerHTML = "Loading....";
        ret = ws_lg_News.SearchNewsletter(intNewsletterID, 0, strTitle, strTitle, 0, false, b_OnCompleteSearchNewsletter, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteSearchNewsletter(result){
        //window.alert("Search done");
        document.getElementById("StoriesSearchResults").innerHTML = result;
    }


    function b_InitiateSearch(strText){
        ret = ws_lg_News.SiteSearch(strText, b_OnCompleteInitiateSearch, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteInitiateSearch(result){
        var vVar;

        vVar = result.split('||');
                
        document.getElementById("BreakdownNews").innerHTML = vVar[0];
        document.getElementById("SearchResultsNews").innerHTML = vVar[1];
    }



    function b_site_search(strSearchTerm){
        if (strSearchTerm.length > 0){
            document.getElementById("BlogResults").innerHTML = "Loading....";
            ret = ws_lg_News.SearchSite(strSearchTerm, strSearchTerm, b_OnCompleteSearchSite, b_OnErrorGeneric, b_OnTimeoutGeneric);
        }
    }
    function b_OnCompleteSearchSite(result){
        document.getElementById("BlogResults").innerHTML = result;
    }



    function b_NewBlogWOwner(intOwnerID){
        document.getElementById("SearchResults").innerHTML = "Loading....";
        document.getElementById("BlogDetail").innerHTML = "";
        document.getElementById("txthdnOwnerID").value = intOwnerID;        
        ret = ws_lg_News.AddNewBlog(b_OnCompleteDetail, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_NewBlog(){
        document.getElementById("SearchResults").innerHTML = "Loading....";
        document.getElementById("BlogDetail").innerHTML = "";
        document.getElementById("txthdnOwnerID").value = "";        
        ret = ws_lg_News.AddNewBlog(b_OnCompleteDetail, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_ShowBlogDetail(intBlogID){
        document.getElementById("BlogDetail").innerHTML = "Loading....";
        intCurrentBlogID = intBlogID;
        ret = ws_lg_News.BlogDetail(intBlogID, b_OnCompleteDetail, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteDetail(result){
        document.getElementById("BlogDetail").innerHTML = result;
    }
    
    
    
    function b_ReturnUnvalidated(){
        ret = ws_lg_News.ShowUnvalidated(b_OnCompleteUnvalidated, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteUnvalidated(result){
        document.getElementById("Unvalidated").innerHTML = result;
    }



    function b_ShowAll(){
        ret = ws_lg_News.ShowAll(b_OnCompleteShowAll, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteShowAll(result){
        document.getElementById("SearchResults").innerHTML = result;
    }



    function b_ShowTopN(){
        ret = ws_lg_News.ShowTopN(2, b_OnCompleteShowTopN, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteShowTopN(result){
        document.getElementById("BlogTopN").innerHTML = result;
    }




    function b_Save(intBlogID){
        var strAuthorFirst
        var strAuthorLast
        var strTitle
        var strHeadline
        var strText
        var julDateEntered
        var strCategory
        var intCategoryID
        var boolLive
        var boolNews
        var julDeleted
        var intOwnerID

        strAuthorFirst = document.getElementById("txtdetAuthorfirst").value;
        strAuthorLast = document.getElementById("txtdetAuthorsurname").value;
        strTitle =  document.getElementById("txtdetTitle").value;
        intOwnerID = document.getElementById("txthdnOwnerID").value;

        if (intOwnerID.length<1){
            intOwnerID='j';
        }
        if (intBlogID.length<1){
            intBlogID='j';
        }
        if(isNaN(intOwnerID)==true){
            intOwnerID = 0;
        }
        if(isNaN(intBlogID)==true){
            intBlogID = 0;
        }

        strHeadline =  document.getElementById("txtdetHeadline").value;
        strText = document.getElementById("txtdetEntry").value;
        strCategory = ''
        intCategoryID = document.getElementById("cmbCategories").value;
        boolLive = document.getElementById("chkdetLive").checked;
        boolNews = false;
        julDeleted =  document.getElementById("txtdetDeleted").value;
        julDateEntered =  document.getElementById("txtdetDateEntered").value;
        ret = ws_lg_News.Save(intBlogID, intOwnerID, julDateEntered, strAuthorFirst, strAuthorLast, strTitle, strHeadline, strText, strCategory, intCategoryID, boolLive, boolNews, julDeleted, b_OnCompleteSave, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_Delete(intID){
        var resp= confirm("Do you really want to delete this news story?");
        if (resp==true){
            ret = ws_lg_News.Delete(intID, b_OnCompleteDelete, b_OnErrorGeneric, b_OnTimeoutGeneric);
        }
    }
    function b_OnCompleteDelete(result){
        window.alert("The news story has been deleted");
        window.location="lg_news.aspx";
    }
    function b_OnCompleteSave(result){
        window.alert("Save complete");
        b_ShowBlogDetail(result);
        //document.getElementById("BlogDetail").innerHTML = result;
        //b_search();
    }



    function b_CommentSave(intBlogID){
        var strAuthor;
        var strEmail;
        var strURL;
        var strText;
        var strMessage;
        
        strMessage = '';
        strAuthor =  document.getElementById("txtPostedBy").value;
        strEmail =  document.getElementById("txtEmailAddress").value;
        strURL =  document.getElementById("txtURL").value;
        strText = document.getElementById("txtPosting").value;
        
        //check that the required information has been submitted by the user
        if (strAuthor.length < 1){
            strMessage = 'You have not entered your name, '
        }
        if (strEmail.length < 1){
            strMessage += 'You have not entered your email address, '
        }
        if (strText.length < 1){
            strMessage += 'You have not entered a comment, '
        }
        if (strMessage.length > 0){
            strMessage += 'Please amend and try again.'
            window.alert(strMessage);
        }else{
            ret = ws_lg_News.Save(0, intBlogID, strAuthor, strEmail, strURL, '', strText, '', false, false, '', b_OnCompleteCommentSave, b_OnErrorGeneric, b_OnTimeoutGeneric);
        }
    }
    function b_OnCompleteCommentSave(result){
        window.alert("Thanks, your comment has been submitted");
        window.location = 'blog_home.aspx';
        //document.getElementById("BlogDetail").innerHTML = result;
        //b_search();
    }




    function b_DeleteReply(intID){
        var resp= confirm("Do you really want to delete this blog reply?");
        if (resp==true){
            ret = ws_lg_News.Delete(intID, b_OnCompleteDeleteReply, b_OnErrorGeneric, b_OnTimeoutGeneric);
        }
    }
    function b_OnCompleteDeleteReply(result){
        b_ReturnUnvalidated();
    }

    
    
    function b_ValidateByIDs(strIDs){
        var temp = new Array();
        var strChkBox;
        var strIDConfs;
       
        temp = strIDs.split('~');
        strIDConfs = '';
                
        for (i=0;i<=temp.length-1;i++)
            {
            strChkBox = "chkValidate~" + temp[i];
            if(document.getElementById(strChkBox).checked==true){
                strIDConfs = strIDConfs + temp[i] + ", ";
            }   
        }
        if (strIDConfs.length>0){
            ret = ws_lg_News.ValidateByIDs(strIDConfs, b_OnCompleteDeleteReply, b_OnErrorGeneric, b_OnTimeoutGeneric);
        }
    }
    function b_OnCompleteValidateIDs(result){
        b_ReturnUnvalidated();
    }



    function b_setDeleted(){
        document.getElementById("divDeleted").innerHTML=Date() + '&nbsp;<a onclick=b_setUnDeleted();>[unDelete]</a>';
        document.getElementById("txtdetDeleted").value=Date();
    }
    function b_setUnDeleted(){
        document.getElementById("divDeleted").innerHTML='&nbsp;<a onclick=b_setDeleted()>[Delete]</a>';
        document.getElementById("txtdetDeleted").value='';
    }



    function b_ShowBlogPreview(intBlogID){
        //save the preview first, then get the details of the blog from the database and show them in the div on the requesting form
        ret = ws_lg_News.ShowBlogPreview(intBlogID, b_OnCompleteBlogPreview, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogPreview(result){
        document.getElementById("Blog").innerHTML = result;
    }



    function b_ShowImageHTML(Name,ImagePathLive,AltText){
        var strHtml;
        
        strHtml = '<img vspace="7" src="' + ImagePathLive + '" alt="' + AltText + '" id="' + Name + '"/>'
        document.getElementById("BlogImageHTML").value = strHtml;    
    }



    function b_RefreshImageList(intBlogID){
        //get the details of the blog from the database and show them in the div on the requesting form
        ret = ws_lg_News.RefreshImageList(intBlogID, b_OnCompleteRefreshImageList, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteRefreshImageList(result){
        document.getElementById("BlogImageList").innerHTML = result;
        if (result=='There are no images.  Use the upload button below to add an image to this blog post'){
            window.alert("There are no images for this blog post.  Please use the upload new image button to add a new image");
        }
    }
    function b_RemoveImage(intImageID){
        //get the details of the blog from the database and show them in the div on the requesting form
        var resp= confirm("Do you really want to delete this image?");
        if (resp==true){
            ret = ws_lg_News.RemoveImage(intImageID, b_OnCompleteRemoveImage, b_OnErrorGeneric, b_OnTimeoutGeneric);
        }
    }
    function b_OnCompleteRemoveImage(result){
        if (result.length>0){
            window.alert(result);
        }
        b_RefreshImageList(intCurrentBlogID);
    }



    function b_DrawCalendar(intMonth, intYear){
        //document.getElementById("BlogCalendar").innerHTML = "Working....";
        ret = ws_lg_News.DrawBlogCalendar(intMonth, intYear, b_OnCompleteCalendar, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteCalendar(result){
        document.getElementById("BlogCalendar").innerHTML = result;
    }



    function b_DrawBlogPaged(intRowsPerPage, intPageNumber){
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogPaged(intRowsPerPage, intPageNumber, b_OnCompleteBlogPaged, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogPaged(result){
        document.getElementById("BlogPane").innerHTML = result;
    }



    function b_DrawBlogCategory_old(strCategory){
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogCategory(strCategory, b_OnCompleteBlogCategory, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_DrawBlogCategory(intCategory){
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogCategory(intCategory, b_OnCompleteBlogCategory, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogCategory(result){
        document.getElementById("BlogPane").innerHTML = result;
    }



    function b_DrawBlogDefault(){
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogDefault(b_OnCompleteBlogDefault, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogDefault(result){
        document.getElementById("BlogPane").innerHTML = result;
    }



    function b_DrawBlogID(intID){
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogID(intID, b_OnCompleteBlogID, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogID(result){
        document.getElementById("BlogPane").innerHTML = result;
    }



    function b_DrawBlogDate(julStartDate, julEndDate){
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogDate(julStartDate, julEndDate, b_OnCompleteBlogDate, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogDate(result){
        document.getElementById("BlogPane").innerHTML = result;
    }


    function b_DrawBlogSearch(strSearchTerm){
        var strLocalSearch;
        strLocalSearch = strSearchTerm;
        if (strLocalSearch.length<1){
            strLocalSearch = document.getElementById("txtBlogSearch").value;
        }
        document.getElementById("BlogPane").innerHTML = "Working....";
        ret = ws_lg_News.ShowBlogSearch(strLocalSearch, b_OnCompleteBlogSearch, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteBlogSearch(result){
        document.getElementById("BlogPane").innerHTML = result;
    }

    function b_SearchSite(){
        var strSearch = '';
        var intMonths = 0;
        
        intMonths = document.getElementById("cmbsrchDate").value;
        if (intMonths.length<1){
            intMonths='j';
        }
        if(isNaN(intMonths)==true){
            intMonths = 0;
        }
        
        strLocalSearch = document.getElementById("txtsrchText").value;
        if (strLocalSearch == 'keywords'){
            strLocalSearch = '';
        }
        document.getElementById("NewsItems").innerHTML = "Working....";
        ret = ws_lg_News.SearchSite(strLocalSearch, strLocalSearch, intMonths, b_OnCompleteSearchSite, b_OnErrorGeneric, b_OnTimeoutGeneric);
    }
    function b_OnCompleteSearchSite(result){
        document.getElementById("NewsItems").innerHTML = result;
    }
    

    function b_OnErrorGeneric(result){
        window.alert("There was an error in the Blog web service");
    }
    
    function b_OnTimeoutGeneric(result){
        window.alert("There was a time-out in the Blog web service");
    }

