var isExit=true;

if (Drupal.jsEnabled) {
	$(function() {
		if(Drupal.settings.popups.onclick) {
    	$('a:not(.nopop)').click(doPopLink)
    }
    if(Drupal.settings.popups.onexit) {
			$(window).unload(doPopExit)
		}
	})
}

function doPopLink() {
	var urlpat = /^http:\/\/([^\/]*)/
	var page = urlpat.exec(location.href)
	var link = urlpat.exec(this.href)
	if(page && link && page[1] == link[1]) {
		doPopUnder()
	} else {
		doPopExit()
	}
}

function doPopUnder() {
  isExit=false;

  var clicks=readCookie(Drupal.settings.popups.cookie + "_clicks", Drupal.settings.popups.popless);
  if(clicks > 0) {
	writeCookie(Drupal.settings.popups.cookie + "_clicks", clicks - 1);
    return;
  }

  var cookieData=readCookie(Drupal.settings.popups.cookie, "");
  if(cookieData.indexOf("under")==-1){
    writeCookie(Drupal.settings.popups.cookie, cookieData + "under;");
    var url = Drupal.settings.popups.onclick;
    popup=window.open(url,"popUnder","width=1000,height=900,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizeable=yes,directories=no,screenX=50,screenY=25,left=50,top=25");
    popup.blur();
    parent.focus();
  }
}

function doPopExit(){
  var cookieData=readCookie(Drupal.settings.popups.cookie, "");

  if(isExit && cookieData.indexOf("exit")==-1) {
    writeCookie(Drupal.settings.popups.cookie, cookieData + "exit;");
    var url = Drupal.settings.popups.onexit;
		var isXPSP2 = (window.navigator.userAgent.indexOf("SV1") != -1);
    
    if(!isXPSP2 && !document.all){
      var popup = window.open(url, 'pm_indexexit', 'width=1000,height=900,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes');
      if(popup) popup.focus();
    }
    else if(!isXPSP2 && document.all){
      showModalDialog(url,'exit','dialogTop:0px;dialogLeft:0px;dialogWidth:1000px;dialogHeight:900px;status:no;scroll:auto:resizable:yes');
    }
    else{
      document.body.innerHTML+="<object id=iie width=0 height=0 classid='CLSID:"+u+"'></object>";
      iie.launchURL(url);
    }
  }
}

function writeCookie(cookieName, value) {
  var expireTime= 24 * 60 * 60 * 1000;
  var date = new Date();
  date.setTime(date.getTime()+expireTime);
  var expires = "; expires = "+date.toGMTString();
  document.cookie = cookieName + "=" + escape(value) + expires + ";path=/";
}

function readCookie(cookieName, default_value) {
  var dc = document.cookie;
  var prefix = cookieName + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) {
      return default_value;
    }
  } else {
    begin += 2;
  }
  var end = document.cookie.indexOf(";", begin);
  if (end == -1) {
    end = dc.length;
  }
  return unescape(dc.substring(begin + prefix.length, end));
}

