function isblank(s) {			// blank field?
	for (var i=0; i<s.length; i++) 
		{ var c = s.charAt(i); if ((c != ' ') && (c != '\n') && (c != '\t')) return false; }
	return true; 
}

function isvalid(s) {			// valid email address?
	if(s.replace) s = s.replace(/\([^()]*\)/g, "").replace( /"[^"]*"/g, "z") ;
	else return true;			// if method doesn't exist (JS < 1.2) do not bother
	var addr = /(^|[\s<])\S+@[a-zA-Z0-9\-\.]+([\s>]|$)/;
	return addr.test(s); 
}


function checkform(f) {
	msg = "All fields must be filled before submitting.\n";
	msg1 = "Your email address appears invalid.\nSend anyway?\n"; 
	var ev = f.email.value; var mv = f.name.value;
		if ((ev==null) || (ev=="") || isblank(ev) || (mv==null) || (mv=="") || isblank(mv))
		{ alert(msg); return false; }
		if ( !isvalid(ev)) return confirm(msg1);
	return true; 
}

function checkfcontact(f) {
	msg = "All fields must be filled before submitting.\n";
	msg1 = "Your email address appears invalid.\nSend anyway?\n"; 
	var ev = f.email.value; var mv = f.message.value;
		if ((ev==null) || (ev=="") || isblank(ev) || (mv==null) || (mv=="") || isblank(mv))
		{ alert(msg); return false; }
		if ( !isvalid(ev)) return confirm(msg1);
	return true; 
}

function isinstant(s, ih) {			// is it instant key? (requires different form)
	if((s.selectedIndex == 2) == (ih == 0)) {	// ih: isHardware
//		alert('hardware change');
		alert(s.options[s.selectedIndex].value);
	}
	else alert('not hardware');
//	alert(i.toString(10));
//	alert('hullo');
	return true;
}

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];}
}

//
// format date as dd mmm yy (example: 12 Jan 99 or 12-1-05)
//
function date_ddmmmyy(date)
{
  var d = date.getDate();
  var m = date.getMonth() + 1;
  var y = date.getYear();

// handle different year values returned by IE and NS in the year 2000.
  if(y >= 2000){ y -= 2000; }
  if(y >= 100) { y -= 100;  }

// could use splitString() here, but the following method is more compatible
//  var mmm = 	
//    (1==m)?'Jan':( 2==m)?'Feb':(3==m)?'Mar':(4==m)?'Apr':( 5==m)?'May':(6==m)?'Jun':
//    (7==m)?'Jul':( 8==m)?'Aug':(9==m)?'Sep':(10==m)?'Oct':(11==m)?'Nov':'Dec';
// replace m with mmm below

//  return "" + (d<10?"0"+d:d) + "-" + m + "-" + (y<10?"0"+y:y);
  return "" + m + "-" + (d<10?"0"+d:d) + "-" + (y<10?"0"+y:y);
}

//
// format date as yyyy-mm-dd (international format)
//
function date_intl(date)
{
  var d = date.getDate();
  var m = date.getMonth() + 1;
  var y = date.getYear();
  return "" + y + "-" + (m<10?"0"+m:m) + "-" + (d<10?"0"+d:d);
}

//
// display the last modified date as DD-MM-YY
// checks if we have a valid date before printing
//
function print_updated()
{
  var d1;
  if(0 != (d1=Date.parse(document.lastModified)))
//  { document.write("Updated on " + date_ddmmmyy(new Date(d1))); }
  { document.write("Updated on " + date_intl(new Date(d1))); }
}

function wpopup(mylink, windowname, features) {
  if (! window.focus)return true;
  var href;
  if (typeof(mylink) == 'string') href=mylink;
  else href=mylink.href;
  window.open(href, windowname, features);
  return false;
}




