///
/// <summary>
///		Genel scriptleri icerir.
/// </summary>
/// <author>
///		Selim Öber
///		Gordion Bilgi Hizmet Ltd. Sti.
///		http://www.gordion.com.tr
/// <author>
/*-------------------------------------------------------------------------
|Amac: Her sayfada kullanilabilecek javascript'leri içerir.               |
|      Bu dosyadaki scriptler diger script dosyalarinden bagimsizdirlar.  |
|      Sistemin genel isleyis mantigini icermezler.                       |
|                                                                         |
|-------------------------------------------------------------------------|
|Function'lar:										               	      |
|		- IsCtr                                                           |
|		- IsHdnFld                                                        |
|		- IsInternalTableElement                                          |
|		- trim                                                            |
|		- str                                                             |
|       - AddEvent: Event eklemeyi browser'a gore gerceklestirir.         |
| Global variable'lar:                                                    |
|       - IsIE : Browser'in Internet Explorer olup olmadigigini tutar     |
|-------------------------------------------------------------------------|
|                    Gordion Bilgi Hizmet Ltd. Sti.                       |
|                      http://www.gordion.com.tr                          |
-------------------------------------------------------------------------*/


var isIE = (document.all) ? true : false;

function AddEvent(ctr, evt, lis)
{
	if(isIE)
		ctr.attachEvent("on" + evt, lis);
	else
		ctr.addEventListener(evt, lis, false);
}

//---------------------------------------------------------------------------------------------------
//Parametre olarak verilen ctr'nin 
//ELEMENT_NODE tipinde olma durumunu control eder.
function IsCtr(ctr)
{
	return (typeof(ctr)          != "undefined") && 
		   (ctr		             != null)        && 
		   (typeof(ctr.nodeType) != "undefined") && 
		   (ctr.nodeType         == 1);
}

//---------------------------------------------------------------------------------------------------
//Parametre olarak verilen ctr'nin 
//bir hidden input olma durumunu control eder.
function IsHdnFld(fld)
{
	return IsCtr(fld)              && 
		   fld.nodeName == "INPUT" && 
		   fld.type == "hidden";
}


//---------------------------------------------------------------------------------------------------
//Controlun bir internal table element olma durumunu belirtir.
//margin genisligini 0 dondurmek icin kullanilir.
function IsInternalTableElement(ctr)
{
	var tn = ctr.tagName;
	if(typeof(tn) != "string")
		return false;
	
	return (tn == "THEAD") || 
		   (tn == "TBODY") || 
		   (tn == "TFOOT") || 
		   (tn == "TR")    || 
		   (tn == "TH")    || 
		   (tn == "TD");	
}

//------------------------------------------------------------------------------------------------------
//Bildiginiz trim.
function trim(str)
{
	return str.replace(/\s*(\S(\s*\S+)*)?\s*/, "$1");;
}

//------------------------------------------------------------------------------------------------------
//Parametre olarak aldigi string'in icindeki $237 gibi bolumler 237 koduna denk gelen karakteri yerlestirir.
function str(val)
{
	return eval("'" +  val.replace(/\$(\d+)/ig, "' + String.fromCharCode($1) + '") + "';");
}

//------------------------------------------------------------------------------------------------------
//Parametre olarak verilen kontrolu gizler.
function hide(ctr)
{
	if(typeof ctr == "string")
		ctr = document.getElementById(ctr);

	if(!IsCtr(ctr))
		return;

	ctr.style.display = "none";
}

//------------------------------------------------------------------------------------------------------
//Parametre olarak verilen kontrolu gozukur hale getirir.
//TODO: Gozukmesi icin sadece "block" secenegini kullanmak dogru degils
function show(ctr)
{
	if(typeof ctr == "string")
		ctr = document.getElementById(ctr);

	if(!IsCtr(ctr))
		return;

	ctr.style.display = "block";
}


