/**
 * Courtesy of YourSite; yoursite.nl
 * 
 * written by Gerard van Helden
 */
Cookie = {};

Cookie.Expire = {};
Cookie.Expire.Month = new Date ();
Cookie.Expire.Month.setMonth ( Cookie.Expire.Month.getMonth () +1 );
Cookie.Expire.Year = new Date ();
Cookie.Expire.Year.setFullYear ( Cookie.Expire.Year.getFullYear () +1 );
Cookie.Expire.Week = new Date ();
Cookie.Expire.Week.setDate ( Cookie.Expire.Week.getDate () + 7 );
Cookie.Expire.Past = new Date ();
Cookie.Expire.Past.setFullYear ( Cookie.Expire.Past.getFullYear () -1 );

Cookie.convertName = function ( name ) {
   var parts = name.split ( '.' );
   var str = parts.shift ();
   parts.each ( function ( p ) {
      str += '[' + p + ']'; 
   } );
   return str;
}

Cookie.set = function ( name, value, expire ) {
	if ( typeof expire == 'string' ) {
		expire = Cookie.Expire[expire];
	}
   var str = Cookie.convertName ( name ) + '=' + escape(value);
   if ( expire ) {
      str += '; expires=' + expire;
   }
   document.cookie = str;
}

Cookie.get = function ( name ) {
   var items = document.cookie.split ( /\s*;\s*/ );
   re = new RegExp ( '^' + RegExp.quote ( Cookie.convertName ( name ) ) + '\\s*=(.*)' );
   var item = items.find ( function ( i ) {
      return ( re.test(i) );
   } );
   if ( item ) {
      return unescape ( item.match(re)[1] );
   }
   return null;
}

Cookie.trash = function ( name ) {
   Cookie.set ( name, null, 'Past' );
}
