function validate_required( field )
{
	var divs = field.parentNode.getElementsByTagName('div');	
	if ( field.value==null || field.value==""  || (field.type == 'checkbox' && !fields[i].checked) ) {
		divs[0].style.display = 'block';
		return 1;
	} else {
		//divs[0].style.visibility = 'hidden';
		divs[0].style.display = 'none';
		return 0;
	}
}

function validate_email( field )
{
	var divs = field.parentNode.getElementsByTagName('div');
	
	if ( field.value==null || field.value=="" ) {
		//field is empty
		//divs[0].style.visibility = 'visible';
		divs[0].style.display = 'block';
		return 1;
	} else {
		//divs[0].style.visibility = 'hidden';
		divs[0].style.display = 'none';
		apos = field.value.indexOf("@")
		dotpos = field.value.lastIndexOf(".")
		if ( apos<1 || dotpos-apos<2 || dotpos==(field.value.length-1) ) {
			//field contains incorrect email adress
			//divs[1].style.visibility = 'visible';
			divs[0].style.display = 'block';
			return 1;
		} else {
			//field is ok
			//divs[1].style.visibility = 'hidden';
			divs[0].style.display = 'none';
			return 0;
		}
	}
}

function validate_required_email( field )
{
	var divs = field.parentNode.getElementsByTagName('div');
	
	if ( field.value==null || field.value=="" ) {
		divs[0].style.display = 'block';
		return 1;
	} else {
		divs[0].style.display = 'none';
		apos = field.value.indexOf("@")
		dotpos = field.value.lastIndexOf(".")
		if ( apos<1 || dotpos-apos<2 || dotpos==(field.value.length-1) ) {
			divs[1].style.display = 'block';
			return 1;
		} else {
			divs[1].style.display = 'none';
			return 0;
		}
	}
}


function validate_not_requiredemail( field )
{
	var divs = field.parentNode.getElementsByTagName('div');
	
	if ( field.value==null || field.value=="" ) {
		divs[0].style.display = 'none';
		return 0;
	} else {
		divs[0].style.display = 'none';
		apos = field.value.indexOf("@")
		dotpos = field.value.lastIndexOf(".")
		if ( apos<1 || dotpos-apos<2 || dotpos==(field.value.length-1) ) {
			divs[0].style.display = 'block';
			return 1;
		} else {
			divs[0].style.display = 'none';
			return 0;
		}
	}
}



function validate_form(group2)
{
	var result = 0;
	thisform = document.getElementById("vForm");
	fields = thisform.getElementsByTagName ("input");
	var checkedBoxes=0;
	var boxesvalidiv= false;
	var boxesexist=false;
		
	for( i=0; i<fields.length; i++ ) {
		if ( fields[i].className.indexOf('validate-required')>-1) {
		
			result += validate_required( fields[i] );
		}
		if ( fields[i].className.indexOf('validate-group2-required')>-1 && group2) {
		
			result += validate_required( fields[i] );
		}
		
		if ( fields[i].className.indexOf('validate-email')>-1 ) {
			result += validate_email( fields[i] );
		}

		if ( fields[i].className.indexOf('validate-required-email')>-1 ) {
			result += validate_required_email( fields[i] );
		}
		
		if ( fields[i].className.indexOf('validate-notrequired_email')>-1 ) {
			result += validate_not_requiredemail( fields[i] );
		}
		
		if ( fields[i].className.indexOf('require1')>-1 &&  fields[i].type == 'checkbox' ) {
			checkedBoxes+=fields[i].checked?1:0;
			boxesexist=true;
		}
		if ( fields[i].className.indexOf('require1')>-1 &&  fields[i].type == 'text' ) {
			checkedBoxes+=fields[i].value>''?1:0;
			boxesexist=true;
		}
		if ( fields[i].type == 'hidden' && fields[i].id=='hiPagetitle') {
			boxesvalidiv=fields[i].previousSibling;
		}
	}
	if (boxesexist && checkedBoxes==0) {
		if (boxesvalidiv) boxesvalidiv.style.display='block';
		result ++;
	} else {
		if (boxesvalidiv) boxesvalidiv.style.display='none';
	}
	if ( result > 0 ) {
		//form is not valid
		return false;
	} else {
		//form is valid
		//set hidden input field pagetitle
		divs = document.getElementById("column-center").getElementsByTagName("div");
		for ( i=0; i<divs.length; i++ ) {
			if ( divs[i].className == 'columns-header' ) {
				spans = divs[i].getElementsByTagName("span");
				var pagetitle = spans[0].innerHTML;
			}
		}
		if ( document.getElementById("hiPagetitle") )
			document.getElementById("hiPagetitle").value = pagetitle;
		thisform.submit();
		return true;
	}
}

