
/*  2008.03.31, AA - Creation
	misc.js, genel fonksiyonlari koydugum bir js dosyasi. Simdilik veri tipleri donusumu yapiyor.  
*/

function abs( mixed_number )  {
    return ( ( isNaN ( mixed_number ) ) ? 0 : Math.abs ( mixed_number ) );
}

/*
	Sonuç olarak döndüreceği bilgi, kolonun genel tipidir. 
		Belirlenemeyen tipler için  = 0
		Nümerik kolonlar için     	= 1
		Alfanümerik kolonlar için 	= 2
		DateTime türü için 		  	= 3
		Binary kolonlar için	  	= 4
		Mantıksal kolonlar için		= 5
	döndürür. 
	
	"delphiType", kolonun delphi tarafında tuttuğu cinsidir. WebServislerinden, kolon için gelecek tür bilgisi bu cinste olduğundan 
	dönüşüme ihtiyaç vardır.  
*/

function getType( delphiType ){
	
	// alfanümerik
	//alert('1');
	if ((delphiType=="ftString") || (delphiType=="ftFixedChar") || (delphiType=="ftWideString")){
		//alert('2');
		return  2;	
	} 
	// nümerik
	else if ((delphiType=="ftSmallint") || (delphiType=="ftInteger") || (delphiType=="ftWord") || (delphiType=="ftFloat") || 
			 (delphiType=="ftCurrency") || (delphiType=="ftBCD") || (delphiType=="ftAutoInc") || (delphiType=="ftLargeint")){
				 //alert('3');
		return 1;	
	}
	// mantıksal

	else if (delphiType=="ftBoolean"){
		//alert('4');
		return 5;	
	}
	// zaman
	else if ((delphiType=="ftDate") || (delphiType=="ftTime") || (delphiType=="ftDateTime") || (delphiType=="ftTimeStamp")){
		//alert('5');
		return 3;	
	}
	// ikili veriler - binary
	else if ((delphiType=="ftBytes") || (delphiType=="ftVarBytes") || (delphiType=="ftBlob") || (delphiType=="ftMemo") || 
			 (delphiType=="ftGraphic") || (delphiType=="ftFmtMemo") || (delphiType=="ftParadoxOle") || (delphiType=="ftDBaseOle") ||
			 (delphiType=="ftTypedBinary") || (delphiType=="ftCursor") ||(delphiType=="ftADT") || (delphiType=="ftArray") ||
			 (delphiType=="ftReference") || (delphiType=="ftDataSet") || (delphiType=="ftOraBlob") || (delphiType=="ftOraClob") || 
			 (delphiType=="ftVariant") || (delphiType=="ftInterface") || (delphiType=="ftIDispatch") || (delphiType=="ftGuid") || 
			 (delphiType=="ftFMTBcd") ){
				 //alert('6');
		return 4;	 
	}
//alert('7');
	// "ftUnknown" için de direk 0 dönüyor. 
	return 0;
} 

// verilen "data" yı, dataType'a göre biçimler. ( datatime ya da string ise başına sonuna string koyar. )
function getFormattedCriteria( colName, dataType, data){
	var dtype  = getType(dataType);
	var result = data;
	
	if ((dtype == 2) || (dtype == 3)){
//		result = "\"" + result + "\"";//@UB: 11.03.2008 SQL'e giden sorgularda string data ' içinde yer almali
		result = "'" + result + "'";
	}
	result = "(" + colName + "=" + result + ")";	
	return result;
}


