﻿// CallWebServiceMethods.js

var HTCallingControl;
//var HTInProcess = false 


// This function calls the Web service method without 
// passing the callback function. 
function GetNoReturn()
{
    Samples.AspNet.WebService.GetServerTime();
    alert("This method does not return a value.");
    
}


// This function calls the Web service method and 
// passes the event callback function.  
function GetTime()
{
    Samples.AspNet.WebService.GetServerTime(
    SucceededCallback);
    
}


// This function calls the Web service method 
// passing simple type parameters and the 
// callback function  
function Add(a,  b)
{
    Samples.AspNet.WebService.Add(a, b, 
    SucceededCallback);
}

// This function calls the Web service method 
// that returns an XmlDocument type.  
function SaveContent(contentID, ContentData, ModifiedByID) {
    
    //if (HTInProcess == true) {alert('The server is still processing your last request, please try again in a second')} else {
    //HTInProcess = true;
    
    alert("SAVING Content ID:" + contentID + "Modified By:" + ModifiedByID);
    WebServices.TypeLib.Content.UpdateContent(
        contentID, ContentData, ModifiedByID, SaveSucceededCallback, FailedCallback,
        "XmlDocument")
     //}
}

function RequestUnlock(ContentID,UserID) {
    var result = confirm('This content is currently locked by another user, do you want me to send a request to that user to unlock this content?');
    if (result) {WebServices.TypeLib.Content.RequestUnlock(ContentID, UserID);
    } else {alert('The content remains locked');}
}
function RequestPublish(ContentID,UserID) {
    var result = confirm('Would you like to request that this item is published?');
    if (result) {WebServices.TypeLib.Content.RequestPublish(ContentID, UserID, PublishCallback, FailedCallback);
    } else {alert('The content remains un-published for the time being');}
}
function PublishCallback(result, eventArgs)
{
 if (result) {alert('As you are a publisher for that content item it has been published');} else {
 alert('The content item is now awaiting publish authorisation');}
}

function ReleaseLock(ContentID,UserID) {
//Release locks on content if there are any, and if the user has permission.
    WebServices.TypeLib.Content.UpdateContent(ContentID, UserID, ReleaseSucceededCallback, FailedCallback)
}

function ReleaseSucceededCallback(result, eventArgs)
{
// Do nothing at the moment
}

function SaveSucceededCallback(result, eventArgs)
{
    var d = ' Item has been saved';
    var e = ' Items have been saved';
    if (result == 1) { 
        alert(result + d); } else { alert(result + e)
    }
    //HTInProcess = false;
}

function GetContent(contentID) 
{
   // if (HTInProcess == true) {alert('The server is still processing your last request, please try again in a second')} else {
   // HTInProcess = true;
    WebServices.TypeLib.Content.GetContent(
        contentID,SucceededCallbackWithContext, FailedCallback,
        "XmlDocument")
   // }
}
function HomeContent(contentID) 
{
    //if (HTInProcess == true) {alert('The server is still processing your last request, please try again in a second')} else {
    //HTInProcess = true;
    WebServices.TypeLib.Content.GetContent(
        contentID,HomeSucceeded, FailedCallback,
        "XmlDocument")
    //}
}

function HomeSucceeded(result, userContext, methodName)
{
    var output;
    var readResult;
    if (userContext == "XmlDocument"){
	   if (result.__type == "Context.BLL.Content") {
	     document.getElementById(HTCallingControl).innerHTML = String(result.C_CONTENT);
	    }
	}
    //HTInProcess = false;
}



// This function calls a Web service method that uses
// GET to make the Web request.
function MakeGetRequest() 
{

    Samples.AspNet.WebService.EchoStringAndDate(
        new Date("1/1/2007"), " Happy",
        SucceededCallback, 
        FailedCallback, "HappyNewYear");

}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object, the user context, and the 
// calling method name as parameters.
function SucceededCallbackWithContext(result, userContext, methodName)
{
    var output;
    alert(result);
    // Page element to display feedback.
    //var RsltElem = document.getElementById("ResultId");
    
    var readResult;
    if (userContext == "XmlDocument")
	{
	
	    if (document.all) {
	    alert(result.__type);
	    if (result.__type == "Context.BLL.Content") {
	        alert(result.C_CONTENT);
	    }
	        readResult = 
		        result.documentElement.firstChild.text;
		} else {
		    // Firefox
		   readResult =
		        result.documentElement.firstChild.textContent;
		
	     alert("XmlDocument content: " + readResult);
	     }
	}
    
}

// This is the callback function invoked if the Web service
// succeeded.
// It accepts the result object as a parameter.
function SucceededCallback(result, eventArgs)
{
    // Page element to display feedback.
    var RsltElem = document.getElementById("ResultId");
    RsltElem.innerHTML = result;
}

function ToggleSource(obj, contentControl) {
    //Check which we are on
    if (obj.sourceview == "0") {
        //Switch to HTML
        document.getElementById(contentControl).innerText = document.getElementById(contentControl).innerHTML;
        obj.src = "/context/images/Icons/VISTA_INSPIRATE/22x22/mimetypes/html.png";
        obj.sourceview = "1";
    } else {
    //Switch back to Code View
    document.getElementById(contentControl).innerHTML = document.getElementById(contentControl).innerText;
    obj.src = "/context/images/Icons/VISTA_INSPIRATE/22x22/mimetypes/template_source.png";
    obj.sourceview = "0";
    }
}

function HideSource(imageControl, contentControl) {
    //Check which we are on
    if (document.getElementById(imageControl).sourceview == "0") {
        //Do Nothing
    } else {
        //Switch back to Code View
        document.getElementById(contentControl).innerHTML = document.getElementById(contentControl).innerText;
        document.getElementById(imageControl).src = "/context/images/Icons/VISTA_INSPIRATE/22x22/mimetypes/template_source.png";
        document.getElementById(imageControl).sourceview = "0";
    }
}

function ShowSource(imageControl, contentControl) {
    //Check which we are on
    if (document.getElementById(imageControl).sourceview == "0") {
        //Switch to HTML
        document.getElementById(contentControl).innerText = document.getElementById(contentControl).innerHTML;
        document.getElementById(imageControl).src = "/context/images/Icons/VISTA_INSPIRATE/22x22/mimetypes/html.png";
        document.getElementById(imageControl).sourceview = "1";
    } else {
        //Do Nothing
    }
}

// This is the callback function invoked if the Web service
// failed.
// It accepts the error object as a parameter.
function FailedCallback(error)
{
    // Display the error. 
    HTInProcess = false;   
    alert("Service Error: " + error.get_message());
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();



