var errorImage = 'inc/packages/captcha/images/error.png';
var successImage = 'inc/packages/captcha/images/success.png';

function getErrorMsg(fieldName) {
	var errorMsg = '';
	if(fieldsErrorMsg[fieldName]) {
		errorMsg = '<img src="' + errorImage + '" alt="" /> ' + fieldsErrorMsg[fieldName];
	}
	return errorMsg;
}

function validateForm() {
	var allFieldsValid = true;
	var errors = '<h2>' + errorTitle + '</h2>';

	$each(validFields, function(isValid, fieldName){
	    if(!isValid) {
			allFieldsValid = false;
			errors += getErrorMsg(fieldName) + '<br />';
		}
	});

	if(allFieldsValid) {
		$('form_submitter').setProperty('disabled','');
		$('form_errors').setHTML('');
	} else {
		$('form_submitter').setProperty('disabled','disabled');
		$('form_errors').setHTML(errors);
	}
}

function stateMandatory(mandatory) {
	if(mandatory) {
		setValid('state',false);
	} else {
		setValid('state',true);
	}
}

function setValid(fieldName, valid) {
	if(validFields != null && validFields[fieldName] != null) {
		validFields[fieldName] = valid;
		var infoField = $(fieldName + '_result');
		if(infoField) {
			infoField.setHTML('<img src="' + (valid == true ? successImage : errorImage) + '" alt="" />');
		}
		validateForm();
	}
}

function validateLength(elt,minLength) {
	if(elt.getProperty('value') == '' || elt.getProperty('value').length < minLength) {
		setValid(elt.name,false);
	} else {
		setValid(elt.name,true);
	}
}

function validateMail(elt) {
	setValid(elt.name,validateEmail(elt.getProperty('value')));

	if($('confirmmail')) {
		validateConfirmMail($('confirmmail'));
	}
}

function validateConfirmMail(elt) {
	if(	elt.getProperty('value') == '' || elt.getProperty('value').length < 3) {
		setValid(elt.name,false);
	} else if(elt.getProperty('value') == $('mail').getProperty('value')){
		setValid(elt.name,true);
	} else {
		setValid(elt.name,false);
	}
}

function validateWebsite(elt) {
	validateLength(elt,3);
}

function validateCompany(elt) {
	validateLength(elt,3);
}

function validateTitle(elt) {
	validateLength(elt,3);
}

function validatePhone(elt) {
	validateLength(elt,3);
}

function validateCountry(elt) {
	if(elt.selectedIndex > 0 && elt.options[elt.selectedIndex].value != "") {
		setValid(elt.name,true);
	} else {
		setValid(elt.name,false);
	}
}

function validateHeard(elt) {
	if(elt.selectedIndex > 0) {
		setValid(elt.name,true);
	} else {
		setValid(elt.name,false);
	}
}

function validateLastname(elt) {
	validateLength(elt,3);
}

function validateFirstname(elt) {
	validateLength(elt,3);
}

function validatePhoneSurvey() {
	if($('salescontact_yes_phone').getProperty('checked')) {
		$("phone_result").setStyle('display','inline');
		validateLength($('phone'),3);
	} else {
		$("phone_result").setStyle('display','none');
		setValid('phone',true);
	}
}
function validatePhoneSalescontactSurvey(elt,Salescontact) {
	if (Salescontact=="yes_phone")
	{
		$("phone_result").setStyle('display','inline');
		validateLength(elt,3);
	}
	else
	{
		$("phone_result").setStyle('display','none');
		setValid(elt.name,true);
	}
}

function validateJob(elt) {
	if(elt.selectedIndex > 0) {
		setValid(elt.name,true);
	} else {
		setValid(elt.name,false);
	}
}

function validatePhone(elt) {
	validateLength(elt,3);
}

function validateSubject(elt) {
	validateLength(elt,3);
}

function validateDescription(elt) {
	validateLength(elt,3);
}

function validateState(elt) {
	if(elt.selectedIndex > 0) {
		setValid(elt.name,true);
	} else {
		setValid(elt.name,false);
	}
}

function validateLicencemail(elt) {
	setValid(elt.name, elt.getProperty('checked'));
}

function validateZIP(elt) {
	validateLength(elt,3);
}

function validateRateInstallation(elt) {
	setValid(elt.name,true);
}

function validateRateUse(elt) {
	setValid(elt.name,true);
}

function validateRateErgonomics(elt) {
	setValid(elt.name,true);
}

function validateRateMonitoring(elt) {
	setValid(elt.name,true);
}
		
function validateRateTechnologies(elt) {
	setValid(elt.name,true);
}

function validateRatePrice(elt) {
	setValid(elt.name,true);
}

function validateRateInformationQuality(elt) {
	setValid(elt.name,true);
}

function validateRateCommercial(elt) {
	setValid(elt.name,true);
}


function validateRateOrder(elt) {
	setValid(elt.name,true);
}

function validateRateSupport(elt) {
	setValid(elt.name,true);
}

function validateImprovement(elt) {
	validateLength(elt,3);
}

function validateRecommendation(elt) {
	setValid(elt.name,true);
}

function validateTestimonial(elt) {
	setValid(elt.name,true);
}

function validateEmail(str) {
	return (str.lastIndexOf(".") > 2) && (str.indexOf("@") > 0);
}

function validateRateGeneral(elt) {
	setValid(elt.name,true);
}

function validateRatecommercial(elt) {
	setValid(elt.name,true);
}

function validateRateDeliverables(elt) {
	setValid(elt.name,true);
}

function validateRateConsultant(elt) {
	setValid(elt.name,true);
}

function validateScopeMission(elt) {
	setValid(elt.name,true);
}

function validateImprovements(elt) {
	validateLength(elt,3);
}

function validateAdditionalNeeds(elt) {
	setValid(elt.name,true);
}

function validatePlanning() {
	if($('additional_needs_yes').getProperty('checked')) {
		$("planning_result").setStyle('display','inline');
		validateLength($('planning'),3);
	} else {
		$("planning_result").setStyle('display','none');
		setValid('planning',true);
	}
}

function validatePlanningAdditionalNeeds(elt,newMission) {
	if (newMission=="yes")
	{
		$("planning_result").setStyle('display','inline');
		validateLength(elt,3);
	}
	else
	{
		$("planning_result").setStyle('display','none');
		setValid(elt.name,true);
	}
}