function createCookie(name,value,days) {
 if (days) {
   var date = new Date();
   date.setTime(date.getTime()+(days*24*60*60*1000));
   var expires = "; expires="+date.toGMTString();
 }
 else expires = "";
 document.cookie = name+"="+escape(value)+expires+"; path=/";
}

function readCookie(name) {
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
 for(var i=0;i < ca.length;i++) {
   var c = ca[i];
   while (c.charAt(0)==' ') c = c.substring(1,c.length);
   if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length,c.length));
 }
 return null;
}

function read_cookie_value(cookie_name) {
   if(document.cookie.match(cookie_name)) {
       cookie_name_length = cookie_name.length;
       var cookie_position = document.cookie.indexOf(cookie_name);
       var start_value_reading = cookie_position + cookie_name_length + 1;
       var interim_value = document.cookie.substr(start_value_reading);
       var position_next_separator = interim_value.indexOf(";");

       if(position_next_separator != "-1") {
           var stop_value_reading = position_next_separator;
           var cookie_value = document.cookie.substr(start_value_reading,stop_value_reading);
       } else {
           var cookie_value = document.cookie.substr(start_value_reading);
       }
       return cookie_value;
   }
}

function doOnce (identifier) {

// Used for popups that should only
// be done on the first visit to a page
// Use different identifer strings for 
// different popups.
//
// Usage:
//   if (doOnce('MyPopup')) {
//       window.open (...)
//   }

    if (readCookie(identifier) == 'done') {
        return false      
    } else {
        createCookie(identifier, 'done');
        return true;
    }
}