Stories={};
Stories.initialize=function(itemid)
{
   Stories.curItemID=itemid;
   Stories.curSelector="";
   Stories.curValue="";
}
Stories.lookupStories=function(selector,value)
{
   if(selector!='' && value!='')
   {
      Stories.curSelector=selector;
      Stories.curValue=value;
      var url="/phpclasses/serviceConnector.php?object=StoriesManager&method=lookupStories&params="+ value;
      AjaxUpdater.Update("GET",url,Stories.onLookupStories);
   }
}
Stories.onLookupStories=function()
{
   if(Ajax.checkReadyState('loading')=="200")
   {
      var response=Ajax.getResponse();
      var results = response.split("<result>");
      var highlight="#c481ff";
      if(Stories.curItemID>0)
	 Utilities.getElement(Stories.curSelector +"list").innerHTML="<div class='searchresult' style='backgroud-color:#f0f0f0;' onMouseOver=\"this.style.backgroundColor='"+ highlight +"';\" onMouseOut=\"this.style.backgroundColor='#f0f0f0';\" onClick=\"Stories.addNewStory('"+ Stories.curValue.replace(/\'/g,"`") +"');\">Create a new story \""+ Stories.curValue +"\"</div>";
      else
	 Utilities.getElement(Stories.curSelector +"list").innerHTML="";
      for(var i=0;i<results.length;i++)
      {
         if(i%2==0) var bgcolor="#ffffff";
	 else var bgcolor="#d0d0d0";
         if(!results[i].match("<detail>"))
	    Utilities.getElement(Stories.curSelector +"list").innerHTML+="<div style=\"background-color:"+ bgcolor +";\" class='searchresult'>"+ results[i] +"</div>";
	 else
	 {
            var details = results[i].split("<detail>");
	    details[1]=details[1].replace(/\'/g,"`");
	    //details: id - story title
	    if(Stories.curItemID>0)
	    	Utilities.getElement(Stories.curSelector +"list").innerHTML+="<div class='searchresult' class='searchresult' style='backgroud-color:"+ bgcolor +";' onMouseOver=\"this.style.backgroundColor='"+ highlight +"';\" onMouseOut=\"this.style.backgroundColor='"+ bgcolor +"';\" onClick=\"Stories.addStory('"+ details[0] +"');\">"+ details[1] +"</div>";
	    else
                Utilities.getElement(Stories.curSelector +"list").innerHTML+="<div class='searchresult' class='searchresult' style='backgroud-color:"+ bgcolor +";' onMouseOver=\"this.style.backgroundColor='"+ highlight +"';\" onMouseOut=\"this.style.backgroundColor='"+ bgcolor +"';\" onClick=\"Utilities.getElement(Stories.curSelector).value='"+ details[1] +"';Utilities.getElement(Stories.curSelector +'id').value='"+ details[0] +"';Utilities.getElement(Stories.curSelector +'list').style.display='none';\">"+ details[1] +"</div>";
	 }
      }
   }
   else
   {
        Utilities.getElement(Stories.curSelector +'list').style.display='';
	Utilities.getElement(Stories.curSelector +'list').innerHTML="Searching stories...";
   }
}
Stories.addNewStory=function(story)
{
   if(story!='')
   {
      var url="/phpclasses/serviceConnector.php?object=StoriesManager&method=addNewStory&params="+ story;
      AjaxUpdater.Update("GET",url,Stories.onAddNewStory);
   }
}
Stories.onAddNewStory=function()
{
   if(Ajax.checkReadyState('loading')=="200")
   {
      var response=Ajax.getResponse();
      if(!response.match("SUCCESS"))	//something went wrong
         Utilities.getElement(Stories.curSelector +"list").innerHTML="Unexpected Error. Please Try Again.";
      else
      {
         var details = response.split("<detail>");
         Stories.addStory(details[1]);
      }
      Utilities.getElement(Stories.curSelector +'list').innerHTML="";
      Utilities.getElement(Stories.curSelector +'list').style.display='none';
   }
   else
   {
      Utilities.getElement(Stories.curSelector +'list').style.display='';
      Utilities.getElement(Stories.curSelector +'list').innerHtml="Adding story...";
   }
}
Stories.addStory=function(storyid)
{
   if(storyid!='')
   {
      var url="/phpclasses/serviceConnector.php?object=StoriesManager&method=addStory&params="+ storyid +";"+ Stories.curItemID;
      AjaxUpdater.Update("GET",url,Stories.onAddStory);
   }
}
Stories.onAddStory=function()
{
   if(Ajax.checkReadyState('loading')=="200")
   {
      var response=Ajax.getResponse(); 
      if(!response.match("SUCCESS"))	//something went wrong
         Utilities.getElement(Stories.curSelector +"list").innerHTML="Unexpected Error. Please Try Again.";
      else
      {
         var details=response.split("<detail>");
	 Utilities.getElement('storylist').innerHTML=details[1];
      }
      Utilities.getElement(Stories.curSelector).value='';
      Utilities.getElement(Stories.curSelector +'list').innerHTML="";
      Utilities.getElement(Stories.curSelector +'list').style.display='none';
   }
   else
   {
      Utilities.getElement(Stories.curSelector +'list').style.display='';
      Utilities.getElement(Stories.curSelector +'list').innerHTML="Connecting post with this story...";
   }
}
Stories.featureStory=function(storyid)
{
   if(storyid!='')
   {
      var url="/phpclasses/serviceConnector.php?object=StoriesManager&method=featureStory&params="+ storyid;
      AjaxUpdater.Update("GET",url,Stories.onFeatureStory);
   }
}
Stories.onFeatureStory=function()
{
   if(Ajax.checkReadyState('loading')=="200")
   {
      var response=Ajax.getResponse();
      if(!response.match("SUCCESS"))    //something went wrong
         Utilities.getElement(Stories.curSelector +"list").innerHTML="Unexpected Error. Please Try Again.";
      else
      {
         var details=response.split("<detail>");
         Utilities.getElement('featuredstorylist').innerHTML=details[1];
      }
      Utilities.getElement(Stories.curSelector).value='';
      Utilities.getElement(Stories.curSelector +'list').innerHTML="";
      Utilities.getElement(Stories.curSelector +'list').style.display='none';
   }
   else
   {
      Utilities.getElement(Stories.curSelector +'list').style.display='';
      Utilities.getElement(Stories.curSelector +'list').innerHTML="Featuring this story...";
   }
}
Stories.deleteStory=function(storyid)
{
   if(storyid!='')
   {
      var url="/phpclasses/serviceConnector.php?object=StoriesManager&method=deleteStory&params="+ storyid +";"+ Stories.curItemID;
      AjaxUpdater.Update("GET",url,Stories.onDeleteStory);
   }
}
Stories.onDeleteStory=function()
{
   if(Ajax.checkReadyState('loading')=="200")
   {
      var response=Ajax.getResponse();
      if(!response.match("SUCCESS"))    //something went wrong
         Utilities.getElement(Stories.curSelector +"list").innerHTML="Unexpected Error. Please Try Again.";
      else
      {
         var details = response.split("<detail>");
	 Utilities.getElement('storylist').innerHTML=details[1];
      }
  }
}


