var re_empty=/^\s*$/;
var re_email=/^[a-zA-Z0-9\._-]+@[A-Za-z0-9\._-]+\.[A-Za-z]{2,4}$/;



function sendPursuitForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}

	if (empty.test(it.ruralPursuit_name.value)){
		alert("Please, enter name!");
		return false;
	}
	if (isNaN(parseInt(it.ruralPursuit_rpCategoryId.options[it.ruralPursuit_rpCategoryId.selectedIndex].value))){
		alert("Please, select category!");
		return false;
	}


	if (empty.test(it.ruralPursuit_address1.value)){
		alert("Please, enter address 1!");
		return false;
	}
	if (isNaN(parseInt(it.ruralPursuit_countyId.options[it.ruralPursuit_countyId.selectedIndex].value))){
		alert("Please, select county!");
		return false;
	}
	if (empty.test(it.ruralPursuit_phone.value)){
		alert("Please, enter phone!");
		return false;
	}

	var oEditor = FCKeditorAPI.GetInstance('ruralPursuit_description') ;
	if (empty.test(oEditor.GetXHTML())){
		alert("Please, enter description!");
		return false;
	}

	return true;
}



function sendActivityForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}



	if (empty.test(it.wildlifeActivity_name.value)){
		alert("Please, enter name!");
		return false;
	}
	if (empty.test(it.wildlifeActivity_address1.value)){
		alert("Please, enter address 1!");
		return false;
	}

	if (isNaN(parseInt(it.wildlifeActivity_countyId.options[it.wildlifeActivity_countyId.selectedIndex].value))){
		alert("Please, select county!");
		return false;
	}

	var oEditor = FCKeditorAPI.GetInstance('wildlifeActivity_description') ;
	if (empty.test(oEditor.GetXHTML())){
		alert("Please, enter description!");
		return false;
	}

	return true;
}


function sendAttractionForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}




	if (empty.test(it.farmAttraction_name.value)){
		alert("Please, enter name!");
		return false;
	}

	if (empty.test(it.farmAttraction_address1.value)){
		alert("Please, enter Address 1!");
		return false;
	}


	if (isNaN(parseInt(it.farmAttraction_countyId.options[it.farmAttraction_countyId.selectedIndex].value))){
		alert("Please, select county!");
		return false;
	}

	var oEditor = FCKeditorAPI.GetInstance('farmAttraction_description') ;
	if (empty.test(oEditor.GetXHTML())){
		alert("Please, enter description!");
		return false;
	}



	return true;
}



function sendMarketForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}


	if (empty.test(it.farmerMarket_name.value)){
		alert("Please, enter name!");
		return false;
	}

	if (empty.test(it.farmerMarket_address1.value)){
		alert("Please, enter Address 1!");
		return false;
	}

	if (isNaN(parseInt(it.farmerMarket_countyId.options[it.farmerMarket_countyId.selectedIndex].value))){
		alert("Please, select county!!");
		return false;
	}

	return true;
}



function sendNewsForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}



	if (empty.test(it.newsItem_title.value)){
		alert("Title is mandatory!");
		return false;
	}

	if (empty.test(it.newsItem_date.value)){
		alert("Date is mandatory!");
		return false;
	}


	if (! checkboxSelected(it, 'ncId[]')){
		alert("Please, select category!");
		return false;
	}

	if (! checkboxSelected(it, 'countyId[]')){
		alert("Please, select county!");
		return false;
	}


	if ( !empty.test(it.docFile.value) && empty.test(it.docTitle.value) ){
		alert("Please, enter file title!");
		return false;
	}

	if ( empty.test(it.docFile.value) && !empty.test(it.docTitle.value) ){
		alert("Please, choose file!");
		return false;
	}


	var notEmptyUrl = ( ! empty.test(it.newsLink_url.value) && it.newsLink_url.value != 'http://');
	if ( empty.test(it.newsLink_title.value) && notEmptyUrl ){
		alert("Please, enter link title!");
		return false;
	}

	if (!empty.test(it.newsLink_title.value) &&  ! notEmptyUrl){
		alert("Please, enter link url!");
		return false;
	}


	var oEditor = FCKeditorAPI.GetInstance('newsItem_abstract') ;
	if (empty.test(oEditor.GetXHTML())){
		alert("Please, enter abstract!");
		return false;
	}

	var odEditor = FCKeditorAPI.GetInstance('newsItem_detail') ;
	if (empty.test(odEditor.GetXHTML())){
		alert("Please, enter detail!");
		return false;
	}

	return true;
}



function sendEventForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}

	if (empty.test(it.event_title.value)){
		alert("Title is mandatory!");
		return false;
	}

	if (! checkboxSelected(it, 'categoryId[]')){
		alert("Please, select category!");
		return false;
	}

	if (! checkboxSelected(it, 'countyId[]')){
		alert("Please, select county!");
		return false;
	}

	var oEditor = FCKeditorAPI.GetInstance('event_description') ;
	if (empty.test(oEditor.GetXHTML())){
		alert("Please, enter description!");
		return false;
	}

	return true;
}





function sendLocalProducerForm(it){
	re_empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}

	if (re_empty.test(it.localProducer_name.value)){
		alert("Name is mandatory!");
		return false;
	}

	if (! checkboxSelected(it, 'lpcId[]')){
		alert("Please, select category!");
		return false;
	}

	if (! checkboxSelected(it, 'countyId[]')){
		alert("Please, select county!");
		return false;
	}

	if (! checkboxSelected(it, 'aonbId[]')){
		alert("Please, select AONB!");
		return false;
	}

	if (re_empty.test(it.localProducer_address1.value)){
		alert("Address1 is mandatory!");
		return false;
	}

	var oEditor = FCKeditorAPI.GetInstance('localProducer_description') ;
	if (re_empty.test(oEditor.GetXHTML())){
		alert("Please, enter description!");
		return false;
	}



	return true;
}






/*********************************ROUTES *************************/
function sendRouteForm(it){
	empty = /^\s*$/;

	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}


	if (empty.test(it.route_name.value)){
		alert("Please, enter title!");
		return false;
	}

	if (! checkboxSelected(it, 'catId[]')){
		alert("Please, select category!");
		return false;
	}

	if (empty.test(it.route_distanceFull.value)){
		alert("Please, enter Distance - Full!");
		return false;
	}

	if (empty.test(it.route_timeFullHour.value) && empty.test(it.route_timeFullMin.value)){
		alert("Please, enter Typical Time - Full!");
		return false;
	}

	if (empty.test(it.route_startPoint.value)){
		alert("Please, enter start point!");
		return false;
	}

	if (empty.test(it.route_endPoint.value)){
		alert("Please, enter end point!");
		return false;
	}

	if (empty.test(it.route_explorerMapReference.value)){
		alert("Please, enter OS explorer map reference!");
		return false;
	}

	if (empty.test(it.route_landrangerMapReference.value)){
		alert("Please, enter OS landranger map reference!");
		return false;
	}

	if (! checkboxSelected(it, 'featureId[]')){
		alert("Please, select feature!");
		return false;
	}


	if (! checkboxSelected(it, 'countyId[]')){
		alert("Please, select county!");
		return false;
	}


	if (! checkboxSelected(it, 'accessibilityId[]')){
		alert("Please, select accessibility!");
		return false;
	}

	if (! checkboxSelected(it, 'terrainId[]')){
		alert("Please, select terrain!");
		return false;
	}


	if (empty.test(it.route_overview.value)){
		alert("Please, enter overview!");
		return false;
	}

	if (empty.test(it.route_description.value)){
		alert("Please, enter description!");
		return false;
	}



	var notEmptyUrl = ( ! empty.test(it.route_infoLinkUrl.value) && it.route_infoLinkUrl.value != 'http://');
	if ( empty.test(it.route_infoLinkTitle.value) && notEmptyUrl ){
		alert("Please, enter link title!");
		return false;
	}

	if (!empty.test(it.route_infoLinkTitle.value) &&  ! notEmptyUrl){
		alert("Please, enter link url!");
		return false;
	}


	return true;
}

function checkAll(form, name, value){
	for(i = 0; i < form.elements.length; i++){
		el = form.elements[i]
		if (el.name == name){
			el.checked = value;
		}
	}
}

function checkAllCategories(flag){
	for(var i = 0; i < cat.length; i++){
		cat[i].checked = flag;
		changeFormView(cat[i]);
	}

}

function changeAll(){
	for(var i = 0; i < cat.length; i++){
		changeFormView(cat[i]);
	}
}
function changeFormView(elem){

	items = document.getElementById('routeForm').childNodes;

	var dValue = (elem.checked) ? "" : "none";

	for(var i = 0; i < items.length;i++){
		row = items.item(i);
		if (row.className && row.className.indexOf(elem.id) != -1){
			if (row.style.display != dValue){
				var process = true;
				for(var j = 0; j < cat.length; j++){
					if (elem != cat[j] && cat[j].checked && row.className.indexOf(cat[j].id) != -1){
						process = false; break;
					}
				}
				if (process) row.style.display = dValue;
			}
		}
	}

}

/***************** ROUTES ********************/


/*****************  Survey  **************************/
function sendSurveyForm(it){

	if (re_empty.test(it.survey01_name.value)){
		alert("'Name' is mandatory!");
		it.survey01_name.focus()
		return false;
	}
	if (re_empty.test(it.survey01_email.value)){
		alert("'Email' is mandatory");
		it.survey01_email.focus()

		return false;
	}

	if (!re_email.test(it.survey01_email.value)){
		alert("Invalid format for 'Email'");
		it.survey01_email.focus()

		return false;
	}

	if (re_empty.test(it.survey01_postcode.value)){
		alert("'Postcode' is mandatory");
		it.survey01_postcode.focus()

		return false;
	}

	if (re_empty.test(it.survey01_howFindSite.options[it.survey01_howFindSite.selectedIndex].value)){
		alert("Please specify 'How did you find the site?'");
		it.survey01_howFindSite.focus()
		return false;
	}else{
		if (it.survey01_howFindSite.options[it.survey01_howFindSite.selectedIndex].value == 'Other' && re_empty.test(it.howFindSiteOther.value) ){
			alert("Please specify 'How did you find the site?'");
			it.howFindSiteOther.focus()
			return false;

		}
	}
	
	if (re_empty.test(it.survey01_whyVisitSite.value)){
		alert("Please specify 'Why are you visiting the site?'");
		it.survey01_whyVisitSite.focus()
		return false;
	}	
	
	var interestNotChecked = true;
	for(i = 0; i < it.length; i++){
		el = it.elements[i];
		if (el.name == 'survey01_interestingSiteParts[]' && el.checked){
			interestNotChecked = false;
			var idName = "level_" + el.value.toLowerCase().replace(/\s/g, "_");
			var levelEl = document.getElementById(idName);
			if (levelEl && re_empty(levelEl.options[levelEl.selectedIndex].value)){
				alert("Please specify your interest in '"+ el.value +"'");
				levelEl.focus();
				return false;
			}
		}
	}
	
	if (interestNotChecked){
		alert("Please specify what parts of the site interest you?");
		return false;
	}

	if (re_empty.test(it.survey01_visitedOrLive.options[it.survey01_visitedOrLive.selectedIndex].value)){
		alert("Please specify \n'Have you visited the South East in the past or do you live in the South East?'");
		it.survey01_visitedOrLive.focus()
		return false;
	}	

	return true;
}

function onChangeInterest(elem){
	var idName = "level_" + elem.value.toLowerCase().replace(/\s/g, "_");
	var levelEl = document.getElementById(idName);
	if (elem.checked){
		levelEl.style.display = "";
	}else{
		levelEl.selectedIndex = 0;
		levelEl.style.display = "none";
	}
}

function onChangeHowFindSite(elem){

	var levelEl = document.getElementById("howFindSiteOther");
	if (elem.options[elem.selectedIndex].value == "Other"){
		levelEl.style.display = "";
	}else{
		levelEl.style.display = "none";
	}
}

/*****************Survey  **************************/

function sendAccomodationForm(it){
    empty = /^\s*$/;
    
	if (re_empty.test(it.contactName.value)){
		alert("Your Name is mandatory!");
		return false;
	}
	if (re_empty.test(it.contactEmail.value)){
		alert("'Your Email' is mandatory");
		return false;
	}

	if (!re_email.test(it.contactEmail.value)){
		alert("Invalid format for 'Your Email'");
		return false;
	}
    

    if (empty.test(it.accomodation_name.value)){
        alert("Please, enter accomodation  name!");
        return false;
    }
    
    if (! (it.accomodation_acType[0].checked || it.accomodation_acType[1].checked)){
    	alert("Please, select a type!");
    	return false;
    }

    if (empty.test(it.accomodation_address1.value)){
        alert("Please, enter Address 1!");
        return false;
    }

    
    if (isNaN(parseInt(it.accomodation_countyId.options[it.accomodation_countyId.selectedIndex].value))){
        alert("Please, select county!");
        return false;
    }

    var oEditor = FCKeditorAPI.GetInstance('accomodation_description') ; 
    if (empty.test(oEditor.GetXHTML())){
        alert("Please, enter description!");
        return false;
    }
    


    return true;
}


