﻿/* begin - create album for a member */
    function createAlbum() {
      var url = hsiFolder + 'CreateAlbum.aspx';
      asynchHttpRequestPOST(url, '', getCreateAlbumCB, getCreateAlbumExceptionCB);        
    }
    
    function getCreateAlbumExceptionCB(httpObj, asynchState) {
      alert(httpObj.responseText);
    }

    function getCreateAlbumCB(resultText, asynchState) {
      window.location.href = partialAlbumEditPageUrl + resultText.responseText;      
    }
/* end- create album for a member */


/* begin - delete album for a member */
    function deleteMemberAlbum(id) {
      var url = hsiFolder + 'DeleteMemberAlbum.aspx';
      var data = 'id=' + id;
      if (window.confirm("Are you sure you want to delete this album?"))
        asynchHttpRequestPOST(url, data, getDeleteMemberAlbumCB, getDeleteMemberAlbumExceptionCB, id);        
    }
    function getDeleteMemberAlbumExceptionCB(httpObj, asynchState) {
      alert(httpObj.responseText);
    }
    function getDeleteMemberAlbumCB(httpObj, asynchState) { 
      var url = hostMemberAlbumPageUrl;
      window.location.href = url;
    }     
/* end - delete album for a member */	    

/* begin - tiny url methods */
    function chgTinyUrl(control) {
      var aid = control.getAttribute("i");
      var newUrlName = control.value;
      displayInSituMsg('', 0, aid);
      
      /* deleting current tiny url */
      if (newUrlName.length == 0){
        if (updateTinyUrl(newUrlName, aid)) {
          control.setAttribute("pName", newUrlName);
          displayInSituMsg("Changes Saved.", 1, aid);
        }
        else {
          control.value = control.getAttribute("pName");
          control.focus();
        }
      }
      else {
        var url = hsiFolder + 'ValidateTinyUrl.aspx';
        var params = "tinyUrlName=" + newUrlName;
        asynchHttpRequestPOST(url, params, getValidateTinyUrlCB, getValidateTinyUrlExceptionCB, aid, control);        
      }
    }


    function getValidateTinyUrlCB(httpObj, asynchState) { 
      var obj = createObjectFromXml(httpObj.responseXML);
      var aid = asynchState[0];
      var control = asynchState[1];
      
      if (obj.IsValid == "true") {
        updateTinyUrl(obj.TinyUrlName, aid);
        control.value = obj.TinyUrlName;
        control.setAttribute("pName", obj.TinyUrlName);
        displayInSituMsg("Changes Saved.", 1, aid);
       }
       else {
        var prevUrlName = control.getAttribute("pName");
        control.value = prevUrlName;
        displayInSituMsg(obj.ErrorMessages, 1, aid);
        control.focus();
       }
     }
    
    function getValidateTinyUrlExceptionCB(httpObj, asynchState) {
      alert(httpObj.responseText);
    }
  
    function updateTinyUrl(newUrlName, aid) {
      var params = "tinyUrlType=Album&tinyUrlName=" + newUrlName + "&id=" + aid;
      try {
        httpRequestPOST(hsiFolder + "UpdateTinyUrl.aspx", params);
        return true;
      }
      catch (e) {
        alert(e);   
        return false;
      }
    }
 /* end - tiny url mehtods */ 

    function chgSeq(control) {
      var i = control.getAttribute("i");
      var ns = control.value;
      var params = "id=" + i + "&newSeq=" + ns;
      try {
        httpRequestPOST(hsiFolder + "ResequenceAlbums.aspx", params);     
        window.location.reload();
      }
      catch (e) {
        alert(e);   
      }
    }

    function updateDefaultAsset(control) {
      var i = control.getAttribute("i");
      var aid = control.value;
      var params = "id=" + i + "&aid=" + aid;
      try {
        httpRequestPOST(hsiFolder + "UpdateDefaultAsset.aspx", params);     
        window.location.reload();
      }
      catch (e) {
        alert(e);   
      }
    }

    function chgAssetSeq(control) {
      var id = document.getElementById("MEMBER_ALBUM_ID").value;
      var aid = control.getAttribute("aid");
      var ns = control.value;
      var params = "id=" + id  + "&aid=" + aid + "&newSeq=" + ns;
      try {
        httpRequestPOST(hsiFolder + "ResequenceAlbumAsset.aspx", params);     
        window.location.reload();
      }
      catch (e) {
        alert(e);   
      }
    }
/* begin - add asset to album for a member */
    function addAlbumAsset(aid) {
      var url = hsiFolder + 'AddAlbumAsset.aspx';
      var id = document.getElementById("MEMBER_ALBUM_ID").value;
      var data = 'id=' + id + "&aid=" + aid;
      asynchHttpRequestPOST(url, data, getAddAlbumAssetCB, getAddAlbumAssetExceptionCB, id);        
    }
    function getAddAlbumAssetExceptionCB(httpObj, asynchState) {
      alert(httpObj.responseText);
    }
    function getAddAlbumAssetCB(httpObj, asynchState) { 
      window.location.reload();
    }     
/* end - add asset to album for a member */	    


/* begin - remove asset from album */
    function removeAlbumAsset(aid) {
      var url = hsiFolder + 'RemoveAlbumAsset.aspx';
      var id = document.getElementById("MEMBER_ALBUM_ID").value;
      var data = 'id=' + id + "&aid=" + aid;
      asynchHttpRequestPOST(url, data, getRemoveAlbumAssetCB, getRemoveAlbumAssetExceptionCB, id);        
    }
    function getRemoveAlbumAssetExceptionCB(httpObj, asynchState) {
      alert(httpObj.responseText);
    }
    function getRemoveAlbumAssetCB(httpObj, asynchState) { 
      window.location.reload();
    }     
/* end - remove asset from album */
