function ValidateHetu(valid,args){
	var value=ValidatorTrim(ValidatorGetValue(valid.controltovalidate));	
	var ctrl=valid.controltovalidate;
	var alku=ctrl.substring(0,ctrl.lastIndexOf("_")+1);		
	if(alku.indexOf("Uchakija2")!=-1 || alku.indexOf("UcHakijaMuu")!=-1){	
		//Jos 2. hakijan tai Muun asumaan tulevan nimeä ei syötetty asetetaan hetu validiksi
		var sukunimi=document.getElementById(alku+'txtSukunimi').value;
		var etunimi=document.getElementById(alku+'txtEtunimet').value;						
		if (sukunimi=="" && etunimi==""){
			args.IsValid=true;
			return;
		}
	}
	var kansal="";
	kansal=document.getElementById(alku+"cboKansalaisuus");
	kansal=kansal.options[kansal.selectedIndex].text.toUpperCase();			
	if(value.indexOf("-")!=-1 || value.indexOf("A")!=-1 || value.indexOf("+")!=-1){		
		//Tarkistetaan hetu (tunnistetaan merkeistä "+,-,A")
		if(value==""){
			args.IsValid=false;
		}else{	
			args.IsValid=checkHetu(value);
		}
	}else{	
		if(kansal=="SUOMI"){
			//Kyseessä suomen kansalainen
			if(alku.indexOf("UcHakijaMuu")==-1){
				//Hakija1 ja hakija2 kohdalla hylätään suoraan jos ei ole hetua
				args.IsValid=false;
			}else{
				//Muiden asumaan tulevien kohdalla tutkitaan ikä (yli 18v. suomalaisilta vaaditaan hetu)
				var dateSyntynyt=ParsePvm(value);					
				if(dateSyntynyt){
					//Verrataan tähän päivään onko 18 vuotissynttärit jo takana
					var datTaysiIka=dateSyntynyt;
					datTaysiIka.setYear(dateSyntynyt.getFullYear()+18)														
					if(datTaysiIka>new Date())
						//Ei ole 18 vuotias -> ok
						args.IsValid=true;
					else
						//On 18 ja hetu antamatta -> ei ok
						args.IsValid=false;
				}else{
					//Annettu arvo ei ole päiväys
					args.IsValid=false;
				}	
			}		
		}else{
            //Muun maalaisilta riittää syntymäaika (validoidaan)
            args.IsValid=ValidatePvm(value);		
		}		
	}	
}

function ValidateMatkapuhelin(valid,args){
	
	var ctrl=valid.controltovalidate;
	var alku=ctrl.substring(0,ctrl.lastIndexOf("_")+1);	
	var puhelinValidator=document.getElementById(alku+'puhelinValidator');
	
	//suoritetaan tarkistus
	//annettava joko puhelin tai matkapuhelin
	var puhelin = document.getElementById(alku+'txtPuhelin').value;
	var matkapuhelin = document.getElementById(alku+'txtMatkapuhelin').value;
	if(puhelin == '' && matkapuhelin == ''){
		args.IsValid=false;
	}else{
		args.IsValid=true;
	}
	
	if (args.IsValid == true){
		//puhelinValidator.IsValid=true;
		ValidatorEnable(puhelinValidator, false);
	}
}

function ValidatePuhelin(valid,args){
		
	var ctrl=valid.controltovalidate;
	var alku=ctrl.substring(0,ctrl.lastIndexOf("_")+1);	
	var matkapuhelinValidator=document.getElementById(alku+'matkapuhelinValidator');
	//annettava joko puhelin tai matkapuhelin
	var puhelin = document.getElementById(alku+'txtPuhelin').value;
	var matkapuhelin = document.getElementById(alku+'txtMatkapuhelin').value;
	if(puhelin == '' && matkapuhelin == ''){
		args.IsValid=false;
	}else{
		args.IsValid=true;
	}
	
	if(args.IsValid == true){
		//matkapuhelinValidator.IsValid=true;
		ValidatorEnable(matkapuhelinValidator, false);
	}
}

function ValidateEmail(valid,args){
	var ctrl=valid.controltovalidate;
	var alku=ctrl.substring(0,ctrl.lastIndexOf("_")+1);	
	//annettava email jos tarjous sähköpostilla valittu
	var email = document.getElementById(alku+'txtEmail').value;
	var chk = document.getElementById(alku+'optVastausEmailYes');
	
	if((email != '' && chk.checked == true)||(chk.checked == false)){
		args.IsValid=true;
	}else{
		args.IsValid=false;
	}
}

function y2k(number){ 
	//vuosi 01-20 tunnistetaan 2000 luvulle siitä suuremmat 1900 luvulle
	//esim. 01->2001 65->1965
	if(number<1000){
		if(number>20)
			number+=1900;
		else
			number+=2000;
	}
	return number;
}
function ValidatePvm(value){
	if(ParsePvm(value)){
		return true;
	}else{
		return false;
	}
}
function ParsePvm(value){
	var p,k,v;			
	var mrk;
	if(value.indexOf(".")!=-1)
		mrk=".";
	else if(value.indexOf("/")!=-1)
		mrk="/";		
	else if(value.indexOf("\\")!=-1)
		mrk="\\";
	if(mrk){		
		//jos syötetty ".","/" tai "\" erotettuna			
		p=value.substring(0,value.indexOf(mrk))
		k=value.substring(value.indexOf(mrk)+1,value.lastIndexOf(mrk))-1		
		v=value.substr(value.lastIndexOf(mrk)+1)		
		if(v.length==2)
			v=y2k(parseInt(v));			
	}else{
		//syötetty hetu tyylinen pvm
		p=value.substring(0,2)
		k=value.substring(2,4)-1
		
		if(value.length==6){
			v=y2k(parseInt(value.substring(4,6)))
		}else if(value.length==8){
			v=value.substring(4,8)
		}else{
			return null;			
		}					
	}	
	if(v<1900||v>2099){
		//vuosi alueen tarkistus
		return false;
	}
	var dat=new Date(v,k,p);			
	if(dat.getFullYear()==v && dat.getMonth()==k && dat.getDate()==p){
		return dat;
	}else{
		return null;
	}
}
function ValidateSukunimi(valid,args){
	// Jos etunimi on syötetty vaaditaan sukunimi	
	var ctrl=valid.controltovalidate;
	var alku=ctrl.substring(0,ctrl.lastIndexOf("_")+1);	
	var sukunimi=document.getElementById(alku+'txtSukunimi').value;
	var etunimi=document.getElementById(alku+'txtEtunimet').value;
	if(etunimi!="" && sukunimi==""){
		args.IsValid=false;
	}	
}
function ValidateEtunimi(valid,args){
	// Jos sukunimi on syötetty vaaditaan etunimi
	var ctrl=valid.controltovalidate;
	var alku=ctrl.substring(0,ctrl.lastIndexOf("_")+1);	
	var sukunimi=document.getElementById(alku+'txtSukunimi').value;
	var etunimi=document.getElementById(alku+'txtEtunimet').value;
	if(sukunimi!="" && etunimi==""){
		args.IsValid=false;
	}	
}	
//Palauttaa kuluvan päiväyksen
function GetCurrentDate(){
	var d=new Date(); 
	var s = (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear(); 
	return Date.parse(s);
}

