function createAjaxTransport() {
	// check to see if the XMLHttpRequest Object exists and if not create it
	if( typeof(xmlhttp) != "object" ) {
		try {
			xmlhttp = new XMLHttpRequest();
		}
		catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				try {
					xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
				}
				catch (e) {
					return false;
				}
			}
		}
	}
	return true;
}

function validEmail(address){

	//first some simple tests to save time
	var bits=address.split("@");
	if(bits.length!=2){return("invalid")}
	if(bits[0].length<2){return("invalid")}

	bits[1]=bits[1].split(".");
	if(bits[1].length<2){return("invalid")}
	for(var i=0;i<bits[1].length;i++){
		if(bits[1][i].length<2){return("invalid")}
	}

	//then a more rigorous test for well formedness
	if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(address)){
		return("valid");
	}
	return("badlyformed");
}

function processMailingList(f) {
	var ve = validEmail(f.emailaddress.value);
	var post ="";
	switch( ve ) {
	case "valid":
		post = "emailaddress="+f.emailaddress.value;
		break;
	case "badlyformed":
		if( confirm( "The email address you supplied doesn't appear to be well formed.\nIf you're sure that it is correct click 'OK' else click 'Cancel'.\n\nThankyou" ) ) {
			post = "emailaddress="+f.emailaddress.value;
		} else {
			f.emailaddress.focus();
			return false;
		}
		break;
	default:
		alert("Please enter a valid email address");
		f.emailaddress.focus();
		return false;
	}
	if( f.suboption.selectedIndex > 0 ) {
		post += "&suboption="+f.suboption[f.suboption.selectedIndex].value;
	} else {
		alert("Please select whether you would like to subscribe or unsubscribe");
		return false;
	}

	if( !createAjaxTransport()) return true;
	xmlhttp.open('POST', 'mailinglist2.php');
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.onreadystatechange = handleMlResponse;
	xmlhttp.send(post);
	return false;
}

function handleMlResponse() {
	if(xmlhttp.readyState == 4){
		var txt = xmlhttp.responseText;
		if( /^<p><b>Thank you!/i.test(txt) ) {
			document.getElementById('newsletterform').innerHTML = "";
			document.getElementById('newsletterresponse').innerHTML = txt;
		} else {
			document.getElementById('newsletterresponse').innerHTML = txt;
		}
	}
}


function show_window(u, w, h){
	var t = (screen.height-h)/2;
	var l = (screen.width-w)/2;
	window.open(u, "", "width="+w+",height="+h+",menu=no,top="+t+",left="+l+",resizable=no");
}

function show_qtmov(ti, f, w, h){
	var t = (screen.height-h)/2;
	var l = (screen.width-w)/2;
	var U = "qtmov.php?title="+ti+"&file="+f+"&width="+w+"&height="+h;
	window.open(U, "", "width="+w+",height="+h+",menu=no,top="+t+",left="+l+",resizable=no");
}




/*
	var Tips2 = new Tips($$('.poppop'), {
		initialize:function(){
			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 200, wait: false}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(0.9);
		},
		onHide: function(toolTip) {
			this.fx.start(0);
		}
	});
*/



