﻿//http://www.codeguru.com/vb/vb_internet/webservices/article.php/c7781__1/
//http://www.codeproject.com/KB/XML/marcelo888RemoteScript01.aspx
//http://msdn.microsoft.com/en-us/library/ms531035(VS.85).aspx
   //Init various Webservices
   function initWebHTC(webservice,webserviceidentifier)
      {  
      ServiceTag.useService(webservice + "?WSDL",webserviceidentifier);
      }
    
   //DAL for Stickies   
   function CallServiceDAL(routine,user,stickyId,locleft,loctop,text,currentdate)
      {
        var iCallID;
        //iCallID = ServiceTag.ServiceDAL.callService(routine, stickyId); < event driven result
        switch(routine)
        {
            case 'SaveSticky':
                iCallID = ServiceTag.ServiceDAL.callService(getBoolResult,routine,user,stickyId,locleft,loctop,text,currentdate);
                break;
            case 'LoadSticky':
                break;
            case 'LoadStickies':
                iCallID = ServiceTag.ServiceDAL.callService(getDataTableResult,routine,user);
                break;
            case 'DeleteSticky':
                iCallID = ServiceTag.ServiceDAL.callService(getBoolResult,routine,user,stickyId);
                break;
        }
       
        //alert(iCallID);
   
      }
      
      
    //Event Driven Result (overflows stack!) 
    function onResult()
    { 
        alert(event.result.value); 
    }
      
   //Parse returned result
   function getBoolResult(result)
      {
        if(result.value != true)
        {
            alert('Function returned an error!');
        }
        else
        {
            //alert('Value:' + result.value);
        }
    }
    
    function getDataTableResult(result)
    {        
        //http://aspdotnetcodebook.blogspot.com/2008/04/how-to-read-dataset-object-in.html
        //http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1048679,00.html
              
       
       //IE only
       //http://www.w3schools.com/xml/xml_parser.asp
       xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
       xmlDoc.async="false";
       try
       {
       xmlDoc.loadXML(result.value.xml);
       
       var numRows = xmlDoc.selectNodes("//NewDataSet/*").length;
       
       for(var i = 0; i < numRows; i++)
   
       {
         try
            {
            var username = xmlDoc.getElementsByTagName("username")[i].childNodes[0].nodeValue;
            var stickyID = xmlDoc.getElementsByTagName("stickyid")[i].childNodes[0].nodeValue;
            var locleft = xmlDoc.getElementsByTagName("locleft")[i].childNodes[0].nodeValue;
            var loctop = xmlDoc.getElementsByTagName("loctop")[i].childNodes[0].nodeValue;
            var text = "";
            try
                {
                text = xmlDoc.getElementsByTagName("text")[i].childNodes[0].nodeValue;
                }
            catch(err)
                {
                }  
            //var text = xmlDoc.getElementsByTagName("text")[i].childNodes[0].nodeValue;
            var createdate = xmlDoc.getElementsByTagName("createdate")[i].childNodes[0].nodeValue;
            
            createSticky2(username,stickyID,locleft,loctop,text,createdate);
            }
            catch(err)
            {
         
            }
       }
       
       }
       catch(err)
       {
       }
   
    }