function menu_requestPassword() {
    hide($("divWrongLogin"))
    hide($("mHesabimUnLoginned"));
    show($("mHesabimRequestPassword"));
}

function menu_cancelPassword() {
    show($("mHesabimUnLoginned"))
    hide($("mHesabimRequestPassword"))
}

function menu_sendPassword() {
    var strEmail = $("inpEmail").value;
    if (menu_isEmail(strEmail)) {
        _Default.sendPassword(strEmail,menu_sendPassword_callback);
        loading();
    } else {
        alert ("Belirttiginiz mail adresi yanlis gorunuyor. Lütfen kontrol ediniz.");
    }
}


function menu_sendPassword_callback(res) {
    loaded();
    if (res.value==null) {return;}
    if (res.value=="[OK]") {
        menu_cancelPassword();
        alert ("Giris bilgileriniz mail adresinize iletilmistir.");
    } else {
        alert ("Yazdiginiz mail adresine kayitli herhangi bir hesap bulunamadi.");
    }
    
} 

function menu_logout() {
   _Default.logout(menu_logout_callback); 
}

function menu_logout_callback(res) {
    if (res.value==null) {return;}
    if (res.value = true ) {
        destroyUser();
        menu_userLoggedOut();
    } else {
        alert ("Hata olustu!");
    }
}

function menu_refreshLoginContent() {
    if (userPower!="") {
        _Default.loadAccountDetails(menu_accountDetails_callback);
    }
}

function menu_userLoggedOut() {
    show($("mHesabimUnLoginned"));
    hide($("mHesabimLoginned"));
    
    hide($("mDavetiye"));
    hide($("mDavetiyeContent"));
    hide($("mPM"));
    hide($("mPMContent"));
    /*
    hide($("mHaykir"));
    hide($("mHaykirContent"));
    hide($("mAyarlar"));
    hide($("mAyarlarContent"));
    */
    hide($("mIletisimContent"));

    if (pageBeingLoaded == uyeAdaylari || pageBeingLoaded == bekleyenFikir ||  pageBeingLoaded == detail || pageBeingLoaded == PM || pageBeingLoaded == fikirYaz || pageBeingLoaded == uyeOl || pageBeingLoaded == profile) {pageBeingLoaded = mainPage};
    reConstructLoadedPage();
    $("mHesabimDiv").innerHTML = "<img src='design/img/dotdot.gif'>";
    refresh_onlineUsers();
}

function menu_userLoginned() {

    if (pageBeingLoaded!="") reConstructLoadedPage();

    hide($("mHesabimUnLoginned"));
    show($("mHesabimLoginned"));
    show($("mDavetiye"));
    show($("mPM"));
    /*
    show($("mHaykir"));
    show($("mAyarlar"));
    */
    menu_refreshLoginContent();
    refresh_onlineUsers();
}

function menu_accountDetails_callback(res) {
    if (res.error!=null) {return}
    var row = res.value.Tables[0].Rows[0];
    var html = "<span class='hesabimWelcome'>Merhaba, <b>"+ row.userNick+"</b><a href='javascript:void(0)' class='menuLink' onclick=\"q1='"+row.siralama+"';loadPage(siralama)\"><span title='Top fikir babalari siralamaniz' style='font-size:x-small;'>["+row.siralama+"]</span></a></span>";
    
    html+= "<br><a href='javascript:void(0)' class='menuLink' onclick='loadPage(detail)'>"+row.toplamFikir+" fikriniz, "+row.toplamYorum+" yorumunuz var.</a>";
    
    var msg = "Hiç yeni mesajiniz yok.";
    if (row.toplamYeniMesaj>0) {
        msg = "<span style='color:red; text-decoration:blink;'>Toplam <b>"+row.toplamYeniMesaj+"</b> yeni mesajiniz var!</span>";
    }
    html+= "<br><a href='javascript:void(0)' class='menuLink' onclick='loadPage(PM)'>"+msg+"</a>"

    if (row.toplamOnayBekleyenFikir>0) {
        html+="<br><a href='javascript:void(0)' class='menuLink' onclick='loadPage(bekleyenFikir)'>"+row.toplamOnayBekleyenFikir+" fikir yayin için onay bekliyor</a>";
    }

    if (row.toplamUyeAdayi>0) {
        html+="<br><a href='javascript:void(0)' class='menuLink' onclick='loadPage(uyeAdaylari)'>"+row.toplamUyeAdayi+" üye adayi onay bekliyor</a>";
    }
    

    $("mHesabimDiv").innerHTML = html;
}

function menu_login() {
    loading();
    hide($("divWrongLogin"));
    $("btnSubmit").disabled = true;
    strNick = $("menuNick").value;
    strPass = $("menuPass").value;
    strMod  = "0";
    
    strRemember = $("menuRemember").checked ? "1" : "0";
    
    $("menuNick").value = "";
    $("menuPass").value = "";
    $("menuRemember").checked = false;
    
    _Default.login(strNick, strPass, strRemember, strMod, menu_login_callback);
}

function menu_login_callback(res) {

    loaded();
    if (res.error!=null) {return;}
    $("btnSubmit").disabled = false;

    if (res.value=="[ERROR]") {
        //Wrong password
        show($("divWrongLogin"));
    } else if (res.value.indexOf("BANNEDUNTIL")>-1) {
        //Banned
        var expireDate = res.value.substring(res.value.indexOf(":")+1,res.value.length-1); 
        var tmpHTML = "Hesabiniz "+ expireDate+" tarihine kadar askiya alinmistir.";
        $("divWrongLogin").innerHTML = tmpHTML;
        show($("divWrongLogin"));
    } else if (res.value == "[UNCONFIRMED]") {
        var tmpHTML = "Üyeliginiz pasif durumda. Aktiflestirmek için e-postanizi kontrol ediniz.";
        $("divWrongLogin").innerHTML = tmpHTML;
        show($("divWrongLogin"));
    } else {
        //Signed in
        var resValue = res.value.split("|");
        initUser(resValue[0]);
    }
}

function menu_isEmail(string) {
    if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	   return true;
    else
   	return false;
}

function menu_requestActivation() {}
function menu_requestMemberShip() {}

function menu_letMeInvite() {
    show($("mDavetiyeContent"));
    $("inpInviteMail").focus();
}

function menu_invite() {
    var strMail = $("inpInviteMail").value.trim();
    $("inpInviteMail").value = strMail;
    
    if (menu_isEmail(strMail)) {
        q1 = strMail;
        loadPage(preDavet);
    } else {
        alert ("Belirttiginiz mail adresi yanlis gorunuyor. Lütfen kontrol ediniz.");
    }
}

function menu_updateProfile() {
    loadPage(profile);
}

function menu_showPM() {
    loadPage(PM);
}

function menu_sendQuickPM(pmUserNick, pmTitle, pmBody) {
    
    show($("mPMContent"));
    //show($("mPMSend"));
    
    $("pmTo").value     = pmUserNick+", ";
    $("pmTitle").value  = pmTitle;
    $("pmBody").value   = pmBody;
    
    if (pmTitle == "") {
        $("pmTitle").focus();
    } else {
        $("pmBody").focus();
    }
}

function menu_checkPM () {
    var pmUserNick = $("pmTo").value; 
    var pmTitle = $("pmTitle").value;
    var pmBody = $("pmBody").value;
    var pmSaveUser = $("pmWillAddUser").checked ? "1" : "0"; 
    
    if (pmUserNick.trim()=="") {alert ("Mesajiniza alici ekleyin!"); return;}
    if (pmTitle.trim()=="" && pmBody.trim()=="") {alert ("Lütfen, mesajinizin basligini ve/veya konusunu yaziniz!"); return;}
    
    menu_sendPM(pmUserNick, pmTitle, pmBody, pmSaveUser)
}

function menu_checkIletisim() {
    var pmEmail = $("iletisimEmail").value; 
    var pmBody = $("iletisimBody").value;
    
    if (!menu_isEmail(pmEmail.trim())) {alert ("Belirttiginiz mail adresi yanlis gözüküyor!\n\nLütfen kontrol ediniz!"); return;}
    
    $("iletisimGonder").disabled=true;
    _Default.sendIletisim(pmEmail, pmBody,menu_sendIletisim_callback);    
}

function menu_sendIletisim_callback(res) {
    if (res.value==null) {return;}
    $("iletisimEmail").value = "";
    $("iletisimBody").value = "";
    $("iletisimGonder").disabled=false;
    alert ("Ilginiz tesekkür ederiz\n\nKonu basariyla site yönetimine iletilmistir!");
}

function menu_goDetail() {}

function menu_sendPM(pmUserNick, pmTitle, pmBody, pmSaveUser) {
    loading();
    _Default.pmSend(pmUserNick, pmTitle, pmBody, pmSaveUser, menu_sendPM_callback);
}

function menu_sendPM_callback(res) {
    loaded();
    if (res.value==null) {return;}

    //hide($("mPMSend"));
    $("pmTo").value = "";
    $("pmTitle").value = "";
    $("pmBody").value = "";
    $("pmWillAddUser").checked = false;

    if (res.value[0]=="[OK]") {
        alert ("Mesajlariniz basariyla gönderildi!");
    } else if (res.value[0]=="[ERROR]") {
        alert ("Mesajlariniz gönderilirken asagidaki sorunlar olustu:\n\n"+ res.value[1]);
    }
}