var
	textBoxBlur = null,
	textBoxFocus = null;

function validEmail(email){
	//one @
	if(email.indexOf('@') == -1) return false;
	//only 1 @
	if(email.lastIndexOf('@') != email.indexOf('@')) return false;
	//can't just be 1 @
	if(email == '@') return false;
	//can't start or end with @
	if((email.charCodeAt(0) == 64) || (email.charCodeAt(email.length-1) == 64)) return false;
	//can't end with a dot
	if(email.charAt(email.length-1) == '.') return false;
	return true;
}

function toggleElementShow(element, mode){
	if(!element) return;
	var display = getStyle(element, 'display');
	if((display == '') || (display == 'none')){
		if(Effect)
			Effect.SlideDown(element);
		else
			element.style.display = mode;
	}else{
		if(Effect)
			Effect.SlideUp(element);
		else
			element.style.display = 'none';
	}
}

function toggleRelativeShow(from, id, mode){
	toggleElementShow(GetChildById(from, id), mode);
}

function toggleShow(id, mode){
	toggleElementShow($(id), mode);
}

function toggleThisClass(element, alt1, alt2){
	if(element.className == alt1)
		element.className = alt2;
	else
		element.className = alt1;
}

function selectTextbox(textbox, className, keep, def){
	if(textBoxFocus) textBoxFocus(textbox);
	if(!keep) textbox.value = '';
	else if(textbox.value == def) textbox.value = '';
	if(textbox._inited) return;
	textbox._inited = true;
	if(className){
		textbox.oldClassName = textbox.className;
		textbox.className += ' ' + className;
	}
}

function blurTextbox(textbox, def, inactive, keep){
	
	if(typeof inactive == 'undefined') inactive = '';
	
	if(textbox.value == ''){
		textbox.value = def;
	}
	
	textbox._inited = !keep;
	
	if(((textbox.value == '') || keep) && textbox.oldClassName){
			textbox.className = ((inactive != '')? inactive : textbox.oldClassName);
		}
	
	if(textBoxBlur) textBoxBlur(textbox);
}

function serialiseForm(form){
	var str = '';
	for(var t=0;t<form.elements.length;t++){
		if(typeof form.elements[t].name != 'undefined')
			if(form.elements[t].type == 'checkbox'){
				if(form.elements[t].checked)
					str += form.elements[t].name+'='+form.elements[t].value+'&';
			}else
				str += form.elements[t].name+'='+form.elements[t].value+'&';
	}
	return str;
}

var formsValue;

function formsUp(){
	formsValue = new Object();
	var forms = document.getElementsByTagName('form');
	if(!forms||(forms.length==0)) return;
	
	for(var t=0;t<forms.length;t++)
		for(var u=0;u<forms[t].elements.length;u++)
				if(typeof forms[t].elements[u].name != 'undefined')
					formsValue[forms[t].elements[u].name] = forms[t].elements[u].value;
}

function formsDown(){
	var forms = document.getElementsByTagName('form');
	if(!forms||forms.length==0) return;	
	for(var t=0;t<forms.length;t++)
		for(var u=0;u<forms[t].elements.length;u++)
				if(typeof forms[t].elements[u].name != 'undefined')
					if(typeof formsValue[forms[t].elements[u].name] != 'undefined')
						forms[t].elements[u].value = formsValue[forms[t].elements[u].name];
}

function editCaptionInPlace(){

}