
var emailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

function showCateg(id) {
  status = document.getElementById(id).style.display;
  if(status == "none") 
  	document.getElementById(id).style.display="";
  else
  document.getElementById(id).style.display="none";	
  
}

function checkLength(text,min,max) {
	if(text.length >= min && text.length <= max)
		return true
	else
		return false	
}


function checkRequesterInfo() {
	fn = document.getElementById('FirstName').value
	ln = document.getElementById('LastName').value
	title = document.getElementById('Position').value
	organisation = document.getElementById('Company').value
	address = document.getElementById('Address').value
	city = document.getElementById('City').value
	state = document.getElementById('State').value
	zip = document.getElementById('Zip').value
	phone = document.getElementById('Phone').value
	email = document.getElementById('Email').value
	
	error = "";
	
	if(fn.length == 0) {
		error +="Your first name is required.<br>" 
	} else if(!checkLength(fn,3,40)) {
		error +="Your first name must be between 3 and 40 characters.<br>" 	
	}
	 
	if(ln.length==0) {
		error +="Your last name is required.<br>" 
	} else if(!checkLength(ln,3,40)) {
		error +="Your last name must be between 3 and 40 characters.<br>" 	
	}
	if(title.length==0) {
		error +="Your title is required.<br>" 
	} else if(!checkLength(title,3,40)) {
		error +="Your title must be between 3 and 40 characters.<br>" 	
	}
	if(organisation.length==0) {
		error +="Your organization name is required.<br>" 
	} else if(!checkLength(organisation,3,40)) {
		error +="Your organization name must be between 3 and 40 characters.<br>" 	
	}
	if(address.length==0) {
		error +="Your street/shipping address is required.<br>" 
	} else if(!checkLength(address,3,40)) {
		error +="Your street/shipping address must be between 3 and 40 characters.<br>" 	
	}
	if(city.length==0) {
		error +="Your city is required.<br>"
	} else if(!checkLength(city,3,25)) {
		error +="Your city must be between 3 and 25 characters.<br>" 	
	} 
	if(state=="none") {
		error +="Your state is required.<br>" 
	}
	if(zip.length==0) {
		error +="Your zip code is required.<br>" 
	} else if(!checkLength(zip,5,10)) {
		error +="Your zip code must be between 5 and 10 characters.<br>" 	
	}
	if(phone.length==0) {
		error +="Your telephone number is required.<br>" 
	} else if(!checkLength(phone,10,20)) {
		error +="Your telephone number must be between 10 and 20 characters.<br>" 	
	}
	if(email.length==0) {
		error +="Your email address is required.<br>" 
	} else if(!emailFilter.test(email)) {
		error +="Your email address is invalide.<br>" 	
	} 

	if(error) {
		document.getElementById('errorBoxStep1').style.display="";
		document.getElementById('Box1').innerHTML = error
		return false
	} else
		return true
	
}

function checkContact() {
	fn = document.getElementById('FullName').value
	organization = document.getElementById('Organization').value
	phone = document.getElementById('Phone').value
	email = document.getElementById('Email').value
	comments = document.getElementById('Comments').value
	
	
	error = "";
	
	if(fn.length==0) {
		error +="A Contact name is required.<br>" 
	}
	if(phone.length==0 || email.length==0) {
		error+='Either a phone number or email address is required.<br>';
	}
	if(!emailFilter.test(email)) {
		error +="Your email address is invalide.<br>" 	
	} 
	if(comments.length==0) {
		error +="Comments are required.<br>" 
	}
	
	
	if(error) {
		document.getElementById('errorBox').style.display="";
		document.getElementById('Box').innerHTML = error
		return false
	} else {
		return true;
	}
}


function changeImage(id,src) {
	img=document.getElementById(id)
	img.src = src;
}

function checkSearch() {
	str = document.getElementById('searchString').value

	if(str.length==0) {
		alert("Type the search criteria!")
		return false
	} else
		return true
}


function checkProposal(str) {
	// check if at least one program is selected
	ids=str.split('|')
	flag=false;

	for(i=0;i<(ids.length - 1);i++) {
		if(document.getElementById(ids[i]).checked==true) {
			flag=true
		}
	}
	
	error = "";
	
	if(!flag) {
	error='You must select at least one program.<br>';	
	}
	
	// check users details
	
	fn = document.getElementById('FirstName').value
	ln = document.getElementById('LastName').value
	title = document.getElementById('Position').value
	organisation = document.getElementById('Company').value
	address = document.getElementById('Address').value
	city = document.getElementById('City').value
	state = document.getElementById('State').value
	zip = document.getElementById('Zip').value
	phone = document.getElementById('Phone').value
	email = document.getElementById('Email').value
	member = document.getElementById('Member').value
	
	
	
	if(fn.length == 0) {
		error +="Your first name is required.<br>" 
	} else if(!checkLength(fn,3,40)) {
		error +="Your first name must be between 3 and 40 characters.<br>" 	
	}
	 
	if(ln.length==0) {
		error +="Your last name is required.<br>" 
	} else if(!checkLength(ln,3,40)) {
		error +="Your last name must be between 3 and 40 characters.<br>" 	
	}
	if(title.length==0) {
		error +="Your title is required.<br>" 
	} else if(!checkLength(title,3,40)) {
		error +="Your title must be between 3 and 40 characters.<br>" 	
	}
	if(organisation.length==0) {
		error +="Your organization name is required.<br>" 
	} else if(!checkLength(organisation,3,40)) {
		error +="Your organization name must be between 3 and 40 characters.<br>" 	
	}
	if(address.length==0) {
		error +="Your street/shipping address is required.<br>" 
	} else if(!checkLength(address,3,40)) {
		error +="Your street/shipping address must be between 3 and 40 characters.<br>" 	
	}
	if(city.length==0) {
		error +="Your city is required.<br>"
	} else if(!checkLength(city,3,25)) {
		error +="Your city must be between 3 and 25 characters.<br>" 	
	} 
	if(state=="none") {
		error +="Your state is required.<br>" 
	}
	if(zip.length==0) {
		error +="Your zip code is required.<br>" 
	} else if(!checkLength(zip,5,10)) {
		error +="Your zip code must be between 5 and 10 characters.<br>" 	
	}
	if(phone.length==0) {
		error +="Your telephone number is required.<br>" 
	} else if(!checkLength(phone,10,20)) {
		error +="Your telephone number must be between 10 and 20 characters.<br>" 	
	}
	if(email.length==0) {
		error +="Your email address is required.<br>" 
	} else if(!emailFilter.test(email)) {
		error +="Your email address is invalide.<br>" 	
	} 
	if(member.length==0) {
		error +="Your Number of Members field is required.<br>" 
	}
		
	// check the proposal text
	
	
	proposal = document.getElementById('proposal').value
	
	if(proposal.length==0) {
		error +="Your proposal field is required.<br>" 
	}
	
	
	if(error) {
		document.getElementById('errorBox').style.display="";
		document.getElementById('Box').innerHTML = error
		return false
	} else {
		return true;
	}
	
	
	return false
}


function checkAddProgramProposal() {
	// check users details
	
	fn = document.getElementById('FirstName').value
	ln = document.getElementById('LastName').value
	title = document.getElementById('Position').value
	organisation = document.getElementById('Company').value
	address = document.getElementById('Address').value
	city = document.getElementById('City').value
	state = document.getElementById('State').value
	zip = document.getElementById('Zip').value
	phone = document.getElementById('Phone').value
	email = document.getElementById('Email').value
	proposal = 	document.getElementById('proposal').value
	error= "";
	
	if(fn.length == 0) {
		error +="Your first name is required.<br>" 
	} else if(!checkLength(fn,3,40)) {
		error +="Your first name must be between 3 and 40 characters.<br>" 	
	}
	 
	if(ln.length==0) {
		error +="Your last name is required.<br>" 
	} else if(!checkLength(ln,3,40)) {
		error +="Your last name must be between 3 and 40 characters.<br>" 	
	}
	if(title.length==0) {
		error +="Your title is required.<br>" 
	} else if(!checkLength(title,3,40)) {
		error +="Your title must be between 3 and 40 characters.<br>" 	
	}
	if(organisation.length==0) {
		error +="Your organization name is required.<br>" 
	} else if(!checkLength(organisation,3,40)) {
		error +="Your organization name must be between 3 and 40 characters.<br>" 	
	}
	if(address.length==0) {
		error +="Your street/shipping address is required.<br>" 
	} else if(!checkLength(address,3,40)) {
		error +="Your street/shipping address must be between 3 and 40 characters.<br>" 	
	}
	if(city.length==0) {
		error +="Your city is required.<br>"
	} else if(!checkLength(city,3,25)) {
		error +="Your city must be between 3 and 25 characters.<br>" 	
	} 
	if(state=="none") {
		error +="Your state is required.<br>" 
	}
	if(zip.length==0) {
		error +="Your zip code is required.<br>" 
	} else if(!checkLength(zip,5,10)) {
		error +="Your zip code must be between 5 and 10 characters.<br>" 	
	}
	if(phone.length==0) {
		error +="Your telephone number is required.<br>" 
	} else if(!checkLength(phone,10,20)) {
		error +="Your telephone number must be between 10 and 20 characters.<br>" 	
	}
	if(email.length==0) {
		error +="Your email address is required.<br>" 
	} else if(!emailFilter.test(email)) {
		error +="Your email address is invalide.<br>" 	
	} 
	
	if(proposal.length==0) {
		error +="Your affinity program field is required.<br>" 
	}
	
	
	if(error) {
		document.getElementById('errorBox').style.display="";
		document.getElementById('Box').innerHTML = error
		return false
	} else {
		return true;
	}
	
	
	return false
}


//function for javascript menu 
var timeout	= 200;
var closetimer	= 0;
var ddmenuitem	= 0;



// open hidden layer
function mopen(id) {	
	if(!id) {
		return false
	}
	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 


//end javascript functions 