// JavaScript Document


function checkFeedback(frm) {
	with (frm.name) { 
		if (!value) { alert(getAttribute('validateNone')); focus(); return false; }
	}
	with (frm.email) { 
		if (!value) { alert(getAttribute('validateNone')); focus(); return false; }
		else if (!emailOk(value)) { alert(getAttribute('validateInvalid')); focus(); return false; }
	}
	with (frm.message) { 
		if (!value) { alert(getAttribute('validateNone')); focus(); return false; }
	}
	return true;
}


function emailOk(email) {
	var re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
	var re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	return (!email.match(re) && email.match(re_two));
}


/***/
/*** POPUP SYSTEM - start ***/
/***/

var isMac = (navigator.appVersion.indexOf("Mac") != -1);
var rbpWin = null;

function openWin(theURL,wid,hei,addiParam) {
  var left = (screen.availWidth-wid)/2, top = (screen.availHeight-hei)/2;
  //addiParam = (addiParam) ? ((typeof(addiParam)=="string")?addiParam:"") : "resizable,scrollbars";
  //if (addiParam) addiParam = "," + addiParam;

  if (rbpWin && !isMac) rbpWin.close();
  rbpWin = window.open('','ahlersPop','width='+wid+'px,height='+hei+'px'+',left='+left+',screenX='+left+',top='+top+',screenY='+top+addiParam);
  if (rbpWin.focus) rbpWin.focus();
  if (theURL) rbpWin.document.location.replace(theURL);
  return false;
}


//addEvent(window,'load',popupImages);
var allowedExtensions="|.jpg|.gif|.png|";

addEvent(document,'click',catchPopups);

function catchPopups(evt) {
	var img = getEventElement(evt);
	evt = fixEvent(evt);
	if (img && img.parentNode && img.parentNode.tagName && img.parentNode.tagName=='A' && img.parentNode.href) {
		href = img.parentNode.href;
		ext = href.substr(href.length-4,4);
		if (allowedExtensions.indexOf('|'+ext+'|')!=-1) {
			// we found an image, which is enclosed in a link, which HREFs to an image
			popImg(href);
			if (evt.cancelable) evt.preventDefault();
			return false;
		}
	}
}


function popUpDialog(theURL,wid,hei,addi) {
  if (window.showModelessDialog) wPop = window.showModelessDialog(theURL,false,'help:no;scroll:no;status:no;dialogHeight:'+hei+'px;dialogWidth:'+wid+'px');
  else openWin(theURL,wid,hei,addi);
  return false;
}


function popImg(theURL) {
  return popUpDialog('/popimg.php?img='+theURL,200,50) 
}


/***/
/*** POPUP SYSTEM - end ***/
/***/


/*
** event detector & browser-crosser ;-)
*/

function getEventElement(evt) {
	evt = (evt) ? evt : (window.event) ? window.event : "";
	if (!evt) return null;
	if (evt.target) {
		if (evt.target.nodeType == 3) evt.target = evt.target.parentNode;
	} else if (evt.srcElement) evt.target = evt.srcElement;
	return evt.target;
}

function fixEvent(evt) {
	if (!evt) evt = window.event;
	if (evt.target) {
		if (evt.target.nodeType == 3) evt.target = evt.target.parentNode;
	} else if (evt.srcElement) evt.target = evt.srcElement;

	return evt;
}


// from scottandrew.com/junkyard/js/
// copyright 2001 scott andrew lepera, damn you!
// addEvent and removeEvent
// cross-browser event handling for IE5+,  NS6 and Mozilla

function addEvent(elm, evType, fn, useCapture)
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Event handler could not be added");
  }
} 
