
function setlang(l) {
	$('langselect').innerHTML=l.alt.toUpperCase();
}

function setout(l) {
	$('langselect').innerHTML="SELECT YOUR LANGUAGE";
}

// APPLICATION FORM

function validateForm() {
	var tmp=$F('farrivaldate_year')+"-"+$F('farrivaldate_month')+"-"+$F('farrivaldate_day');
	$('farrivaldate').value=tmp;
	var valid=true;
	var fv=new Array('familyname','secondname','email','email','mobile','country','city','postalcode','street','homeuniversity','cityuniversity','hungarianuniversity','arrivaldate');
	for (var i=0;i<fv.length;i++) {
		if(!validateItem(fv[i])) {valid=false;}
	}
	var fo='';
	fo='sex';			if(!$('f0'+fo).checked && !$('f1'+fo).checked) { $('l'+fo).addClassName('invalid'); valid=false; } else { $('l'+fo).removeClassName('invalid'); }
	fo='arrivalby';		if(!$('f0'+fo).checked && !$('f1'+fo).checked && !$('f2'+fo).checked && !$('f3'+fo).checked) { $('l'+fo).addClassName('invalid'); valid=false; } else { $('l'+fo).removeClassName('invalid'); }
	fo='smoking';		if(!$('f0'+fo).checked && !$('f1'+fo).checked) { $('l'+fo).addClassName('invalid'); valid=false; } else { $('l'+fo).removeClassName('invalid'); }
	fo='package';		if(!$('f0'+fo).checked && !$('f1'+fo).checked && !$('f2'+fo).checked && !$('f3'+fo).checked) { $('l'+fo).addClassName('invalid'); valid=false; } else { $('l'+fo).removeClassName('invalid'); }
	
	//if(!validateEmail($('femail').value)) { $('lemail').addClassName('invalid'); valid=false; }
	
	return valid;
}

function validateItem(fv) {
	if($F('f'+fv)=="") {
		$('l'+fv).addClassName('invalid');
		return false;
	} else {
		$('l'+fv).removeClassName('invalid');
		return true;
	}
}

function validateString(string, return_invalid_chars)
         {
         valid_chars = '1234567890-_.^~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
         invalid_chars = '';
         
         if(string == null || string == '')
            return(true);
         
         //For every character on the string.   
         for(index = 0; index < string.length; index++)
            {
            char = string.substr(index, 1);                        
            
            //Is it a valid character?
            if(valid_chars.indexOf(char) == -1)
              {
              //If not, is it already on the list of invalid characters?
              if(invalid_chars.indexOf(char) == -1)
                {
                //If it's not, add it.
                if(invalid_chars == '')
                   invalid_chars += char;
                else
                   invalid_chars += ', ' + char;
                }
              }
            }                     
            
         //If the string does not contain invalid characters, the function will return true.
         //If it does, it will either return false or a list of the invalid characters used
         //in the string, depending on the value of the second parameter.
         if(return_invalid_chars == true && invalid_chars != '')
           {
           last_comma = invalid_chars.lastIndexOf(',');
           
           if(last_comma != -1)
              invalid_chars = invalid_chars.substr(0, $last_comma) + 
              ' and ' + invalid_chars.substr(last_comma + 1, invalid_chars.length);
                      
           return(invalid_chars);
           }
         else
           return(invalid_chars == ''); 
         }


function validateEmail(email_address) {
         //Assumes that valid email addresses consist of user_name@domain.tld
         at = email_address.indexOf('@');
         dot = email_address.indexOf('.');
         
         if(at == -1 || 
            dot == -1 || 
            dot <= at + 1 ||
            dot == 0 || 
            dot == email_address.length - 1)
            return(false);
            
         user_name = email_address.substr(0, at);
         domain_name = email_address.substr(at + 1, email_address.length);                  
         
         if(validateString(user_name) === false || 
            validateString(domain_name) === false)
            return(false);                     
         
         return(true);
}