/*
    Recent searches functionality
*/

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 var expires = "";
   document.cookie = name+"="+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 c.substring(nameEQ.length,c.length);
   }
   return null;
}

function eraseCookie(name)
{
   createCookie(name,"",-1);
}

function printSearches() {
    var i;
    var search_url;
    var kwd;
    for(i=MAX_COOKIES-1; i>=0; i--) {
        if (readCookie("search"+i)) {
            kwd = readCookie("search"+i);
            search_url = document.location.href;
            search_url = search_url.replace(/w=[^&]*/, "w="+kwd);
            document.write("<li><a href='"+search_url+"'>"+readCookie("search"+i)+"</a></li>\n" );
        }
    }
}

function addKeywordCookie(k) {
    var i;
    var kwd = k;

    // check if keyword already exists
    for(i=0; i<MAX_COOKIES; i++) {
        if(readCookie("search"+i) == kwd) {
            // found
            return;
        }
    }

    var found=0;
    if(kwd != '') {
        for(i=0; i<MAX_COOKIES; i++) {
            if (!readCookie("search"+i)) {
                // found unused search cookie
                createCookie("search"+i, kwd, 30);
                found=1;
                break;
            }
        }
        
        if(found==0) {
            // bump cookies along to make room
            for(i=1; i<MAX_COOKIES; i++) {
                createCookie("search"+(i-1), readCookie("search"+i), 30);
            }
            createCookie("search"+(MAX_COOKIES-1), kwd, 30);
        }
        
    }
}
