jQuery.extend({
  log: function (msg) {
    console.log("%s: %o", msg, this);
    return this;
  }
});

function setCookie(name, value, expires, path, domain, secure) {
  setRawCookie(name, escape(value), expires, path, domain, secure);
} // setCookie

function setRawCookie(name, value, expires, path, domain, secure) {
  // set time, it's in milliseconds
  var today = new Date();
  today.setTime(today.getTime());
  
  // if the expires variable is set, make the correct 
  // expires time, the current script below will set 
  // it for x number of days, to make it for hours, 
  // delete * 24, for minutes, delete * 60 * 24
  
  if (expires) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  
  var expires_date = new Date(today.getTime() + (expires));
  
  var ck = name + "=" + value +
  ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
  ( ( path ) ? ";path=" + path : "" ) + 
  ( ( domain ) ? ";domain=" + domain : "" ) +
  ( ( secure ) ? ";secure" : "" );
  document.cookie = ck;
  return ck;
} // setRawCookie

function getCookie(name) {
  // first we'll split this cookie up into name/value pairs
  // note: document.cookie only returns name=value, not the other components
  var a_all_cookies = document.cookie.split( ';' );
  var a_temp_cookie = '';
  var cookie_name = '';
  var cookie_value = '';
  var b_cookie_found = false; // set boolean t/f default f
  
  for ( i = 0; i < a_all_cookies.length; i++ )
  {
    // now we'll split apart each name=value pair
    a_temp_cookie = a_all_cookies[i].split( '=' );
    
    
    // and trim left/right whitespace while we're at it
    cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
  
    // if the extracted name matches passed check_name
    if ( cookie_name == name )
    {
      b_cookie_found = true;
      // we need to handle case where cookie has no value but exists (no = sign, that is):
      if ( a_temp_cookie.length > 1 )
      {
        cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
      }
      // note that in cases where cookie is initialized but no value, null is returned
      return cookie_value;
      break;
    }
    a_temp_cookie = null;
    cookie_name = '';
  }
  if ( !b_cookie_found )
  {
    return null;
  }
} // getCookie

function showCostruzione(cookieName, btnId, lightId, fadeId)
{
  var type = cookieName;
  cookieName += '_' + Atex.site.id.replace(/\./g, '_');
  var c = getCookie('show_' + cookieName);
  if (!c || c != 'false') {
    $(btnId).click(function(){
      closePopup(lightId, fadeId);
      setCookie('show_' + cookieName, 'false');
      return false;
    });
    $(fadeId).fadeIn(function() {
      $(lightId).show();
      if (type == 'costruzione') {
        setTimeout(function(){
          closePopup(lightId, fadeId);
          setCookie('show_' + cookieName, 'false');
        }, 3000);
      }
    });
  }
} // showCostruzione

function closePopup(lightId, fadeId)
{
  $(lightId).hide();
  $(fadeId).hide();
  return false;
} // closePopup

function printCatalogItem(id)
{
  $(id).printArea({mode: 'popup',popHt:'370',popWd:'690',popX:'400',popY:'400',popClose:'true'});
  return false;
} // printCatalogItem

//this comment and the following empty lines must always be at the end of the file. [mn]

