﻿//Variables__________________________________________________________________________________________________________
    //What is being done at the moment?
    var currentAction = "";
    var queue = 0;
    //HTML files...
    var uyeOl             = "fikirBabasiRegister";
    var fikirYaz          = "fikirGiris";
    var fikirView         = "fikirView";
    var mainPage          = "main";
    var sendToFriend      = "suggest";
    var fikirSearch       = "search";
    var allFikirs         = "fikirList";
    var invitationWelcome = "welcomeInvitation";
    var manifesto         = "_manifesto";
    var firstLogin        = "_firstLogin";
    var welcomeYorumcu    = "_welcomeYorumcu";
    var wannaRegister     = "_wannaRegister";
    var confirmAccount    = "confirmed";
    var profile           = "profile";
    var detail            = "detail";
    var siralama          = "siralama";
    var PM                = "pm";
    var servisler         = "servisler";
    var bekleyenFikir     = "wFikir";
    var uyeAdaylari       = "wUser";
    var preDavet          = "preDavet";
    //HTML context
    var htmlLoading = "yukleniyor<img src='design/img/dotdot.gif'>";

    var lastFikirsDataSet = null;
    var commentsDataSet   = null;

    //Paging
    var global_currPage = 0;
    var global_pageSize = 30;
    var global_rowsCount;

    var commentsPageSize    = 10;
    var commentsCurrentPage = 0;
    
    //Users last action date
    var lastProcessDate;

    //Init Variable for the first time
    var pageBeingLoaded = "";         // Which page is being loaded?
    var fikirToBeViewed = "";         // Fikir's ID that will be displayed
    var one_day = 1000*60*60*24;      // Birgun
    
    //QueryString
    var q1 ="" , q2 ="", q3="", q4="";
    
    //User
    var userPower = "";
    var userID = "";
    var userRoles = new Array("fikir babası","editör","çolpa");
    
    //Contextmenu
    var _replaceContext = true; // replace the system context menu? 
    var _mouseOverContext = false; // is the mouse over the context menu? 
    var _noContext = false; // disable the context menu? 
    var _divContext; // makes my life easier
    var _lastElement;
    
    var postBack = false;
    
    var userInterval;

function destroyUser() {userID = "";     userPower = ""; }

function terminatePage() {
    _Default.terminateSession();
}

function initUser(powerAndID) {
    if (powerAndID == "[:]") {
        //Not loginned
        show($("mHesabimUnLoginned"));
    } else {
        //Loginned
        var tmpUserID = powerAndID.substring(powerAndID.indexOf(":")+1,powerAndID.length-1); 
        var tmpPower  = powerAndID.substring(1, powerAndID.indexOf(":"));
        userID = tmpUserID;
        userPower = (tmpPower == "" ? "" : "["+ tmpPower +"]");
        menu_userLoginned();
    }
}

//initialization
function initPage(confirmation, invitation , id, powerAndID) {
    //firsttime
    
    /*
    if (top.frames.length != 0) {
        top.location = "http://www.benbuldum.com";
    };
    */
    
    initUser(powerAndID);
    _divContext = $("divContext");
    var IE = document.all? true:false;
    document.body.onmousedown = ContextMouseDown;
    document.body.oncontextmenu = ContextShow;
    _divContext.onmouseover = function() { _mouseOverContext = true; }; 
    _divContext.onmouseout = function() { _mouseOverContext = false; };

    document.onmousedown    = ContextMouseDown;
    document.oncontextmenu  = ContextShow;
    if (document.layers) window.captureEvents(Event.MOUSEDOWN);
    if (document.layers) window.captureEvents(Event.MOUSEUP);
    window.onmousedown   = ContextMouseDown;
    window.oncontextmenu = ContextShow;
    
    //refresh every minute
    setInterval("periodicRefresh();",60 * 1000);
    
    //init page load

    var page2Load = "";
    if ( invitation!= "" && invitation!= "null") {
        //davetiye ile uye olcak
        q1 = invitation;
        page2Load = (invitationWelcome);
        loadPage(page2Load);
    } else if ( confirmation!= "" && confirmation!= "null") {
        q1 = confirmation;
        page2Load = (confirmAccount);
        loadPage(page2Load);
    } else {
        if (id=="null" || id=="") {
            //page2Load = (mainPage);
        } else {
            fikirToBeViewed = id;
            //page2Load = (fikirView);
            //loadPage(page2Load);
        }
    }

    initMenu();
    refreshRating();
    refreshTopRead();
    refreshBabas();
    
    $("inpSearch").value = $("Label1").innerHTML;
    //pageBeingLoaded = mainPage;
}

function periodicRefresh() {
    manualRefresh();
    menu_refreshLoginContent();
    refresh_onlineUsers();
}

//Ajax Requests______________________________________________________________________________________________________
function loadPage(strPageName) {
    postBack = true;
    destroyUserInterval();
    loading();
    if (pageBeingLoaded == strPageName) {
        try {
            eval(strPageName+"_init()");
        } catch (err) {
            loaded();
        }
    } else {
        var passCode = q1;
        pageBeingLoaded = strPageName;
        _Default.readFile(strPageName, passCode, loadPage_callback);
    }
}


function refreshCategoryTree() {
    loading();
    _Default.loadCategoryTree(refreshCategoryTree_callback);
}
function refreshBugunYemekteNeVar() {
    loading();
    global_page(3);
}
function refreshRating() {
    loading();
    _Default.loadRating(refreshRating_callback);
}
function refreshTopRead() {
    loading();
    _Default.loadTopRead(refreshTopRead_callback);
}
function refreshBabas() {
    loading();
    _Default.loadBabas(refreshBabas_callback);
}

function doRate() {
    //alert (q1+","+q2+","+q3+","+q4);
    _Default.rate(q1,q2,q3,q4, doRate_callback);
    resetQueryString();
}

function rastgele() {
    loading();
    fikirToBeViewed = "-1" ;
    loadPage(fikirView);
}

function reConstructLoadedPage() {
    _Default.readFile(pageBeingLoaded, "", loadPage_callback);
}

function refresh_onlineUsers() {
    _Default.loadOnlineUsers(onlineUsers_callback);
}


//Ajax Callbacks_____________________________________________________________________________________________________
function rastgele_callback(res) {
    loaded();
    if (res.value == null) { return }
    lastFikirsDataSet = res;
    lastFikirsCurrentPage = 0;
    pageBugunYemekteNeVar();
}

function onlineUsers_callback(res) {
    if (res.value == null) { return }
    var rows = res.value.Tables[0].Rows;
    var html = "";
    var visitor="";
    var registered ="";
    for (k=0;k<rows.length; k++) {
        if (rows[k].userType=="0") {
            visitor = rows[k].onlineUsersCount;
        } else {
            registered = rows[k].onlineUsersCount;
        }
    }
    
    if (visitor!="") {html+= visitor+" ziyaretçi, ";}
    if (registered!="") {html+= registered+" üye, ";}
    
    html = html.substring(0, html.length-2)+" sistemde";
    
    $("main_onlineUsers").innerHTML = html;
}

function loadPage_callback(res) {
    loaded();
    if (res.value == null) { return }
    if (res.value == "[notLoggedIn]") {
        setContentHTML("<h3><b>Fikir yazmak için;</b><br><br>- Üye iseniz lütfen önce giriş yapınız.<br>- <a href=\"javascript:void(0)\" onclick=\"q1='[NONE_MEMBER]';loadPage(fikirYaz);\">Üye değilseniz, fikrinizi yazmak için tıklayınız!</a></h3>");
        pageBeingLoaded = "";
    } else if (res.value == "[notFikirBabasi]") {
        setContentHTML("Fikir Babasi degilsiniz.");
    } else {
        setContentHTML(res.value);
        if (pageBeingLoaded!="") {initLoadedPage(pageBeingLoaded);}
    }
    
}

function refreshCategoryTree_callback(res) {
    var rows = res.value.Tables[0].Rows;
    var tempHTML = "";
    
    if (rows.length>0) {
        for (k=0 ; k<rows.length; k++) {
            tempHTML +=    "- "+ 
                           "<a href='javascript:void(0)' onclick=\"q2='"+rows[k].categoryID+"';loadPage(allFikirs)\">"+ rows[k].category_title;
            tempHTML +=" <span style='font-size:x-small;'>("+ rows[k].SayfikirID +")</span>";                   
            tempHTML +="</a><br />";
        }
    }
    
    $("divKategoriler").innerHTML = tempHTML;
    loaded();
}


function refreshTopRead_callback(res) {
    var rows = res.value.Tables[0].Rows;
    var tempHTML = "";
    
    if (rows.length>0) {
        for (k=0 ; k<rows.length; k++) {
            tempHTML +=    "- "+ 
                           "<a title='"+ rows[k].fikir_readtimes +" kez okundu' href='javascript:void(0)' onclick=\"loadFikir('"+ rows[k].fikirID+"')\">"+ rows[k].fikir_titles;
            tempHTML +=" <span style='font-size:x-small;'>("+ rows[k].fikir_readtimes +")</span>";                   
            tempHTML +="</a><br />";
        }
        $("fikirsByRead").innerHTML = tempHTML;
    } else {
        $("fikirsByRead").innerHTML = "";
    }
    loaded();
}

function refreshBabas_callback(res) {
    if (res.value!=null) {
        var rows = res.value.Tables[0].Rows;
        var tempHTML = "";
        
        if (rows.length>0) {
            for (k=0 ; k<rows.length; k++) {
                tempHTML +=    "- <a onmouseover='startUserInterval(this)' onmouseout='destroyUserInterval()' userID='"+rows[k].userID+"'  href=\"javascript:void(0)\" onclick=\"q1='"+rows[k].userID+"'; loadPage(allFikirs);\">"+rows[k].user_nick+" ("+ rows[k].user_name+" "+rows[k].user_surname +")</a>";
                tempHTML +=" <span style='font-size:x-small;'>("+ rows[k].ortalama.toFixed(2) +")</span>";                   
                tempHTML +="<br />";
            }
            $("topBabas").innerHTML = tempHTML;
        } else {
            $("topBabas").innerHTML = "";
        }
    }
    loaded();
}

function refreshCategories(res) {
    var categories = res.value[1].Tables[0].Rows;
    var catHTML = "";
    for (k = 0 ; k< categories.length; k++) {
            catHTML +=  "- "+
                        "<a href='javascript:void(0)' onclick=\"q2='"+categories[k].categoryID+"';loadPage(allFikirs);\">"+ categories[k].category_title +
                        "</a><br />";
    }
    $("divKategoriler").innerHTML = catHTML;
}

function nextYemekPage() {
    if ( ((lastFikirsCurrentPage /lastFikirsPageSize)+1) < (Math.ceil(lastFikirsDataSet.value.Tables[0].Rows.length/lastFikirsPageSize))  ) {
        lastFikirsCurrentPage+= lastFikirsPageSize;
        pageBugunYemekteNeVar();
    }
}

function previousYemekPage() {
    if (lastFikirsCurrentPage>0) {
        lastFikirsCurrentPage-= lastFikirsPageSize;
        pageBugunYemekteNeVar();
    }
}

function global_callback(res) {
    var rows  = res.value.Tables[0].Rows;
    var tempHTML = "";
    
    for (k = 0 ; k< rows.length; k++) {
        tempHTML +=    "- ";
        if (rows[k].fikir_on == 1) tempHTML+= "<b>";
        tempHTML +=    "<a href=\"default.aspx?id="+ rows[k].fikirID+"\" onclick=\"loadFikir('"+ rows[k].fikirID+"'); return false;\">"+ rows[k].fikir_title;
        if (rows[k].fikir_on == 1) tempHTML+= "</b>";

        if (rows[k].countComment>0) {
            tempHTML +=" <span style='font-size:x-small;'>("+rows[k].countComment+")</span>";                   
        }
        tempHTML +="</a><br />";
    }
    $("divLastFikirs").innerHTML = tempHTML;
    
}

function refreshRating_callback(res) {
    if (res.value != null) {
        var rows = res.value.Tables[0].Rows;
        var tempHTML = "";
        
        if (rows.length>0) {
            for (k=0 ; k<rows.length; k++) {
                tempHTML +=    "- "+ 
                               "<a title='"+ rows[k].Ortalamarating_value.toFixed(1)+" puan / "+ rows[k].SayratingID+" oy' href='javascript:void(0)' onclick=\"loadFikir('"+ rows[k].fikirID +"')\">"+ rows[k].fikir_title;
                tempHTML +=" <span style='font-size:x-small;'>("+ rows[k].Ortalamarating_value.toFixed(1) +")</span>";                   
                tempHTML +="</a><br />";
            }
            $("fikirsByRating").innerHTML = tempHTML;
        } else {
            $("fikirsByRating").innerHTML = "";
        }
    } else {
        $("fikirsByRating").innerHTML = "";
    }
    loaded();
}


function doRate_callback(res) {
    if (res.value==null) {
        alert ("Oylamada bir sorun cikti. Tekrar denesene");
    }
    fikirView_loadFikir(fikirToBeViewed);
    refreshRating();
}

//Standart JS Actions________________________________________________________________________________________________

function loginLogout() {

    if (userPower != "") {
        loadPage(cikis);
    } else {
        loadPage(giris);
    }
}

function setContentHTML(strContentHTML) {
    $("mainPage").innerHTML = strContentHTML;
}

function loadFikir(fikirID) {
    fikirToBeViewed = fikirID;
    loadPage(fikirView);
}

function loading() {
    //Loading started
    //window.status.text = "yukleniyor...";
    setLoadingIconVisibility(true);
}

function loaded() {
    //Loading finished
    //window.status.text = "benbuldum.com: Fikir Babalarinin Mekani";
    setLoadingIconVisibility(false);
}

function setLoadingIconVisibility(booleanVisibility) {
    //Loading icon
	$("loading").style.display = (booleanVisibility==true) ? "block" : "none";
}

function initLoadedPage(strPageName) {
    //Load javascript file
    loadJavaScript("html/js/"+ strPageName +"_global.js",strPageName);
}

function loadJavaScript(strJSFileName, originalName) {
	var head = document.getElementsByTagName('head').item(0);
	var old  = $('lastLoadedJavaScript');if (old) head.removeChild(old);
    var queryToPreventCache = "";
    var tarih = new Date();
    queryToPreventCache = "?time=" + tarih.getTime();
    
    jsFileName =   strJSFileName + queryToPreventCache;
	script = document.createElement('script');
	script.src = jsFileName;
	script.type = 'text/javascript';
	script.id ="lastLoadedJavaScript";
	script.defer = true;
	void(head.appendChild(script));
}

function setDivLoading(id) {
    /*
    if ($(id)) {
        $(id).innerHTML= htmlLoading +$(id).innerHTML;
    }
    */
}

function isUserLoggedIn() {
    if ($("picLogin").src.indexOf("design/img/cks.gif")>-1) {
        return true;
    } else {
        return false;
    }
}

function menuPressed(targ) {
        var firstTag = targ;
        var show = false;
    	
        for (k=0; k<5; k++) {
            if (targ.getAttribute("name") == "fikir" || targ.getAttribute("name") == "yorum") {
                show = true;
                break;
            }
            targ = targ.offsetParent;
        }
        
        if (show) {
            _lastElement = targ;
	        _lastElement.style.borderColor="blue";
            
            targ = firstTag;
            var curleft=0;
            var curtop=0;
            if (targ.offsetParent){
	            while (targ.offsetParent)
	            {
		            curleft += targ.offsetLeft;
		            curtop 	+= targ.offsetTop;
		            targ = targ.offsetParent;
	            }
	        } else if (targ.x) {
	            curleft +=  targ.x;
		        curtop  +=  targ.y;
		    }
    	    
	        redefineContextMenu();
    	    
	        if (_noContext || _mouseOverContext) return; 

	        if (_replaceContext) { 
	            _divContext.style.display = 'none'; 
	            _divContext.style.left = curleft + 'px'; 
	            _divContext.style.top = curtop  + 'px'; 
	            _divContext.style.display = 'block'; 
	         }
	     }
}

function redefineContextMenu() {
    //admin
    
    if (userPower == "") {
        setContextMenuVisibility("del", "none");
        setContextMenuVisibility("warn", "none");
        setContextMenuVisibility("lock", "none");
        setContextMenuVisibility("edit", "none");
        setContextMenuVisibility("homePage", "none");
        setContextMenuVisibility("ban", "none");
        setContextMenuVisibility("ratingDisplay", "none");
        setContextMenuVisibility("loginRate", "block");
        setContextMenuVisibility("addUser", "none");
        setContextMenuVisibility("pmUser", "none");
    } else {
        setContextMenuVisibility("ratingDisplay", "block");
        setContextMenuVisibility("loginRate", "none");
        setContextMenuVisibility("addUser", "block");
        setContextMenuVisibility("pmUser", "block");
        
        if (userPower == "[1]" || userPower == "[2]") {
            setContextMenuVisibility("del", "block");
        } else {
            setContextMenuVisibility("del", "none");
        }

        if (userPower == "[2]") {
            $("lockContent").innerHTML = fikirView_isFikirLocked ? "Kilidi Kaldir" : "Kilitle";
            setContextMenuVisibility("warn", "block");
            setContextMenuVisibility("lock", "block");
            setContextMenuVisibility("edit", "block");
            setContextMenuVisibility("homePage", "block");
            setContextMenuVisibility("ban", "block");
        } else {
            setContextMenuVisibility("warn", "none");
            setContextMenuVisibility("lock", "none");
            setContextMenuVisibility("edit", "none");
            setContextMenuVisibility("homePage", "none");
            setContextMenuVisibility("ban", "none");
        }
        
        if (_lastElement) {
            var entryUserID = _lastElement.getAttribute("userID");
            if (entryUserID == userID) {
                setContextMenuVisibility("edit", "block");
                setContextMenuVisibility("ratingDisplay", "none");
            } else {
                setContextMenuVisibility("ratingDisplay", "block");
            }
        }
    }
}

function setContextMenuVisibility(id, hidden) {
    if (document.all) {
        if ($(id)) $(id).style.display = hidden;    
    } else {
        if ($(id+"Icon")) $(id+"Icon").style.display = hidden;
        if ($(id+"Content")) $(id+"Content").style.display = hidden;
    }
}

function ContextShow(event) {
	var targ;
	if (!event) var event = window.event;
	if (event.target) targ = event.target;
	else if (event.srcElement) targ = event.srcElement;
	if (targ.nodeType == 3) targ = targ.parentNode;
	
    var show = false;
	
	for (k=0; k<5; k++) {
	    if (targ.getAttribute("name") == "fikir" || targ.getAttribute("name") == "yorum") {
	        show = true;
	        break;
	    }
	    targ = targ.offsetParent;
	}
	
	
	if (show) {
	    
	    _lastElement = targ;
	    _lastElement.style.borderColor="blue";
	    if (_noContext || _mouseOverContext) return; 
	    redefineContextMenu();
    	
	    // IE is evil and doesn't pass the event object 
	    if (event == null) event = window.event; 
	    // we assume we have a standards compliant browser, but check if we have IE 
	    var target = event.target != null ? event.target : event.srcElement; 
	    if (_replaceContext) { 
	        // document.body.scrollTop does not work in IE 
	        var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop; 
	        var scrollLeft = document.body.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft; 
	        // hide the menu first to avoid an "up-then-over" visual effect 
	        _divContext.style.display = 'none'; 
	        _divContext.style.left = event.clientX + scrollLeft + 'px'; 
	        _divContext.style.top = event.clientY + scrollTop + 'px'; 
	        _divContext.style.display = 'block'; 
	     }
	}
	
	return (false);
}

// call from the onMouseDown event, passing the event if standards compliant
function ContextMouseDown(event)
{
	if (_noContext || _mouseOverContext)
		return;

	if (_lastElement) _lastElement.style.borderColor="#FFFFFF";
	// IE is evil and doesn't pass the event object
	if (event == null)
		event = window.event;
		
	// we assume we have a standards compliant browser, but check if we have IE
	var target = event.target != null ? event.target : event.srcElement;

	// only show the context menu if the right mouse button is pressed
	//   and a hyperlink has been clicked (the code can be made more selective)
	if (event.button == 2 && target.tagName.toLowerCase() == 'a')
		_replaceContext = true;
	else if (!_mouseOverContext)
		_divContext.style.display = 'none';
}

function CloseContext()
{
	_mouseOverContext;
	_divContext.style.display = 'none';
}

function DisableContext()
{
	_noContext = true;
	CloseContext();
	$('aEnable').style.display = '';
	return false;
}

function EnableContext()
{
	_noContext = false;
	_mouseOverContext = false; // this gets left enabled when "disable menus" is chosen
	$('aEnable').style.display = 'none';
	
	return false;
}

function trOver(obj) {
    obj.style.backgroundColor="#E3E0DB";
}

function trOut(obj) {
    obj.style.backgroundColor="";
}

function rate(rateNo) {
    for (k=1;k<6;k++) {
        obj = $("star"+k);
        if (k<=rateNo) {
            if (obj.src != "design/img/star_on.gif" ) {
                obj.src = "design/img/star_on.gif";
            }
        } else {
            if (obj.src != "design/img/star_off.gif" ) {
                obj.src = "design/img/star_off.gif";
            }    
        }
    }
    showRating(rateNo);
}

function showRating(whatRating) {
    $("ratingDisplayIcon").innerHTML=whatRating;
}

function actionContextMenu(actionType, actionValue) {
    resetQueryString();
    if (actionType=="send") {
        CloseContext();
        q1 = _lastElement.getAttribute("name")+"";
        q2 = _lastElement.getAttribute("fikirID")+"";
        q3 = _lastElement.getAttribute("userID")+"";
        if (q1 != "fikir") {q4 = _lastElement.getAttribute("commentID");} else {q4="";}
        loadPage(sendToFriend);
    
    } else if (actionType=="rate") {
        CloseContext();
        q1 = _lastElement.getAttribute("name");
        if (q1 == "fikir") {
            q2 = _lastElement.getAttribute("fikirID");
            q3 = "";
        } else {
            q2 = "";
            q3 = _lastElement.getAttribute("commentID");
        }
        q4 = actionValue;
        doRate();
    } else if (actionType=="login") {
        CloseContext();
        menu_call();
        show($("mHesabimContent"));
        $("menuNick").focus();
    } else if (actionType=="del") {
        CloseContext();
        if (confirm("Fikir/Yorum hakkında silinme talebinde bulunmak üzeresiniz!")) {
            q1 = _lastElement.getAttribute("fikirID");
            q2 = _lastElement.getAttribute("commentID");
            _Default.deleteEntry(q1,q2, deleteEntry_callback);
        }
    } else if (actionType=="homepage") {
        CloseContext();
        q1 = _lastElement.getAttribute("fikirID");
        _Default.setHomePage(q1, setHomePage_callback);
    } else if (actionType=="shortcut") {
        CloseContext();
        q1 = _lastElement.getAttribute("fikirID");
        prompt("OK", "http://www.benbuldum.com/?id="+ q1);
    } else if (actionType=="edit") {
        CloseContext();
        if (currentAction == "edit") {$("entryBody2Save").focus(); return}
        q1 = _lastElement.getAttribute("name");
        q2 = _lastElement.getAttribute("fikirID");
        q3 = _lastElement.getAttribute("commentID");
        loading();
        _Default.loadEntry(q2,q3, loadEntry_callback);
    } else if (actionType=="lock") {
        CloseContext();
        if ( (!fikirView_isFikirLocked && confirm("Fikir kilitlenecektir!")) || fikirView_isFikirLocked  ) {
            q1 = _lastElement.getAttribute("fikirID");
            fikirLockStatus = (fikirView_isFikirLocked ? "0" : "1"); 
            _Default.lockUnLockFikir(q1, fikirLockStatus, lockFikir_callback);
        }
    } else if (actionType=="addUser") {
        CloseContext();
        var pmUserNick = _lastElement.getAttribute("userNick");
        loading();
        _Default.addBuddy(pmUserNick, addBuddy_callback);
    } else if (actionType=="pmUser") {
        CloseContext();
        menu_call();
        var pmUserNick = _lastElement.getAttribute("userNick");
        menu_sendQuickPM(pmUserNick, "", "");
    }
}

function addBuddy_callback(res) {
    loaded();
    if (res.value==null) {return;}
    
    if (res.value=="[EXISTS]") {
        alert ("Bu kullanici zaten arkadas listenizde var!");
    } else if (res.value=="[NOUSER]") {
        alert ("Kullanici bulunamadi!");
    } else if (res.value=="[SELF]") {
        alert ("Kendi kendinizi listenize ekleyemezsiniz!");
    } else if (res.value=="[OVER]") {
        alert ("Arkadas listeniz dolu! Kullanici eklenemedi!");
    }
}

function lockFikir_callback(res) {
    loaded();
    if (res.value==null) {return;}
    loadPage(fikirView);
}

function loadEntry_callback(res) {
    loaded();
    if (res.value==null) {return;}
    currentAction = "edit";

    rows = res.value.Tables[0].Rows;
    
    var str2edit = null;
    var obj2edit = null;
    var titleEditHTML = "";
    
    if (q1 == "fikir") {
        obj2edit = $("mainFikirBody");
        str2edit = rows[0].fikir_body;
        titleEditHTML = "<input type='text' style='width:490px;' id='entryTitle2Save' value='"+ rows[0].fikir_title +"' class='smallEditor'><br>"
    } else  {
        obj2edit = $("commentBody"+ q3);
        str2edit = rows[0].comment_body;
    }
    
    if (obj2edit) {
        obj2edit.innerHTML = titleEditHTML+
                             "<textarea id='entryBody2Save' class='smallEditor'>" + str2edit + "</textarea><br> "+ 
                             "<input onclick=\"saveEntry('"+q2+"','"+q3+"')\" class='button' type=button value='Kaydet'>&nbsp;" +
                             "<input onclick='cancelEdit()' class='button' type=button value='Iptal'>";
    }
}

function saveEntry(fikirID, commentID) {
    var html = $("entryBody2Save").value;
    var title = $("entryTitle2Save") ? $("entryTitle2Save").value : "";
    
    if (title.indexOf("'")>-1) {alert ("Başlıkta ' karakteri kullanılamaz!"); return;} 
    
    loading();
    _Default.updateEntry(fikirID, commentID, title, html, updateEntry_callback);
}

function updateEntry_callback(res) {
    loaded();
    if (res.value==null) {return;}
    
    currentAction = "";
    loadPage(fikirView);
}

function cancelEdit() {
    currentAction = "";
    loadPage(fikirView);
}

function setHomePage_callback(res) {
    resetQueryString();
    if (res.value!=null) {
        loadPage(mainPage);
    } else {
        alert ("Islem basarisiz");
    }
}

function deleteEntry_callback(res) {
    resetQueryString();
    if (res.value!=null) {
        if (userPower=="[1]") {
            alert ("Talebiniz iletilmiştir.");
        } else {
            if (res.value=="[YORUM]") {
                loadPage(fikirView);
            } else if (res.value=="[FIKIR]")  {
                refreshBugunYemekteNeVar();
                loadPage(mainPage);
            }
        }
    }
}

function decode(body) {
    body = body.replace(/<br>/gi,"\\n");
    if (body.indexOf("'")>-1) {
        var re = new RegExp("'([^']*)'","gi");
        body = body.replace( re ,"<a class='sm' href='javascript:void(0)' onclick=\"q1='$1';loadPage(fikirSearch);\">$1</a>");
    }
    return body;
}

function manualRefresh() { global_currPage = 0; global_page(3); refresh_onlineUsers();}
function $(id) {return document.getElementById(id);}
function show(obj) { ((obj.style.display=="none" || obj.style.display=="block" || obj.style.display=="") && (obj.style.visibility=="" || obj.style.visibility=="visible"))  ? obj.style.display = "block" : obj.style.visibility = "visible";  }
function hide(obj) { ((obj.style.display=="block" || obj.style.display=="none" || obj.style.display=="") && (obj.style.visibility=="" || obj.style.visibility=="hidden")) ? (obj.style.display = "none") : (obj.style.visibility = "hidden");  }
function resetQueryString() {q1="";     q2="";     q3="";     q4="";}
function tab(tabGroup, tabIndis) {
    eval("tab"+tabGroup+"Action("+tabIndis+");");
    tabClassID = $("tab"+ tabGroup+"_1").className.substring(3,4);
    for (k=1;k<10;k++) {
        obj = $("tab"+ tabGroup+"_"+k);
        content = $("tab"+ tabGroup+"_"+k+"Content");
        if (!obj) {return;}
        if (k==tabIndis) {
            obj.className='tab'+tabClassID+'FRONTHeader';
            if (content) { content.style.display = "block";}
        } else {
            obj.className='tab'+tabClassID+'BACKHeader';
            if (content) { content.style.display = "none";}
        }
    }
}

function parseEntry(body) {
    //return, newline
    body = body.replace(/\n/gi,"<br>");
    if (body.indexOf("'")>-1) {
        var re = new RegExp("'([^']*)'","gi");
        body = body.replace( re ,"<a class='sm' href='javascript:void(0)' onclick=\"q1='$1';loadPage(fikirSearch);\">$1</a>");
    }
    
    if (body.indexOf("`")>-1) {
        re = new RegExp("`([^`]*)`","gi");
        body = body.replace( re ,"<a class='sm' href='javascript:void(0)' onclick=\"q1='$1';loadPage(fikirSearch);\">$1</a>");
    }
    
    //Link
    body = body.replace(/\b((http?|ftp|file):\/\/[a-zA-Z0-9+&@#\/%?=~_|!:,.;]*)/g, "<a style='font-size: 11px;' href='$1' target='blank'>$1</a>");
   
    return body;
}


function checkEnter(e, action)
{
    if (!e) {e = window.event};
    if ( e && (e.keyCode && e.keyCode == 13) ) {
        eval(action);
    }
}

function updateProcessDate(strAction) {
    _Default.updateLastProcessDate(strAction, updateProcessDate_callback);
}

function updateProcessDate_callback(res) {
    if (res.value!=null) {lastProcessDate = res.value;}
}

function main_search() {
    q1 = $("inpSearch").value;
    loadPage(fikirSearch);
}

function tarih(vDate) {
    var curDate = new Date();
    if ( formatDate(vDate,"dd/MM/yy") == formatDate(curDate,"dd/MM/yy")) {
        strDate = "bugun, "+formatDate(vDate,"hh:mm");
    } else {
        strDate = formatDate(vDate,"dd/MM/yy hh:mm");
    }
    
    return strDate;
}

function formatDate(vDate, vFormat) {
    var vDay              = addZero(vDate.getDate());
    var vMonth            = addZero(vDate.getMonth()+1);
    var vYearLong         = addZero(vDate.getFullYear());
    var vYearShort        = addZero(vDate.getFullYear().toString().substring(3,4));
    var vYear             = (vFormat.indexOf("yyyy")>-1?vYearLong:vYearShort);
    var vHour             = addZero(vDate.getHours());
    var vMinute           = addZero(vDate.getMinutes());
    var vSecond           = addZero(vDate.getSeconds());
    var vDateString       = vFormat.replace(/dd/g, vDay).replace(/MM/g, vMonth).replace(/y{1,4}/g, vYear);                                             vDateString           = vDateString.replace(/hh/g, vHour).replace(/mm/g, vMinute).replace(/ss/g, vSecond);                                                  
    return vDateString 
};

function addZero(vNumber){ return ((vNumber < 10) ? "0" : "") + vNumber }

function pageDataSet(pageWhat, pageNumber, pageSize, q1, q2, q3) {
    _Default.pageDataSet(pageWhat, pageNumber, pageSize, q1, q2, q3, pageDataSet_callback);    
}

function global_page(val) {
    if (val==1) {
        if ( (global_currPage+1) < (Math.ceil(global_rowsCount/global_pageSize)) ) {
            global_currPage++;
        } else {
            return false;
        }
    } else if (val == -1) {
        if (global_currPage>0) {
            global_currPage--
        } else {
            return false;
        }
    }
    
    pageDataSet("global", global_currPage, global_pageSize, "", "", "");
    return false;
}

function pageDataSet_callback(res) {
    if (res.error!=null) {return;}
    var pageWhat = res.value.Tables[1].Rows[0].pageWhat;
    var rowsCount = res.value.Tables[1].Rows[0].rowsCount;
    var pageSize = res.value.Tables[1].Rows[0].pageSize;
    var pageNumber = res.value.Tables[1].Rows[0].pageNumber;
    
    eval(pageWhat+"_rowsCount="+ rowsCount);

    var pager  = eval("$('"+pageWhat+"_pageTxt')");
    if (pager) {
        var html = ( (pageNumber)+1 ) +"/";
        if (rowsCount>0) {
            html+=(Math.ceil( rowsCount / pageSize)) ;
        } else {
            html+="1";
        }
        pager.innerHTML = html;
    }
    
    eval(pageWhat+"_callback( res )");
}

function gunFarki(varDate) {
    var today = new Date();
    return  Math.ceil( (today.getTime()-varDate.getTime())  / (one_day) );
}


//User ToolTip
function showUserInfo(obj) {
    clearInterval(userInterval);
    
    var coors = findPos(obj);
    var objX = coors[0];
    var objY = coors[1];
    
    objY+=20;
    
    var differX=0;
    var differY=0;
    if (browser.isIE) {
        differX = document.documentElement.scrollLeft + document.body.scrollLeft;
        differX = document.documentElement.scrollTop + document.body.scrollTop;
    }
    if (browser.isNS) {
        differX = window.scrollX;
        differY = window.scrollY;
    }
    
    if (objY>125 && (objY - differY)+125 > getWinHeight()) {
        objY-=165; 
    }
    
    if (objX>250 && (objX - differX)+250 > getWinWidth()) {
        objX-=230;
    }
    
    $("divUserInfo").style.top =objY + 'px';
    $("divUserInfo").style.left = objX + 'px';
    
    show($("divUserInfo"));
    show($("divUserInfoLoading"));
    hide($("divUserInfoCon"));
    
    lastUserInfoRequested = obj.getAttribute("userID");
    _Default.loadUserInfo(obj.getAttribute("userID"),loadUserInfo_callback );
}

function loadUserInfo_callback(res) {
    if (res.error!=null) { destroyUserInterval(); return;}
    hide($("divUserInfoLoading"));
    
    var userDetails = res.value[0].Tables[0].Rows[0];
    
    $("userInfoPic").src = "design/pic/"+ ( (userDetails.user_pic==null || userDetails.user_pic=="")  ? "avatar.jpg" : userDetails.user_pic );
    $("usrInfoNick").innerHTML = userDetails.user_nick;
    if (userDetails.user_sex!=null) {$("usrInfoSex").src = "design/img/"+userDetails.user_sex+".gif";}
    
    var grayHTML = "";
    if (userDetails.meslek_title!=null) {
        grayHTML = "Meslek: "+ userDetails.meslek_title+"<br>";
    }
    grayHTML +="Kayıt Tarihi: "+ tarih(userDetails.user_recTime);
    
    $("usrInfoRecDate").innerHTML = grayHTML ;
    
    $("usrInfoRole").innerHTML =  userRoles[parseInt(userDetails.user_power)-1];
    var activity = "";
    if (userDetails.user_lastLogin != null && gunFarki(userDetails.user_lastLogin) < 16) {
        activity = "<b style='color:#72A7B9;'>Aktif Üye</b>";
    } else {
        activity = "<b style='color:red;'>Etkin Değil</b>";
    }
    $("usrInfoActivity").innerHTML = activity;
    
    var summary = "";
    
    if (res.value[1].Tables[0].Rows[0].toplamFikir >0) {
        summary+=res.value[1].Tables[0].Rows[0].toplamFikir +" fikri";
    }
    
    if (res.value[2].Tables[0].Rows[0].toplamYorum>0) {
        if (summary!="") {summary+=", "}
        summary+= res.value[2].Tables[0].Rows[0].toplamYorum +" yorumu";
    }
    
    if (summary!="") {summary+=" var.";}
    
    if (res.value[3].Tables[0].Rows[0].toplamDavetli>0) {
        summary+=" Şimdiye kadar da "+ res.value[3].Tables[0].Rows[0].toplamDavetli +" kişiyi davet etti.";
    }
    

    
    $("usrInfoSummary").innerHTML = summary;
    
    show($("divUserInfoCon"));
}


function startUserInterval(obj) {
    if (userPower=="") {return;}
    userInterval = setInterval(function() { showUserInfo(obj) },1000);
}

function destroyUserInterval() {
    clearInterval(userInterval);
    $("userInfoPic").src = "avatar.jpg";
    hide($("divUserInfo"));
}

var lastUserInfoRequested;
var sayac;


///


function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return [curleft,curtop];
}

function page() {}