// <![CDATA[

// This is a simple function that trims leading and trailing spaces in a string.	
// Usage is: stringObject.trim()
String.prototype.trim = function () {
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

// Accepts arrays for ID and classes and will apply them in turn.
swapClass = function(ids, classes) {
	ids = ids.split(',');
	classes = classes.split(',');
	for(var i = 0; i < ids.length; i++) {
		document.getElementById(ids[i].trim()).className = classes[i].trim();
	}
}

// This will take two strings and the current value of a text field then determine whether it needs to be one value, the other, or remain the same.
reset_form_value = function(str1, str2, val) {
	if(str1 == val.value.trim())
		val.value = str2;
}

// Toggles element display. Can do multiple elements at once if IDs are comma delimited.
toggleDisplay = function(show, hide) {
	if(show.length > 0) {
		show = show.split(',');
	}
	if(hide.length > 0) {
		hide = hide.split(',');
	}
	for(var i = 0; i < show.length; i++) {
		document.getElementById(show[i].trim()).style.display = 'block';
	}
	for(var i = 0; i < hide.length; i++) {
		document.getElementById(hide[i].trim()).style.display = 'none';
	}
}


// AJAX stuff for the contact form.
var request = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
	request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
	try {
		request = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (e2) {
	request = false;
	}
}
@end @*/
if (!request && typeof XMLHttpRequest != 'undefined') {
	request = new XMLHttpRequest();
}

function sendMail(f) {
	if(f == 'cancel') {
		form = document.getElementById('mail');
		form.reset();
		swapClass('loading', 'closed');
		new Effect.BlindUp('form');
	} else {
		swapClass('loading', 'inline');
		var form = document.getElementById(f);
		var n = form.name.value;
		var e = form.email.value;
		var s = form.subject.value;
		var m = form.message.value;
		var url = 'mail.php';
		if(f != 'cancel') {
			url = url + '?n=' + escape(n) + '&e=' + escape(e) + '&s=' + escape(s) + '&m=' + escape(m);
			request.open("GET", url, true);
			request.onreadystatechange = go;
			request.send(null);
		} else {
			url = url + '?c=1';
			request.open("GET", url, true);
		}
	}
}
	
function go() {
	if(request.readyState == 4) {
		if(request.status == 200) {
			var response = request.responseText;
			response = response.split('|');
			if(response[0] == 'FALSE') {
				alert(response[1]);
				swapClass('loading', 'closed');
			}
			if(response[0] == 'TRUE') {
				form = document.getElementById('mail');
				form.reset();
				alert(response[1]);
				swapClass('loading', 'closed');
				new Effect.BlindUp('form');
			}
		}
	}
}



// keep email safe from spammers
function noSpam(user, domain) {
	locationstring = "mailto:" + user + "@" + domain;
	window.location = locationstring;
}
function writeEmail(user, domain) {
	var email_str = user + '@' + domain;
	return email_str;
}



function changeImage(id, img, cap) {
	document.getElementById(id).innerHTML='<img src=\'/img/proj/'+img+'\' alt=\''+cap+'\' /><div class=\'caption\'>'+cap+'</div>';
	//alert(id+img+cap);
}
// ]]>