//gets the value of a field
function getOptionVal(w)
{ return(w.options[w.selectedIndex].value);}


//Checks whether a form select field is invalid
function isSelectFieldInvalid(fi,InvalidStr,str)
{ 
  var val;  
  val =getOptionVal(fi);

  if (isEmpty(val) ||(InvalidStr==val)){
   alert(str);
   fi.focus();
   return true;
  }else{
   return false;
  }
  
}

//Checks whether a form text area field is invalid
function isTextAreaInvalid(fi,str)
{ 
  var val;  
  val =fi.innerHTML;

  if (isEmpty(val)){
   alert(str);
   fi.focus();
   return true;
  }else{
   return false;
  }
  
}


//Checks whether a form field is invalid
function isFieldInvalid(fi,str)
{ 

  if (isEmpty(fi.value)){
   alert(str);
   fi.focus();
   return true;
  }else{
   return false;
  }
  
}

//Checks whether a form field with others option is invalid
function isFieldOtherInvalid(fi,fio,str)
{ 
  var isFieldEmpty;

  isFieldEmpty=((getOptionVal(fi)==0) && (isEmpty(fio.value)));

  if (isFieldEmpty){
   alert(str);
   fi.focus();
   return true;
  }else{
   return false;
  }
  
}


//Checks whether a form date field is invalid
function isDatePartsInvalid(fy,fm,fd,str)
{
   var yval;
   var mval;
   var dval;
   yval=fy.value;
   mval=getOptionVal(fm);
   dval=getOptionVal(fd);
   if (!isDate(yval,mval,dval)){
  	fd.focus();
        alert(str);       
   	return true;
   }
  return false;
}


//Checks whether a form date field is invalid
function isDateFieldInvalid(df,str)
{
   var dArr = df.value.split('.');
   
   if (dArr.length<3) dArr= df.value.split('/');

   if (dArr.length<3) dArr= df.value.split('-');
   
   if (dArr.length<3){
       df.focus();
       alert(str);       
       return true;
   };
   
  if (!isDate(dArr[2],dArr[1],dArr[0])){
  	df.focus();
        alert(str);       
   	return true;
  }

  return false;
}

//Checks whether a form date field is invalid
function isDateField4Invalid(df,str)
{      
   var dArr = df.value.split('.');   

   if (dArr.length<2)	 dArr= df.value.split('/');

   if (dArr.length<2)    dArr= df.value.split('-');
   
   if (dArr.length<2){
       df.focus();
       alert(str);       
       return true;
   };
   
  if (isEmpty(dArr[1])){
  	df.focus();
        alert(str);       
   	return true;
  }
     
  if (!isDate("20"+dArr[1],dArr[0],"1")){
  	df.focus();
        alert(str);       
   	return true;
  }

  return false;
}


//Checks whether a form year is in age range
function isFieldOutOfAge(fy,agefrom,ageto){

   var thisdate = new Date();   
   var curYear =thisdate.getYear();
   var bYear= parseInt(fy.value);
   var resStr;
  
  if ( (agefrom!=-1) || (ageto!=-1) ) 
  {
  	
    if ( ( (bYear > (curYear-agefrom+1)) && (agefrom!=-1)) || ( (bYear<(curYear-ageto-1)) && (ageto!=-1)) ){
  	fy.focus();
  	resStr ="Başvuru yapabilmeniz için ";
  	if (agefrom!=-1) resStr = resStr + agefrom.toString() + " yaşından büyük ";
  	if (ageto!=-1) resStr = resStr + ageto.toString() + " yaşından küçük ";
  	resStr = resStr +'olmanız gerekir.';
        alert(resStr);
   	return true;
   	
    } 
  }

  return false;
}

//Checks whether a form date is in range
function isDateOutOfRange(df,begDate,endDate,str){
  

   var dArr = df.value.split('.');
   if (dArr.length<3) dArr= df.value.split('/');
   if (dArr.length<3) dArr= df.value.split('-');
    
   var myDate = new Date(); 
   myDate.setMonth(dArr[1]-1); 
   myDate.setYear(dArr[2]);
   myDate.setDate(dArr[0]); 
   dStr =myDate.toString();
   
   if ((begDate!=null)&&(isNaN(Date.parse(begDate))) ) {
     dArr = begDate.split('.');
     if (dArr.length<3) dArr= begDate.split('/');
     if (dArr.length<3) dArr= begDate.split('-');
     
     myDate.setMonth(dArr[1]-1); 
     myDate.setYear(dArr[2]);
     myDate.setDate(dArr[0]); 
     begDate = myDate.toString();
   }
   
   if ((begDate != null) && (Date.parse(begDate)> Date.parse(dStr))){
  		 df.focus()
  		 alert(str);
   		 return true;
   }


   if ((endDate!=null)&&(isNaN(Date.parse(endDate))) ) {
     dArr = endDate.split('.');
     if (dArr.length<3) dArr= endDate.split('/');
     if (dArr.length<3) dArr= endDate.split('-');
     
     myDate.setMonth(dArr[1]-1); 
     myDate.setYear(dArr[2]);   	
     myDate.setDate(dArr[0]); 
     endDate = myDate.toString();
   }
       
   if ((endDate != null) && ( Date.parse(endDate) < Date.parse(dStr) )){
  		 df.focus()
  		 alert(str);
   		 return true;
   }

  return false;
}



//*******************//
function setDisplay(sel, val, id, wid)
{
  if (sel.options[sel.selectedIndex].value==val)
  {
    id.style.display='inline';
    if (wid!=null){
      wid.value='';
      wid.focus();
    }
  }
else
  {
    id.style.display='none';
    if (wid!=null)  wid.value='';
  }
}

//*******************//
function setDisplayJobGrp(sel, val,id1,id2,id3,id4,id5,id6,id7,wid1,wid2,wid3,wid4,wid5,wid6,wid7)
{
	setDisplay(sel,val,id1,wid1);
	setDisplay(sel,val,id2,wid2);
	setDisplay(sel,val,id3,wid3);
	setDisplay(sel,val,id4,wid4);
	setDisplay(sel,val,id5,wid5);
	setDisplay(sel,val,id6,wid6);
	setDisplay(sel,val,id7,wid7);
}





//*******************//
function FAForm(f)
{
  var curDate = new Date();  

  if (isFieldOtherInvalid(f.app_city,f.app_city_other,'Başvurulan şehir belirtilmemiş!')) return false;
  
  if (isFieldInvalid(f.fname,'Ad belirtilmemiş!')) return false;

  if (isFieldInvalid(f.lname,'Soyad belirtilmemiş!')) return false;

  if (isFieldOtherInvalid(f.nationality,f.nationality_other,'Uyruk belirtilmemiş!')) return false;
    
  if (isFieldInvalid(f.birthdate_y,'Doğum tarihinde yıl belirtilmemiş!')) return false;  

  if (isSelectFieldInvalid(f.birthdate_m,0,'Doğum tarihinde ay belirtilmemiş!'))  return false;

  if (isSelectFieldInvalid(f.birthdate_d,0,'Doğum tarihinde gün belirtilmemiş!'))  return false;

  if (isDatePartsInvalid(f.birthdate_y,f.birthdate_m,f.birthdate_d,"Tarih doğru biçimde belirtilmemiş!")) return false;
  
  if (isFieldOutOfAge(f.birthdate_y,18,35))  return false;
  
  if (isFieldInvalid(f.birthplace,'Doğduğunuz yer belirtilmemiş!')) return false;
 
  if ((getOptionVal(f.gender)=='m') && (isSelectFieldInvalid(f.militarystatus,'','Askerlik durumu belirtilmemiş!'))) return false;

  if (isTextAreaInvalid(f.address,'Adres belirtilmemiş!')) return false;
 
  if (isFieldOtherInvalid(f.address_city,f.address_city_other,'Adres için şehir belirtilmemiş!')) return false;
 
  if ( (isEmpty(f.workphone.value)) && (isEmpty(f.homephone.value)) && (isEmpty(f.mobilephone.value))) {
	alert('En az bir telefon numarası belirtmelisiniz!');
	return false;
  }
  
  if ( (isEmpty(f.workphonecode.value)) && (!isEmpty(f.workphone.value)) ) {
	isFieldInvalid(f.workphonecode,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.homephonecode.value)) && (!isEmpty(f.homephone.value)) ) {
	isFieldInvalid(f.homephonecode,'Ev telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.mobilephonecode.value)) && (!isEmpty(f.mobilephone.value)) ) {
	isFieldInvalid(f.mobilephonecode,'Cep telefon kodunu belirtilmemiş!');
	return false;
  }

  if (isFieldInvalid(f.email,'E-posta adresi belirtilmemiş!')) return false;
  
  if (!isEmail(f.email.value)) {
    f.email.focus();
    alert('E-posta adresi hatalı girilmiş!');	
    return false;
  }

  if (isFieldOtherInvalid(f.gradProg,f.gradProg_other,'Mezun olunan program belirtilmemiş!')) return false;
  
  if (isFieldOtherInvalid(f.graduation,f.graduation_other,'Mezun olunan üniversite belirtilmemiş!')) return false;

  if (!(isYear(f.graddate.value))){ alert('Mezuniyet tarihinizde yanlış yıl formatı!');return false;}
  
  if (isDateOutOfRange(f.graddate,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;

  if (getOptionVal(f.workexperience)==1)
  {
    if (isFieldInvalid(f.experienceduration,'İş deneyim süresi belirtilmemiş.!')) return false;
    if (isFieldInvalid(f.sectorexperienced,'Son olarak çalıştığınız sektör belirtilmemiş.!')) return false;
  }
   
  if (getOptionVal(f.language1)!=0)
  {
   if (isSelectFieldInvalid(f.langlevel1,0,'Dil için seviye belirtilmemiş!'))  return false;
  }

  if (getOptionVal(f.language2)!=0)
  {
   if (isSelectFieldInvalid(f.langlevel2,0,'Dil için seviye belirtilmemiş!'))  return false;
  }
  if (getOptionVal(f.language3)!=0)
  {
   if (isSelectFieldInvalid(f.langlevel3,0,'Dil için seviye belirtilmemiş!'))  return false;
  }

  if (getOptionVal(f.everapplied)=='1'){
     if (isFieldInvalid(f.jobappliedyear,'Başvurulan yıl belirtilmemiş!')) return false;
     if (!(isYear(f.jobappliedyear.value))){ alert('Yanlış yıl formatı!');return false;}
     
     if (isFieldInvalid(f.jobappliedpos,'Başvurulan pozisyon belirtilmemiş!')) return false;
  }

  
  return true;
}

// check gm form
function GMForm(f)
{
  var curDate = new Date();  

  if (isFieldInvalid(f.fname,'Ad belirtilmemiş!')) return false;

  if (isFieldInvalid(f.lname,'Soyad belirtilmemiş!')) return false;

  if (isFieldOtherInvalid(f.nationality,f.nationality_other,'Uyruk belirtilmemiş!')) return false;
    
  if (isFieldInvalid(f.birthdate_y,'Doğum tarihinde yıl belirtilmemiş!')) return false;  

  if (isSelectFieldInvalid(f.birthdate_m,0,'Doğum tarihinde ay belirtilmemiş!'))  return false;

  if (isSelectFieldInvalid(f.birthdate_d,0,'Doğum tarihinde gün belirtilmemiş!'))  return false;

  if (isDatePartsInvalid(f.birthdate_y,f.birthdate_m,f.birthdate_d,"Tarih doğru biçimde belirtilmemiş!")) return false;
  
  if (isFieldOutOfAge(f.birthdate_y,18,-1))  return false;

  if (isFieldInvalid(f.birthplace,'Doğduğunuz yer belirtilmemiş!')) return false;
 
  if ((getOptionVal(f.gender)=='m') && (isSelectFieldInvalid(f.militarystatus,'','Askerlik durumu belirtilmemiş!'))) return false;

  if (isTextAreaInvalid(f.address,'Adres belirtilmemiş!')) return false;
 
  if (isFieldOtherInvalid(f.address_city,f.address_city_other,'Adres için şehir belirtilmemiş!')) return false;
 
  if ( (isEmpty(f.workphone.value)) && (isEmpty(f.homephone.value)) && (isEmpty(f.mobilephone.value))) {
	alert('En az bir telefon numarası belirtmelisiniz!');
	return false;
  }

  if ( (isEmpty(f.workphonecode.value)) && (!isEmpty(f.workphone.value)) ) {
	isFieldInvalid(f.workphonecode,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.homephonecode.value)) && (!isEmpty(f.homephone.value)) ) {
	isFieldInvalid(f.homephonecode,'Ev telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.mobilephonecode.value)) && (!isEmpty(f.mobilephone.value)) ) {
	isFieldInvalid(f.mobilephonecode,'Cep telefon kodunu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.workphonecode.value)) && (!isEmpty(f.workphone.value)) ) {
	isFieldInvalid(f.workphonecode,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if (isFieldInvalid(f.email,'E-posta adresi belirtilmemiş!')) return false;

  if (!isEmail(f.email.value)) {
    f.email.focus();
    alert('E-posta adresi hatalı girilmiş!');	
    return false;
  }

//Checks education constraints
  //if ( !(isEmpty(f.sch_name1.value))){
     if (isFieldInvalid(f.sch_name1,'Okuduğunuz okul belirtilmemiş!')) return false;  	
     if (isFieldInvalid(f.sch_department1,'Okuduğunu bölüm belirtilmemiş!')) return false;  	
     if (isFieldOtherInvalid(f.sch_city1,f.sch_city_other1,'Okuduğunuz şehir belirtilmemiş!')) return false;

     if (isFieldInvalid(f.sch_begdate1,'Başlangıç tarihiniz belirtilmemiş!')) return false;
/*
     if (isDateFieldInvalid(f.sch_begdate1,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
     if (isDateOutOfRange(f.sch_begdate1,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
*/
     if ( !(isEmpty(f.sch_graddate1.value))){
       if (isFieldInvalid(f.sch_graddate1,'Mezuniyet tarihiniz belirtilmemiş!')) return false;
/*
       if (isDateFieldInvalid(f.sch_graddate1,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
       if (isDateOutOfRange(f.sch_graddate1,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
*/
       if (isDateOutOfRange(f.sch_graddate1,f.sch_begdate1.value,null,'Mezuniyet tarihi başlangıç tarihinden büyük olmalı')) return false;
     }
     if (isFieldInvalid(f.sch_gpa1,'Mezuniyet puanınız belirtilmemiş!')) return false;
  //}

  if ( !(isEmpty(getOptionVal(f.sch_name2)))){

     if (isFieldOtherInvalid(f.sch_name2,f.sch_name_other2,'Universite adı belirtilmemiş!')) return false;
     if (isFieldInvalid(f.sch_department2,'Okuduğunu bölüm belirtilmemiş!')) return false;  	
     if (isFieldOtherInvalid(f.sch_city2,f.sch_city_other2,'Okuduğunuz şehir belirtilmemiş!')) return false;
     
     if (isFieldInvalid(f.sch_begdate2,'Başlangıç tarihiniz belirtilmemiş!')) return false;
/*
     if (isDateFieldInvalid(f.sch_begdate2,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
*/
     if (isDateOutOfRange(f.sch_begdate2,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;

     if ( !(isEmpty(f.sch_graddate2.value))){
       if (isFieldInvalid(f.sch_graddate2,'Mezuniyet tarihiniz belirtilmemiş!')) return false;
       if (!(isYear(f.graddate.value))){ alert('Mezuniyet tarihinizde yanlış yıl formatı!');return false;}
       if (isDateOutOfRange(f.sch_graddate2,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       if (isDateOutOfRange(f.sch_graddate2,f.sch_begdate2.value,null,'Mezuniyet tarihi başlangıç tarihinden büyük olmalı')) return false;
     }
     
     if (isFieldInvalid(f.sch_gpa2,'Mezuniyet puanınız belirtilmemiş!')) return false;
  }

  if ( !(isEmpty(f.sch_name3.value))){
     if (isFieldInvalid(f.sch_department3,'Okuduğunu bölüm belirtilmemiş!')) return false;  	
     if (isFieldOtherInvalid(f.sch_city3,f.sch_city_other3,'Okuduğunuz şehir belirtilmemiş!')) return false;

     if (isFieldInvalid(f.sch_begdate3,'Başlangıç tarihiniz belirtilmemiş!')) return false;
/*
     if (isDateFieldInvalid(f.sch_begdate3,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
*/
     if (isDateOutOfRange(f.sch_begdate3,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;

     if ( !(isEmpty(f.sch_graddate3.value))){
       if (isFieldInvalid(f.sch_graddate3,'Mezuniyet tarihiniz belirtilmemiş!')) return false;
/*
       if (isDateFieldInvalid(f.sch_graddate3,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
*/
       if (isDateOutOfRange(f.sch_graddate3,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       if (isDateOutOfRange(f.sch_graddate3,f.sch_begdate3.value,null,'Mezuniyet tarihi başlangıç tarihinden büyük olmalı')) return false;
     }
     if (isFieldInvalid(f.sch_gpa3,'Mezuniyet puanınız belirtilmemiş!')) return false;
  }

  if ( !(isEmpty(f.sch_name4.value))){
     if (isFieldInvalid(f.sch_department4,'Okuduğunu bölüm belirtilmemiş!')) return false;  	
     if (isFieldOtherInvalid(f.sch_city4,f.sch_city_other4,'Okuduğunuz şehir belirtilmemiş!')) return false;

     if (isFieldInvalid(f.sch_begdate4,'Başlangıç tarihiniz belirtilmemiş!')) return false;
/*
     if (isDateFieldInvalid(f.sch_begdate4,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
*/
     if (isDateOutOfRange(f.sch_begdate4,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;

     if ( !(isEmpty(f.sch_graddate4.value))){
       if (isFieldInvalid(f.sch_graddate4,'Mezuniyet tarihiniz belirtilmemiş!')) return false;
/*
       if (isDateFieldInvalid(f.sch_graddate4,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
*/
 
       if (isDateOutOfRange(f.sch_graddate4,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       if (isDateOutOfRange(f.sch_graddate4,f.sch_begdate4.value,null,'Mezuniyet tarihi başlangıç tarihinden büyük olmalı')) return false;
     }
     if (isFieldInvalid(f.sch_gpa4,'Mezuniyet puanınız belirtilmemiş!')) return false;
  }


//Checks work experience constraints
  if (getOptionVal(f.workexperience)=='1'){
     
     if (isFieldInvalid(f.jobname1,'İşyerinin adı belirtilmemiş!')) return false;  	
     if (isFieldInvalid(f.jobsector1,'Sektör belirtilmemiş!')) return false;  	
     if (isFieldInvalid(f.jobdepartment1,'Departman belirtilmemiş!')) return false;  	
     if (isFieldInvalid(f.jobtitle1,'Ünvan belirtilmemiş!')) return false;  	
     if (isFieldInvalid(f.jobduty1,'Görev belirtilmemiş!')) return false;  	

     if (isFieldInvalid(f.jobbegdate1,'Başlangıç tarihiniz belirtilmemiş!')) return false;
     if (isDateFieldInvalid(f.jobbegdate1,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
     if (isDateOutOfRange(f.jobbegdate1,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       
     if ( !(isEmpty(f.jobenddate1.value))){
       if (isFieldInvalid(f.jobenddate1,'İşten ayrılma tarihiniz belirtilmemiş!')) return false;
       if (isDateFieldInvalid(f.jobenddate1,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
       if (isDateOutOfRange(f.jobenddate1,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       if (isDateOutOfRange(f.jobenddate1,f.jobbegdate1.value,null,'İşten ayrılma tarihi başlangıç tarihinden büyük olmalı')) return false;
     }

     if ((getOptionVal(f.workexperience)=='1')&&(!isEmpty(f.jobname2.value)) ){
      if (isFieldInvalid(f.jobsector2,'Sektör belirtilmemiş!')) return false;  	
      if (isFieldInvalid(f.jobdepartment2,'Departman belirtilmemiş!')) return false;  	
      if (isFieldInvalid(f.jobtitle2,'Ünvan belirtilmemiş!')) return false;  	
      if (isFieldInvalid(f.jobduty2,'Görev belirtilmemiş!')) return false;  	

      if (isFieldInvalid(f.jobbegdate2,'Başlangıç tarihiniz belirtilmemiş!')) return false;
      if (isDateFieldInvalid(f.jobbegdate2,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
      if (isDateOutOfRange(f.jobbegdate2,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       
      if ( !(isEmpty(f.jobenddate2.value))){
        if (isFieldInvalid(f.jobenddate2,'İşten ayrılma tarihiniz belirtilmemiş!')) return false;
        if (isDateFieldInvalid(f.jobenddate2,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
        if (isDateOutOfRange(f.jobenddate2,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
        if (isDateOutOfRange(f.jobenddate2,f.jobbegdate2.value,null,'İşten ayrılma tarihi başlangıç tarihinden büyük olmalı')) return false;
      }
    }

    if ((getOptionVal(f.workexperience)=='1')&&(!(isEmpty(f.jobname3.value)))){
      if (isFieldInvalid(f.jobsector3,'Sektör belirtilmemiş!')) return false;  	
      if (isFieldInvalid(f.jobdepartment3,'Departman belirtilmemiş!')) return false;  	
      if (isFieldInvalid(f.jobtitle3,'Ünvan belirtilmemiş!')) return false;  	
      if (isFieldInvalid(f.jobduty3,'Görev belirtilmemiş!')) return false;  	

      if (isFieldInvalid(f.jobbegdate3,'Başlangıç tarihiniz belirtilmemiş!')) return false;
      if (isDateFieldInvalid(f.jobbegdate3,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
      if (isDateOutOfRange(f.jobbegdate3,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
       
      if ( !(isEmpty(f.jobenddate3.value))){
        if (isFieldInvalid(f.jobenddate3,'İşten ayrılma tarihiniz belirtilmemiş!')) return false;
        if (isDateFieldInvalid(f.jobenddate3,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
        if (isDateOutOfRange(f.jobenddate3,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
        if (isDateOutOfRange(f.jobenddate3,f.jobbegdate3.value,null,'İşten ayrılma tarihi başlangıç tarihinden büyük olmalı')) return false;
      }
   }
     
  }

//Checks computer constraints
  if ( !(isEmpty(f.comp1.value))){
     if (isSelectFieldInvalid(f.complevel1,0,'Bilgisayar seviyesi belirtilmemiş!'))  return false;
  }

  if ( !(isEmpty(f.comp2.value))){
     if (isSelectFieldInvalid(f.complevel2,0,'Bilgisayar seviyesi belirtilmemiş!'))  return false;
  }

  if ( !(isEmpty(f.comp3.value))){
     if (isSelectFieldInvalid(f.complevel3,0,'Bilgisayar seviyesi belirtilmemiş!'))  return false;
  }
  if ( !(isEmpty(f.comp4.value))){
     if (isSelectFieldInvalid(f.complevel4,0,'Bilgisayar seviyesi belirtilmemiş!'))  return false;
  }
  if ( !(isEmpty(f.comp5.value))){
     if (isSelectFieldInvalid(f.complevel5,0,'Bilgisayar seviyesi belirtilmemiş!'))  return false;
  }
 
//Checks language constraints
  if (getOptionVal(f.language1)!=0)
  {
   if (isSelectFieldInvalid(f.langlevel1,0,'Dil için seviye belirtilmemiş!'))  return false;
  }

  if (getOptionVal(f.language2)!=0)
  {
   if (isSelectFieldInvalid(f.langlevel2,0,'Dil için seviye belirtilmemiş!'))  return false;
  }
  if (getOptionVal(f.language3)!=0)
  {
   if (isSelectFieldInvalid(f.langlevel3,0,'Dil için seviye belirtilmemiş!'))  return false;
  }

  if (getOptionVal(f.everapplied)=='1'){
     if (isFieldInvalid(f.jobappliedyear,'Başvurulan yıl belirtilmemiş!')) return false;
     if (!(isYear(f.jobappliedyear.value))){ alert('Yanlış yıl formatı!');return false;}
     
     if (isFieldInvalid(f.jobappliedpos,'Başvurulan pozisyon belirtilmemiş!')) return false;
  }
  
  return true;
  
}


//*******************//
function PerInfoForm(f)
{
  
  if (isFieldInvalid(f.p_idcart,'T.C. Kimlik No belirtilmemiş.!')) return false;
  
  if (isFieldInvalid(f.p_taxno,'Vergi numarası belirtilmemiş!')) return false;

  if (isFieldInvalid(f.p_address1,'Adres belirtilmemiş!')) return false;
  
  //if (isFieldInvalid(f.p_annualincome,'Yıllık gelir belirtilmemiş!')) return false;  
 
  if ( (isEmpty(f.p_hometel.value)) && (isEmpty(f.p_worktel1.value)) && (isEmpty(f.p_worktel2.value))  && (isEmpty(f.p_cellulartel.value))) {
	alert('En az bir telefon numarası belirtmelisiniz!');
	return false;
  }
  
  if ( (isEmpty(f.p_homecode.value)) && (!isEmpty(f.p_hometel.value)) ) {
	isFieldInvalid(f.p_homecode,'Ev telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.p_workcode1.value)) && (!isEmpty(f.p_worktel1.value)) ) {
	isFieldInvalid(f.p_workcode1,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.p_workcode2.value)) && (!isEmpty(f.p_worktel2.value)) ) {
	isFieldInvalid(f.p_workcode2,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.p_cellularcode.value)) && (!isEmpty(f.p_cellulartel.value)) ) {
	isFieldInvalid(f.p_cellularcode,'Cep telefon kodunu belirtilmemiş!');
	return false;
  }
  
  if (!(isEmpty(f.p_email.value))) {
    if (!isEmail(f.p_email.value)){
        alert('E-posta adresi yanlış yazılmış!');    	 
    	return false;
    }
    
  }
  
  return true;
}



//*******************//
function FVPerInfoForm(f)
{
  
  if (isSelectFieldInvalid(f.p_birthplace,'','Doğum yeri belirtilmemiş!'))  return false;

  if (isFieldInvalid(f.p_fathername,'Baba Adı belirtilmemiş.!')) return false;

  if (isFieldInvalid(f.p_idcart,'T.C. Kimlik No belirtilmemiş.!')) return false;
  
  if (isFieldInvalid(f.p_taxno,'Vergi numarası belirtilmemiş!')) return false;

  if (isFieldInvalid(f.p_address1,'Adres belirtilmemiş!')) return false;
  
//  if (isFieldInvalid(f.p_annualincome,'Yıllık gelir belirtilmemiş!')) return false;  
 
  if ( (isEmpty(f.p_hometel.value)) && (isEmpty(f.p_worktel1.value)) && (isEmpty(f.p_worktel2.value))  && (isEmpty(f.p_cellulartel.value))) {
	alert('En az bir telefon numarası belirtmelisiniz!');
	return false;
  }
  
  if ( (isEmpty(f.p_homecode.value)) && (!isEmpty(f.p_hometel.value)) ) {
	isFieldInvalid(f.p_homecode,'Ev telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.p_workcode1.value)) && (!isEmpty(f.p_worktel1.value)) ) {
	isFieldInvalid(f.p_workcode1,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.p_workcode2.value)) && (!isEmpty(f.p_worktel2.value)) ) {
	isFieldInvalid(f.p_workcode2,'İş telefon kodu belirtilmemiş!');
	return false;
  }

  if ( (isEmpty(f.p_cellularcode.value)) && (!isEmpty(f.p_cellulartel.value)) ) {
	isFieldInvalid(f.p_cellularcode,'Cep telefon kodunu belirtilmemiş!');
	return false;
  }
  
  if (!(isEmpty(f.p_email.value))) {
    if (!isEmail(f.p_email.value)){
        alert('E-posta adresi yanlış yazılmış!');    	 
    	return false;
    }
    
  }
  
  return true;
}


// check pwd form
function PwdChange(f)
{
   if (isFieldInvalid(f.p_password_old,'Geçerli şifreniz belirtilmemiş!')) return false;

   if (isFieldInvalid(f.p_password_new1,'Yeni şifreniz belirtilmemiş!')) return false;
   
   if (f.p_password_new1.value.length<6){
   	alert('Şifre en az 6 karakter olmalı!');
   	f.p_password_new1.focus();
   	return false;   
   }

   if (isFieldInvalid(f.p_password_new2,'Yeni şifreniz tekrar belirtilmemiş!')) return false;

   if (f.p_password_new2.value!=f.p_password_new1.value){
   	alert('Yazdığınız iki şifre aynı değil!');
   	f.p_password_new2.focus();
   	return false;
   }

   return true;
}


// check secret form
function SecretChange(f)
{
   if (isFieldInvalid(f.p_secret_old,'Geçerli olan parolanız belirtilmemiş!')) return false;

   if (isFieldInvalid(f.p_secret_new1,'Yeni parolanız belirtilmemiş!')) return false;

   if (isFieldInvalid(f.p_secret_new2,'Yeni parolanız tekrar belirtilmemiş!')) return false;

   if (f.p_secret_new1.value.toUpperCase()=="PAROLA"){
   	alert('Yeni parolanızı parola olarak giremezsiniz!');
   	f.p_secret_new1.focus();
   	return false;
   }

   if (f.p_secret_new2.value!=f.p_secret_new1.value){
   	alert('Yazdığınız iki parola aynı değil!');
   	f.p_secret_new2.focus();
   	return false;
   }
   return true;
}

// check secret form
function FVSecretChange(f)
{
   if (isFieldInvalid(f.p_secret_new1,'Yeni parolanız belirtilmemiş!')) return false;

   if (isFieldInvalid(f.p_secret_new2,'Yeni parolanız tekrar belirtilmemiş!')) return false;

   if (f.p_secret_new1.value.toUpperCase()=="PAROLA"){
   	alert('Yeni parolanızı parola olarak giremezsiniz!');
   	f.p_secret_new1.focus();
   	return false;
   }

   if (f.p_secret_new2.value!=f.p_secret_new1.value){
   	alert('Yazdığınız iki parola aynı değil!');
   	f.p_secret_new2.focus();
   	return false;
   }

   return true;
}



// check date form
function PayDayForm(f)
{
   if (!(isDay(f.p_payday.value))){
     alert("Ödeme günü geçerli bir gün değil!"); 	
     return false;
   }
   
   return true;
}


// check date form
function CCForm(f)
{
   if (isFieldInvalid(f.p_ccnum,'Kredi kartı belirtilmemiş!')) return false;
   
   if (isFieldInvalid(f.p_expires,'Tarih belirtilmemiş!')) return false;
   if (isDateField4Invalid(f.p_expires,'Yanlış tarih formatı!\n(GG.AA, GG/AA yada GG-AA) \n Örnek: 12/02')) return false;

   if (isFieldInvalid(f.p_cvv,'CVV belirtilmemiş!')) return false;
   
   if (!isAnyCard(f.p_ccnum.value)){
   	alert('Belirttiğiniz kredi kartı numarası geçersizdir. Kontrol ediniz ! ');
   	f.p_ccnum.focus();
   	return false;
   }

   return true;
}


// check date form
function DateForm(f)
{
  var curDate = new Date();  
   if (isFieldInvalid(f.p_date,'Tarih belirtilmemiş!')) return false;
   if (isDateFieldInvalid(f.p_date,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
   if (isDateOutOfRange(f.p_date,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
   
   return true;
	
}

// check date form
function DateRangeForm(f)
{
  var curDate = new Date();  
   if (isFieldInvalid(f.p_begdate,'Tarih belirtilmemiş!')) return false;
   if (isDateFieldInvalid(f.p_begdate,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
   if (isDateOutOfRange(f.p_begdate,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
	
   if (isFieldInvalid(f.p_enddate,'Tarih belirtilmemiş!')) return false;
   if (isDateFieldInvalid(f.p_enddate,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
//   if (isDateOutOfRange(f.p_enddate,null,curDate.toString(),'Tarih yanlış girilmiş!')) return false;
  
   if (isDateOutOfRange(f.p_enddate,f.p_begdate.value,null,'Bitiş tarihi başlangıç tarihinden büyük olmalı')) return false;
   
   return true;

}


//*******************//
function IntAccessForm(f)
{

  if (isFieldInvalid(f.fname,'Adınız belirtilmemiş.!')) return false;

  if (isFieldInvalid(f.lname,'Soyadınız belirtilmemiş!')) return false;
  
  if (isFieldInvalid(f.phonenum,'Telefon numaranız!')) return false;  
 
  if (isFieldInvalid(f.birthdate,'Tarih belirtilmemiş!')) return false;
  if (isDateFieldInvalid(f.birthdate,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
  
  /*if (!(isEmpty(f.email.value))) {
    if (!isEmail(f.email.value)){
        alert('E-posta adresi yanlış yazılmış!');    	 
    	return false;
    }
    
  }*/
  return true;
}

//*******************//
function WebMessageForm(f)
{

  if (isFieldInvalid(f.mail_from_name,'Ad ve soyadınız belirtilmemiş.!')) return false;

  if (!(isEmpty(f.mail_from))) {
    if (!isEmail(f.mail_from.value)){
        alert('E-posta adresi yanlış yazılmış!');    	 
    	return false;
    }

  if (isFieldInvalid(f.mail_body,'Mesaj yazılmamış!')) return false;
  
    
  }
  return true;
}

//*******************//
function FinDanAppForm(f)
{
  if (isFieldInvalid(f.fname,'Adınız belirtilmemiş.!')) return false;
  
  if (isFieldInvalid(f.lname,'Soyadınız belirtilmemiş!')) return false;

  if (isFieldInvalid(f.birthdate,'Tarih belirtilmemiş!')) return false;
  if (isDateFieldInvalid(f.birthdate,'Yanlış tarih formatı!\n(GG.AA.YYYY, GG/AA/YYYY yada GG-AA-YYYY) \n Örnek: 12/12/1977')) return false;
    
  if ( (isEmpty(f.workphone.value)) && (isEmpty(f.homephone.value)) && (isEmpty(f.mobilephone.value))) {
	alert('En az bir telefon numarası belirtmelisiniz!');
	return false;
  }

  return true;
}




// İstenen form alanlarına sadece nümerik giriş sağlar
// Örn: <input type="text" name="DaireNo" onKeyPress="PureNumeric(event);">	
function PureNumeric(e)
{
	chars= 	"0123456789.,";
	e    = window.event;	
	if(chars.indexOf(String.fromCharCode(e.keyCode))==-1)	
	window.event.keyCode=0;
}

// İstenen form alanlarına sadece tarih girmeyi sağlar
// Örn: <input type="text" name="DaireNo" onKeyPress="PureDate(event);">	
function PureDate(e)
{
	chars= 	"0123456789./-";
	e    = window.event;	
	if(chars.indexOf(String.fromCharCode(e.keyCode))==-1)	
	window.event.keyCode=0;
}

// İstenen form alanlarına sadece alfanümerik giriş sağlar
// Örn: <input type="text" name="isim" onKeyPress="PureChar(event);">
function PureChar(e)
{
	chars= 	"abcçdefgğhıijklmnoöpqrsştuüvwxyz ABCÇDEFGĞHIİJKLMNOÖPQRSŞTUÜVWXYZ-,.?'&;:";
	e    = window.event;	
	if(chars.indexOf(String.fromCharCode(e.keyCode))==-1)	
	window.event.keyCode=0;
}

// İstenen form alanlarına sadece tel kod giriş sağlar
// Örn: <input type="text" name="isim" onKeyPress="PurePhoneCode(event);">
function PurePhoneCode(e)
{
	chars= 	"0123456789-+";
	e    = window.event;	
	if(chars.indexOf(String.fromCharCode(e.keyCode))==-1)	
	window.event.keyCode=0;
}

// İstenen form alanlarına sadece telefon no ve dahili girmek için
// Örn: <input type="text" name="isim" onKeyPress="formatPhoneNo(event);">
function PurePhoneNo(e)
{
	chars= 	"0123456789-/()";
	e    = window.event;	
	if(chars.indexOf(String.fromCharCode(e.keyCode))==-1)	
	window.event.keyCode=0;
}


// Rakamlara 3 haneli virgüllü formatlama yapar
// Örn: fieldname1.value=formatCurrency(fieldname1.value)
function formatCurrency(num) {
	num = num.toString().replace(/,/g,'');
	if(isNaN(num)||(num=='')){
		num = "";
	}
	else{
		num = Math.floor((num*100+0.5)/100).toString();
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	}
	return (num);
}

function check_date(field){
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = ".";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      //DateField.value = day + seperator + month + seperator + year;
	  return true;
   }
   /* Error-message if err != 0 */
   else {
      //alert("Date is incorrect!");
	  return false;
      //DateField.select();
	  //DateField.focus();
   }
}
