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_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_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];}
}

//#################################
function checkForm(frm)
{
	var msg = "";
	// Name, age, email
	if(frm.title.options[frm.title.selectedIndex].value == "")
		msg += "\n   Your title     ";
	if(frm.firstname.value == "")
		msg += "\n   Your first name     ";
	if(frm.surname.value == "")
		msg += "\n   Your surname     ";
	if(frm.email.value == "" || (!isEmail(frm.email.value)))
		msg += "\n   A valid email address     ";
	if(frm.telephone.value != "" && (!is_number(frm.telephone.value)))
		msg += "\n   A valid telephone number     ";
	if(frm.fax.value != "" && (!is_number(frm.fax.value)))
		msg += "\n   A valid fax number     ";
	
	
	if(msg != ""){
		alert("Please supply the following:     \n" + msg);
		return false;
	}else{
		return true;
	}	
}

//####################  TELEPHONE FUNCTION  #########
function is_number(num)
{
	var supported = 0;
  if (window.RegExp) {
 		var r1 = new RegExp("[^0-9 ]");
		return (!r1.test(num))
  }
}
//####################  EMAIL FUNCTION  ###############
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
