﻿function GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sOverflow,a_sClass)
{
  if (a_sID.indexOf("$")==-1)
  {
    //SetErr : Katman Nesnesi kimlik adında geçersiz karakter kullanımı $
    //return null;
  }

  if (GOB(""+a_sID+"")) return GOB(""+a_sID+""); /*CoreErrorSet();*/

  var l_sClass="";
  if (a_sClass=="" || a_sClass==null)
  {
    l_sClass="";
  }
  else
  {
    l_sClass=" class=\""+a_sClass+"\"";
  }

  if (a_iW==null)
  {
    var l_sW="";
  }
  else
  {
    var l_sW="width:"+a_iW+";";
  }

  if (a_iH==null)
  {
    var l_sH="";
  }
  else
  {
    var l_sH="height:"+a_iH+";";
  }

  if (a_sOverflow==null || a_sOverflow=="")
  {
    a_sOverflow="hidden";
  }

  if (a_oParent==null)
  {
    a_oParent=d.body;
  }

  var l_sHTML="<div id=\""+a_sID+"\" style=\"position:absolute;overflow:"+a_sOverflow+";"+l_sW+""+l_sH+"left:"+a_iX+";top:"+a_iY+";z-index:"+a_iZ+";\""+l_sClass+">"+a_sHtml+"</div>";

  $H(a_oParent,l_sHTML);

  l_Obj=GOB(""+a_sID+"");

  l_Obj.style.fontFamily="arial";
  l_Obj.style.fontSize="12";

  var oAttr1=d.createAttribute("data");
  l_Obj.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("mode");
  l_Obj.setAttributeNode(oAttr2);


  var oAttr3=d.createAttribute("ObjResizeable");
  l_Obj.setAttributeNode(oAttr3);

  l_Obj.ObjResizeable=false;
  l_Obj.mode=lmDefault;

  return l_Obj;
}



function GUILayerDestroy(a_Obj)
{
  a_Obj.parentElement.removeChild(a_Obj);

  return true;
}


// GUI > Button (BEGIN)
function GUIButtonCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sClass,a_eventOnclick)
{
  var l_Obj=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sClass);

  l_Obj.onclick=a_eventOnclick;

  l_Obj.setAttribute("align","center");
  l_Obj.setAttribute("unselectable","on");
  l_Obj.style.cursor=crHand;
  l_Obj.style.padding="3";
  l_Obj.style.borderStyle="solid";
  l_Obj.style.borderWidth="1";
  l_Obj.style.borderColor="gray";
  GUILayerBgColorSet(l_Obj,"#eaeaea");
  l_Obj.noWrap=true;

  //var oBorderOld=_GUILayerBorder_Node;

  var oAttr1=d.createAttribute("borderOld");
  l_Obj.setAttributeNode(oAttr1);
  l_Obj.borderOld=_GUILayerBorder_Node;

  // Add to event
  GUILayerEventAdd(l_Obj,"onmouseover",function(e)
  {
    if (!e) e=event;

    l_oSender=EventSender(e);

    var oBorder=_GUILayerBorder_Node;
    var oBorderOld=_GUILayerBorder_Node;

    oBorderOld.w=l_oSender.style.borderWidth;
    oBorderOld.color=l_oSender.style.borderColor;
    oBorderOld.style=l_oSender.style.borderStyle;

    l_oSender.borderOld=oBorderOld;

    oBorder.w=1;
    oBorder.style="solid";
    oBorder.color="silver";
    GUILayerBorderSet(l_oSender,oBorder);
  });

  GUILayerEventAdd(l_Obj,"onmouseout",function(e)
  {
    if (!e) e=event;

    l_oSender=EventSender(e);

    var oBorder=_GUILayerBorder_Node;
    oBorder.w=1;
    oBorder.style="solid";
    oBorder.color="gray";
    GUILayerBorderSet(l_oSender,l_oSender.borderOld);
  });

  return l_Obj;
}

function GUIButtonDestroy(a_Obj)
{
  return GUILayerDestroy(a_Obj);
}

// GUI > Button (END)


function ALyr(a) // a be setactive
{
 GOB(a).setActive()
}

//#############################################################################
// GUI > PROGRESSBAR

function GUIProgressCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sClass,a_iPos)
{
  if (a_iPos==null)
  {
    a_iPos=0;
  }

  var l_Obj=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sClass);
  var oBorder=_GUILayerBorder_Node;
  oBorder.w=1;
  oBorder.style="solid";
  oBorder.color="gray";
  GUILayerBorderSet(l_Obj,oBorder);

  var oAttr1=d.createAttribute("currentState");
  l_Obj.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("currentPos");
  l_Obj.setAttributeNode(oAttr2);

  var oAttr3=d.createAttribute("stepPx");
  l_Obj.setAttributeNode(oAttr3);

  l_Obj.stepPx=((a_iW-4)/100).toFixed(0);
  l_Obj.currentPos=0;
  l_Obj.currentState=0; // States if currentPos=0 not Started; currentPos>=1 continue; currentPos=100 ended;


  //parseInt(GUILayerWGet(l_Obj))-4
  var l_ObjInner=GUILayerCreate(a_sID+"_$INNER",0,parseInt(GUILayerHGet(l_Obj))-4,1,1,a_iZ+1,"",l_Obj,"");
  GUILayerBgColorSet(l_ObjInner,"gray");
  
  

  return l_Obj;
}

function GUIProgressPosGet(a_Obj)
{
  return a_Obj.currentPos;
}

function GUIProgressPosSet(a_Obj,a_iPos)
{
  a_Obj.currentPos=a_iPos;

  a_Obj.stepPx=((parseInt(GUILayerWGet(a_Obj))-4)/100).toFixed(0);

  GUILayerWSet(GOB(""+a_Obj.id+"_$INNER"),a_Obj.stepPx*a_Obj.currentPos);
}

//------------------------------------------
function CCon(a,a0,a1,a2,a3,a4,a5,a6,a7,a8)  //a=id; a0=x; a1=y; a2=z; a3=w; a4=h; a5=value; a6=class; a7=parent; a8=objType;
{
 if(typeof(a6)!="undefined" || a6!=null)
 {
  var b=" class=\""+a6+"\""
 }

 var q="<input"+b+" type=\""+a8+"\" value=\""+a5+"\" id=\""+a+"\" style=\"position:absolute;width:"+a3+";height:"+a4+";left:"+a0+";top:"+a1+";z-index:"+a2+";\">";

// $4(a7,q);
 $H(a7,q);

 return GOB(a)
}
//------------------------------------------
/*
GUILVCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_oParent,a_sClass,a_iDir)

a_iDir=0 > horizontal.
a_iDir=1 > vertical.
a_bLayerWrap = true > Nesne içinde bulunduğu container sınırını aşarsa alt satırdan nesne eklenmeye devam eder.
a_iLayerSpaceW = KATMANLAR Arasındaki mesafe.


listViewType = lvtDefault / lvtIcon / lvtLargeIcon / lvtObj / lvtList / lvtReport
multiselect / selecttype = single / multi
editable
drawmode
showHeader
*/

function GUILVCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_oParent,a_sOverflow,a_sClass,a_iDir,a_bLayerWrap,a_iLayerSpace)
{
  // Arguman Controlu (Arguman) Controlu Moduler olarak tasarla. (TO DO)
  if (a_iDir!=dirHorz)
  {
    if (a_iDir!=dirVert)
    {
      if (a_iDir!=dirDefault)
      {
        //Set Err: geçersiz arguman (9) : direction of items;

        return null;
      }
    }
  }

  var o=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,"",a_oParent,a_sOverflow,a_sClass)

  var oAttr1=d.createAttribute("CurrentXPx");
  o.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("ItemCount");
  o.setAttributeNode(oAttr2);

  var oAttr6=d.createAttribute("CurrentY");
  o.setAttributeNode(oAttr6);

  var oAttr7=d.createAttribute("CurrentYPx");
  o.setAttributeNode(oAttr7);

  var oAttr3=d.createAttribute("LayerSpace");
  o.setAttributeNode(oAttr3);

  var oAttr4=d.createAttribute("LvDir");
  o.setAttributeNode(oAttr4);

  var oAttr5=d.createAttribute("LvWrap");
  o.setAttributeNode(oAttr5);

  var oAttr6=d.createAttribute("CurrentX");
  o.setAttributeNode(oAttr6);

  var oAttr8=d.createAttribute("activeItem");
  o.setAttributeNode(oAttr8);

  var oAttr9=d.createAttribute("IsItemSelectable");
  o.setAttributeNode(oAttr9);

  o.CurrentX=0;
  o.CurrentXPx=0;
  o.ItemCount=0;
  o.CurrentY=0;
  o.CurrentYPx=0;
  o.IsItemSelectable=true;
  o.LayerSpace=a_iLayerSpace;
  o.LvDir=a_iDir;
  o.LvWrap=a_bLayerWrap;
  o.activeItem=null;
  $7(o,"ellipsis");

  return o;
}

function GUILVClear(a)
{
  a.CurrentX=0;
  a.CurrentXPx=0;
  a.ItemCount=0;
  a.CurrentY=0;
  a.CurrentYPx=0;
  a.activeItem=null;

  a.innerHTML="";

  return true;
}

function GUILVItemCount(a)
{
  return a.ItemCount;
}

function GUILVItemSelectableGet(a_Obj)
{
  return a_Obj.IsItemSelectable;
}

function GUILVItemSelectableSet(a_Obj,a_bSelectable)
{
  a_Obj.IsItemSelectable=a_bSelectable;
}

function GUILVItemAdd(a,a0) // a=Bar_Layer Obj ; a0=New Object
{
  var l1=a.LayerSpace;

  // SetParent
  a.appendChild(a0);

  GUILayerXSet(a0,0);
  GUILayerYSet(a0,0);

  GUILayerZSet(a0,GUILayerZGet(a)+1);

  if (a.IsItemSelectable)
  {
    GUILayerCursorSet(a0,crHand);
  }

  function InlineEventFocus(e)
  {
    if (!e) e=event;

    if (a.IsItemSelectable)
    {
      a0.style.borderWidth=1;
      a0.style.borderStyle="dashed";
      a0.style.borderColor="gray";
    }

    var l_oActItem=a.activeItem;

    if (l_oActItem!=null)
    {
      if (l_oActItem.id==a0.id)
      {
        e.cancelBubble=true;
        return true;
      }

      if (a.IsItemSelectable)
      {
        l_oActItem.style.borderWidth=0;
        l_oActItem.style.borderStyle="";
        l_oActItem.style.borderColor="";
      }
    }

    GUILayerActiveSet(a0);
    a.activeItem=a0;

    e.cancelBubble=true;
  }

  GUILayerEventAdd(a0,evFocus,function(e)
  {
    if (!e) e=event;
    InlineEventFocus(e);
  });

  for (var i=0;i<=a0.childNodes.length-1;i++)
  {
    if ((a0.childNodes[i].id)==undefined) break;

    GUILayerEventAdd(a0.childNodes[i],evFocus,function(e)
    {
      if (!e) e=event;
      InlineEventFocus(e);
    });
  }

  GUILayerEventAdd(a0,evBlur,function()
  {
    d.onmousedown=function()
    {
      if (a.activeItem!=null)
      {
        var l_oItem=a.activeItem;

        if (a.IsItemSelectable)
        {
          l_oItem.style.borderWidth=0;
          l_oItem.style.borderStyle="";
          l_oItem.style.borderColor="";
        }
      }
    };
  });


  GUILayerEventAdd(a0,evKeydown,function(e)
  {
    if (!e) e=event;

    if (e.keyCode==17)
    {
      l_iEventMode=3;

      a0.onmouseup=function()
      {
        a0.style.borderWidth=1;
        a0.style.borderStyle="dashed";
        a0.style.borderColor="gray";

        var l_oActItem=a.activeItem;

        if (l_oActItem!=null)
        {
          if (l_oActItem.id==a0.id)
          {
            l_oActItem.style.borderWidth=0;
            l_oActItem.style.borderStyle="";
            l_oActItem.style.borderColor=""; 

            a.activeItem=a0;

            e.cancelBubble=true;
            return true;
          }
        }

        e.cancelBubble=true;
      };
    }
  });

  GUILayerEventAdd(a0,evKeyup,function(e)
  {
    if (!e) e=event;

    if (e.keyCode==17)
    {
      l_iEventMode=2
    }
  });

  $B(a0,true); // nowrap

  GUILayerXSet(a0,a.CurrentXPx);
  GUILayerYSet(a0,a.CurrentYPx);



  if (a.LvDir==dirHorz || a.LvDir==dirDefault)
  {

  //alert(a.CurrentXPx+":"+a.CurrentYPx+":"+parseInt(GUILayerWGet(a0)));

    a.CurrentXPx=parseInt(a.CurrentXPx)+parseInt(GUILayerWGet(a0))+l1;
    a.CurrentX++;
  }
  else if (a.LvDir==dirVert)
  {
    a.CurrentYPx=parseInt(a.CurrentYPx)+parseInt(GUILayerHGet(a0))+l1;
    a.CurrentY++;
  }

  if (a.LvWrap==true)
  {
    if (a.LvDir==dirHorz || a.LvDir==dirDefault)
    {

      //alert(parseInt(GUILayerWGet(a0))+"+"+a.CurrentXPx+":"+a0.innerHTML+":"+(a.CurrentXPx+parseInt(GUILayerWGet(a0)))+">="+parseInt(GUILayerWGet(a)));

  //if (a.CurrentXPx+parseInt(GUILayerWGet(a0)) >= parseInt(GUILayerWGet(a)))

      if (a.CurrentXPx >= parseInt(GUILayerWGet(a)))
      {
        a.CurrentY++;
        a.CurrentYPx=a.CurrentYPx+parseInt(GUILayerHGet(a0))+l1
        a.CurrentXPx=0;
        a.CurrentX=0;
      }
    }
    else if (a.LvDir==dirVert)
    {

//      if (a.CurrentYPx+parseInt(GUILayerHGet(a0)) >= parseInt(GUILayerHGet(a)))

      if (a.CurrentYPx >= parseInt(GUILayerHGet(a)))
      {
        a.CurrentX++;
        a.CurrentXPx=a.CurrentXPx+parseInt(GUILayerWGet(a0))+l1
        a.CurrentYPx=0;
        a.CurrentY=0;
      }
    }
  }


  //alert(GUILayerWGet(a));

  a.ItemCount++;

  return a0;
}

//function GUILVItemRemove
//function GUILVReload / refresh


function GUILVItemSelectedGet(a)
{
  return a.activeItem;
}


//function GUILvRemove
//GUILvDirSet / GUILvDirGet
//GUILvWrapSet / GUILVWrapGet
//GUILvSpaceSet / GUILvSpaceGet

//-------------------------------------------
/*
GUIMenuCreate

GUIMenuDestroy



GUIMenuItemEnableSet(oMnu1,true)
GUIMenuItemEnableGet(oMnu1)

var oMnu=GUIMenuCreate("ID_MNU_1",500,30,1,10,10,mtBar/mtPopup/mtContext)

var oMnuItem1=GUIMenuItemAdd(oMnu,"Kullanıcı Yönetimi",null);
  var oMnuItem1_1=GUIMenuItemAdd(oMnuItem1,"Yeni Kullanıcı",Mnu2_onclick);
  var oMnuItem1_2=GUIMenuItemAdd(oMnuItem1,"Kullanıcı Listesi",Mnu2_onclick); 
  var oMnuItem1_3=GUIMenuItemAdd(oMnuItem1,"Yeni Kullanıcı Grubu",Mnu2_onclick);
  GUIMenuItemDisableSet(oMnuItem1_3);
  var oMnuItem1_4=GUIMenuItemAdd(oMnuItem1,"Kullanıcı Grupları",Mnu2_onclick); 
  GUIMenuItemDisableSet(oMnuItem1_4);
  
var oMnuItem2=GUIMenuItemAdd(oMnu,"İçerik Yönetimi",null);
  var oMnuItem2_1=GUIMenuItemAdd(oMnuItem2,"Sayfa İçeriği Yönetimi",Mnu2_onclick);
  var oMnuItem2_2=GUIMenuItemAdd(oMnuItem2,"Genel Sayfa Ayarları",Mnu2_onclick); 
  var oMnuItem2_3=GUIMenuItemAdd(oMnuItem2,"Menu Paneli Ayarları",Mnu2_onclick);

var oMnuItem3=GUIMenuItemAdd(oMnu,"Kategori Yönetimi",Mnu3_onclick);

var oMnuItem4=GUIMenuItemAdd(oMnu,"Ürün Yönetimi",Mnu4_onclick);

var oMnuItem5=GUIMenuItemAdd(oMnu,"Dosya Yönetimi",Mnu5_onclick);

var oMnuItem6=GUIMenuItemAdd(oMnu,"%Current_UserName%",Mnu6_onclick);

*/

function GUIMenuCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sClass,a_iMnuType)
{
  var l_Obj=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,"",d.body,"visible",a_sClass)

  var oAttr1=d.createAttribute("mnuType");
  l_Obj.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("itemCount");
  l_Obj.setAttributeNode(oAttr2);

  var oAttr3=d.createAttribute("totalDim");  // toplam boyut mnuType=popup ise yükseklik mnubar ise width toplamı.
  l_Obj.setAttributeNode(oAttr3);

  l_Obj.itemCount=0;
  l_Obj.mnuType=a_iMnuType;
  l_Obj.totalDim=0;

  if (l_Obj.mnuType==mtDefault)
  {
    
  }
  else if (l_Obj.mnuType==mtBar)
  {

  }
  else if (l_Obj.mnuType==mtPopup)
  {

  }
  else if (l_Obj.mnuType==mtContext)
  {

  }
  else
  {

  }
  return l_Obj;
}

function GUIMenuItemAdd(a_Obj,a_ObjParent,a_sText,a_evAction)
{
  if (a_ObjParent==null)
  {
    var l_sParentObjId="0";
  }
  else
  {
    var l_sParentObjId=a_ObjParent.id;
  }

  var l_sID=a_Obj.id+"_"+l_sParentObjId+"_"+a_Obj.itemCount;

  var l_iTotalDim,l_iH,l_iW,l_iX,l_iY;

  var l_oParentObj;
  
  l_iH=20;
  l_iW=50;

  if (a_ObjParent==null)
  {
    l_oParentObj=a_Obj;
  }
  else
  {
    l_oParentObj=a_ObjParent;
  }


  if (a_Obj.mnuType==mtPopup)
  {
    l_iY=l_oParentObj.totalDim;
  }
  else if (a_Obj.mnuType==mtBar)
  {
    l_iX=l_oParentObj.totalDim;
  }

  l_iZ=GUILayerZGet(l_oParentObj)+1;

  if (a_Obj.mnuType==mtPopup)
  {
    l_oParentObj.totalDim+=l_iH;
  }
  else if (a_Obj.mnuType==mtBar)
  {
    l_oParentObj.totalDim+=l_iW;
  }

  l_oParentObj.itemCount++;

  var l_ObjItem=GUILayerCreate(l_sID,l_iW,l_iH,l_iX,l_iY,GUILayerZGet(l_oParentObj)+1,a_sText,l_oParentObj,"hidden","");

  //var oAttr1=d.createAttribute("mnuType");
  //l_ObjItem.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("itemCount");
  l_ObjItem.setAttributeNode(oAttr2);

  var oAttr3=d.createAttribute("totalDim");  // toplam boyut mnuType=popup ise yükseklik mnubar ise width toplamı.
  l_ObjItem.setAttributeNode(oAttr3);

  l_ObjItem.itemCount=0;
  //l_ObjItem.mnuType=a_iMnuType;
  l_ObjItem.totalDim=0;

  GUILayerEventAdd(l_ObjItem,evClick,function(e)
  {
    if (!e) e=event;

    l_oSenderObj=EventSender(e);

    alert(l_oSenderObj.id);
  });

  GUILayerEventAdd(l_ObjItem,evClick,a_evAction);

  return l_ObjItem;
}

function GUIMenuItemRemove(a_Obj)
{
  a_Obj.parentElement.removeChild(a_Obj);
}

function GUIMenuItemActive()
{

}

function GUIMenuItemValueSet()
{

}

function GUIMenuItemValueGet()
{

}

/*
GUIComboCreate
GUIComboDestroy
GUIComboItemActive
GUIComboItemAdd
GUIComboItemRemove
GUIComboItemTextSet
GUIComboItemTextGet



*/
function GUIComboCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sText,a_oParent,a_sClass)
{



  var l_oBorder=_GUILayerBorder_Node;
  l_oBorder.w=1;
  l_oBorder.style="solid";
  l_oBorder.color="gray";


  var l_Obj=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,"",a_oParent,"visible",a_sClass);
  GUILayerBorderSet(l_Obj,l_oBorder);


  var oAttr1=d.createAttribute("ObjSelectLayer");
  l_Obj.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("ObjTextLayer");
  l_Obj.setAttributeNode(oAttr2);

  //l_Obj.ObjSelectLayer
  //l_Obj.ObjTextLayer

  var l_ObjText=GUILayerCreate(a_sID+"_Text",a_iW-22,a_iH-2,1,1,a_iZ+1,a_sText,l_Obj,"visible","");
  GUILayerEventAdd(l_ObjText,evMousedown,function(){if (!e) e=event;ComboText_onmousedown(e)});

  var l_ObjSelect=GUILayerCreate(a_sID+"_Select",0,0,0,0,10000,"",d.body,"visible","");
  GUILayerVisibleSet(l_ObjSelect,false);
  GUILayerBorderSet(l_ObjSelect,l_oBorder);


  l_Obj.ObjTextLayer=l_ObjText;
  l_Obj.ObjSelectLayer=l_ObjSelect;

  

  //var l_ObjButton=;
  // Button Obj;

  //l_Obj


  ComboText_onmousedown=function(e)
  {
    var l_oSrcObj=e.srcElement;

    var l_oSelectObj=l_oSrcObj.parentElement.ObjSelectLayer;

    GUILayerXSet(l_oSelectObj,GUILayerXGet(l_oSrcObj.parentElement));

    GUILayerYSet(l_oSelectObj,parseInt(GUILayerYGet(l_oSrcObj.parentElement))+parseInt(GUILayerHGet(l_oSrcObj.parentElement)));
    //GUILayer
    
    
    GUILayerVisibleSet(l_oSelectObj,true);

    

    //alert(e.srcElement.id);
    
  };



  return l_Obj;
}

function GUIComboItemActive()
{


}

function GUIComboItemAdd()
{

}

function GUIComboItemRemove()
{

}

function GUIComboItemSet()
{

}

function GUIComboItemGet()
{


}
//#############################################################################
// GUI > Layer > Window / GUI > Window (BEGIN)

// GUIWindow(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sOverflow,a_sClass)

function GUIWindowCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sOverflow,a_sClass)
{
  var l_oLyrWnd=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,"",a_oParent,a_sOverflow,a_sClass)
  l_oLyrWnd.setAttribute("unselectable","on");  
  var l_oBorder=_GUILayerBorder_Node;
  l_oBorder.w=1;
  l_oBorder.style="solid";
  l_oBorder.color="#333333";
  GUILayerBorderSet(l_oLyrWnd,l_oBorder);

  a_sHtml="&nbsp;"+a_sHtml;

  var l_oLyrWndHead=GUILayerCreate(a_sID+"_$HEAD",a_iW-2,19,0,0,a_iZ+1,a_sHtml,l_oLyrWnd,"hidden","")
  GUILayerFontTypeSet(l_oLyrWndHead,"arial");
  GUILayerFontColorSet(l_oLyrWndHead,"white");
  GUILayerFontWeightSet(l_oLyrWndHead,"bold");
  l_oLyrWndHead.style.padding=2;
  l_oLyrWndHead.setAttribute("unselectable","on");
  $7(l_oLyrWndHead,"ellipsis");

  var l_oLyrWndHeadBtn=GUILayerCreate(a_sID+"_$HEAD_$BTN1",16,16,a_iW-16,2,a_iZ+2,"X",l_oLyrWndHead,"hidden","")
  GUILayerFontTypeSet(l_oLyrWndHeadBtn,"arial");
  GUILayerFontColorSet(l_oLyrWndHeadBtn,"white");
  GUILayerFontWeightSet(l_oLyrWndHeadBtn,"bold");
  GUILayerCursorSet(l_oLyrWndHeadBtn,crHand);


  var oAttr1=d.createAttribute("ObjEventClose");
  l_oLyrWnd.setAttributeNode(oAttr1);

  l_oLyrWnd.ObjEventClose=null;

  l_oLyrWndHeadBtn.onclick=function()
  {
    if (l_oLyrWnd.ObjEventClose)
    {
      l_oLyrWnd.ObjEventClose();
    }
    else
    {

      GUILayerDestroy(l_oLyrWnd);
    }
  };
/*
  var l_oLyrWndHeadText=GUILayerCreate(a_sID+"_$HEAD_$TEXT",a_iW-50,18,5,1,a_iZ+2,a_sHtml,l_oLyrWndHead,"hidden","");

  GUILayerFontTypeSet(l_oLyrWndHeadText,"arial");
  GUILayerFontColorSet(l_oLyrWndHeadText,"white");
  GUILayerFontWeightSet(l_oLyrWndHeadText,"bold");
*/


  l_oLyrWndHead.style.filter="alpha(opacity=75);-moz-opacity:.75;opacity:.75";
  GUILayerBgColorSet(l_oLyrWndHead,"#030303");


  var l_oLyrWndBody=GUILayerCreate(a_sID+"_$BODY",a_iW-2,a_iH-21,0,0+19,a_iZ+1,"",l_oLyrWnd,"hidden","")
  //l_oLyrWndBody.style.filter="alpha(opacity=50);-moz-opacity:.50;opacity:.50";
  GUILayerBgColorSet(l_oLyrWndBody,"#f0f0f0");

  GUILayerDragSet(l_oLyrWnd,true,l_oLyrWndHead,ddAll);
  GUILayerDragSet(l_oLyrWnd,true,l_oLyrWndHeadBtn,ddAll);

  return l_oLyrWnd;
}

function GUIWindowDestroy(l_Obj)
{
  /*
  LListten Sil
  Layeri sil.
  Delete ile yapıyı tamamen sil.

  */

  return true;
}

function GUIWindowContentGet(l_Obj)
{
  return GOB(""+l_Obj.id+"_$BODY");
}

function GUIWindowOnclose(l_Obj,l_Code)
{
  l_Obj.ObjEventClose=l_Code;
}

//#############################################################################
// GUI > Dialog > File Chooser

/*function GUIDialogFileChooser(s_Id,)
{
  
  
  
  
  
}

*/




function $CoreDebugEventDrop(e)
{
  var l_sBuf="altKey="+e.altKey+"\n";
  l_sBuf+="altLeft="+e.altLeft+"\n";
  l_sBuf+="cancelBubble="+e.cancelBubble+"\n";
  l_sBuf+="clientX="+e.clientX+"\n";
  l_sBuf+="clientY="+e.clientY+"\n";
  l_sBuf+="ctrlKey="+e.ctrlKey+"\n";
  l_sBuf+="ctrlLeft="+e.ctrlLeft+"\n";
  l_sBuf+="dataTransfer="+e.dataTransfer+"\n";
  l_sBuf+="offsetX="+e.offsetX+"\n";
  l_sBuf+="offsetY="+e.offsetY+"\n";
  l_sBuf+="returnValue="+e.returnValue+"\n";
  l_sBuf+="screenX="+e.screenX+"\n";
  l_sBuf+="screenY="+e.screenY+"\n";
  l_sBuf+="shiftKey="+e.shiftKey+"\n";
  l_sBuf+="shiftLeft="+e.shiftLeft+"\n";
  l_sBuf+="srcElement="+e.srcElement.id+"\n";
  l_sBuf+="type="+e.type+"\n";
  l_sBuf+="x="+e.x+"\n";
  l_sBuf+="y="+e.y+"";

  alert(l_sBuf);
}




//#############################################################################
/*
a_iEditType

etSingleLine = 0
etMultiLine = 1

a_iType = 0 edit
a_iType = 1 pw

*/

function GUIEditCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sClass,a_iEditType,a_iType,a_bWrapable)
{
  var l_Obj=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sClass);

  if (a_iType==null) a_iType=0;

  if (a_iType==1)
  {
    var oAttr1=d.createAttribute("ObjChars");
    l_Obj.setAttributeNode(oAttr1);

    l_Obj.ObjChars="";
  }

    var oAttr2=d.createAttribute("Objmaxlength");
    l_Obj.setAttributeNode(oAttr2);

    var oAttr3=d.createAttribute("ObjMaskable");
    l_Obj.setAttributeNode(oAttr3);

    l_Obj.ObjMaskable=false;


    var oAttr4=d.createAttribute("ObjMaskChrs");
    l_Obj.setAttributeNode(oAttr4);

    var oAttr5=d.createAttribute("ObjMaskKeyCodes");
    l_Obj.setAttributeNode(oAttr5);

    var oAttr6=d.createAttribute("ObjKeyTabEnable");
    l_Obj.setAttributeNode(oAttr6);

    var oAttr7=d.createAttribute("ObjKeyTabSpace");
    l_Obj.setAttributeNode(oAttr7);

    var oAttr8=d.createAttribute("ObjKeyEnterChar");
    l_Obj.setAttributeNode(oAttr8);

    l_Obj.ObjKeyEnterChar=0; // tek satır modu. 1=paragraf mode.


    l_Obj.ObjKeyTabEnable=false;
    l_Obj.ObjKeyTabSpace=4;


    l_Obj.ObjMaskable=false;

    l_Obj.ObjMaskChrs=null;

    l_Obj.ObjMaskKeyCodes=null;





  var oBorder=_GUILayerBorder_Node;
  oBorder.w=1;
  oBorder.color="gray";
  oBorder.style="solid";
  GUILayerBorderSet(l_Obj,oBorder);
  GUILayerBgColorSet(l_Obj,"white");
  GUILayerPaddingSet(l_Obj,1);
  GUILayerOverflowSet(l_Obj,"hidden");
  if (a_bWrapable==null || a_bWrapable==false)
  {
    $B(l_Obj,true);
  }
  else
  {
    $B(l_Obj,false);
  }

  if (a_iEditType==null) a_iEditType=0;


  GUILayerEventAdd(l_Obj,evPasteBefore,function(e)
  {
    if (!e) e=event;

    if (a_iType==1)
    {
      var l_sRecvtData=window.clipboardData.getData("Text");

      if (l_sRecvtData)
      {
        l_Obj.ObjChars=l_sRecvtData;
      
        var l_sBuff="";

        for (var i=0;i<=l_sRecvtData.length-1;i++)
        {
          l_sBuff+="*";
        }

        l_Obj.innerHTML=l_sBuff;
      
      }
      return;
    }
    //$CoreDebugEventDrop(e);
  });


  GUILayerEventAdd(l_Obj,evKeydown,function(e)
  {
    if (!e) e=event;

    var l_oSender=EventSender(e);

    GUILayerActiveSet(l_oSender);

    if (l_Obj.ObjMaskable==true)
    {
      if (e.ctrlKey==true)
      {
        return false;
      }

      if (e.keyCode>31 && e.keyCode==12)
      {
        var l_bCharFound=false;

        for (var i=0;i<=l_Obj.ObjMaskKeyCodes.length-1;i++)
        {
          if (e.keyCode==l_Obj.ObjMaskKeyCodes[i])
          {
            l_bCharFound=true;
          }

        }
        if (l_bCharFound==false)
        {
          return false;
        }

        var l_bCharFound=false;

        for (var i=0;i<=l_Obj.ObjMaskChrs.length-1;i++)
        {
          if (String.fromCharCode(e.keyCode)==l_Obj.ObjMaskChrs[i])
          {
            l_bCharFound=true;
          }
        
        }
        if (l_bCharFound==false)
        {
          return false;
        }
      }
    }

    var l_iTextLength=l_oSender.innerHTML.length;

    if (l_oSender.Objmaxlength<=l_iTextLength)
    {
      if (e.keyCode>41 || e.keyCode==32)
      {
        return false;
      }
    }


    if (l_oSender.ObjKeyTabEnable==false)
    {
      if (e.keyCode==9)
      {
        return false;
      }
    }
    else
    {
      if (e.keyCode==9)
      {
        var l_oCaret=document.selection.createRange();

        l_oCaret.pasteHTML(StrBuilder("&nbsp;",l_oSender.ObjKeyTabSpace));

        return false;
      }
    }


    if (l_Obj.ObjKeyEnterChar==0)
    {
      if (e.shiftKey==false)
      {
        if (e.keyCode==13)
        {
          var l_oCaret=document.selection.createRange();

          //d.execCommand("InsertParagraph",false,null);
          //l_oCaret.pasteHTML("<br>");

          //e.shiftKey=true;
          //e.keyCode
          //return false;
        }
      }
    }
    else
    {


    }


    if (a_iEditType==0)
    {
      if (e.keyCode==13)
      {
        return false;
      }
    }

    if (a_iType==1)
    {
      if (e.keyCode==20)
      {
        alert("Hata : Lütfen parola alanlarında \"Caps Lock\" tuşunu kullanarak veri girmeyiniz. Parola alanına Büyük harfle veri girişlerini SHIFT tuşunu kullanarak yapın.");
        return false;
      }

      if (e.keyCode<37 || e.keyCode>40)
      {
        if (e.shiftKey==true || e.altKey==true || e.altLeft==true || e.ctrlKey==true)
        {
          var l_iKeyCode=e.keyCode;


          if (l_iKeyCode<=31 && l_iKeyCode!=8)
          {
            return false;
          }

          if (e.shiftKey==true)
          {
            l_iKeyCode=l_iKeyCode-48;

            if (l_iKeyCode>=140 && l_iKeyCode<=178)
            {
              l_iKeyCode=l_iKeyCode-130;
            }
          }

          if (e.altKey==true)
          {
            l_iKeyCode=l_iKeyCode+1;

            if (l_iKeyCode>=187 && l_iKeyCode<=227)   
            {
             l_iKeyCode=l_iKeyCode-104;
            }
          }

          if (typeof(g_aKeyMap[l_iKeyCode])=="undefined")
          {
            if (e.keyCode==219)
            {
              l_Obj.ObjChars+="Ğ";
            }
            else if (e.keyCode==221)
            {
              l_Obj.ObjChars+="Ü";
            }
            else if (e.keyCode==105)
            {
              l_Obj.ObjChars+="I";
            }
            else if (e.keyCode==222)
            {
              l_Obj.ObjChars+="İ";
            }
            else if (e.keyCode==186)
            {
              l_Obj.ObjChars+="Ş";
            }
            else if (e.keyCode==191)
            {
              l_Obj.ObjChars+="Ö";
            }
            else if (e.keyCode==220)
            {
              l_Obj.ObjChars+="Ç";
            }
            else
            {
              l_Obj.ObjChars+=String.fromCharCode(e.keyCode);
            }
          }
          else
          {
            
            l_Obj.ObjChars+=g_aKeyMap[l_iKeyCode];

          }


          l_Obj.innerHTML+="*";
          //l_Obj.innerHTML+="["+e.keyCode+"]";

          return false;
        }
        else
        {


          if ( ( e.keyCode >= 65 && e.keyCode <= 90 ))
          {
            if (e.shiftKey==false)
            {

              e.keyCode=e.keyCode+32;
              e.cancelBuble=false;
              e.returnValue=0;
            }

          }
          else
          {
            if (e.keyCode<=31 && e.keyCode!=8)
            {
              return;
            }

            if (e.keyCode>=96 && e.keyCode<=105)
            {
              var l_iKeyCode=parseInt(e.keyCode)-96;

              e.keyCode=48+l_iKeyCode;
            }

            if (e.keyCode==8)
            {
              l_Obj.ObjChars=l_Obj.ObjChars.substr(0,l_Obj.ObjChars.length-1);
              return;
            }
          }
        }

        if (e.keyCode==189)
        {
         return false;
        }

        if (e.keyCode==219)
        {
          l_Obj.ObjChars+="ğ";
        }
        else if (e.keyCode==221)
        {
          l_Obj.ObjChars+="ü";
        }
        else if (e.keyCode==105)
        {
          l_Obj.ObjChars+="ı";
        }
        else if (e.keyCode==222)
        {
          l_Obj.ObjChars+="i";
        }
        else if (e.keyCode==186)
        {
          l_Obj.ObjChars+="ş";
        }
        else if (e.keyCode==191)
        {
          l_Obj.ObjChars+="ö";
        }
        else if (e.keyCode==220)
        {
          l_Obj.ObjChars+="ç";
        }
        else
        {
          l_Obj.ObjChars+=String.fromCharCode(e.keyCode);
        }




        l_Obj.innerHTML+="*";
    
        return false;
      }
    }
  });

  GUILayerEventAdd(l_Obj,evKeypress,function(e)
  {
    if (!e) e=event;
    
    if (a_iType==1)
    {
      return false;

    }

    if (a_iEditType==0)
    {
      if (e.keyCode==13)
      {
        return false;
      }
    }
  });


  if (l_Obj.contentEditable)
  {
    l_Obj.contentEditable="true";
  }
  else
  {
    l_Obj.designMode="on";
  }
  return l_Obj;
}

function GUIEditMaxlengthSet(a_Obj,a_iValue)
{
  a_Obj.Objmaxlength=a_iValue;
}

function GUIEditMaxlengthGet(a_Obj)
{
  return a_Obj.Objmaxlength;
}

function GUIEditKeyTabEnabledSet(a_Obj,a_bVal)
{
  a_Obj.ObjKeyTabEnable=a_bVal;
}

function GUIEditKeyTabEnabledGet(a_Obj)
{
  return a_Obj.ObjKeyTabEnable;
}

function GUIEditKeyTabSpaceSet(a_Obj,a_iVal)
{
  a_Obj.ObjKeyTabSpace=a_iVal;
}

function GUIEditKeyTabSpaceGet(a_Obj)
{
  return a_Obj.ObjKeyTabSpace;
}


function GUIEditCharcaseSet(a_Obj,a_iValue) // ecLower ecDefault ecUpper
{

}

function GUIEditCharcaseGet(a_Obj)
{

}

function GUIEditWordwrapSet(a_Obj,a_bVal)
{

}

function GUIEditWordwrapGet(a_Obj)
{
  
}

function GUIEditCharMaskSet(a_Obj,a_bVal)
{
  a_Obj.ObjMaskable=a_bVal;
}

function GUIEditCharMaskGet(a_Obj)
{
  return a_Obj.ObjMaskable;
}

function GUIEditCharMaskChrsSet(a_Obj,a_aChrs) // ValidChrs olarak isim değişebilir.
{
  a_Obj.ObjMaskChrs=a_aChrs;
}

function GUIEditCharMaskChrsByKeyCodeSet(a_Obj,a_aChrs) // ValidChrs olarak isim değişebilir.
{
  a_Obj.ObjMaskKeyCodes=a_aChrs;
}

function GUIEditCharMaskChrsGet(a_Obj)
{
  return a_Obj.ObjMaskChrs;
}

//#############################################################################
/*

GUIListviewCreate



*/
//#############################################################################
// GUI > TAB
//

function GUITabCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sOverflow,a_sClass)
{
  var l_Obj=GUILayerCreate(a_sID,a_iW,a_iH,a_iX,a_iY,a_iZ,"",a_oParent,"hidden",a_sClass);

  
  var oAttr1=d.createAttribute("ItemCount");
  l_Obj.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("itemSelected");
  l_Obj.setAttributeNode(oAttr2);

  var oAttr4=d.createAttribute("itemSelectedIndex");
  l_Obj.setAttributeNode(oAttr4);

  var oAttr3=d.createAttribute("CurrentXPx");
  l_Obj.setAttributeNode(oAttr3);

  var oAttr5=d.createAttribute("contentSelected");
  l_Obj.setAttributeNode(oAttr5);

  l_Obj.contentSelected=null;
  l_Obj.itemSelectedIndex=-1;
  l_Obj.CurrentXPx=0;
  l_Obj.ItemCount=0;
  l_Obj.itemSelected=null;

  var oBorder=_GUILayerBorder_Node;
  oBorder.w=1;
  oBorder.color="gray";
  oBorder.style="solid";

  var l_ObjContent=GUILayerCreate(a_sID+"_$CONTENT",a_iW-10,a_iH-30,5,25,a_iZ+1,a_sHtml,l_Obj,a_sOverflow,a_sClass);
  GUILayerBgColorSet(l_ObjContent,"white");
  GUILayerBorderSet(l_ObjContent,oBorder);

  return l_Obj;
}


function GUITabItemAdd(a_Obj,a_sName) // BUG (onmouseup) olayında aynı tab a üst üste tıklanıldığında.
{
  var l_Obj=GUILayerCreate(""+a_Obj.id+"_$ITEM_$"+a_Obj.ItemCount+"",null,21,a_Obj.CurrentXPx+5,5,GUILayerZGet(a_Obj)+3,a_sName,a_Obj,"hidden","");
  GUILayerPaddingSet(l_Obj,4);
  GUILayerFontWeightSet(l_Obj,"bold");
  GUILayerCursorSet(l_Obj,crDefault);

  GUILayerEventAdd(l_Obj,evMouseup,function(e)
  {
    if(!e) e=event;
    
    var l_SenderObj=EventSender(e);
    GUILayerPaddingSet(l_SenderObj,4);
    GUILayerFontWeightSet(l_SenderObj,"bold");

    GUILayerZSet(l_SenderObj,GUILayerZGet(a_Obj)+3);
    GUILayerXSet(l_SenderObj,GUILayerXGet(l_SenderObj)-2);
    GUILayerYSet(l_SenderObj,5);

    var l_oContent=GOB(""+StrFormatId(l_SenderObj.id)+"_$CONTENT_$"+l_SenderObj.CurrentIndex+"");
    GUILayerZSet(l_oContent,GUILayerZGet(a_Obj)+2);

    if (a_Obj.contentSelected)
    {
      var l_ObjSelectedContent=a_Obj.contentSelected;
      GUILayerZSet(l_ObjSelectedContent,GUILayerZGet(a_Obj)+1)
    }

    if (a_Obj.itemSelected)
    {
      var l_ObjSelected=a_Obj.itemSelected;

      GUILayerZSet(l_ObjSelected,GUILayerZGet(a_Obj));
      GUILayerFontWeightSet(l_ObjSelected,"normal");
      GUILayerPaddingSet(l_ObjSelected,2);
      GUILayerXSet(l_ObjSelected,GUILayerXGet(l_ObjSelected)+2);
      GUILayerYSet(l_ObjSelected,8);
    }

    a_Obj.itemSelectedIndex=a_Obj.ItemCount;
    a_Obj.itemSelected=l_SenderObj;
    a_Obj.contentSelected=l_oContent;

  });

  l_Obj.style.borderTopStyle="solid";
  l_Obj.style.borderTopWidth=1;
  l_Obj.style.borderTopColor="gray";
  l_Obj.style.borderLeftStyle="solid";
  l_Obj.style.borderLeftWidth=1;
  l_Obj.style.borderLeftColor="gray";
  l_Obj.style.borderRightStyle="solid";
  l_Obj.style.borderRightWidth=1;
  l_Obj.style.borderRightColor="gray";

  GUILayerBgColorSet(l_Obj,"white");

  var l_oSelectedContent=GUILayerCreate(""+a_Obj.id+"_$CONTENT_$"+a_Obj.ItemCount+"",parseInt(GUILayerWGet(a_Obj))-10,parseInt(GUILayerHGet(a_Obj))-30,5,25,GUILayerZGet(a_Obj)+2,"",a_Obj,"hidden","");
  
  var oBorder=_GUILayerBorder_Node;
  oBorder.w=1;
  oBorder.color="gray";
  oBorder.style="solid";
  GUILayerBgColorSet(l_oSelectedContent,"white");
  GUILayerBorderSet(l_oSelectedContent,oBorder);


  if (a_Obj.contentSelected)
  {
    var l_ObjSelectedContent=a_Obj.contentSelected;
    GUILayerZSet(l_ObjSelectedContent,GUILayerZGet(a_Obj)+1)
  }

  if (a_Obj.itemSelected)
  {
    var l_ObjSelected=a_Obj.itemSelected;

    GUILayerZSet(l_ObjSelected,GUILayerZGet(a_Obj));
    GUILayerFontWeightSet(l_ObjSelected,"normal");
    GUILayerPaddingSet(l_ObjSelected,2);
    GUILayerXSet(l_ObjSelected,GUILayerXGet(l_ObjSelected)+2);
    GUILayerYSet(l_ObjSelected,8);
  }

  var oAttr1=d.createAttribute("CurrentIndex");
  l_Obj.setAttributeNode(oAttr1);

  l_Obj.CurrentIndex=a_Obj.ItemCount;

  var oAttr1=d.createAttribute("CurrentIndex");
  l_oSelectedContent.setAttributeNode(oAttr1);

  l_oSelectedContent.CurrentIndex=a_Obj.ItemCount;

  a_Obj.itemSelectedIndex=a_Obj.ItemCount;
  a_Obj.itemSelected=l_Obj;
  a_Obj.contentSelected=l_oSelectedContent;

  a_Obj.CurrentXPx=a_Obj.CurrentXPx+l_Obj.offsetWidth;

  a_Obj.ItemCount++;

  return l_oSelectedContent/*l_Obj*/;
}

function GUITabItemRemove()
{

}

function GUITabItemSelectedGet(a_Obj)
{
  return a_Obj.itemSelected;
}

function GUITabContentGet(a_Obj)
{
  return a_Obj.contentSelected;
}

function GUITabItemSeletedIndexGet(a_Obj)
{
  return a_Obj.itemSelectedIndex;
}

function GUITabItemSelectedSet(a_Obj,a_ObjSelected)
{
  // GUITabItemAdd > Event > mouseup blokundaki kodla aynı kod tekrarı.

  var l_oTabCaption=GOB(""+StrFormatId(a_ObjSelected.id)+"_$ITEM_$"+a_ObjSelected.CurrentIndex+"");

  GUILayerPaddingSet(l_oTabCaption,4);
  GUILayerFontWeightSet(l_oTabCaption,"bold");

  GUILayerZSet(l_oTabCaption,GUILayerZGet(a_Obj)+3);
  GUILayerXSet(l_oTabCaption,GUILayerXGet(l_oTabCaption)-2);
  GUILayerYSet(l_oTabCaption,5);

  var l_oContent=a_ObjSelected;  //GOB(""+StrFormatId(a_ObjSelected.id)+"_$CONTENT_$"+a_ObjSelected.CurrentIndex+"");

  GUILayerZSet(l_oContent,GUILayerZGet(a_Obj)+2);

  if (a_Obj.contentSelected)
  {
    var l_ObjSelectedContent=a_Obj.contentSelected;
    GUILayerZSet(l_ObjSelectedContent,GUILayerZGet(a_Obj)+1)
  }

  if (a_Obj.itemSelected)
  {
    var l_ObjSelected=a_Obj.itemSelected;

    GUILayerZSet(l_ObjSelected,GUILayerZGet(a_Obj));
    GUILayerFontWeightSet(l_ObjSelected,"normal");
    GUILayerPaddingSet(l_ObjSelected,2);
    GUILayerXSet(l_ObjSelected,GUILayerXGet(l_ObjSelected)+2);
    GUILayerYSet(l_ObjSelected,8);
  }

  a_Obj.itemSelectedIndex=a_Obj.ItemCount;
  a_Obj.itemSelected=l_oTabCaption;
  a_Obj.contentSelected=l_oContent;
}

function GUITabItemSelectedIndexSet(a_Obj,a_iIndex)
{

}


//#############################################################################
// GUI > Tooltip

function GUITooltipItemAdd(a_Obj,a_ObjTarget,a_sData,a_sText,a_iW,a_iH,a_iImgW,a_iImgH,a_iType)
{
  var l_bFlagPass=true;

  function Tooltip_ontimer()
  {
    if (l_bFlagPass)
    {
      var l_oStatus=GOB("ID_TOOLTIP_HEAD_STATUS");

      l_oStatus.innerHTML="Yükleniyor."
      l_bFlagPass=false;
    }

    if (GOB("ID_TOOLTIP_IMG")==null)
    {
      l_bFlagPass=true;
      var l_oStatus=GOB("ID_TOOLTIP_HEAD_STATUS"); 
      l_oStatus.innerHTML="Tamamlandı.";

      clearTimeout(g_iTimer);
      return 0;
    }

    if (GOB("ID_TOOLTIP_IMG").complete)
    {
      var l_oStatus=GOB("ID_TOOLTIP_HEAD_STATUS"); 
      l_oStatus.innerHTML="Tamamlandı.";
      l_bFlagPass=true;

      clearTimeout(g_iTimer);
    }
  }


  GUILayerEventAdd(a_ObjTarget,evMouseover,function(e)
  {
    if (!e) e=event;

    if (g_bStartup==false)
    {
      //CoreErrorSet(); BaseInit yordamını ilk önce çalıştırın.
      alert("İlk önce BaseInit yordamını çalıştırın.");
      return;
    }

    var iPosX,iPosY,iDimW,iDimH,iX,iY;

    var a_oContent=GOB(""+a_Obj.id+"_BODY");
    var a_oHead=GOB(""+a_Obj.id+"_HEAD_TEXT");

    var l_oBar=GOB(""+a_Obj.id+"_BAR");

    var a_iIndex=a_ObjTarget.id;

    a_oHead.innerHTML=a_Obj.aText[a_iIndex];

    var l_oStatus=GOB(""+a_Obj.id+"_HEAD_STATUS");

    l_oStatus.innerHTML="Yükleniyor."

    if (a_Obj.aType[a_iIndex]==ttFrame)
    {
      a_oContent.innerHTML="<iframe id=\""+a_Obj.id+"_IMG\" scroll=\"auto\" frameborder=\"0\" border=\"0\" src=\""+a_Obj.aData[a_iIndex]+"\"></iframe>";
    }
    else if (a_Obj.aType[a_iIndex]==ttImg)
    {
      a_oContent.innerHTML="<img id=\""+a_Obj.id+"_IMG\" width=\""+a_iImgW+"\" height=\""+a_iImgH+"\" border=\"0\" src=\""+a_Obj.aData[a_iIndex]+"\">";
    }
    else if (a_Obj.aType[a_iIndex]==ttText)
    {
      a_oContent.innerHTML="<font id=\""+a_Obj.id+"_IMG\">"+a_Obj.aData[a_iIndex]+"</font>";
      l_oStatus.innerHTML="Tamamlandı."
    }
    else
    {
      alert("Hata : Bilinmeyen Kutucuk Tipi Ataması.");
      l_oStatus.innerHTML="Tamamlandı."
    }
  
    GOB(""+a_Obj.id+"_IMG").onreadystatechange=function()
    {
      if (GOB(""+a_Obj.id+"_IMG").readyState=="complete")
      {
        var l_oStatus=GOB(""+a_Obj.id+"_HEAD_STATUS"); 
        l_oStatus.innerHTML="Tamamlandı.";
      }
    };

    var l_oInnerData=GOB(""+a_Obj.id+"_IMG");

    GUILayerWSet(l_oInnerData,a_Obj.aImgW[a_iIndex]-10);
    GUILayerHSet(l_oInnerData,a_Obj.aImgH[a_iIndex]-35);

    GUILayerWSet(a_oContent,a_Obj.aW[a_iIndex]-5);
    GUILayerHSet(a_oContent,a_Obj.aH[a_iIndex]-30);

    GUILayerWSet(l_oBar,a_Obj.aW[a_iIndex]-5);

    GUILayerWSet(a_Obj,a_Obj.aW[a_iIndex]);
    GUILayerHSet(a_Obj,a_Obj.aH[a_iIndex]);

    GUILayerVisibleSet(a_Obj,true);

    iX=EventMouseX(e);

    if ((((iX-d.body.scrollLeft)+a_Obj.offsetWidth)+30) >= $8())
    {
      iX=iX-a_Obj.offsetWidth-10;
    }

    iY=EventMouseY(e);

    if ((((iY-d.body.scrollTop)+a_Obj.offsetHeight)+10) >= $9())
    {
      iY=iY-a_Obj.offsetHeight;
    }

    GUILayerXSet(a_Obj,iX+5);
    GUILayerYSet(a_Obj,iY+5);

    GOB(""+a_Obj.id+"_IMG").onerror=function(e)
    {
      if (!e) e=event;

      var l_oSender=EventSender(e);
      GUILayerParentGet(l_oSender).innerHTML="&nbsp;";

      var a_oStatus=GOB(""+a_Obj.id+"_HEAD_STATUS");
      a_oStatus.innerHTML="Resim Yok.";  
    };

    if (window.opera || window.navigator.userAgent.indexOf("MSIE")==-1)
    {
      g_iTimer=setTimeout("Tooltip_ontimer()",100);
    }
  });

  GUILayerEventAdd(a_ObjTarget,evMousemove,function(e)
  {
    if (!e) e=event;

    var iX=0,iY=0;

    iX=EventMouseX(e);

    if ((((iX-d.body.scrollLeft)+a_Obj.offsetWidth)+30) >= $8())
    {
      iX=iX-a_Obj.offsetWidth-10;
    }

    iY=EventMouseY(e);

    if ((((iY-d.body.scrollTop)+a_Obj.offsetHeight)+10) >= $9())
    {
      iY=iY-a_Obj.offsetHeight;
    }

    GUILayerXSet(a_Obj,iX+5);
    GUILayerYSet(a_Obj,iY+5);
  });

  GUILayerEventAdd(a_ObjTarget,evMouseout,function(e)
  {
    if (!e) e=event;

    GUILayerVisibleSet(a_Obj,false);

    GUILayerXSet(a_Obj,10000);
    GUILayerYSet(a_Obj,10000);
  });

  a_Obj.aData[""+a_ObjTarget.id+""]=a_sData;
  a_Obj.aW[""+a_ObjTarget.id+""]=a_iW;
  a_Obj.aH[""+a_ObjTarget.id+""]=a_iH;

  a_Obj.aImgW[""+a_ObjTarget.id+""]=a_iImgW;
  a_Obj.aImgH[""+a_ObjTarget.id+""]=a_iImgH;

  a_Obj.aText[""+a_ObjTarget.id+""]=a_sText;
  a_Obj.aType[""+a_ObjTarget.id+""]=a_iType;
}

function GUITooltipCreate(a_sID)
{
  var l_oLyr1=GUILayerCreate(a_sID,230,240,10000,10000,10000,"",d.body,"visible","");

  var oAttr1=d.createAttribute("aData");
  l_oLyr1.setAttributeNode(oAttr1);
  l_oLyr1.aData=new Array();

  var oAttr2=d.createAttribute("aW");
  l_oLyr1.setAttributeNode(oAttr2);
  l_oLyr1.aW=new Array();

  var oAttr3=d.createAttribute("aH");
  l_oLyr1.setAttributeNode(oAttr3);
  l_oLyr1.aH=new Array();

  var oAttr4=d.createAttribute("aText");
  l_oLyr1.setAttributeNode(oAttr4);
  l_oLyr1.aText=new Array();

  var oAttr5=d.createAttribute("aType");
  l_oLyr1.setAttributeNode(oAttr5);
  l_oLyr1.aType=new Array();

  var oAttr6=d.createAttribute("aImgW");
  l_oLyr1.setAttributeNode(oAttr6);
  l_oLyr1.aImgW=new Array();

  var oAttr7=d.createAttribute("aImgH");
  l_oLyr1.setAttributeNode(oAttr7);
  l_oLyr1.aImgH=new Array();


  GUILayerVisibleSet(l_oLyr1,false);
  GUILayerBgColorSet(l_oLyr1,"#eaeaea");

  var oBorder=_GUILayerBorder_Node;
  oBorder.w=1;
  oBorder.style="solid";
  oBorder.color="gray";
  GUILayerBorderSet(l_oLyr1,oBorder);

  var l_oLyrHead=GUILayerCreate(""+a_sID+"_BAR",320-10,23,5,5,GUILayerZGet(l_oLyr1)+1,"<b><font id=\""+a_sID+"_HEAD_TEXT\" class=\"css_font_tooltip_head\"></font></b>&nbsp;|&nbsp;<font id=\""+a_sID+"_HEAD_STATUS\" class=\"css_font_tooltip_status\"></font>",l_oLyr1,"hidden","");
  $7(l_oLyrHead,"ellipsis");
  $B(l_oLyrHead,true);

  var l_oLyrBody=GUILayerCreate(""+a_sID+"_BODY",320-10,240-30,5,30,GUILayerZGet(l_oLyr1)+1,"",l_oLyr1,"visible","");

  return l_oLyr1;
}





//-------------------------------------------
function CLV(a,a0,a1,a2,a3,a4,a5,a6,a7) //a7 tooltip olsun mu olmasın mı?
{
  var o=CLyr(a,a0,a1,a2,a3,a4,"",a5,"hidden",a6);
  o.a=0;
  o.b=a7;
  $7(o,"ellipsis");

  return o;
}

function ALV(a,a0,a1) 
{
 var l0=""+a1.id+"_"+a1.a+"";

 var o=CLyr(l0,1,((a1.a*18)+1),(GUILayerZGet(a1)+1),(parseInt(GUILayerWGet(a1))-2),16,a,"","hidden",a1);


 if(a1.b==1) GUILayerTooltipSet(o,a);
 $B(o,true);
 $7(o,"ellipsis");
 GUILayerCursorSet(o,crHand);
 o.data=a0;

 a1.a++;

 return o;
}
//--------------------------------------------
function CSB(a,a0,a1,a2,a3,a4,a5,a6,a7,a8) //CSelBox a=id; a0=x; a1=y; a2=z; a3=w; a4=h; a5=txt; a6=cls; a7=parent; a8=is Multiline;
{
 if(typeof(a6)!="undefined" || a6!=null)
 {
  var b=" class=\""+a6+"\""
 }

  var o="<select"+b+" a=\"0\" size=\""+(a8+1)+"\" id=\""+a+"\" style=\"position:absolute;width:"+a3+";height:"+a4+";left:"+a0+";top:"+a1+";z-index:"+a2+";\">"+a5+"</select>";
 // $4(a7,o);
 $H(a7,o);

  return GOB(a);
}

function ASB(a,a0,a1) //Add2SelBox
{
 var l0=""+a1.id+"_"+a1.a+"";

 var o=new Option(a,a0,false);
 o.a="0";
 a1.add(o);

 return o;
}
//-----------------------------------------------
function CLing(a,a0,a1) //a=text; a0=parent; a1=class;
{
 var l0=" <b>.</b>";var l1=" <b>:</b>";var l2=" <b>:.</b>";var l3=" <b>::</b>";var l4=" <b>::.</b>";var l5=" <b>:::</b>";
 var i=0;
 var lo=CLyr("lg",0,0,$A(a0)+1,"",20,a,a1,"visible",a0)  //a=id; a0=x; a1=y; a2=z; a3=w; a4=h; a5=innerHtml; a6=class; a7=oFlow;;
 $B(lo,true);
 $C(lo,$5(a0)-$5(lo)-5);

 return lo;

}
//-------------------------------------------------
function CLV1(a,a0,a1,a2,a3,a4,a5,a6)
{
  var o=CLyr(a,a0,a1,a2,a3,a4,"",a5,"hidden",a6);
  o.a=0;
  $7(o,"ellipsis");

  return o;
}

function ALV1(a,a0,a1,a2)
{
 var l0=""+a1.id+"_"+a1.a+"";

 var o=CLyr(l0,1,((a1.a*18)+1),($A(a1)+1),(parseInt($G(a1))-2),a2,"<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\"><tr><td width=\"100%\" bgcolor=\"red\">"+a+"</td></tr></table>","","hidden",a1);
 $F(o,a);
 $B(o,true);
 $7(o,"ellipsis");
 GUILayerCursorSet(o,crHand);
 o.data=a0;

 a1.a++;

 return o;
}
//-------------------------------------------------
function CYN(a,a0,a1,a5,a6) //Yes|No box
{
  var o=CLyr(a,a0,a1,$A(a6)+1,100,23,"",a5,"hidden",a6);
  GUILayerCursorSet(o,crHand);
  o.a=0;
  o.state=0;
  $7(o,"ellipsis");
/*
  var o1=CLyr(""+a+"_1",0,0,$A(o)+1,30,23,"Evet","","hidden",o);
  o1.onclick=function(e)
  {
    if (!e) e=event;
    var l_oSenderObj=EventSender(e);
    var l_oSenderParentObj=GUILayerParentGet(l_oSenderObj);

    l_oSenderParentObj.state=1;
    var lo9=GOB(""+l_oSenderObj.id.substring(0,l_oSenderObj.id.length-2)+"_0");
    lo9.style.fontWeight="normal";
    lo9.style.fontSize="12";
    lo9.style.color="#666";
    l_oSenderObj.style.color="#008800";
    l_oSenderObj.style.fontSize="13";
    l_oSenderObj.style.fontWeight="bold"
  };

  var o2=CLyr(""+a+"_0",30,0,$A(o)+1,35,23,"Hayır","","hidden",o);
  o2.onclick=function(e)
  {
    if (!e) e=event;
    var l_oSenderObj=EventSender(e);
    var l_oSenderParentObj=GUILayerParentGet(l_oSenderObj);

    l_oSenderParentObj.state=0;
    var lo9=GOB(""+l_oSenderObj.id.substring(0,l_oSenderObj.id.length-2)+"_1");
    lo9.style.fontWeight="normal";
    lo9.style.fontSize="12";
    lo9.style.color="#666";
    l_oSenderObj.style.color="#008800";
    l_oSenderObj.style.fontSize="13";
    l_oSenderObj.style.fontWeight="bold"
  };
*/

  return o;
}

function AYN(a,a0)
{
  a0.state=a;
  var lo=GOB(""+a0.id+"_"+a+"");
  if (a==1){var lo1=GOB(""+a0.id+"_0");lo1.style.fontWeight="normal";lo1.style.fontSize="12";lo1.style.color="#666";}
  if (a==0){var lo1=GOB(""+a0.id+"_1");lo1.style.fontWeight="normal";lo1.style.fontSize="12";lo1.style.color="#666";}
   
  lo.style.color="#008800";lo.style.fontSize="13";lo.style.fontWeight="bold";
}
//-------------------------------------------------
function CIV(a,a0,a1,a2,a3,a4,a5,a6) //Icon View / Image Panel
{
  var o=CLyr(a,a0,a1,a2,a3,a4,"",a5,"hidden",a6);
  o.a=0;
  o.b=0;
  o.c=0;
  o.d=0;
  $7(o,"ellipsis");

  return o;
}

function AIV(a,a0,a1,a2,a3,a4) // a="Ürün Adı"; a0="Price"; a1="ImgPath"; a2="data:ürünId"; a3=extraflag:En Çok SAtın Alınan/Ürün indirimde mi/Fırsat ürünmü/Prestijli ürün/Tavsiye Edilen/Yeni; a4=parent;
{
  var l0=""+GID(a4)+"_"+a4.b+"";
  var l1=15;
  var l2=0;
  var l3=10;

  var o=CLyr(l0,0,0,$A(a4)+1,165,165,"","","visible",a4);

  $B(o,true);

  var lo0=CLyr("l1_"+a4.id+"_"+a4.b+"",0,0,$A(o)+1,165,100,"<img title=\""+a+" isimli ürünün daha detaylı görüntüsü için buraya tıklayınız.\" style=\"cursor:hand;\" border=\"0\" src=\""+a1+"\" width=\"100\" height=\"100\">","","hidden",o); //Resim burada
  //$F(lo0,""+a+" isimli ürünün daha detaylı görüntüsü için buraya tıklayınız.");
  //GUILayerCursorSet(o,crHand);
  var lo1=CLyr("l2_"+a4.id+"_"+a4.b+"",0,100,$A(o)+1,165,21,"<b>"+a+"</b>","","hidden",o);
  $B(lo1,true);
  $F(lo1,a);
  $7(lo1,"ellipsis");

  var lo2=CLyr("l3_"+a4.id+"_"+a4.b+"",0,121,$A(o)+1,165,20,"Fiyat : "+a0+" YTL","cN","visible",o);
  var lo3=CLyr("l4_"+a4.id+"_"+a4.b+"",0,142,$A(o)+1,165,24,"Listeye ekle | Sepete at","","visible",o);

  $C(o,a4.a);
  $M(o,a4.c);

 if(a4.b%3==2)
 {
  a4.d++;
  a4.a=0;
  a4.c=($6(o)*a4.d)+l3;
 }
 else
 {
  a4.a=parseInt(a4.a)+$D(o)+l1;
 }

  a4.b++;

  return o;
}
//-------------------------------------------------
function SPx(x,y,c,p) // GraphPixelDraw
{
  var o=CLyr("cl0",x,y,$A(p)+1,1,1,"","","visible",p);
  $N(o,c);
}

/*


// Anim & Timeline Lib
GUILayerAnimFrameNextGet
GUILayerAnimFramePrevGet
GUILayerAnimFrameSeekGet
GUILayerAnimFrameFirstGet
GUILayerAnimFrameLastGet
GUILayerAnimFrameCurrentGet

GUILayerAnimGo
GUILayerAnimPause
GUILayerAnimStop
GUILayerAnimRewind
GUILayerAnimGoAndPause
GUILayerAnimGoAndResume
GUILayerAnimGoAndRewind


GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet
GUILayerAnimNextFrameGet



// Graphics Lib
GraphShapePixelDraw
GraphShapeLineDraw
GraphShapeCurveDraw
GraphShapeRectDraw
GraphShapeCircleDraw
GraphShapeEllipsDraw
GraphShapePolygonDraw


GraphClear();

GraphFillGradientLinear / GraphFillGradient
GraphFillGradientRadial
GraphFillGradientDiagonal
GraphFillColor
GraphFillImg



*/

function GraphLineDraw(a_iW,a_iH,a_iX,a_iY,a_iZ,a_sColor,a_oParent)
{
  var oPx=GUILayerCreate("ID_PX_LINE_"+a_iX+"_"+a_iY+"_"+a_iZ+"_"+a_oParent.id+"",a_iW,a_iH,a_iX,a_iY,a_iZ,"",a_oParent,"hidden","");
  GUILayerBgColorSet(oPx,a_sColor);
}

function GraphGradientDraw(a_iDir,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sColorBegin,a_sColorEnd,a_oParent,a_iRev)
{
  var Xo, Yo, Max, RC, GC, BC, R, H, W; // Integer;
  var Angle, Radius, XStep, YStep, RStep, GStep, BStep; // Real;
  var Red, Green, Blue, Red1, Green1, Blue1, Red2, Green2, Blue2; // Integer;

  var l_iPenW,l_sPenColor;

  H=a_iH;
  W=a_iW;

  l_iPenW=1;

/*
a_iDir=
0 = horizontal
1 = vertical
2 = Diagonal
3 = Circle

*/

/*
Is Reverse


*/


  if (a_iDir==0)
  {
    Max=H;
  }
  else if (a_iDir==1)
  {
    Max=W;
  }
  else if (a_iDir==2)
  {
    Max=Math.round( Math.sqrt((W+1)*(W+1)+(H+1)*(H+1)) )+110;
    l_iPenW=2;

    if (H>W)
    {
      XStep=1.0;
      YStep=2*H/Max;
    }
    else
    {
      YStep=1.0;
      XStep=2*W/Max;
    }
  }
  else if (a_iDir==3)
  {
    Max=360*4;
    l_iPenW=2;

    Xo=(W / 2);
    Yo=(H / 2);
    Radius=Math.round(Math.sqrt(Xo*Xo+Yo*Yo));
  }
  else
  {
    alert("Geçersiz Parametre.");
  }

  a_sColorBegin=a_sColorBegin.substr(1,6);

  a_sColorEnd=a_sColorEnd.substr(1,6);

  Red1=h2d(a_sColorBegin.substr(0,2));
  Green1=h2d(a_sColorBegin.substr(2,2));
  Blue1=h2d(a_sColorBegin.substr(4,2));

  Red2=h2d(a_sColorEnd.substr(0,2));
  Green2=h2d(a_sColorEnd.substr(2,2));
  Blue2=h2d(a_sColorEnd.substr(4,2));

  RStep=(Red1-Red2)/Max;
  GStep=(Green1-Green2)/Max;
  BStep=(Blue1-Blue2)/Max;

  if (h2d(a_sColorBegin) > h2d(a_sColorEnd))
  {
    Red=Red1;
    Green=Green1;
    Blue=Blue1;
  }
  else
  {
    Red=Red2;
    Green=Green2;
    Blue=Blue2;
  }

  RC=Red;
  GC=Green;
  BC=Blue;

  Angle=0;

  for (R=0;R<=Max;R++)
  {
    l_sPenColor="#"+d2h(RC,2)+d2h(GC,2)+d2h(BC,2);

    if (a_iDir==0)
    {

        GraphLineDraw(W,l_iPenW,a_iX,R+a_iY,a_iZ,l_sPenColor,a_oParent);

    }
    else if (a_iDir==1)
    {
      if (a_iRev==1)
      {
        //alert(R-a_iX);

        //GraphLineDraw(l_iPenW,H,R+a_iX,a_iY,a_iZ,l_sPenColor,a_oParent);
      }
      else
      {
        
        
         
        GraphLineDraw(l_iPenW,H,R+a_iX,a_iY,a_iZ,l_sPenColor,a_oParent);
      //Image1.Canvas.MoveTo(R,0);
      //Image1.Canvas.LineTo(R,H);
      }
    }
    else if (a_iDir==2)
    {
      //MoveTo(0,Round(R*YStep));
      //LineTo(Round(R*XStep),0);
    }
    else if (a_iDir==3)
    {
      //MoveTo(Xo,Yo);
      //LineTo(Xo+Round(Radius*Sin(Angle*(Pi/180))),
      //Yo-Round(Radius*Cos(Angle*(Pi/180))));
    }
    else
    {
      alert("Geçersiz Parametre.");
    }

    RC=Math.round(Red+R*RStep);
    GC=Math.round(Green+R*GStep);
    BC=Math.round(Blue+R*BStep);

    Angle=Angle+0.25;
  }
}
//#############################################################################





/*
-GUITreeViewCreate()

GUITreeViewExpand
GUITreeViewCollapse

-GUITreeViewItemAdd
GUITreeViewItemRemove

-GUITreeViewItemSelectedGet
- (HALF IMP) GUITreeViewItemSelectedSet

*/

function GUITVCreate(a_sId,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sOveflow)
{
  var l_Obj=GUILayerCreate(a_sId,a_iW,a_iH,a_iX,a_iY,a_iZ,a_sHtml,a_oParent,a_sOveflow,"");


  var oAttr1=d.createAttribute("ObjItemSelected");
  l_Obj.setAttributeNode(oAttr1);

  var oAttr2=d.createAttribute("ObjItemCollection");
  l_Obj.setAttributeNode(oAttr2);

  var oAttr3=d.createAttribute("ObjItemCount1");
  l_Obj.setAttributeNode(oAttr3);

  l_Obj.ObjItemSelected=null;

  var l_oItem=new Object();
  l_oItem.id="";
  l_oItem.parentId="";
  l_oItem.ItemCount=0;
  l_oItem.ItemList=null;


  l_Obj.ObjItemCollection=new Array(l_oItem);
  //l_Obj.ObjItemCollection[]


  l_Obj.ObjItemCount1=0;


  var l_oTable=d.createElement("table");
  l_oTable.setAttribute("cellpadding","0");
  l_oTable.setAttribute("cellspacing","0");
  l_oTable.setAttribute("width",a_iW);
  l_oTable.id=a_sId+"_$TABLE";
  GUILayerParentSet(l_oTable,a_oParent);

  return l_Obj;
}


function GUITVExpand(a_oItem,a_i)
{
  GUILayerVisibleSet(a_oItem[a_i],a_oItem.ObjExpanded);
  if (a_oItem[a_i].ObjItemCollection)
  {
    a_oItem=a_oItem[a_i].ObjItemCollection;
    a_i=0;
    GUILVExpand(a_oItem,a_i);
  }
  else
  {
    a_i++;
    if (a_oItem==null) return false;

    GUILVExpand(a_oItem,a_i);
  }
}

function GUITVItemSelectedGet(a_oObj)
{
  return a_oObj.ObjItemSelected;
}

function GUITVItemSelectedSet(a_oObj,a_oObjSelected)
{
  a_oObj.ObjItemSelected=a_oObjSelected;
}

function GUITVItemAdd(a_oObj,a_oObjParent,a_sText)
{
  function GUITVItem_onmousedown(e)
  {
    if (!e) e=event;

    var l_oSender=EventSender(e);

    l_Obj.ObjItemSelected=l_oRow;

    if (l_oRow.ObjItemCollection)
    {

      if (l_oRow.ObjExpanded==true)
      {
        l_oRow.ObjExpanded=false;
        GOB(""+l_oRow.id+"_$BTN").innerHTML="+";
      }
      else
      {
        l_oRow.ObjExpanded=true;
        GOB(""+l_oRow.id+"_$BTN").innerHTML="-";
      }



      var l_oCurrentItem=l_oRow.ObjItemCollection;
      //GUITVExpand(l_oCurrentItem,0);

      for (var i=0;i<=l_oRow.ObjItemCollection.length-1;i++)
      {
        GUILayerVisibleSet(l_oRow.ObjItemCollection[i],l_oRow.ObjExpanded);
      }
    }
  };

  function GUITVItemText_onmousedown(e,a_iType)
  {
    if (!e) e=event;

    var l_oSender=EventSender(e);

    if (a_iType==0)
    {
      var l_oSelectedObj=GUILayerParentGet(l_oSender);
    }
    else
    {
      var l_oSelectedObj=GUILayerParentGet(GUILayerParentGet(l_oSender));
    }

    

    if (l_Obj.ObjItemSelected)
    {
      GUILayerBgColorSet(l_Obj.ObjItemSelected,"#ffffff");
      l_Obj.ObjItemSelected=l_oSelectedObj;

      GUILayerBgColorSet(l_Obj.ObjItemSelected,"#c0c0c0");
    }
    else
    {
      alert(l_Obj.ObjItemSelected=GUILayerParentGet(l_oSender));

      l_Obj.ObjItemSelected=l_oSelectedObj;
      GUILayerBgColorSet(l_Obj.ObjItemSelected,"#c0c0c0");
    }


    //l_Obj.ObjItemSelected=GUILayerParentGet(l_oSender);

  };


  var l_oTable=GOB(a_oObj.id+"_$TABLE");

  var l_oRow=l_oTable.insertRow();
  l_oRow.id=""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"";
  var l_oCell=l_oRow.insertCell();
  l_oCell.id=""+a_oObj.id+"_$CELL_"+a_oObj.ObjItemCount1+""


  if (a_oObjParent==null)
  {
    var oAttr1=d.createAttribute("ObjItemCount");
    l_Obj.setAttributeNode(oAttr1);
    l_oRow.ObjItemCount=0;

    var oAttr2=d.createAttribute("ObjItemCollection");
    l_Obj.setAttributeNode(oAttr2);
    l_oRow.ObjItemCollection=null;

    var oAttr3=d.createAttribute("ObjExpanded");
    l_Obj.setAttributeNode(oAttr3);
    l_oRow.ObjExpanded=true;

    var oAttr4=d.createAttribute("ObjLevel");
    l_Obj.setAttributeNode(oAttr4);
    l_oRow.ObjLevel=1;


    l_oCell.innerHTML="<font style=\"cursor:pointer;\" unselectable=\"on\" id=\""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN\">-</font> <font id=\""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN1\">"+a_sText+"</font>";
    GUILayerWSet(l_oCell,GUILayerWGet(GOB(""+a_oObj.id+"_$TABLE")));
    GUILayerFontTypeSet(l_oCell,"tahoma");
    GUILayerFontSizeSet(l_oCell,12);

    GOB(""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN1").onmousedown=function(e){if (!e) e=event;GUITVItemText_onmousedown(e,1)};
    GOB(""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN").onmousedown=function(e){if (!e) e=event;GUITVItem_onmousedown(e)};
    //l_oCell.onmousedown=function(e){if (!e) e=event;GUITVItemText_onmousedown(e,0)};


  }
  else
  {

    var oAttr1=d.createAttribute("ObjItemCount");
    l_Obj.setAttributeNode(oAttr1);
    l_oRow.ObjItemCount=0;

    var oAttr2=d.createAttribute("ObjItemCollection");
    l_Obj.setAttributeNode(oAttr2);
    l_oRow.ObjItemCollection=null;
    //GUILayerVisibleSet(l_oRow,false);

    var oAttr3=d.createAttribute("ObjExpanded");
    l_Obj.setAttributeNode(oAttr3);
    l_oRow.ObjExpanded=true;

    var oAttr4=d.createAttribute("ObjLevel");
    l_Obj.setAttributeNode(oAttr4);
    l_oRow.ObjLevel=a_oObjParent.ObjLevel+1;

    var l_sSpace=StrBuilder("&nbsp;",l_oRow.ObjLevel);



    l_oCell.innerHTML=l_sSpace+"<font style=\"cursor:pointer;\" unselectable=\"on\" id=\""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN\">-</font>"+l_sSpace+" <font id=\""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN1\">"+a_sText+"</font>";
    GUILayerWSet(l_oCell,GUILayerWGet(GOB(""+a_oObj.id+"_$TABLE")));
    GUILayerFontTypeSet(l_oCell,"tahoma");
    GUILayerFontSizeSet(l_oCell,12);

    GOB(""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN1").onmousedown=function(e){if (!e) e=event;GUITVItemText_onmousedown(e,1)};
    GOB(""+a_oObj.id+"_$ROW_"+a_oObj.ObjItemCount1+"_$BTN").onmousedown=function(e){if (!e) e=event;GUITVItem_onmousedown(e)};
    //l_oCell.onmousedown=function(e){if (!e) e=event;GUITVItemText_onmousedown(e,0)};

    if (!a_oObjParent.ObjItemCollection)
    {
      a_oObjParent.ObjItemCollection=new Array();
    }

    a_oObjParent.ObjItemCollection[a_oObjParent.ObjItemCount]=l_oRow;
    a_oObjParent.ObjItemCount++;
  }

  a_oObj.ObjItemCount1++;
  return l_oRow;
}

//######################################

    function $GUIComboCreate(a_sId,a_iX,a_iY)
    {
      var l_oLyr=GUILayerCreate(a_sId,null,null,a_iX,a_iY,100000,"",d.body,"visible","");
      GUILayerBgColorSet(l_oLyr,"#eaeaea");

      var oBorder=_GUILayerBorder_Node;
      oBorder.w=1;
      oBorder.color="gray";
      oBorder.style="solid";
      GUILayerBorderSet(l_oLyr,oBorder);

      var l_oLv1=GUILVCreate(a_sId+"_$LV",GUILayerWGet(l_oLyr),250,2,2,GUILayerZGet(l_oLyr)+1,l_oLyr,"visible","",dirVert,true,3);
      GUILVItemSelectableSet(l_oLv1,false);

      return l_oLyr;
    }

    function $GUIComboItemAdd(a_Obj,a_sId,a_sText,a_Code)
    {
      var l_oBtnA=GUIButtonCreate(""+a_Obj.id+"_$LV_$BTN_"+a_sId+"",null,23,0,0,GUILayerZGet(a_Obj)+2,a_sText,a_Obj,"",a_Code);

      GUILVItemAdd(GOB(a_Obj.id+"_$LV"),l_oBtnA);

      return l_oBtnA;
    }


//-------------------------------------------
function OWND(a){window.open(""+a+"","Nw1")}
//-------------------------------------------
function CPAN(a,a0,a1,a2,a3,a4,a5,a6,a7) //a7 tooltip olsun mu olmasın mı?
{
  var o=CLyr(a,a0,a1,a2,a3,a4,"",a5,"hidden",a6);
  o.a=0;
  o.b=a7;
  $7(o,"ellipsis");

  return o;
}

function APAN(a,a0,a1)
{
 var l0=""+a1.id+"_"+a1.a+"";

 var o=CLyr(l0,1,((a1.a*18)+1),($A(a1)+1),(parseInt($G(a1))-2),16,a,"","hidden",a1);
 if(a1.b==1) $F(o,a);
 $B(o,true);
 $7(o,"ellipsis");
 GUILayerCursorSet(o,crHand);
 o.data=a0;

 a1.a++;

 return o;
}
//--------------------------------------------

function GUILayerIcon(a_sId,a_sHtml,a_iX,a_iY,a_iZ,a_oParent,a_sImgPath)
{
  var l_oLyr=GUILayerCreate(a_sId,75,75,a_iX,a_iY,a_iZ,"",a_oParent,"visible","");
  l_oLyr.setAttribute("align","center");

  GUILayerCreate(a_sId+"_$Icon",32,32,21,0,GUILayerZGet(l_oLyr)+1,"<img id=\""+a_sId+"_$Img\" src=\""+a_sImgPath+"\" border=\"0\" align=\"absmiddle\">",l_oLyr,"visible","");

  var l_oLyrText=GUILayerCreate(a_sId+"_$Text",75,35,0,35,GUILayerZGet(l_oLyr)+1,a_sHtml,l_oLyr,"hidden","");
  l_oLyrText.setAttribute("align","center");
  $B(l_oLyrText,true);
  $7(l_oLyrText,"ellipsis");

  return l_oLyr;
}


//------------------------------------------
function CMemo(a,a0,a1,a2,a3,a4,a5,a6,a7)  //a=id; a0=x; a1=y; a2=z; a3=w; a4=h; a5=value; a6=class; a7=parent; 
{
 if(typeof(a6)!="undefined" || a6!=null)
 {
  var b=" class=\""+a6+"\""
 }

 var q="<textarea"+b+" id=\""+a+"\" style=\"position:absolute;width:"+a3+";height:"+a4+";left:"+a0+";top:"+a1+";z-index:"+a2+";\">"+a5+"</textarea>";

 $H(a7,q);

 return GOB(a)
}
//---------------------------------------------
function CGrid(id,x,y,z,w,h,colCount,rowCount,parent,cls)
{
  aCol=new Array();
  CLyr("",x,y,z,w+2,h,"<table colCount=\""+colCount+"\" rowCount=\""+rowCount+"\" id=\""+id+"\" cellpadding=\"0\" cellspacing=\"0\" width=\""+w+"\" height=\"30\"></table>",cls,"auto",parent);

  return GOB(id);
}

function DGrid(id,parent)
{
  parent.removeChild(GOB(id));
}

function SCell(id,row,col,val)
{
  GOB(""+id+"_"+col+"_"+row+"").innerHTML=val;
  return GOB(""+id+"_"+col+"_"+row+"");
}

function GCell(id,row,col)
{
  return GOB(""+id+"_"+col+"_"+row+"").innerHTML;
}

function GetColCount(id)
{
 return GOB(id).colCount;
}

function GetRowCount(id)
{
 return GOB(id).rowCount;
}

function AddCol(name,width,parent)
{
 oCol=new Object();
 oCol.name=name;
 oCol.width=width;
 oCol.parent=parent;

 aCol[parent.colCount]=oCol;
 parent.colCount++;
}

function AddRow(parent,h)
{
  oRow=parent.insertRow();
  oRow.id=""+parent.id+"_"+parent.rowCount+"";
  
  for(var i=0;i<=aCol.length-1;i++)
  {
    var l_id=""+parent.id+"_"+i+"_"+parent.rowCount+"";
    oCell=oRow.insertCell();
    oCell.id=l_id;
    oCell.style.width=aCol[i].width;
    oCell.style.height=h;
    oCell.style.fontFamily="arial";
    oCell.style.fontSize=12;
    oCell.style.padding=3;
    oCell.style.borderRight="dashed 1 #dedede";
    oCell.style.borderBottom="dashed 1 #dedede";
  }

  parent.rowCount++;
  return oRow;
}

function RemoveRow(e,parent)
{
  if (!e) e=event;

  l_oSenderObj=EventSender(e);

  parent.deleteRow(GUILayerParentGet(GUILayerParentGet(GUILayerParentGet(l_oSenderObj))).rowIndex);
}