/* COOKIE OBJECT
*************************************************************/
function cookie(domain_name) {
  //shortcut for encapsulation
  var self = this;
  
  /*
    Default Variables
  */
  self._domain = (domain_name == null) ? document.domain : domain_name;
  
  /*
    Getters and setters
  */
  self.setDomain = function (domain_name) {
        self._json = domain_name;
  }
  self.getDomain =  function() {
      return self._domain;
  }
    
  /*
    initialize the download button based on the specified
    container ID
  */
  self.init = function(domain_name) {
    self._domain = (domain_name == null) ? document.domain : domain_name;    
  } 
  
  /*
    set a cookie c_name with value that expires in expiredays
  */
  self.setCookie = function(c_name,value,expiredays)
  {
    //function to set a cookie
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";domain=" + self._domain + ";path=/;expires="+exdate.toGMTString());
  }
  
  /*
    get the value of c_name cookie
  */
  self.getCookie = function(c_name)
  {
    //function to get a cookie
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
        { 
        c_start=c_start + c_name.length+1; 
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
        } 
      }
    return "";
  }
  
  /*
    check to see if cookie cookie_name exists
  */
  self.checkCookie = function(cookie_name)
  {
    //function to check if the cookie exists
    cookie_val=self.getCookie(cookie_name);
    if (cookie_val!=null && cookie_val!="")
    {
      return true;
    }
    else 
    {
      return false;
    }
  }
}
