/* Image Functions BEGIN */

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* Image Functions END */

/* Window Functions BEGIN */

function openWindow(url, name, w, h, scrollbars)
{
  // Fudge factors for window decoration space.
  // In my tests these work well on all platforms & browsers.
  w += 32;
  h += 96;
  wleft = (screen.width - w) / 2;
  wtop = (screen.height - h) / 2;
  // IE5 and other old browsers might allow a window that is
  // partially offscreen or wider than the screen. Fix that.
  // (Newer browsers fix this for us, but let's be thorough.)
  if (wleft < 0) {
    w = screen.width;
    wleft = 0;
  }
  if (wtop < 0) {
    h = screen.height;
    wtop = 0;
  }

  var win = window.open(url,
    name,
    'width=' + w + ', height=' + h + ', ' +
    'left=' + wleft + ', top=' + wtop + ', ' +
    'location=no, menubar=no, ' +
    'status=no, toolbar=no, scrollbars=' + (scrollbars == true ? 'yes' : 'no') + ', resizable=no');
    
  if (win != null)
  {
      // Just in case width and height are ignored
      win.resizeTo(w, h);
      // Just in case left and top are ignored
      win.moveTo(wleft, wtop);
      win.focus();
  }
  else
  {
     alert('Your browser has it\'s popup blocker enabled. \r\nPlease turn it off to see this link.');
  }
  return win;
}

var inviteWindow = null;
var inviteWindowName = 'inviteWin';
        
function openInviteGeneric(url)
{
    if (!inviteWindow || (inviteWindow && inviteWindow.closed)){
        inviteWindow = openWindow(url, inviteWindowName, 800, 630, false);
    }
    if (inviteWindow && !inviteWindow.closed){
        inviteWindow.focus();            
    }
}

function openInviteScrollable(url)
{
    if (!inviteWindow || (inviteWindow && inviteWindow.closed)){
        inviteWindow = openWindow(url, inviteWindowName, 800, 680, true);
    }
    if (inviteWindow && !inviteWindow.closed){
        inviteWindow.focus();
    }

}

var documentWindow = null;
var documentWindowName = 'documentWin';

function openDocument(value)
{
    documentWindow = window.open('', documentWindowName);
    if (documentWindow != null)
    {
        documentWindow.close();
    }
    else
    {
        alert('Your browser has it\'s popup blocker enabled. \r\nPlease turn it off to see this link.');
    } 
    
    documentWindow = window.open(value, documentWindowName);
    if (documentWindow != null)
    {
        documentWindow.focus();
    }
    
    if (documentWindow != null)
    { 
        try {       
          if (gaEnabled){
            try {
              var pageTracker = _gat._getTracker(gaTrackingCode);
              pageTracker._trackPageview(value.replace(getSiteUrl(),''));
          } catch(err) {} }
        } catch(err) {}  
    }
}     

/* Window Functions END */


/* Cookie Functions BEGIN */
        

function getCookie(c_name)
{ 
   if (document.cookie.length>0)
   { 
     c_start=document.cookie.indexOf(c_name + "=");
     if (c_start!=-1)
     {
       c_start=c_start + c_name.length+1; 
       c_end=document.cookie.indexOf(";",c_start);
       if (c_end==-1) c_end=document.cookie.length;
       return unescape(document.cookie.substring(c_start,c_end));
     }
   }
   return "";
}

function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function deleteInvitationCookies()
{
   setCookie('journalpostid', '0', 1);
   setCookie('educationalpostid', '0', 1);   
}

    
/* Cookie Functions END */


function getSiteUrl()
{
    var rx = /^http(s)*:\/\/.[^\/]+/i;                
    var match = rx.exec(window.location);
    return match[0];
}
