﻿// Sayfanin sag ust kosesindeki login penceresi kullanilarak giris veya cikis
// yapilirsa, sayfanin yeniden yuklenmesi gerekebilir. Bu dosya, sayfanin
// yeniden yuklenmesi gerekiyorsa sayfanın yeniden yuklenmesini saglayan
// kodlari icerir. Masterpage.master dosyasindan uretilen icerik sayfalarinin
// eger yeniden yuklenmesi gerekiyorsa, icerik dosyasina su kodu ekleyiniz:
//
// <script language="javascript" type="text/javascript">
//     RefreshPage = true;
// </script>
//
// Bu kodun yazilmadigi dosyalar, giris ve cikis islemlerinden sonra
// yeniden yuklenmezler.

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded);

var RefreshPage = false;
var postBackElement;

function BeginRequestHandler(sender, args)
{
    // Request'in basinda, Request'e sebep olan kontrolu bul:
    postBackElement = args.get_postBackElement();
}

function PageLoaded(sender, args)
{
    // Request tamamlandiktan sonra, hangi panelin guncellendigini
    // ve bu panelin guncellenmesine hangi kontrolun sebep olduğunu
    // bularak sayfanin yeniden yuklenip yuklenmemesine karar ver:
    var updatedPanels = args.get_panelsUpdated();
    
    for (i=0; i<updatedPanels.length; i++)
    {
        var panel = updatedPanels[i];
        
        // Panel, ucUyeGirisi kontrolunden geliyorsa kontrole devam et:
        if (panel.id.toLowerCase().indexOf('ucuyegirisi') > -1)
        {
            // ucUyeGirisi nesnesi icerisindeki guncellenmis div'leri incele:
            var child = panel.firstChild;
        
            while (child != null)
            {
                // Login durumu: (btnGonder tarafindan div3 guncellenir)
                if (child.id.toLowerCase().indexOf('div3') > -1)
                {
                    if (postBackElement.id.toLowerCase().indexOf('btngonder') > -1)
                    {
                        if (RefreshPage)
                        {
                            location.reload();
                        }
                    }
                }
                // Logout durumu: (lnkLogout tarafindan div1 guncellenir)
                else if (child.id.toLowerCase().indexOf('div1') > -1)
                {
                    if (postBackElement.id.toLowerCase().indexOf('lnklogout') > -1)
                    {
                        if (RefreshPage)
                        {
                            location.reload();
                        }
                    }
                }

                // Sonraki div'e gec:
                child = child.nextSibling;
            }
        }
    }
}

