/* ********** Kullanılan diğer classlar ********** */
//---		Strings.js

/* **********   Genel kullanılan değişkenler başlangıç ********** */
var _MaxDate=null;//Tarih aralığını kontrol etmek için kullanılan maximum tarih değeri
var _MinDate=null;//Tarih aralığını kontrol etmek için kullanılan minimum tarih değeri
var tempDateArray;//Kontrol amaçlı gelecek olan tarih içerikli yazının elemanlarını tutmak içinkullanılan dizi
var tempDate; //Kontrol amaçlı gelecek olan tarih içerikli yazının tarihe dönüştürülmüş hali
/* **********   Genel kullanılan değişkenler bitiş ********** */









/* ********** IsDateC Fonksiyonu Başlagıç ********** */

//   Belirtilen control içindeki değeri okuyarak içeriğin tarih değeri olup olmadığını kontrol eder   
//   Doğru olarak kabul ettiği tarih formatı " gg.aa.yyyy " dır. gün ve ay değerleri 10 dan küçükse bile
//      iki karakter olacak şekilde girilmelidir. Aynı şekilde yıl değerindede 4 karakter zorunluluğu vardır.
//   Eğer tarih değeri içeriyorsa  " true " değeri döner   
//   Eğer tarih değeri içermiyorsa " false " değeri döner  


		function IsDateC( Control )
		{
			return IsDateT( BoslukBudaC ( Control ) );
		}


/* ********** IsDateC Fonksiyonu Bitiş ********** */









/* ********** IsDateT Fonksiyonu Başlagıç ********** */

//   Belirtilen yazı değerinin tarih değeri olup olmadığını kontrol eder   
//   Doğru olarak kabul ettiği tarih formatı " gg.aa.yyyy " dır. gün ve ay değerleri 10 dan küçükse bile
//      iki karakter olacak şekilde girilmelidir. Aynı şekilde yıl değerindede 4 karakter zorunluluğu vardır.
//   Eğer tarih değeri içeriyorsa  Tarih değeri döner   
//   Eğer tarih değeri içermiyorsa " false " değeri döner  


		function IsDateT( Text )
		{
			if ( Text == null || Text == ""  )
				return false;
			tempDateArray = SplitT( Text, '.' );
			if ( tempDateArray.length <3 ) return false;
			if ( tempDateArray[ 2 ].length != 4 || !TextSayi ( tempDateArray[ 2 ] ) ) return false;
			if ( tempDateArray[ 1 ].length != 2 || !TextSayi ( tempDateArray[ 1 ] ) ) return false;
			if ( tempDateArray[ 0 ].length != 2 || !TextSayi ( tempDateArray[ 0 ] ) ) return false;
			tempDate = new Date( 
									TextToSayi( tempDateArray[ 2 ] ),
									TextToSayi( tempDateArray[ 1 ] ) -1, //Javascript'te ay değerleri 0 dan 
																			//	başladığı için gelen değerin bir eksiği alınır.
									TextToSayi( tempDateArray[ 0 ] ) );
			if (	TextToSayi( tempDateArray[ 2 ] )		!= tempDate.getFullYear()	||
					TextToSayi( tempDateArray[ 1 ] )-1 	!= tempDate.getMonth() 	||
					TextToSayi( tempDateArray[ 0 ] ) 	!= tempDate.getDate() 	)
									//Gelen değer tarihe çevrildiğinde eğer giriş değerleri ile
									//		çıkış değerleri uyuşmuyorsa sonuç yalnış demektir.
				return false;
			return tempDate;
		}


/* ********** IsDateT Fonksiyonu Bitiş ********** */









/* ********** setMaxDate Fonksiyonu Başlagıç ********** */

//   Tarih aralığı için kullanılacak olan _MaxDate değişkeninin ayarlanması için   


		function setMaxDate( GG, AA, YYYY )
		{
			_MaxDate = IsDateT( GG+'.'+AA+'.'+YYYY );
			if ( !_MaxDate ){ _MaxDate=null; return false; }
			return true;
		}


/* ********** setMaxDate Fonksiyonu Bitiş ********** */









/* ********** setMinDate Fonksiyonu Başlagıç ********** */

//   Tarih aralığı için kullanılacak olan _MinDate değişkeninin ayarlanması için   


		function setMinDate( GG, AA, YYYY )
		{
			_MinDate = IsDateT( GG+'.'+AA+'.'+YYYY );
			if ( !_MinDate ){ _MinDate=null; return false; }
			return true;
		}


/* ********** setMinDate Fonksiyonu Bitiş ********** */









/* ********** IsBetweenC Fonksiyonu Başlagıç ********** */

//   Belirtilen kontrolün değerinin belirtilen tarih aralığında olup olmadığına bakar   
//   Eğer aralıkta ise 		" true " döner
//   Eğer aralıkta değilse 	" false " döner


		function IsBetweenC( Control )
		{
			return IsBetweenT( BoslukBudaC( Control ) );
		}


/* ********** IsBetweenC Fonksiyonu Bitiş ********** */









/* ********** IsBetweenT Fonksiyonu Başlagıç ********** */

//   Belirtilen text değerinin belirtilen tarih aralığında olup olmadığına bakar   
//   Eğer aralıkta ise 		" true " döner
//   Eğer aralıkta değilse 	" false " döner


		function IsBetweenT( Text )
		{
			tempDate = IsDateT( Text );
			return ( tempDate && ( tempDate >= _MinDate && tempDate <= _MaxDate ) );
		}


/* ********** IsBetweenT Fonksiyonu Bitiş ********** */









/* ********** IsEqual Fonksiyonu Başlagıç ********** */

//   İki tarihi birbiri ile karşılaştırma işlemi yapar   
//   Eğer eşitse "true" değilse "false" değer döndürür   
//   Değerlerden herhangi birtanesinin tarih olmaması durumunda sonuç yine "false" döner   


		function IsEqual( Date1, Date2 )
		{
			return ( IsDateT( Date1 ) && IsDateT( Date2 ) && Date1 == Date2);
		}


/* ********** IsEqual Fonksiyonu Bitiş ********** */









/* ********** AddDate Fonksiyonu Başlagıç ********** */

//   Belirtilen tarih değerine belirtilen miktarda gün ekler ve sonucu tarih cinsinden verir   


		function AddDate( _Tarih, Day )
		{
			return ( new Date ( _Tarih.getFullYear(), _Tarih.getMonth(), _Tarih.getDate() + Day ) );
		}


/* ********** AddDate Fonksiyonu Bitiş ********** */









/* ********** AddMonth Fonksiyonu Başlagıç ********** */

//   Belirtilen tarih değerine belirtilen miktarda ay ekler ve sonucu tarih cinsinden verir   


		function AddMonth( _Tarih, Ay )
		{
			return ( new Date ( _Tarih.getFullYear(), _Tarih.getMonth() + Ay, _Tarih.getDate() ) );
		}


/* ********** AddMonth Fonksiyonu Bitiş ********** */









/* ********** AddYear Fonksiyonu Başlagıç ********** */

//   Belirtilen tarih değerine belirtilen miktarda yıl ekler ve sonucu tarih cinsinden verir   


		function AddYear( _Tarih, Yil )
		{
			return ( new Date ( _Tarih.getFullYear() + Yil, _Tarih.getMonth(), _Tarih.getDate() ) );
		}


/* ********** AddYear Fonksiyonu Bitiş ********** */









/* ********** CompareDates Fonksiyonu Başlagıç ********** */

//   İki tarihi birbiri ile karşılaştırma işlemi yapar   
//   Eğer ilk değer ikincisinden büyükse "1"
//   Eğer ilk değer ikincisinden küçükse "-1" 
//   Eğer iki değerde birbirine eşitse   "0" döner
//   Eğer her iki değerden herhangi biri tarih değeri içermiyorsa sonuç "false" olarak döner


		function CompareDates( Date1, Date2 )
		{
			if ( Date1.getFullYear() > Date2.getFullYear() )
				return 1;
			else if (Date1.getFullYear() < Date2.getFullYear())
				return -1;
			if ( Date1.getMonth() > Date2.getMonth() )
				return 1;
			else if ( Date1.getMonth() < Date2.getMonth() )
				return -1;
			if ( Date1.getDate() > Date2.getDate() )
				return 1;
			else if ( Date1.getDate() < Date2.getDate() )
				return -1;
			return 0;
		}


/* ********** CompareDates Fonksiyonu Bitiş ********** */
