// functions.js - utility functions and supporting variables

var dashed_line = '---------------------------------------------------------'+
  '-----    \n';
var show_alert = true;              // do we want to show debug alerts?

function debug_alert(msg)
{
  if (show_alert && !confirm(msg))
    show_alert = false;
}

var POPUP_BLOCKED = '\n'+
  '==============================      \n\n'+
  '    Error: Failed to open a new window! \n\n'+
  '    Please turn off any popup blockers. \n\n'+
  '==============================      \n';

function pop_win(url, popw, poph, win_name)
{
  if (!win_name) win_name = url.replace(/\..*/, '').replace(/\W/g, '');
  var ww = $(top).width();
  var wh = $(top).height();
  var options, popt, popl;
  if (!popw || !poph)
  {
    popw = ww-100;
    poph = wh-100;
    popl = (ww-popw)/2;
    popt = (wh-poph)/2;
    options = 'location=1,menubar=1,toolbar=1,width='+popw+','+
      'height='+poph+',left='+popl+',top='+popt+',resizable=1,scrollbars=1';
  }
  else
  {
    popl = (ww-popw)/2;
    popt = (wh-poph)/2+50;
    options = 'location=0,menubar=0,toolbar=0,width='+popw+','+
      'height='+poph+',left='+popl+',top='+popt+',resizable=1,scrollbars=1';
  }
  var w = window.open( url, win_name, options);
  if (! w || !w.focus) { alert(POPUP_BLOCKED); return void(0); }
  w.focus();
  return false;
}

function pop_over(url)
{
  winwidth   = $(window).width();
  winheight  = $(window).height();
  scrolltop  = $(window).scrollTop();
  scrollleft = $(window).scrollLeft();
  $('.pop_content').html('').load(url);
  $('.pop_container').css( { width:winwidth, height:winheight, top:scrolltop,
    left:scrollleft } ).show();
  return false;
}

// cookie stuff
function set_cookie(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 get_cookie(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 "";
}

function clear_cookie(name)
{
  set_cookie(name,"",-1);
}

// ajax call failed

function url_failed(url)
{
  alert("Error: page failed to load\n\n"+url);
}
