document.onmousemove=DocumentMouseMoveEvent;

// *********Style Switch ***********//
	function StyleSwitchInit(xManual,xRandomSetting)
		{//"xManual="manual" or "random" //xRandomSetting="eachtime", "sessiononly", or "x days (replace x with desired integer)". Only applicable if mode is random.
			if (xManual=="manual")
				{//IF MANUAL MODE
					selectedtitle=GetCookie("mysheet")
					if (document.getElementById && selectedtitle!=null)//load user chosen style sheet from cookie if there is one stored
						setStylesheet(selectedtitle)
				}
			else if (xManual=="random")
				{//IF AUTO RANDOM MODE
					if (xRandomSetting=="eachtime")
						setStylesheet("", "random")
					else if (xRandomSetting=="sessiononly")
						{ //if "sessiononly" setting
							if (GetCookie("mysheet_s")==null) //if "mysheet_s" session cookie is empty
								document.cookie="mysheet_s="+setStylesheet("", "random")+"; path=/"  //activate random alt stylesheet while remembering its "title" value
							else
								setStylesheet(GetCookie("mysheet_s")) //just activate random alt stylesheet stored in cookie
						}
					else if (xRandomSetting.search(/^[1-9]+ days/i)!=-1)
						{//if "x days" setting
							if (GetCookie("mysheet_r")==null || parseInt(GetCookie("mysheet_r_days"))!=parseInt(xRandomSetting))
								{ //if "mysheet_r" cookie is empty or admin has changed number of days to persist in "x days" variable
									SetCookie("mysheet_r", setStylesheet("", "random"), parseInt(xRandomSetting))  //activate random alt stylesheet while remembering its "title" value
									SetCookie("mysheet_r_days", xRandomSetting, parseInt(xRandomSetting)) //Also remember the number of days to persist per the "x days" variable
								}
					else
						setStylesheet(GetCookie("mysheet_r")) //just activate random alt stylesheet stored in cookie
				}
			}
		}
	function GetCookie(xName)
		{ 
			var re=new RegExp(xName+"=[^;]+", "i"); //construct RE to search for target name/value pair
			if (document.cookie.match(re)) //if cookie found
				return document.cookie.match(re)[0].split("=")[1] //return its value
			return null
		}
	function SetCookie(xName, xValue, xDays)
		{
			var expireDate = new Date()
			//set "expstring" to either future or past date, to set or delete cookie, respectively
			var expstring=(typeof xDays!="undefined")? expireDate.setDate(expireDate.getDate()+parseInt(xDays)) : expireDate.setDate(expireDate.getDate()-5)
			document.cookie = xName+"="+xValue+"; expires="+expireDate.toGMTString()+"; path=/";
		}
	function DeleteCookie(xName)
		{
			SetCookie(xName, "moot")
		}
	function setStylesheet(xTitle, xRandomize)
		{//Main stylesheet switcher function. Second parameter if defined causes a random alternate stylesheet (including none) to be enabled
			var cacheobj, altsheets=[""]
			for(var i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++)
				{
					if(cacheobj.getAttribute("rel").toLowerCase()=="alternate stylesheet" && cacheobj.getAttribute("title")) 
						{ //if this is an alternate stylesheet with title
							cacheobj.disabled = true
							altsheets.push(cacheobj) //store reference to alt stylesheets inside array
							if(cacheobj.getAttribute("title") == xTitle) //enable alternate stylesheet with title that matches parameter
								cacheobj.disabled = false //enable chosen style sheet
						}
				}
			if (typeof xRandomize!="undefined")
				{ //if second paramter is defined, randomly enable an alt style sheet (includes non)
					var randomnumber=Math.floor(Math.random()*altsheets.length);
					altsheets[randomnumber].disabled=false;
				}
			return (typeof xRandomize!="undefined" && altsheets[randomnumber]!="")? altsheets[randomnumber].getAttribute("title") : ""//if in "random" mode, return "title" of randomly enabled alt stylesheet
		}
	function chooseStyle(xStyleTitle, xDays)
		{//Interface function to switch style sheets plus save "title" attr of selected stylesheet to cookie
			if (document.getElementById)
				{
					setStylesheet(xStyleTitle)
					SetCookie("mysheet", xStyleTitle, xDays)
				}
		}

	  function indicateSelected(xElement)
		{//Optional function that shows which style sheet is currently selected within group of radio buttons or select menu
			if (selectedtitle!=null && (xElement.type==undefined || xElement.type=="select-one"))
				{//if xElement is a radio button or select menu
					var xElement=(xElement.type=="select-one") ? xElement.options : xElement
					for (var i=0; i<xElement.length; i++)
						{
							if (xElement[i].value==selectedtitle)
								{//if match found between form xElement value and cookie value
									if (xElement[i].tagName=="OPTION") //if this is a select menu
										xElement[i].selected=true
									else //else if it's a radio button
										xElement[i].checked=true
									break
								}
						}
				}
		}
	function TextUpperCase(xValue)
		{
			xValue = ReplaceEX(xValue,"ç","Ç")
			xValue = ReplaceEX(xValue,"ğ","Ğ")
			xValue = ReplaceEX(xValue,"ı","I")
			xValue = ReplaceEX(xValue,"i","İ")
			xValue = ReplaceEX(xValue,"ö","Ö")
			xValue = ReplaceEX(xValue,"ş","Ş")
			xValue = ReplaceEX(xValue,"ü","Ü")
			xValue = xValue.toUpperCase()
			return deger;
		}
// ************* GRID **************//
	var OmGrid
	function NewGrid(table)
		{//							  TBODY			TR			TD				DIV
			this.cornerDiv      = table.childNodes[0].childNodes[0].childNodes[0].childNodes[0];
			this.headerRowDiv   = table.childNodes[0].childNodes[0].childNodes[1].childNodes[0];
			this.headerColumnDiv= table.childNodes[0].childNodes[1].childNodes[0].childNodes[0];
			this.bodyDiv        = table.childNodes[0].childNodes[1].childNodes[1].childNodes[0];
			this.RecCountDiv    = table.childNodes[0].childNodes[2].childNodes[1];
			this.SearchDiv      = table.childNodes[0].childNodes[3].childNodes[1];
			this.Parent         = table.parentElement;
			this.SelectedElement = null;
			this.headerRowDivW   = table.childNodes[0].childNodes[0].childNodes[1].childNodes[0].offsetWidth;
			this.headerColumnDivH= table.childNodes[0].childNodes[1].childNodes[0].childNodes[0].offsetHeight;
			this.bodyDivW        = table.childNodes[0].childNodes[1].childNodes[1].childNodes[0].offsetWidth;
			this.bodyDivH        = table.childNodes[0].childNodes[1].childNodes[1].childNodes[0].offsetHeight;
			this.ParentW         = table.parentElement.offsetWidth;
			this.ParentH         = table.parentElement.offsetHeight;
		}
	function GridDefaultSize()
		{
			OmGrid.headerRowDiv.style.width     = OmGrid.headerRowDivW   
			OmGrid.headerColumnDiv.style.height = OmGrid.headerColumnDivH
			OmGrid.bodyDiv.style.width          = OmGrid.bodyDivW        
			OmGrid.bodyDiv.style.height         = OmGrid.bodyDivH        
			OmGrid.Parent.style.width           = OmGrid.ParentW         
			OmGrid.Parent.style.height          = OmGrid.ParentH         
		}
	function GridInitialize(table)
		{
			OmGrid = new NewGrid(table)
			ResizeCells();	
			OmGrid.bodyDiv.onscroll = SyncScroll;
			ResizeGridArea();
			window.onresize = ResizeGridArea;
		}
	function SyncScroll()
		{
			OmGrid.headerRowDiv.scrollLeft = OmGrid.bodyDiv.scrollLeft;
			OmGrid.headerColumnDiv.scrollTop = OmGrid.bodyDiv.scrollTop;
		}
	function ResizeGridArea()
		{
			GridDefaultSize();
			var loScreen             = OmGrid.bodyDiv;
			var loTable              = OmGrid.bodyDiv.childNodes[0];
			var loHeader             = OmGrid.headerRowDiv;
			var loSearch             = OmGrid.SearchDiv;
			var loRecCount           = OmGrid.RecCountDiv;
			var loRecNo              = OmGrid.headerColumnDiv;
			loScreen.style.overflow  = "scroll";
			loScreen.style.overflowY = "scroll";
			loScreen.style.overflowX = "scroll";
			loRecNo.style.overflow   = "hidden";
			loHeader.style.overflow  = "hidden";
			var lnBottomScroll       = 17
			var lnRightScroll        = 17
			var lnLocalHeight        = 0;
			//var lnHeight             = 310;
			//var lnWidth              = 310;
			var lnHeight             = document.documentElement.offsetHeight - 40;
			var lnWidth              = document.documentElement.offsetWidth  - 25;
			var lnTemp               = (loHeader.offsetHeight + loRecCount.offsetHeight + loSearch.offsetHeight)
			var lnLocalHeight        = loTable.offsetHeight   + lnTemp
			var lnLocalWidth         = loTable.offsetWidth    + loRecNo.offsetWidth
			if (lnHeight>lnLocalHeight)
				{
					lnHeight                 = lnLocalHeight;
					loScreen.style.overflowY = "hidden";
					lnRightScroll            = 0;
				}
			if (lnWidth>lnLocalWidth)
				{
					lnWidth                  = lnLocalWidth;
					loScreen.style.overflowX = "hidden";
					lnBottomScroll           = 0;
				}
			
			var lnRecNoHeight          = lnHeight               - lnTemp
			var lnScreenHeight         = lnRecNoHeight          + lnBottomScroll
			loScreen.style.height      = lnScreenHeight         + "px"
			loRecNo.style.height       = lnRecNoHeight          + "px"
			var lnHeaderWidth          = lnWidth                - loRecNo.offsetWidth - lnRightScroll
			var lnScreenWidth          = lnWidth                - loRecNo.offsetWidth
			loScreen.style.width       = lnScreenWidth          + "px"
			loHeader.style.width       = lnHeaderWidth          + "px"
			OmGrid.Parent.style.height = lnHeight               + lnBottomScroll + 1 + "px";
			OmGrid.Parent.style.width  = lnWidth                + 2 + "px";
		}
	function ResizeCells()
		{
			// Width
			var loFirstItem  = OmGrid.cornerDiv.childNodes[0].childNodes[0].childNodes[0].childNodes[0];
			var loSecondItem = OmGrid.headerColumnDiv.childNodes[0].childNodes[0].childNodes[0].childNodes[0];
			SetWidth(loFirstItem,loSecondItem);
			var loCollection1 = OmGrid.headerRowDiv.childNodes[0].childNodes[0].childNodes[0].childNodes;
			var loCollection2 = OmGrid.bodyDiv.childNodes[0].childNodes[0].childNodes[0].childNodes;
			SetCollectonSizes(loCollection1,loCollection2)
			// Height
			loFirstItem  = OmGrid.cornerDiv.childNodes[0].childNodes[0].childNodes[0].childNodes[0]
			loSecondItem = OmGrid.headerRowDiv.childNodes[0].childNodes[0].childNodes[0].childNodes[0]
			SetHeight(loFirstItem,loSecondItem);
			loCollection1 = OmGrid.headerColumnDiv.childNodes[0].childNodes[0].childNodes;
			loCollection2 = OmGrid.bodyDiv.childNodes[0].childNodes[0].childNodes;
			SetCollectonSizes(loCollection1,loCollection2)
		}
	function SetCollectonSizes(xCollectionFirst,xCollectionSecond)
		{
			for (var i = 0; i < xCollectionFirst.length; i++)
				{
					var loFirstItem		= xCollectionFirst[i]
					var loSecondItem	= xCollectionSecond[i]
					var lcTagName		= loFirstItem.tagName
					if (lcTagName == "TD" || lcTagName == "TH")
						{
							SetWidth(loFirstItem,loSecondItem);
						}
					else if (lcTagName == "TR")
						{
							SetHeight(loFirstItem,loSecondItem);
						}
				}
		}
	function SetWidth(xElement1, xElement2)
		{
			if (xElement1.offsetWidth < xElement2.offsetWidth)
				{
					xElement1.childNodes[0].style.width = xElement2.offsetWidth - 20 + "px";
					xElement2.childNodes[0].style.width = xElement2.offsetWidth - 20 + "px";
				}
			else
				{
					xElement2.childNodes[0].style.width = xElement1.offsetWidth - 20 + "px";
					xElement1.childNodes[0].style.width = xElement1.offsetWidth - 20 + "px";
				}
		}
	function SetHeight(xElement1, xElement2)
		{
			if (xElement1.offsetHeight < xElement2.offsetHeight)
				{
					xElement1.childNodes[0].style.height = xElement2.offsetHeight - 2 + "px";
					xElement2.childNodes[0].style.height = xElement2.offsetHeight - 2 + "px";
				}
			else
				{
					xElement2.childNodes[0].style.height = xElement1.offsetHeight - 2 + "px";
					xElement1.childNodes[0].style.height = xElement1.offsetHeight - 2 + "px";
				}
		}
	function SearchInGrid(xSearchString)
		{
			var Table = OmGrid.bodyDiv.childNodes[0].childNodes[0];
			var lnRowCount=Table.rows.length;
			var lbool = false;
			var lnColumnSearched=OmGrid.SearchDiv.children(0).selectedIndex;
			var lcSrcString = OmGrid.SearchDiv.children(1).value;
			if (OmGrid.SelectedElement!=null){OmGrid.SelectedElement.style.backgroundColor =""}
			for (var lnRow=0;lnRow<=lnRowCount-1;lnRow++)
				{// satırlarda dön
					var loRow=Table.rows[lnRow];
					var lnColCount=loRow.cells.length;
					if (lcSrcString.length)
						{
							if (lnColumnSearched>0)
								{
									var loCol=loRow.cells[lnColumnSearched]
									if (loCol.outerText.indexOf(lcSrcString)>-1 )
										{
											lbool =true;
										}
								}
							else 
								{
									for (var lnCol=0;lnCol<=lnColCount-1; lnCol++)
										{
											var loCol=loRow.cells[lnCol]
											if (loCol.outerText.indexOf(lcSrcString)>-1 )
												{
													lbool =true;
													break;
												}
										}
								}
						}
					if (lbool)
						{
							OmGrid.bodyDiv.scrollTop=loRow.offsetTop;
							OmGrid.bodyDiv.scrolLeft=loCol.offsetLeft + "px";
							OmGrid.SelectedElement=loCol
							OmGrid.SelectedElement.style.backgroundColor="#FFF8A7";
							break;
						}
					else
						{
							OmGrid.SelectedElement = null
							OmGrid.bodyDiv.scrollTop=0
						}
				}
		}
// ************ TOOLS **************//
	function ErrorToolTip(xObject,xErrorText)
		{
			var lcName = "errortooltip" + (Math.random() * 1000)
			var RealOffset	= GetRealOffset(xObject)
			var lnLeft		= RealOffset.left+4
			var lnTop		= RealOffset.top + xObject.offsetHeight-4
			if (! document.getElementById(lcName))
				{
					var newInp = document.createElement("<div class='errortooltip' style='display:none;' id='" + lcName + "'></div>"); 
					document.body.appendChild(newInp);
				}
			var loToolTip = document.getElementById(lcName)
			loToolTip.style.display	= "block";
			loToolTip.style.left	= lnLeft+"px";
			loToolTip.style.top		= lnTop+"px";
			loToolTip.innerHTML		= "<b>Hata:</b> " + xErrorText;
			setTimeout("document.body.removeChild(document.getElementById('"+ lcName +"'));",5000);
		}
	function OmMsgBox(xTitle, xNote, xTimeOut,xLeft,xTop,xISErr)
		{
			var lcName = "OMMSGBOX" + (Math.random() * 1000)
			var loElement
			//bitmedi burada clas ayrımı yapılacak  xISErr
			if (xTimeOut=="0"){xTimeOut = 5000}
			if (! document.getElementById(lcName))
				{
					var loTemp = document.createElement("<div class='OMMSGBOX_div' onclick='document.body.removeChild(this)' id='" + lcName + "' style='display:none;'></div>"); 
					document.body.appendChild(loTemp);
					document.getElementById(lcName).innerHTML="<table class='OMMSGBOX_table' id='OMMSGBOX_table' cellspacing='0' cellpadding='0'><tr><td class='OMMSGBOX_title' id='OMMSGBOX_title'></td></tr><tr><td class='OMMSGBOX_note' ><div id='OMMSGBOX_note'></div></td></tr></table>"
				}
			loElement = document.getElementById(lcName)
			loElement.style.display="block";
			var loTitle	= loElement.children(0).children(0).children(0).children(0)
			var loMsg	= loElement.children(0).children(0).children(1).children(0)
			if (xTitle	=="" ){xTitle	="Hata"}
			loTitle.innerHTML=xTitle;
			loMsg.innerHTML=xNote;
			if (xTop	=="0"){xTop		= Math.round(document.documentElement.offsetHeight/2);}
			if (xLeft	=="0"){xLeft	= Math.round(document.documentElement.offsetWidth/2) - Math.round(loElement.offsetWidth/2);}
			loElement.style.left	= xLeft + "px";
			loElement.style.top		= xTop  + "px";
			loElement.style.height	= "1px";
			OmMsgBox_fadein(lcName)
			if (!(xTimeOut=="" || xTimeOut=="0"))
				{
					setTimeout("if (document.getElementById('" + lcName + "')){document.body.removeChild(document.getElementById('" + lcName + "'));};",xTimeOut);
				}
		}
	function OmMsgBox_fadein(xName)
		{
			var loElement = document.getElementById(xName)
			if (loElement)
				{
					var loTable = loElement.children(0)
					var lnAttir	= Math.round(loTable.offsetHeight/10)
					loElement.style.height	= (loElement.offsetHeight + lnAttir) + "px"
					loElement.style.top		= (loElement.offsetTop - Math.round(lnAttir/2)) + "px"
					if (loElement.offsetHeight <= loTable.offsetHeight)
						{
							setTimeout("OmMsgBox_fadein('" + xName + "')",20);
						}
					else
						{
							loElement.style.height = loTable.offsetHeight + "px"
						}
				}
		}
// ******* VARIUS FUNCTIONS ********//
	var MousePositionY    = 0;
	var MousePositionX    = 0;
	var MouseEventObject  = ''
	var MouseEventType    = 0
	var CursorOnHeaderX   = 0
	var CursorOnHeaderY   = 0
	function DocumentMouseMoveEvent(e)
		{
			if (!document.all)
				{
					MousePositionX=e.pageX;
					MousePositionY=e.pageY;
				}
			else
				{
					MousePositionX=event.clientX;
					MousePositionY=event.clientY;
				}
			if (MouseEventType==1)
				{
				}
			else if (MouseEventType==2)
				{
				}
			else if (MouseEventType==3)
				{
					OMWindowMove(GetMyElement(MouseEventObject)
								,0
								,0
								,(MousePositionX - CursorOnHeaderX)
								,(MousePositionY - CursorOnHeaderY))
				}
			else if (MouseEventType==4)
				{
					OMWindowMove(GetMyElement(MouseEventObject)
								,0
								,0
								,(MousePositionX - CursorOnHeaderX)
								,(MousePositionY - CursorOnHeaderY))
				}
			else if (MouseEventType==5)
				{
					OMWindowMove(GetMyElement(MouseEventObject)
								,(MousePositionX - CursorOnHeaderX)
								,(MousePositionY - CursorOnHeaderY)
								,0
								,0)
				}
		}
	function GetMyElement(xID){return (document.getElementById(xID));}
	function IsValidEmail(xAdres)
		{
			var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9\-\.])+\.([A-Za-z]{2,4})$/;
			if(reg.test(xAdres) == false){return false;}else{return true;}
		}
	function IsDate(xTarih)
		{
			var tarihFormati = /^(\d{1,2})(\.)(\d{1,2})(\.)(\d{4})$/;
			var tarihDizisi = xTarih.match(tarihFormati);
			if (tarihDizisi == null){return false;}
			var gun = tarihDizisi[1];
			var ay  = tarihDizisi[3]; 
			var yil = tarihDizisi[5];
			if (ay  < 1 ||  ay > 12){return false;}
			if (gun < 1 || gun > 31){return false;}
			if ((ay==4 || ay==6 || ay==9 || ay==11) && gun==31){return false;}
			if (ay == 2)
				{ 
					var isleap = (yil % 4 == 0 && (yil % 100 != 0 || yil % 400 == 0));
					if (gun > 29 || (gun==29 && !isleap)) {return false;}
				}
			return true; 
		}
	function isFloat(xValue)
		{
			var lRet = trim(xValue);
			return lRet.length>0 && !(/[^0-9.]/).test(lRet) && (/\.\d/).test(lRet);
		}
	function IsNumeric(strString)
		{
			var strValidChars = "0123456789.-";
			var strChar;
			var blnResult = true;
			if (strString.length == 0) return false;
			for (var i = 0; i < strString.length && blnResult == true; i++)
				{
					strChar = strString.charAt(i);
					if (strValidChars.indexOf(strChar) == -1){blnResult = false;}
				}
			return blnResult;
		}
	function SetItDate(xValue)
		{
			var lRet	= xValue
			var lnDay	= "00"
			var lnMonth	= "00"
			var lnYear	= "0000"
			if (lRet=="*")
				{
					var temp	= new Date()
					lnDay		= temp.getDate();
					lnMonth		= temp.getMonth();
					lnYear		= temp.getFullYear();
				}
			if (IsNumeric(lRet))
				{
					lnDay	= lRet.substring(1,2)
					lnMonth	= lRet.substring(3,4)
					if (lRet.length == 6)
						{
							if(lRet.substring(5,2) > "49")
								{
									lnYear	= "19" + lRet.substring(5,6)
								}
							else
								{
									lnYear	= "20" + lRet.substring(5,6)
								}
						}
					else if (lRet.length == 8)
						{
							lnYear	= lRet.substring(5,8)
						}
				}
			else
				{
					lRet = ReplaceEX(lRet,"/",".")
					lRet = ReplaceEX(lRet,",",".")
					lRet = ReplaceEX(lRet,",",".")
				}
			if (!IsDate(lRet))
				{
					lRet = lnDay + "." + lnMonth + "." + lnYear
				}
			return lRet
		}
	function GetRealOffset(xObject) 
		{
			var loParent	= xObject.offsetParent;
			var lnLeft		= xObject.offsetLeft;
			var lnTop		= xObject.offsetTop;
			var lRet		= new Object();
			while (loParent.tagName != "BODY")
				{
					lnLeft = lnLeft + loParent.offsetLeft;
					lnTop  = lnTop  + loParent.offsetTop;
					loParent = loParent.offsetParent;
				}
			lRet.top	= lnTop;
			lRet.left	= lnLeft;
			return lRet
		}
	function ReplaceEX(xValue,xOld,xNew)
		{
			for (var i=0;i<xValue.length ; i++)
			{
				xValue = xValue.replace(xOld,xNew)
			}
			return xValue
		}
	function AjaxObJect()
		{
			 var lRet=null;
			 try
				 {
					 lRet=new ActiveXObject("Msxml2.XMLHTTP");
				 }
			 catch(e)
				 {
					  try
						  {
							lRet=new ActiveXObject("Microsoft.XMLHTTP");
						  } 
					  catch(oc)
						  {
							  lRet=null;
						 }
				 }
			 if(!lRet && typeof XMLHttpRequest != "undefined") 
			 {
				  lRet=new XMLHttpRequest();
			 }
			 return lRet;
		}
	function SetAjaxInnerHTML(xURL,xObject,xlcID)
		{
			var lcURL = xURL + "*ForAJAX·1"
			var loTemp = AjaxObJect(); 
			var lRet   = "";
			if(loTemp)
				{
					loTemp.open("GET",lcURL,true);
					loTemp.onreadystatechange=function()
							{
								if(loTemp.readyState == 4)
									{
										var donen = loTemp.responseText
										xObject.innerHTML = donen;
										OMWindowMove(GetMyElement(xlcID),0,0,parseInt(xObject.offsetWidth)+6,parseInt(xObject.offsetHeight)+33);
									}
							}; 
					loTemp.send();
				}
		}

// ************ FORM ***************//
	function OF_SetElements(xForm)
		{
			var loFormBody=xForm.children[0].children[0].children[1].children[0].children[0]
			for (var i=0;i<loFormBody.children.length;i++)
				{
					var loNode = loFormBody.children[i]
					if (loNode.tagName=="DIV")
						{
							if (loNode.children.length==3)
								{
									OFE_SetEvents(loNode.children[1]);
								}	
						}
				}
		}
	function OFE_SetEvents(xObject)
		{
			xObject.onafterupdate		= function(){OFE_Onafterupdate()}
			xObject.onblur				= function(){OFE_Onblur()}
			xObject.onchange			= function(){OFE_Onchange()}
			xObject.onclick				= function(){OFE_Onclick()}
			xObject.ondblclick			= function(){OFE_Ondblclick()}
			xObject.onerrorupdate		= function(){OFE_Onerrorupdate()}
			xObject.onfilterchange		= function(){OFE_Onfilterchange()}
			xObject.onfocus				= function(){OFE_Onfocus()}
			xObject.onhelp				= function(){OFE_Onhelp()}
			xObject.onkeydown			= function(){OFE_Onkeydown()}
			if (xObject.tagName != "SELECT" & xObject.tagName != "TEXTAREA")
				{
					xObject.onkeypress	= function(){OFE_Onkeypress()}
				}
			xObject.onkeyup				= function(){OFE_Onkeyup()}
			xObject.onmousedown			= function(){OFE_Onmousedown()}
			xObject.onmousemove			= function(){OFE_Onmousemove()}
			xObject.onmouseout			= function(){OFE_Onmouseout()}
			xObject.onmouseover			= function(){OFE_Onmouseover()}
			xObject.onmouseup			= function(){OFE_Onmouseup()}
			xObject.onpropertychange	= function(){OFE_Onpropertychange()}
		}
	function OFE_Onafterupdate(){}
	function OFE_Onblur(){OFE_Onchange()}
	function OFE_Onchange()
		{
			var loEventElement = window.event.srcElement
			if (IsOmFormElement(loEventElement))
				{
					var loParentElement = loEventElement.parentElement
					var lcCaption		= loParentElement.children(0).innerText
					lcCaption			= lcCaption.replace("(*)","")
					var lcValue			= loParentElement.children(1).value
					var lcTemp			= loParentElement.children(2).value
					if (lcTemp.indexOf("·")>0)
						{
							var lnRequired = lcTemp.substring(0,lcTemp.indexOf("·"))
							var lnDataType = lcTemp.substring(lcTemp.indexOf("·") + 1)
						}
						var loErr = OmFormItemRequiredCheck(lnRequired,lcValue,lnDataType,lcCaption)
					if (!loErr.OK)
						{
							ErrorToolTip(loParentElement,loErr.Msg)
						}
					if (lcTemp.indexOf("·",lcTemp.indexOf("·") + 1)>0)
						{
							//AjaxOnChange(loTemp)
						}
				}
		}
	function OFE_Onclick(){}
	function OFE_Ondblclick(){}
	function OFE_Onerrorupdate(){}
	function OFE_Onfilterchange(){}
	function OFE_Onfocus(){}
	function OFE_Onhelp(){}
	function OFE_Onkeydown(){}
	function OFE_Onkeypress()
		{
			var loEventElement = window.event.srcElement
			if (window.event.keyCode==13)
				{
					OmFormSubmit(loEventElement.form)
				}
			else 
				{
					if (IsOmFormElement(loEventElement))
					{
						var lcType = loEventElement.parentElement.children(2).value
						if (lcType.indexOf("·")>0)
						{
							var lnDataType = lcType.substring(lcType.indexOf("·")+1) 
							window.event.returnValue = OmFormItemValidKeyPress(lnDataType,window.event.keyCode)
						}
					}
				}
		}
	function OFE_Onkeyup(){}
	function OFE_Onmousedown(){}
	function OFE_Onmousemove(){}
	function OFE_Onmouseout(){}
	function OFE_Onmouseover(){}
	function OFE_Onmouseup(){}
	function OFE_Onpropertychange(){}
	function IsOmFormElement(xObject)
		{
			var lRet = false
			lRet = ((xObject.tagName == "SELECT") || (xObject.tagName == "INPUT"))
			lRet = lRet & (xObject.parentElement.tagName =="DIV")
			if (lRet){lRet = (xObject.parentElement.children.length==3)}
			if (lRet){lRet = (xObject.parentElement.children(0).tagName == "LABEL")}
			if (lRet){lRet = (xObject.parentElement.children(2).tagName == "INPUT")}
			return lRet
		}
	function OmFormItemRequiredCheck(xRequired,xValue,xDataType,xCaption)
		{
			var llOK	= (xValue!="")
			var lcMsg	= ""
			if (xRequired == "0")
				{//Boş bırakılabilir
					llOK = true
				}
			else if (xRequired == "1")
				{//NoCare
					lcMsg = OmFormItemTypeCheck(xValue,xDataType)
				}
			else if (xRequired == "2")
				{//Numeric
					xDataType = 2
					lcMsg = OmFormItemTypeCheck(xValue,xDataType)
				}
			if (!llOK){lcMsg = "· Boş bırakılamaz"}
			lcMsg		= lcMsg.replace("·", '<b>"' + xCaption + '"</b>')
			llOK		= ( lcMsg == "")
			var lRet	= new Object()
			lRet.OK		= llOK
			lRet.Msg	= lcMsg
			return lRet
		}
	function OmFormItemTypeCheck(xValue,xDataType)
		{
			var lRet = ""
			var llOk = true
			if (xDataType		== "0")
				{// String
				}
			else if (xDataType	== "1")
				{// Integer
					llOk = IsNumeric(xValue)
					if (llOk)
						{
							llOk = llOk & !isFloat(xValue)
							if (!llOk){lRet="· Tamsayı olmalıdır"}
						}
					else 
						{
							lRet="· Sayısal ifade içermelidir"
						}
				}
			else if (xDataType	== "2")
				{// Float
					llOk = IsNumeric(xValue)
					if (!llOk){lRet="· Sayısal ifade içermelidir"}
				}
			else if (xDataType	== "3")
				{// DateTime
					xValue=SetItDate(xValue)
					llOk = IsDate(xValue)
					if (!llOk){lRet = "· Tarih ifadesi içermelidir"}
				}
			else if (xDataType	== "4")
				{// Boolean
				}
			else if (xDataType	== "5")
				{// Phone
					xValue = ReplaceEX(xValue," ","")
					xValue = ReplaceEX(xValue,"(","")
					xValue = ReplaceEX(xValue,")","")
					xValue = ReplaceEX(xValue,"+","")
					llOk = (xValue.length > 9)
					if (llOk)
						{
							llOk = IsNumeric(xValue)
							if(!llOk){lRet = "· Telefon bilgisinde sayısal olmayan ifadeler kullanılamaz"}
						}
					else
						{
							lRet = "· Alan kodu ile birlikte en az 10 haneli olmalıdır"
						}
				}
			else if (xDataType	== "6")
				{// TaxNum
					xValue = ReplaceEX(xValue," ","")
					llOk = IsNumeric(xValue)
					if (llOk)
						{
							llOk = (xValue.length==10);
							if(!llOk){lRet = "· 10 haneli olmalıdır"};
						}
					else 
						{
							lRet = "·Vergi numarasında sayısal ifade kullanılır"
						}
				}
			else if (xDataType	== "7")
				{// TCKimlik
					xValue = ReplaceEX(xValue," ","")
					llOk = IsNumeric(xValue)
					if (llOk)
						{
							llOk = (xValue.length=11)
							if(!llOk){lRet = "· 11 haneli olmalıdır"}
						}
					else 
						{
							lRet = "·TC Kimlik numarasında sayısal ifade kullanılır"
						}
				}
			else if (xDataType	== "8")
				{// e-mail
					llOk = IsValidEmail(xValue)
					if(!llOk){lRet = "· geçersiz e-posta adresi"}
				}
			return lRet
		}
	function OmFormItemValidKeyPress(xDataType,xkeyCode)
		{
			var lRet = true 
			if (xDataType		=="0")
				{// String
				}
			else if (xDataType	=="1")
				{ // Integer
					lRet = ((xkeyCode > 47) & (xkeyCode < 58)) //|| (xkeyCode == 45)
				}
			else if (xDataType	=="2")
				{// Float
					lRet = ((xkeyCode > 47) & (xkeyCode < 58)) || (xkeyCode == 44) //|| (xkeyCode == 45)
				}
			else if (xDataType	=="3")
				{// DateTime
					lRet = ((xkeyCode > 45) & (xkeyCode < 58)) || (xkeyCode == 44) || (xkeyCode == 42)
				}
			else if (xDataType	=="4")
				{// Boolean
				}
			else if (xDataType	=="5")
				{// Phone
					lRet = ((xkeyCode > 47) & (xkeyCode < 58)) || (xkeyCode == 40) || (xkeyCode == 41) || (xkeyCode == 43) || (xkeyCode == 32)
				}
			else if (xDataType	=="6")
				{// TaxNum
					lRet = ((xkeyCode > 47) & (xkeyCode < 58)) || (xkeyCode == 32)
				}
			else if (xDataType	=="7")
				{// TCKimlik
					lRet = ((xkeyCode > 47) & (xkeyCode < 58)) || (xkeyCode == 32)
				}
			return lRet
		}
	function OmFormSubmit(xForm)
		{
			var lRet = true
			var loNodes = xForm.children(0).children(0).children(1).children(0).children(0)
			for (var i=0;i<loNodes.children.length; i++)
				{
					var loNode=loNodes.children[i]
					if (loNode.children.length == 3 )
						{
							var lcTagName = loNode.children(1).tagName
							if ((lcTagName=="INPUT") || (lcTagName=="SELECT"))
								{
									var lcCaption	= loNode.children(0).innerText
									lcCaption		= lcCaption.replace("(*)","")
									var lcValue		= loNode.children(1).value
									var lcTemp		= loNode.children(2).value
									if (lcTemp.indexOf("·")>0)
										{
											var lnRequired	= lcTemp.substring(0,lcTemp.indexOf("·"))
											var lnDataType	= lcTemp.substring(lcTemp.indexOf("·")+1)
											var loErr = OmFormItemRequiredCheck(lnRequired,lcValue,lnDataType,lcCaption)
											if (!loErr.OK)
												{
													lRet = false ;
													OmMsgBox("Form Hatası !",loErr.Msg,0,0,0,false);
													if (!loNode.children(1).disabled)
														{
															loNode.children(1).focus
														}
													break;
												}
										}
									
								}
						}
				}
			if (lRet)
				{
					if (xForm.FormItemCount.value>1){xForm.submit()}
				}
		}
// ************ MENU ***************//
	function MenuHeaderClick(xMenuItem)
		{
			var loArrow = xMenuItem.childNodes[0].childNodes[1]
			var loBody  = xMenuItem.childNodes[1]
			xMenuItem
			if (loBody.style.display == "")
				{
					loBody.style.display = "none";
					loArrow.className = "FlipObjectHeaderArrowClosed";
				}
			else 
				{
					loBody.style.display = "";
					loArrow.className = "FlipObjectHeaderArrowOpened";
				}
		}

// ************ OMWindow************//
	function OMWindowCreate(xCaption,xPage,xUseMode,xForce,xProperty)
		{
			var lcID  =					'Page' + xPage + 'UseMode'   + xUseMode + 'Force'   + xForce + 'Property'   + xProperty
			var lcURL = "http://server/?Page=" + xPage + "&UseMode=" + xUseMode + "&Force=" + xForce + "&Property=" + xProperty
			if (!document.getElementById(lcID))
				{
					var lcHTML = '<div id="'+lcID+'" class="FormWindow" onmousedown="javascript:OMWindowStartResize(this);" onmouseup="javascript:OMWindowEndResize(this);"></div>'
					var loTemp = document.createElement(lcHTML)
						//
					loTemp.innerHTML ='<div class="FormWindowHeader">'
									+ '<div class="FormWindowCaption" onmousedown="javascript:OMWindowStartDrag(this.parentElement);" onmouseup="javascript:OMWindowEndDrag(this.parentElement);">' + xCaption + '</div>'
									+ '<div class="FormWindowBtnMin" onclick="javascript:OMWindowMaxMinEvent(this);">&nbsp;</div>'
									+ '<div class="FormWindowBtnClose" onclick="javascript:document.body.removeChild(this.parentElement.parentElement);">&nbsp;</div>'
									+ '</div>'
									+ '<div  id="'+lcID+'FrameBox" class="FormWindowBody" style=""><iframe scrolling="no"></iframe>'
									+ '</div>'
					document.body.appendChild(loTemp)
					OMWindowMove(GetMyElement(lcID),30,30,3000,3000);
				}
			SetAjaxInnerHTML(lcURL,GetMyElement(lcID+'FrameBox'),lcID);
		}
	function OMWindowEndDrag(xElement)
		{
			xElement.style.cursor = 'hand';
			MouseEventType = 0;
		}
	function OMWindowStartDrag(xElement)
		{
			var loWindow          = xElement.parentElement.style
			xElement.style.cursor = 'move';'img/WindowMove.cur';
			CursorOnHeaderX       = MousePositionX - parseInt(loWindow.left);
			CursorOnHeaderY       = MousePositionY - parseInt(loWindow.top);
			MouseEventObject      = xElement.parentElement.id
			MouseEventType        = 5
			return true
		}
	function OMWindowMaxMinEvent(xWindow)
		{
			var loTemp = xWindow.parentElement.parentElement.childNodes(1)
			if (xWindow.className == "FormWindowBtnMin")
				{
					xWindow.className = "FormWindowBtnMax";
					loTemp.style.visibility="hidden";
					OMWindowMove(xWindow.parentElement.parentElement,0,0,-1,-1);
				}
			else 
				{
					xWindow.className = "FormWindowBtnMin";
					loTemp.style.visibility="visible";
					OMWindowMove(xWindow.parentElement.parentElement,0,0,parseInt(loTemp.offsetWidth)+6,parseInt(loTemp.offsetHeight)+26);
				}
		}
	function OMWindowMove(xWindow,xLeft,xTop,xWidth,xHeight)
		{
			var loWindow = xWindow.style
			var loFrame = xWindow.childNodes[1].childNodes[0].style
			if (xLeft   > 0){loWindow.left   = xLeft   + 'px'}
			if (xLeft  ==-1){loWindow.left   = '0px'}
			if (xTop    > 0){loWindow.top    = xTop    + 'px'}
			if (xTop   ==-1){loWindow.top    = '0px'}
			if (xWidth  > 0){loWindow.width  = xWidth  + 'px';loFrame.width  = (xWidth -  6) + 'px'}
			if (xHeight > 0){loWindow.height = xHeight + 'px';loFrame.height = (xHeight -26) + 'px'}
			//if (xHeight==-1){loWindow.height = '25px';loWindow.width=""}
			if (xHeight==-1){loWindow.height = '25px'}
		}
	function OMWindowEndResize(xElement)
		{
			xElement.style.cursor = 'hand';
			MouseEventType = 0;
		}
	function OMWindowStartResize(xElement)
		{
			var loWindow     = xElement.style
			var llLeft       = false
			var llTop        = false
			var llRight      = false
			var llBottom     = false
			loWindow.cursor  = 'move';'img/WindowMove.cur';
			if(MouseEventType == 0)
				{
					llLeft   =((MousePositionX > xElement.offsetLeft) & (MousePositionX < xElement.offsetLeft + 3))
					llTop    =((MousePositionY > xElement.offsetTop ) & (MousePositionY < xElement.offsetTop  + 3))
					llRight  =((MousePositionX > (xElement.offsetLeft + xElement.offsetWidth  - 5)) & (MousePositionX < (xElement.offsetLeft + xElement.offsetWidth )))
					llBottom =((MousePositionY > (xElement.offsetTop  + xElement.offsetHeight - 5)) & (MousePositionY < (xElement.offsetTop  + xElement.offsetHeight)))
					if (llLeft  ){MouseEventType = 1;}
					if (llTop   ){MouseEventType = 2;}
					if (llRight ){MouseEventType = 3;}
					if (llBottom){MouseEventType = 4;}
					CursorOnHeaderX  = MousePositionX - parseInt(loWindow.width);
					CursorOnHeaderY  = MousePositionY - parseInt(loWindow.height);
					MouseEventObject = xElement.id
				}
		}
