


// Form Validation Functions //

function commentError (obj, state) {
	if(state) $(obj.name+'_comment').className='label'; //label or error
	else $(obj.name+'_comment').className='error';	
}

function checkLength(obj, minlength){
	if (obj.value.length < minlength) {commentError(obj, false); return false;}
	else {commentError(obj, true); return true;}
}

function checkEmail(obj) {
	var str = obj.value;
 	var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i ///^.+@.+\..{2,3}$/

 	if (filter.test(str)) { commentError(obj, true); return true; }
 	else { commentError(obj, false); return false; }		
}

function checkPassword(obj, passName) {
	var pass = $(passName).value;
	if(obj.value == pass) {commentError(obj, true); return true;}
	else {commentError(obj, false); return false;}
}

function saveFields(obj, url) {
	
	//obj = obj.parentNode;
	//alert(obj.innerHTML);
	var data = "";
	
	// input
	var inputs = obj.getElementsByTagName('input');
	for (var i=0; i<inputs.length; i++) {
		if (inputs[i].type != 'submit') {
			
			//data += '&'+inputs[i].name+'=';
			if (inputs[i].type == 'checkbox') {
				data += '&'+inputs[i].name+'=';
				data += inputs[i].checked;
			} else if (inputs[i].type == 'radio') {
				if(inputs[i].checked) {
					data += '&'+inputs[i].name+'=';
					data += inputs[i].value;
				}
			} else { //type == 'text'
				data += '&'+inputs[i].name+'='+encodeURIComponent(inputs[i].value.replace(
						new RegExp( "\\+", "g" ),
						"%2B"
					));
			}
		} 
	}
	
	// select
	var selects = obj.getElementsByTagName('select');
	for (var i=0; i<selects.length; i++) {
		data += '&'+selects[i].name+'='+selects[i].value;
	}
	
	// textarea
	var fields = obj.getElementsByTagName('textarea');
	for (var i=0; i<fields.length; i++) {
		data += '&'+fields[i].name+'='+encodeURIComponent(fields[i].value.replace(
					new RegExp( "\\+", "g" ),
					"%2B"
				));
	}
	//data = encodeURI(data);
	//data = data.substr(1, data.length);
	//alert(url+"?"+data);
	if (url) xmlreqPOST(url, data);
	return;
}

function runSearch(obj, query) {
	var element = $('query');
	element.value = query;	
	check(false);
}

// user fields
function clearValue(obj) {
	obj.value = '';
}

function setValue(obj, str) {
	obj.value = str;
}

function changeClass(obj, class) {
	obj.className = class;
}

function clearField(obj) {
	if (obj.className != 'emptyField') return;

	obj.value = '';
	obj.className = '';
	return;
}

function checkField(obj, text) {
	if (obj.value == '') {
		obj.className = 'emptyField';
		obj.value = text;
	}
	return;
}

function wordcount(id, count) {
	var words = count.split(/\s/);
	$(id).innerHTML = words.length; // ID of the count holder
}

function charcount(id, count) {
	$(id).innerHTML = count.length; // ID of the count holder
}

function commacount(id, count) {
	var words = count.split(/,/);
	$(id).innerHTML = words.length; // ID of the count holder
}

function uploadImgCheck($obj, $form) {
  var ext = $obj.value;
  ext = ext.substring(ext.length-3,ext.length);
  ext = ext.toLowerCase();
  if(ext != 'png' && ext != 'jpg' && ext != 'gif' && ext != 'bmp') {
    alert('You selected a .'+ext+' file;\n'+
          'please select a png, jpg, gif, or bmp file instead!');
		$form.reset();
  } else {
		alert('submitted');
		$form.submit();
	}
}

