/* ********** Genel Değişkenler Başlangıç ********** */
var tempElement; 	//Üzerinde işlem yapılacak olan elementin geçici olarak saklandığı değişken
var UrlParams;  	//URL üzerinde eğer her hangi bir parametre varsa o parametrelerin alımı için kullanılan değişken
						//Düzgün olarak encode edebildiği URL formatı :
						// ...../sayfa.html?PARAM1=DEGER1&PARAM2=DEGER2...gibi dir.
var docURL;			//Sayfanın URL adresini geçici olarak tutmak için
var tempParams;		//Sayfanın parametrelerini almak için kullanılan geçici dizi değişkeni
var siteWind;		//Açılacak popup sayfaları için kullanılan değişken
/* ********** Genel Değişkenler Bitiş ********** */

/* ********** getElement Fonksiyonu Başlangıç ********** */
//   ElementID ile belirtilen Id'ye sahip HTML elementini geriye döndürür   \\
//   Eğer elementi bulamazsa sonuç " false " olarak döner.   \\
		function getElement( _id ) {
			return ( isType( _id , "string") )?isNType( document.getElementById( _id ), "undefined", false ) :_id;
		}
/* ********** getElement Fonksiyonu Bitiş ********** */

/* ********** ShowError Fonksiyonu Başlangıç ********** */
//   Herhangi bir hata durumunda hata göstericisi olan alert   \\
//   	Komutunu yerine getirir ve sonucu " false " olarak döndürür.    \\
//   Sonucunda hata uyarısı verecek ve " false " değeri döndürecek olan fonksiyonlar için   \\
		function ShowError( Message, _ret ) {
			if ( !isEmpty(Message) ) alert ( Message );
			return isType( _ret, "boolean", false );
		}
/* ********** ShowError Fonksiyonu Bitiş ********** */

/* ********** getValue Fonksiyonu Başlangıç ********** */
//   ElementID ile belirtilen Id'ye sahip HTML elementinin value değerini döndürür   \\
//   Eğer elementi bulamazsa sonuç " false " olarak döner.   \\
//   Eğer elementin value değeri " null " ise sonuç " false " olarak döner.   \\
		function getValue( _id ) { return ( !(tempElement = getElement( _id )) || tempElement.value == null)? false: tempElement.value; }
/* ********** getValue Fonksiyonu Bitiş ********** */

/* ********** setValue Fonksiyonu Başlangıç ********** */
//   ElementID ile belirtilen Id'ye sahip HTML elementinin value değerine    \\
//   Belirtilen value değerini atar
//   Eğer elementi bulamazsa veya Value değeri null sa sonuç " false " olarak döner.   \\
		function setValue( _id, Value ) {
			if ( !(tempElement = getElement( _id )) || tempElement.value == null || !Value) return false;
			tempElement.value = Value;
		}
/* ********** setValue Fonksiyonu Bitiş ********** */

/* ********** setInnerHtml Fonksiyonu Başlangıç ********** */
//   ElementID ile belirtilen Id'ye sahip HTML elementinin innerHTML değerine    \\
//   Belirtilen value değerini atar
//   Eğer elementi bulamazsa veya Value değeri null sa sonuç " false " olarak döner.   \\
		function setInnerHtml( _id, Value ) {
			if ( !(tempElement = getElement( _id )) || tempElement.innerHTML == null || !Value) return false;
			tempElement.innerHTML = Value;
		}
/* ********** setInnerHtml Fonksiyonu Bitiş ********** */

/* ********** setAttr Fonksiyonu Başlangıç ********** */
//   ElementID ile belirtilen Id'ye sahip HTML elementinin belirtilen özelliğine belirtilen değeri atama işlemi yapar
		function setAttr( _id, _Attr, _Value ) {
			if ( !(tempElement = getElement( _id )) || !_Value) return false;
			tempElement.setAttribute( _Attr, _Value );
		}
/* ********** setAttr Fonksiyonu Bitiş ********** */

/* ********** getAttr Fonksiyonu Başlangıç ********** */
//   ElementID ile belirtilen Id'ye sahip HTML elementinin belirtilen özelliğinin değerini gönderir
		function getAttr( _id, _Attr ) { return ( !(tempElement = getElement( _id )) || !_Attr)? false : tempElement.getAttribute( _Attr ); }
/* ********** getAttr Fonksiyonu Bitiş ********** */

/* ********** IsIE Fonksiyonu Başlangıç ********** */
//   İşlemi yorumlayacak olan browserın Internet Explorer olup olmadığını kontrol eder
//   Eğer Internet Explorer ise " true " değilse " false " döner
		function IsIE() { return ( navigator.appVersion.indexOf( "MSIE" )>=0 ); }
/* ********** IsIE Fonksiyonu Bitiş ********** */

/* ********** setStatus Fonksiyonu Başlangıç ********** */
//   Browserın durum çubuğunun değerini ayarlar
		function setStatus( Value ) { window.status = isEmpty(Value, "" ); }
/* ********** setStatus Fonksiyonu Bitiş ********** */

/* ********** getURL Fonksiyonu Başlangıç ********** */
//   Browserın URL'ini alır ve parametreler varsa diziye atar
		function getURL( Param ) {
			UrlParams = new Array();
			docURL = ((IsIE())?document.location.href:document.URL );
			if (docURL.indexOf('?')<=0) return "";
			docURL = docURL.substr( docURL.indexOf('?')+1 );
			tempParams = docURL.split('&');
			for (i in tempParams.length)
				UrlParams[UrlParams.length] = new Array( tempParams[ i ].split('=')[0], tempParams[ i ].split('=')[1] );
			if (isType( Param, "string" ))
				return getURLParam(Param);
			return "";
		}
/* ********** getURL Fonksiyonu Bitiş ********** */

/* ********** getURLParam Fonksiyonu Başlangıç ********** */
//   Browserın URL adresinden alınan parametrenin değerini getirir.
		function getURLParam( Param ) {
			try {
				for (i in UrlParams.length)
					if (UrlParams[i][0]==Param) return UrlParams[i][1];
				return "";
			}
			catch(Hata) { return ShowError(Hata.description); }
		}
/* ********** getURLParam Fonksiyonu Bitiş ********** */

/* ********** Pos Fonksiyonu Başlangıç ********** */
// Pozisyion nesnesi
		function Pos(X, Y) {
			this.X = (X)?X:0;
			this.Y = (Y)?Y:0;
			this.ToString = function () {
				return "X : " + this.X + ", Y : " + this.Y;
			}
		}
/* ********** Pos Fonksiyonu Bitiş ********** */

/* ********** getPosition Fonksiyonu Başlangıç ********** */
// Bir nesnenin pozisyonunu almak için kullanılan fonksiyon
		function getPos ( Obj, _addX, _addY) { //element pozisyonunu alan ve pozisyon classı olarak döndüren fonksiyon
			Obj = getElement(Obj);
			var X=Obj.offsetLeft, Y=Obj.offsetTop;
			var Parent = Obj.offsetParent;
			while (Parent) {
//				if (isNType(menuID, "undefined") && Parent.id == menuID) break;
				X += Parent.offsetLeft;
				Y += Parent.offsetTop;
				Parent = Parent.offsetParent;
			}
			switch(_addX) {//Alt itemların üst item'ın sağındamı altındamı açılacağına göre eklenen ek değer
				case "L":case "l": X += Obj.offsetWidth; break;
				case "R":case "r": X -= Obj.offsetWidth; break;
			}
			switch (_addY) {
				case "T":case "t": Y += Obj.offsetHeight; break;
				case "B":case "b": Y -= Obj.offsetHeight; break;
			}
			return (new Pos(X,Y));
		}
/* ********** getPosition Fonksiyonu Bitiş ********** */

/* ********** getMouseXY Fonksiyonu Bitiş ********** */
//Mouse elementinin document içindeki o anki pozisyonunu verir. Event elementinin sağlıklı gönderilmesi gerekmektedir.
	function getMouseXY(e) {
		var posX=0, posY=0 ;
		e=e?e:event;
		if (e.pageX || e.pageY) 	{
			posX = e.pageX;
			posY = e.pageY;
		}
		else if (e.clientX || e.clientY) 	{
			posX = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
			posY = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
		}
		return (new Pos(posX,posY));
	}
/* ********** getMousePosition Fonksiyonu Bitiş ********** */

/* ********** openWindow Fonksiyonu Başlangıç ********** */
//İstenilen ebatlarda bir popup penceresi açmak için
		function openWindow(_adres, _name, _property){
			if (typeof(siteWind)!="undefined")
				siteWind.close();
			siteWind = window.open (_adres, _name, _property);
			siteWind.focus();
		}
/* ********** openWindow Fonksiyonu Başlangıç ********** */

/* ********** HREF Fonksiyonu Başlangıç ********** */
//İstenilen sayfaya yönlenebilmek için
		function HREF( adres, target ) { window.open(adres, target); }
/* ********** HREF Fonksiyonu Başlangıç ********** */

/* ********** isType Fonksiyonu Başlangıç ********** */
	function isType (_obj, _type, _ret) {
		if (typeof(_ret)=="undefined") return (typeof(_obj)==_type);
		return (isType( _obj, _type )?_obj:_ret);
	}
	function isNType (_obj, _type, _ret) {
		if (isType(_ret, "undefined")) return (!isType( _obj, _type ));
		return (!isType(_obj, _type))?_obj:_ret;
	}
	function isEmpty (_str, _def) {
		if (isType (_def, "undefined")) return (isType(_str, "undefined"));
		return ( isEmpty(_str) || _str.length == 0 )?_def:_str;
	}
	function LTrim (_text) {
		if (isEmpty(_text)) return "";
		return _text.replace (/^([\t| ]{1,})/g, "");
	}
	function RTrim (_text) {
		if (isEmpty(_text)) return "";
		return _text.replace (/([\t| ]{1,})$/g, "");
	}
	function RLTrim (_text) {
		return RTrim(LTrim(_text));
	}
/* ********** isType Fonksiyonu Başlangıç ********** */