
function updateField(obj)
{
	err = false;
	tag = obj.name;
	val = obj.value;
	
	if (obj.options)
		sel = obj.options[obj.selectedIndex].value;
	
	if (tag.match('email') && isEmail(val) == false )
		err = true; 
	if (tag.match('password') && (val.length < 4 || val.length > 10) )
		err = true;
	if ((tag == 'username' || tag == 'name' || tag == 'surname' || tag == 'city') && (val.length < 3 || isGoodString(val) == false ))
		err = true;
	if ((tag == 'postalcode' || tag == 'address') && val.length >=1 && isGoodString(val) == false)
		err = true;
	if ((tag == 'postalcode' || tag == 'address') && document.user_form.correo_direct && isGoodString(val) == false )
		err = true;
	if ((tag == 'country' || tag == 'bday' || tag == 'bmonth' || tag == 'byear' ) && sel <= -1)
		err = true;
	if (tag == 'bday' || tag == 'bmonth' || tag == 'byear') {
		day 	= document.user_form.bday.options[document.user_form.bday.selectedIndex].value;
		month 	= document.user_form.bmonth.options[document.user_form.bmonth.selectedIndex].value;
		year 	= document.user_form.byear.options[document.user_form.byear.selectedIndex].value;
		if (day > 0 && month > 0 && year > 0) {
			if (isDate(day,month,year)) {
				document.user_form.bday.className	= document.user_form.bday.className.replace("Error","");
				document.user_form.bmonth.className	= document.user_form.bmonth.className.replace("Error","");
				document.user_form.byear.className	= document.user_form.byear.className.replace("Error","");
			} else {
				document.user_form.bday.className	= document.user_form.bday.className.replace("Error","")+"Error";
				document.user_form.bmonth.className	= document.user_form.bmonth.className.replace("Error","")+"Error";
				document.user_form.byear.className	= document.user_form.byear.className.replace("Error","")+"Error";
				err = true;
			}
		}
	}
	if ((tag == 'profession' || tag == 'education') && sel <= -1 )
		err = true;

	if (err == true) {
		obj.className=obj.className.replace("Error","")+"Error";
	} else {
		obj.className=obj.className.replace("Error","");
	} 
	
	return (err);
}

function check_form( f, step ) 
{ 
	//return true;
	/*
	Steps:
		%nothing%
		profile
		subs
		welcome
		..
	*/
	err = false;
	str = J_errors_found + "\n\n";
	
	if ( step == 'reg' ) {
		// Email
		if ( isEmail( f.email.value ) == false ) {
			str += J_email + "\n";
			f.email.className=f.email.className.replace("Error","")+"Error";
			if (err==false) focalize = f.email;
			err = true;
		}
		// Password
		if ( isEmpty( f.password.value ) ) {
			str += J_password + "\n";
			f.password.className=f.password.className.replace("Error","")+"Error";
			if (err==false) focalize = f.password;
			err = true;
		} else {
			if ( (f.password.value.length < 4 || f.password.value.length > 10) || !isGoodString( f.password.value ) ) { 
				str += J_password_short + "\n"; 
				f.password.className=f.password.className.replace("Error","")+"Error";
				if (err==false) focalize = f.password;
				err = true;
			} 
		}
		// Usertype
		if ( f.usertype[0].checked == "" && f.usertype[1].checked == "" ) {
			str += J_usertype + "\n";
			if (err==false) focalize = f.usertype[0];
			err = true;
		}
	} else if ( step == 'profile' || step == 'data' ) {
		// Name
		if ( isEmpty( f.name.value ) || !isGoodString( f.name.value )) {
			str += J_name + "\n";
			f.name.className=f.name.className.replace("Error","")+"Error";
			if (err==false) focalize = f.name;
			err = true;
		}
		// Surname
		if ( isEmpty( f.surname.value ) || !isGoodString( f.surname.value )) {
			str += J_surname + "\n";
			f.surname.className=f.surname.className.replace("Error","")+"Error";
			if (err==false) focalize = f.surname;
			err = true;
		}		
		// Username
		if ( ( f.username != null ) || ( "undefined" != typeof( f.username ) ) ) {
			if ( isEmpty( f.username.value ) ) {
				str += J_username + "\n";
				f.username.className=f.username.className.replace("Error","")+"Error";
				if (err==false) focalize = f.username;
				err = true;
			} else if ( ( f.username.value.length < 3 || f.username.value.length > 20 ) || !isGoodString( f.username.value ) ) { 
				str += J_username_short + "\n"; 
				f.username.className=f.username.className.replace("Error","")+"Error";
				if (err==false) focalize = f.username;
				err = true;
			}
		}
		// Country
		if (f.country.options[f.country.selectedIndex].value < -1) {
			str += J_country + "\n";
			f.country.className=f.country.className.replace("Error","")+"Error";
			if (err==false) focalize = f.country;
			err = true;
		}				
		/*
		// Province
		if (f.province.value < -1 || isEmpty( f.province.value )) {
			str += J_province + "\n";
			frames['frm'].document.prov_form.province.className=frames['frm'].document.prov_form.province.className.replace("Error","")+"Error";
			if (err==false) focalize = frames['frm'].document.prov_form.province;
			err = true;
		}
		*/
		// City
		if ( isEmpty( f.city.value ) || !isGoodString( f.city.value )) {
			str += J_city + "\n";
			f.city.className=f.city.className.replace("Error","")+"Error";
			if (err==false) focalize = f.city;
			err = true;
		}
		// Bday
		day 	= f.bday.options[f.bday.selectedIndex].value;
		month 	= f.bmonth.options[f.bmonth.selectedIndex].value;
		year 	= f.byear.options[f.byear.selectedIndex].value;
		if ( !isDate( day,month,year ) ) {
			str += J_birthdate + "\n";
			f.bday.className	= f.bday.className.replace("Error","")+"Error";
			f.bmonth.className	= f.bmonth.className.replace("Error","")+"Error";
			f.byear.className	= f.byear.className.replace("Error","")+"Error";
			if (err==false) focalize = f.bday;
			err = true;
		}
		// Sex
		if ( f.sex[0].checked == "" && f.sex[1].checked == "" ) {
			str += J_sex + "\n";
			if (err==false) focalize = f.sex;
			err = true;
		}
		// Profession
		if ( f.profession.options[f.profession.selectedIndex].value <= -1) {
			str += J_profession + "\n";
			f.profession.className=f.profession.className.replace("Error","")+"Error";
			if (err==false) focalize = f.profession;
			err = true;
		}
		/*// Sector
		if ( f.sector.options[f.sector.selectedIndex].value <= -1) {
			str += J_sector + "\n";
			f.sector.className=f.sector.className.replace("Error","")+"Error";
			if (err==false) focalize = f.sector;
			err = true;
		}*/
		// Education
		if ( f.education.options[f.education.selectedIndex].value <= -1) {
			str += J_education + "\n";
			f.education.className=f.education.className.replace("Error","")+"Error";
			if (err==false) focalize = f.education;
			err = true;
		}
	} else if ( step == 'subs' || step == 'subscriptions' ) {
		// Bulletins
		if ( f.bulletin.checked == true && !isCheckedBulletins( f ) ) {
			str += J_bulletins + "\n";
			if (err==false) focalize = f.bulletin;
			err = true;
		}
		// Areas de interés
		if ( !isCheckedInterests( f ) && !isCheckedWinInterests( f ) ) {
			str += J_interests + "\n";
			if (err==false) focalize = f.win;
			err = true;
		}
		
		// Disclaimer !!!
		if ( ( f.user_conditions != null ) || ( "undefined" != typeof( f.user_conditions ) ) ) {
			if ( f.user_conditions.checked == "" ) {
				str += J_user_conditions + "\n";
				if (err==false) focalize = f.user_conditions;
				err = true;
			}
		}
	} else if ( step == 'confirm' ) {
		// Esine
		if ( f.esine.checked == true ) {
			if ( isEmpty( f.esine_telephone.value ) ) {
				str += J_telephone + "\n";
				f.esine_telephone.className=f.esine_telephone.className.replace("Error","")+"Error";
				if (err==false) focalize = f.esine_telephone;
				err = true;
			}
		}
		if ( f.esine.checked == false && f.emagister.checked == false ) {
			str += J_not_enough + "\n";
			if (err==false) focalize = f.esine;
			err = true;
		}
	}
	if (err == true) {
		str += "\n"; //  + J_red_fields
		alert( str );
		focalize.focus();
		return false;
	} else {
		return true;
	}
}

/*  --------------------------------------------------------------------------------- */

function isCheckedBulletins ( form )
{
	// Short version, without daily bulletins
	if ( !form.win_week.checked && !form.mac_week.checked && !form.palm_week.checked  && !form.ppc_week.checked && !form.mov_week.checked )
		return false;
	/* if ( !form.win_day.checked && !form.win_week.checked && !form.mac_day.checked && !form.mac_week.checked && !form.lin_day.checked && !form.lin_week.checked && !form.palm_day.checked && !form.palm_week.checked && !form.ppc_day.checked && !form.ppc_week.checked && !form.mov_day.checked && !form.mov_week.checked ) */
	return true;
}
function isCheckedInterests( form ) {
	if ( !form.win.checked && !form.mac.checked && !form.palm.checked && !form.ppc.checked && !form.mov.checked )
		return false;
	return true;
}	
function isCheckedWinInterests( form ) {
	if ( !form.win_education.checked && !form.win_information.checked && !form.win_leisure.checked && !form.win_image.checked && !form.win_internet.checked && !form.win_games.checked && !form.win_customize.checked && !form.win_business.checked  && !form.win_programing.checked  && !form.win_security.checked  && !form.win_sound.checked && !form.win_utils.checked && !form.win_video.checked  )
		return false;
	return true;
}
function checkWinInterests() {
	var f = document.user_form;
	f.news_softonic.checked = true;	f.win_education.checked = true;	f.win_information.checked = true; f.win_leisure.checked = true; f.win_image.checked = true; f.win_internet.checked = true; f.win_games.checked = true; f.win_customize.checked = true; f.win_business.checked = true; f.win_programing.checked = true; f.win_security.checked = true; f.win_sound.checked = true; f.win_utils.checked = true; f.win_video.checked = true;
}
/*
function isCheckedCorreoDirect ( form )
{
	if ( form.correo_direct.checked )
	{
		 if ( !form.c102.checked && !form.c1.checked && !form.c3.checked && !form.c6.checked && !form.c7.checked && !form.c9.checked && !form.c200.checked && !form.c93.checked && !form.c60.checked && !form.c10.checked && !form.c11.checked && !form.c74.checked && !form.c12.checked && !form.c110.checked && !form.c103.checked && !form.c17.checked && !form.c15.checked && !form.c16.checked && !form.c18.checked && !form.c91.checked && !form.c101.checked && !form.c20.checked && !form.c21.checked && !form.c84.checked && !form.c73.checked && !form.c19.checked && !form.c22.checked && !form.c111.checked && !form.c87.checked ){
			return false;
		}
	}
	return true;
}

function checkCorreoDirect() {
	var obj = document.user_form.correo_direct;
	if (obj.checked == '' ) 
		obj.checked = true;
	return true;
}*/

/*  --------------------------------------------------------------------------------- */