﻿//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                           SPRESS SITE ACTIONS                                                //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////


// --------------------------------------------------------------------------------------------------------------
function actionSPressSiteCreate(newSiteName, nickname, actionCompleteSuccess, actionCompleteFails)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99

    var postBody = '<create><name>' + removeHtml(newSiteName) + '</name><nickname>' + removeHtml(nickname) + '</nickname></create>';

    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("POST");
    oRequest.set_body(postBody);
    oRequest.set_url("sPressSiteAction.aspx?Action=CreateSite&name=" + newSiteName + "&RND=" + rnd);

    if (actionCompleteSuccess == null)
        actionCompleteSuccess = actionCompleteFading;
    if (actionCompleteFails == null)
        actionCompleteFails = actionCompleteFading;

    oRequest.add_completed
    (
        function(oExecutor, oEventArgs)
        {
            var oExecutor = oRequest.get_executor();
            if (oExecutor.get_responseAvailable())
            {
                var statusResponse = oExecutor.get_responseData();
                if (statusResponse == 'OK' || statusResponse.indexOf("messageValid") != -1)
                { actionCompleteSuccess(oExecutor, oEventArgs); }
                else
                { actionCompleteFails(oExecutor, oEventArgs); }
            }
        }
    );

    oRequest.invoke();
}

// ----------------------------------------------------------------------------------------
function actionSiteSearch(siteID, searchText, outFormat, completeActionCallback)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    oRequest.set_url("sPressSiteAction.aspx?Action=search&ID=" + siteID + "&q=" + searchText + "&Format=" + outFormat + "&RND=" + rnd);
    if (completeActionCallback != null)
        oRequest.add_completed(completeActionCallback);
    oRequest.invoke();
}

// --------------------------------------------------------------------------------------------------------------
function actionSitePublish(spressID, pubFlag, actionCompleteSuccess, actionCompleteFails)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    if (pubFlag)
        oRequest.set_url("sPressSiteAction.aspx?Action=publish&ID=" + spressID + "&RND=" + rnd);
    else
        oRequest.set_url("sPressSiteAction.aspx?Action=unpublish&ID=" + spressID + "&RND=" + rnd);

    if (actionCompleteSuccess == null)
        actionCompleteSuccess = actionCompleteFading;
    if (actionCompleteFails == null)
        actionCompleteFails = actionCompleteFading;

    oRequest.add_completed(function(oExecutor, oEventArgs)
    {
        var oExecutor = oRequest.get_executor();
        if (oExecutor.get_responseAvailable())
        {
            var statusResponse = oExecutor.get_responseData();
            if (statusResponse == 'OK' || statusResponse.indexOf("messageValid") != -1)
            { actionCompleteSuccess(oExecutor, oEventArgs); }
            else
            { actionCompleteFails(oExecutor, oEventArgs); }
        }
    }
	                      );
    oRequest.invoke();
}

// --------------------------------------------------------------------------------------------------------------
function actionSiteDelete(spressID, actionCompleteSuccess, actionCompleteFails)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    oRequest.set_url("sPressSiteAction.aspx?Action=delete&ID=" + spressID + "&RND=" + rnd);

    if (actionCompleteSuccess == null)
        actionCompleteSuccess = actionCompleteFading;
    if (actionCompleteFails == null)
        actionCompleteFails = actionCompleteFading;

    oRequest.add_completed(function(oExecutor, oEventArgs)
    {
        var oExecutor = oRequest.get_executor();
        if (oExecutor.get_responseAvailable())
        {
            var statusResponse = oExecutor.get_responseData();
            if (statusResponse == 'OK' || statusResponse.indexOf("messageValid") != -1)
            { actionCompleteSuccess(oExecutor, oEventArgs); }
            else
            { actionCompleteFails(oExecutor, oEventArgs); }
        }
    } );
    oRequest.invoke();
}

// --------------------------------------------------------------------------------------------------------------
function actionSiteFollow(userID, followFlag, spressID, actionCompleteSuccess, actionCompleteFails)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    if ( followFlag )
        oRequest.set_url("sPressSiteAction.aspx?Action=follow&userID=" + userID + "&ID=" + spressID + "&RND=" + rnd);
    else
        oRequest.set_url("sPressSiteAction.aspx?Action=unfollow&userID=" + userID + "&ID=" + spressID + "&RND=" + rnd);
    if (actionCompleteSuccess == null)
        actionCompleteSuccess = actionCompleteFading;
    if (actionCompleteFails == null)
        actionCompleteFails = actionCompleteFading;

    oRequest.add_completed(function(oExecutor, oEventArgs)
    {
        var oExecutor = oRequest.get_executor();
        if (oExecutor.get_responseAvailable())
        {
            var statusResponse = oExecutor.get_responseData();
            if (statusResponse == 'OK' || statusResponse.indexOf("messageValid") != -1)
            { actionCompleteSuccess(oExecutor, oEventArgs); }
            else
            { actionCompleteFails(oExecutor, oEventArgs); }
        }
    });
    oRequest.invoke();
}


// --------------------------------------------------------------------------------------------------------------
function actionUserCheckNickname(nickname, name, lastname, actionCallback)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    oRequest.set_url("userAction.aspx?Action=checkNickname&nickname=" + nickname + "&name=" + name + "&lastname=" + lastname + "&RND=" + rnd);
    if (actionCallback != null)
        oRequest.add_completed(actionCallback);
    oRequest.invoke();
}

// --------------------------------------------------------------------------------------------------------------
function actionSiteCheckNickname(nickname, name, username, actionCallback)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    oRequest.set_url("sPressSiteAction.aspx?Action=checkNickname&nickname=" + nickname + "&name=" + name + "&username=" + username + "&RND=" + rnd);
    if (actionCallback != null)
        oRequest.add_completed(actionCallback);
    oRequest.invoke();
}

// --------------------------------------------------------------------------------------------------------------
function actionSiteInfo( siteID, description, name, nickname, searchTerms, actionComplete)
{
    // var rnd = Math.floor(Math.random()*100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();

    var postBody = '<site_info><id>' + siteID + '</id><desc><![CDATA[' + removeHtml(description) + ']]></desc><name><![CDATA[' + removeHtml(name) + ']]></name><nickname><![CDATA[' + nickname + ']]></nickname><searchterms><![CDATA[' + searchTerms + ']]></searchterms>';
    postBody += '</site_info>';

    oRequest.set_httpVerb("POST");
    oRequest.get_headers()['Content-Length'] = postBody.length;
    oRequest.set_body(postBody);
    oRequest.set_url("sPressSiteAction.aspx?Action=savesiteinfo&id=" + siteID + "&format=XHTML");
    oRequest.add_completed(function(oExecutor, oEventArgs) { actionCompleteFading(oExecutor, oEventArgs); actionComplete(); });
    oRequest.invoke();
}

// sets as thumbnail the specified flickr photo.
// --------------------------------------------------------------------------------------------------------------
function actionSiteSetThumbnail(siteID, flickrID, actionComplete )
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    oRequest.set_url("sPressSiteAction.aspx?Action=setflickrthumbnail&id=" + siteID + "&flickrID=" + flickrID + "&RND=" + rnd);

    if (actionComplete != null)
        oRequest.add_completed( function(oExecutor, oEventArgs) { actionComplete(); } );
    else
        oRequest.add_completed( actionCompleteFading );
   	//oRequest.add_completed( function( oExecutor, oEventArgs ){ actionCompleteHtml( oExecutor, oEventArgs, dropElement); }  );
	oRequest.invoke();
}

// sets as thumbnail the specified flickr photo.
// --------------------------------------------------------------------------------------------------------------
function actionSPressSetThumbnail(spressID, flickrID, actionComplete)
{
    var rnd = Math.floor(Math.random() * 100); // ramdom # between 0 and 99
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("GET");
    oRequest.set_url("sPressionAction.aspx?Action=setflickrthumbnail&id=" + spressID + "&flickrID=" + flickrID + "&RND=" + rnd);

    if (actionComplete != null)
        oRequest.add_completed(function(oExecutor, oEventArgs) { actionComplete(); });
    else
        oRequest.add_completed(actionCompleteFading);
    //oRequest.add_completed( function( oExecutor, oEventArgs ){ actionCompleteHtml( oExecutor, oEventArgs, dropElement); }  );
    oRequest.invoke();
}

// --------------------------------------------------------------------------------------------------------------
function actionSiteCSS(siteID, contentCss, actionCompleteSuccess, actionCompleteFails)
{
    var oRequest = new Sys.Net.WebRequest();
    oRequest.set_httpVerb("POST");
    var postBody = '<site_css><id>' + siteID + '</id><css><![CDATA[' + contentCss + ']]></css></site_css>';
    oRequest.get_headers()['Content-Length'] = postBody.length;
    oRequest.set_body(postBody);
    oRequest.set_url("sPressSiteAction.aspx?Action=site_css&id="+siteID+"&format=XHTML");

    if (actionCompleteSuccess == null)
        actionCompleteSuccess = actionCompleteFading;
    if (actionCompleteFails == null)
        actionCompleteFails = actionCompleteFading;

    oRequest.add_completed(function(oExecutor, oEventArgs)
    {
        var oExecutor = oRequest.get_executor();
        if (oExecutor.get_responseAvailable())
        {
            var statusResponse = oExecutor.get_responseData();
            if (statusResponse == 'OK' || statusResponse.indexOf("messageValid") != -1)
            { actionCompleteSuccess(oExecutor, oEventArgs); }
            else
            { actionCompleteFails(oExecutor, oEventArgs); }
        }
    }
                            );
    oRequest.invoke();
}
