//-----------------------
// --- MESSAGE CENTER ---
//-----------------------
var sizeJ; // For paging
var authorizationF; // loggedonuser check
var sizeF; // paging variable for friends
var skipF=0; // skip variable for friends
var messageOrProfile;
var bodyJ='' //temporary body
var titleJ='' // temporary subject
var messagePreference=0;

function displaySendMessage(userId,to,toID,title2,body2){
  
  highlightSelected(5);
  var strOut;
  var to_s='';
  var title_s='';
  var body_s='';
  if(to!=null) to_s=to;
  if(titleJ!=null) title_s= titleJ;
  else bodyJ=null;
  if(bodyJ!=null) body_s= bodyJ;
  
  var myCreatePacket = function(){
    writer = new CmdWriter("20");
    writer.appendStr(userId);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    var messageArea = document.getElementById("messageArea");
    if(toID==null){
    	body_s='';
    	title_s='';
    }
    if(title2 != undefined ){
    	title_s=unescape(title2);
    }
    if(body2 != undefined ){
    	body_s=unescape(body2);
    }
    strOut = "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">" +
    	"<tr><td colspan='2' bgcolor=\"#ccff99\" height=\"27\" align=left style='padding-left:15px'><a href=javascript:void(0) onclick=\"titleJ=document.getElementById('subject').value;" +
        "bodyJ=document.getElementById('body').value;sendMessages("+userId+");\"><strong>GÖNDER</strong></a>&nbsp;&nbsp;|&nbsp;&nbsp;" +
        "<a href=javascript:void(0) onclick=\"saveMessage('"+userId+"','0',0,$('subject').value, $('body').value);\">BEKLET</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=javascript:void(0) onclick=\"display(0,'"+userId+"',20);\">VAZGEÇ</a>" +
        "</td>" +
    	"<tr><td><table width= \"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">" +
        "<tr><td height=\"25\" align=left></td></tr>" +
        "<tr style='background-color:#e6e6e6;'><td align=left style='padding:12px 15px 0 15px'><table cellpadding=0 cellspacing=0><tr><td>" +
        "<span style='color:black;font-size:11px'><b>Kime: </b></span> " +
        "<span style='color:#cc0000;font:bold 10px Arial'> Arkadaşlarınıza mesaj göndermek için rumuzlarını yazın. Arkadaşınız değilse rumuzunu yazıp \"Enter\"a basın.</span></td></tr><tr><td>" +
        "<div id='to_list' class=\"clearfix tokenizer\" tabindex=\"-1\">" +
        "<span class=\"tokenizer_stretcher\">^_^</span>" +
        "<span class=\"tab_stop\"><input type=\"text\" id=\"hidden_input\" tabindex=\"-1\"></span>" +
        "<div id=\"autocomplete_display\" class=\"tokenizer_input\">"+
        "<input type=\"text\" name=\"to\" id=\"to\" " +
        " style='width:200px;border:0;background:#f0ffdc;' value='' " +
        "tabindex=\"\" "+
        "onFocus=\"onAutoCompleteFocus();\"></div>" +
        "</div></td></tr></table></td>" +
        "</tr><tr><td>" +
        "</td></tr>" +
        "<tr style='background-color:#e6e6e6;'><td align=left style='color:black;font-size:11px;padding-left:15px'><b>Başlık:</b></td></tr>" +
        "<tr style='background-color:#e6e6e6;'><td style='padding:0 15px'><input type=\"text\" name=\"subject\" id=\"subject\" size=\"94\" value=\""+title_s+"\"></td></tr>" +
        "<tr style='background-color:#e6e6e6;'><td align=left style='color:black;font-size:11px;padding-left:15px'><b>Mesaj:</b></td></tr>" +
        "<tr style='background-color:#e6e6e6;'><td style='padding:0 15px 12px 15px'><textarea id=\"body\" name=\"body\" cols=\"71\" rows=\"12\" onkeypress=\"maxlength(4095,this.id)\">"+body_s+"</textarea></td></tr>"+
        "<tr><td height=\"4\"></td></tr>"+
        "</table></td><td valign=top><div style='height:25px'> </div><div style='color:#cc0000;font:bold 10px Arial;padding-left:5px'>Üyelerinize toplu mesaj göndermek için<br />listenin sonundan sitenizi seçin.</div><div id=sideContactList style='margin-left:5px;height: 289px; overflow-y: scroll;padding-top:8px'></div></td></tr>" +
        "<tr style='background-color:#ccff99;'><td height=\"27\" colspan='2' align=left style='padding-left:15px'><a href=javascript:void(0) onclick=\"titleJ=document.getElementById('subject').value;" +
        "bodyJ=document.getElementById('body').value;sendMessages("+userId+");\"><strong>GÖNDER</strong></a>&nbsp;&nbsp;|&nbsp;&nbsp;" +
        "<a href=javascript:void(0) onclick=\"saveMessage('"+userId+"','0',0,$('subject').value, $('body').value);\">BEKLET</a>" +
        "&nbsp;&nbsp;|&nbsp;&nbsp;<a href=javascript:void(0) onclick=\"display(0,'"+userId+"',20);\">VAZGEÇ</a></td></tr></table>";
    CreateFriendList();
    messageArea.innerHTML = strOut; 
    $('to').focus();
    if(to_s!=""){
    	var obj={id:toID,value:to};
    	AutoCompleteCallBack(obj);    	
    }
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/message.ajax");       
}

function onAutoCompleteFocus(){
  var options = {
    script:'/ajaxNonPublicProxy.jsp?cmd=GetRelations&limit=6&',
    varname:'input',
    json:true,
    valueSep:',',
    shownoresults:true,
    maxresults:16,
    callback: AutoCompleteCallBack };
  var json=new AutoComplete('to',options);return true;
}

function CreateFriendList(){
  var url = '/ajaxNonPublicProxy.jsp?cmd=GetRelations';
  new Ajax.Request(url, {
      method: 'get',
      onSuccess: function(transport) {
        var strSelect="<dl id='arkadaslarsiteler' style='padding:0 0 0 5px;margin:0'><dt>Arkadaşlarım</dt>";
          var datam = eval( "(" + transport.responseText + ")" );
        for(var dd in datam.results){
          if(datam.results[dd].id!=null){
            strSelect+="<dd onclick='var obj={id:\""+datam.results[dd].id+"\",value:\""+datam.results[dd].value+"\"};AutoCompleteCallBack(obj);'>"+datam.results[dd].value+"</dd>";
          }
        }
        url = '/ajaxNonPublicProxy.jsp?cmd=GetOwnedSites';
        new Ajax.Request(url, {
            method: 'get',
            onSuccess: function(transport) {
              strSelect+="<dt>Sitelerim</dt>";
                var datam = eval( "(" + transport.responseText + ")" );
              for(var dd in datam.results){
                if(datam.results[dd].id!=null){
                  strSelect+="<dd onclick='var obj={id:\""+datam.results[dd].id+"\",value:\""+datam.results[dd].value+"\"};AutoCompleteCallBack(obj);'>"+datam.results[dd].value+"</dd>";
                }
              }
              $('sideContactList').innerHTML=strSelect+"</dl>";
            }
      }); 
      },
      onComplete: function(transport) {
      $('sideContactList').focus();
      }
  }); 
  
  new Ajax.Request(url, {
      method: 'get',
      onSuccess: function(transport) {
        strSelect+="<dt>Sitelerim</dt></dl>";
          var datam = eval( "(" + transport.responseText + ")" );
        for(var dd in datam.results){
          if(datam.results[dd].id!=null){
            strSelect+="<dd onclick='var obj={id:"+datam.results[dd].id+",value:\""+datam.results[dd].value+"\"};AutoCompleteCallBack(obj);'>"+datam.results[dd].value+"</dd>";
          }
        }
        $('sideContactList').innerHTML=strSelect;
      }
  }); 
}

function AutoCompleteCallBack(obj){
  var ccsArray=document.getElementsByName("ids[]");
  for(var ccs=0;ccs<ccsArray.length;ccs++){
    if(ccsArray[ccs].value==obj.id){
      return;
    }
  }
  $('to').value = "";
    var token = Builder.node('a', {
        "class": 'token',
        href: "#",
        tabindex: "-1"
    },
    Builder.node('span', 
    Builder.node('span', 
    Builder.node('span', 
    Builder.node('span', {},
    [Builder.node('input', { type: "hidden", name: "ids[]",
        value: obj.id
    }), 
  obj.value,
        Builder.node('span',{"class":'x',onmouseout:"this.className='x'",onmouseover:"this.className='x_hover'",
        onclick:"this.parentNode.parentNode.parentNode.parentNode.parentNode.remove(true); return false;"}," ")
        ]
    )
    )
    )   
    )
  );  
  $(token).down(4).next().innerHTML = "&nbsp;";
  new Token(token);
   $('to_list').insert({top:token});
   $('to').focus();
}

Token = Class.create({
    initialize: function(element) {
        this.element = $(element);
        this.element.token = this;
        this.selected = false;
        Event.observe(document, 'click', this.onclick.bindAsEventListener(this));
    Event.observe(this.element, 'keydown', this.onKeyPress.bindAsEventListener(this));
    },
    select: function() {
        this.selected = true;
        this.element.addClassName('token_selected');

    },
    deselect: function() {
        this.selected = false;
        this.element.removeClassName('token_selected')

    },
    onclick: function(event) {
        if (this.detect(event) && !this.selected) {
            this.select();

        } else {
            this.deselect();

        }

    },
    detect: function(e) {
        //find the event object
        var eventTarget = e.target ? e.target: e.srcElement;
        var token = eventTarget.token;
        var candidate = eventTarget;
        while (token == null && candidate.parentNode) {
            candidate = candidate.parentNode;
            token = candidate.token;

        }
        return token != null && token.element == this.element;

    },
    onKeyPress: function(event) {  
      this.token=this.detect(event);
      //this.auto_complete=$('to');   

        switch (event.keyCode) {
          case Event.KEY_LEFT:
              //this.token.deselect();
              $('to').focus();
              return false;
          case Event.KEY_RIGHT:
              //this.token.deselect();
              $('to').focus();
              return false;
          case Event.KEY_BACKSPACE:
          case Event.KEY_DELETE:
              this.element.remove();
              $('to').focus();
              return false;
  
    }
    }

});

function displayPopupSendMessage(userId,buddyId){
  var msgTitle = "";
  var msgBody = "";
  htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
              "<tr><td align=\"left\">Başlık</td></tr>"+
              "<tr><td><input type=\"text\" name=\"sendMessageSubject\" id=\"sendMessageSubject\" style=\"width:100%\" value=\"" + msgTitle + "\"></td></tr>" +
              "<tr><td align=\"left\">Mesaj</td></tr>"+
              "<tr><td><textarea id=\"sendMessageBody\" name=\"sendMessageBody\" style=\"width:100%\" rows=\"10\" onkeypress=\"maxlength(4095,this.id)\">" + msgBody + "</textarea></td></tr>"+
              "<tr><td height=\"5\"></td></tr>"+
              "<tr><td height=\"40\" align=\"right\">" +
              "<a href=\"javascript:;\" onclick=\"sendMessage('"+userId+"','"+buddyId+"',0, $('sendMessageSubject').value," +
              " $('sendMessageBody').value);\">Gönder</a><span class=\"spc\">|</span><a href=\"javascript:;\" onclick=\"saveMessage('"+userId+"','"+buddyId+"',0,$('sendMessageSubject').value, $('sendMessageBody').value);\">Beklet</a><span class=\"spc\">|</span><a href=javascript:void(0) onclick=\"closeMessageLayer();\">Vazgeç</a></td></tr>"+
              "</table>";
  showMessageLayerInline("Mesaj Gönder", htmlBody, 600, 330);
}

function sendMessage_OLD(userId,to,mode){

  //mode : 0 ON-THE-FLY
  //mode : 1 REGULAR
  
  var myCreatePacket = function(){
    writer = new CmdWriter("6");
    writer.appendStr(userId);
    writer.appendStr(to);
    writer.appendStr(titleJ);
    writer.appendStr(bodyJ);
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    window.location.hash = "set:"+userId;
    reader = new CmdReader(responseText);
    var response = reader.getStr();
    if(response=='0'){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
                     "<tr><td align=\"center\" height=\"40\">Yanlış kullanıcı adı !</td></tr>" +
                     "<tr><td align=\"center\"><a href=\"javascript:;\" onclick=\"displayPopupSendMessage('" + userId + "','" + to + "','" + msgTitle + "','" + msgBody + "')\">Geri</a></td></tr>" +
                     "</table>";
      showMessageLayerInline("Hata",htmlBody,200,100);
    }
    else if(response=='true' && mode==1){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
                    "<tr><td align=\"center\" height=\"40\"><strong><font size=2>Mesajınız gönderildi.</font></strong></td></tr>" +
                    "<tr><td align=\"center\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr></table>";
      showMessageLayerInline("Mesaj Gönder",htmlBody,200,100);
    }
    else if(response=='true' && mode==0){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" border=\"0\">" +
                     "<tr><td align=\"center\" height=\"40\"><strong>Mesajınız gönderildi.</strong></td></tr>"+
                     "<tr><td align=\"center\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Tamam</a></td></tr></table>";
      showMessageLayerInline("Mesaj Gönder",htmlBody,200,100);                     
    }
    else{
      // TODO
      
    }
  }
  
  if(to==''){
    alert('Kime alanı boş bırakılamaz.');
    $('to').focus();
  }
  else if(titleJ==null || trim(titleJ)=='')
    alert('Başlık boş bırakılamaz.');
  else if(bodyJ==null || bodyJ=='')
    alert('Mesaj alanı boş olamaz.');
  else{
    var provider = new oyXMLRPCProvider();
    provider.createPacket = myCreatePacket;
    provider.onComplete = myOnComplete;
    provider.submit("/message.ajax");
  }

}

function sendMessage(userId,to,mode,title,body){

  //mode : 0 ON-THE-FLY
  //mode : 1 REGULAR
  
  var myCreatePacket = function(){
    writer = new CmdWriter("6");
    writer.appendStr(userId);
    writer.appendStr(to);
    writer.appendStr(title);
    writer.appendStr(body);
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    window.location.hash = "set:"+userId;
    reader = new CmdReader(responseText);
    var response = reader.getStr();
    if(response=='0'){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
                     "<tr><td align=\"center\" height=\"40\">Yanlış kullanıcı adı !</td></tr>" +
                     "<tr><td align=\"center\"><a href=\"javascript:;\" onclick=\"displayPopupSendMessage('" + userId + "','" + to + "','" + msgTitle + "','" + msgBody + "')\">Geri</a></td></tr>" +
                     "</table>";
      showMessageLayerInline("Hata",htmlBody,200,100);
    }
    else if(response=='true' && mode==1){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
                    "<tr><td align=\"center\" height=\"40\"><strong><font size=2>Mesajınız gönderildi.</font></strong></td></tr>" +
                    "<tr><td align=\"center\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr></table>";
      showMessageLayerInline("Mesaj Gönder",htmlBody,200,100);
    }
    else if(response=='true' && mode==0){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" border=\"0\">" +
                     "<tr><td align=\"center\" height=\"40\"><strong>Mesajınız gönderildi.</strong></td></tr>"+
                     "<tr><td align=\"center\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Tamam</a></td></tr></table>";
      showMessageLayerInline("Mesaj Gönder",htmlBody,200,100);                     
    }
    else{  }
  }
  
  if(to==""){
    alert("Kime alanı boş bırakılamaz.");
    $("to").focus();
    return;
  }
  if(title == "" || title.replace(/\W/g, "") == ""){
	alert("Mesaj başlığı boş bırakılamaz.");
	return;
  }
    var provider = new oyXMLRPCProvider();
    provider.createPacket = myCreatePacket;
    provider.onComplete = myOnComplete;
    provider.submit("/message.ajax");

}

function sendMessages(userId){
  var myCreatePacket = function(){
    writer = new CmdWriter("21");
    writer.appendStr(titleJ);
    writer.appendStr(bodyJ);
    writer.appendStr("--idsstart--");
    var ccsArray=document.getElementsByName("ids[]");
    for(var ccs=0;ccs<ccsArray.length;ccs++){
      writer.appendStr(ccsArray[ccs].value);
    }
    writer.appendStr("--idsend--");
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    window.location.hash = "set:"+userId;
    reader = new CmdReader(responseText);
    var response = reader.getStr();
    if(response=='done'){
      var htmlBody =  "<table width=\"100%\" bgcolor=\"#ccff99\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
              "<tr><td align=\"center\" height=\"40\">Mesajınız gönderildi.</td></tr></table><br /><br /><br />"+
              "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
              "<tr><td>" +
              "<a onclick=\"display(0,'"+userId+"',20);closeMessageLayer();\" href=\"javascript:void(0)\">>Gelenler Kutusuna Git</a>" +
              "</td></tr></table>";
      showMessageLayerInline("Mesaj Gönder",htmlBody,200,150);
    }
    else {
      bodyJ='';
      titleJ='';
      var htmlBody =  "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
              "<tr><td align=\"center\" bgcolor=\"#ccff99\" height=\"40\"><strong><font size=2>Yanlış kullanıcı adı !</font></strong></td></tr></table>";
      showMessageLayerInline("Hata",htmlBody,200,100);
    }   
  }
  
  if(document.getElementsByName("ids[]").length==0){
    alert('Kime alanı boş bırakılamaz.');
    $('to').focus();
  }
  else if(titleJ==null || trim(titleJ)==''){
    alert('Başlık boş bırakılamaz.');
    $('subject').focus();
  }
  else if(bodyJ==null || bodyJ==''){
    alert('Mesaj alanı boş olamaz.');
    $('body').focus();
  }
  else{
    var provider = new oyXMLRPCProvider();
    provider.createPacket = myCreatePacket;
    provider.onComplete = myOnComplete;
    provider.submit("/message.ajax");
  }

}


function saveMessage(userId,to,mode,title,body){

  //mode : 0 ON-THE-FLY
  //mode : 1 REGULAR
  
  var myCreatePacket = function(){
    writer = new CmdWriter("8");
    writer.appendStr(userId);
    writer.appendStr(to);
    writer.appendStr(title);
    writer.appendStr(body);
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    window.location.hash = "set-save:"+userId;
    reader = new CmdReader(responseText);
    var response = reader.getStr();
    if(response=='0'){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
                    "<tr><td align=\"center\" height=\"40\">Yanlış kullanıcı adı !</td></tr>" +
                    "<tr><td align=\"center\"><a href=\"javascript:;\" onclick=\"displayPopupSendMessage('" + userId + "','" + to + "','" + msgTitle + "','" + msgBody + "')\">Geri</a></td></tr></table>";
      showMessageLayerInline("Hata",htmlBody,200,100);
    }
    else if(response=='true' && mode==1){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\">" +
                    "<tr><td align=\"center\" height=\"40\">Mesajınız kaydedildi.</td></tr>"+
                    "<tr><td align=\"center\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Tamam</a></td></tr></table>";
      showMessageLayerInline("Mesaj",htmlBody,200,100);
    }
    else if(response=='true' && mode==0){
      var htmlBody = "<table width= \"100%\" cellspacing=\"2\" border=\"0\">" +
                    "<tr><td align=\"center\" height=\"40\">Mesajınız kaydedildi.</td></tr>"+
                    "<tr><td align=\"center\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Tamam</a></td></tr></table>";
      showMessageLayerInline("Mesaj",htmlBody,200,100);
    }
    else{
      // TODO
    }
  }
  if(to==''){
    alert('Lütfen bir kullanıcı adı yazın.');
  }
  else if(title=='' || title==null)
    alert('Başlık boş bırakılamaz.');
  else if(body==''|| body==null)
    alert('Mesaj alanı boş olamaz.');
    
  else{
    var provider = new oyXMLRPCProvider();
    provider.createPacket = myCreatePacket;
    provider.onComplete = myOnComplete;
    provider.submit("/message.ajax");
  }

}

function display(mode,userId,size){

  //mode  : 0   -- INBOX
  //mode  : 1   -- SENT ITEMS
  //mode  : 2   -- DRAFT
  //mode  : 3   -- ARCHIVE
  //mode  : 4   -- THRASH
  sizeJ=size;
  highlightSelected(mode);
  var messageArea = document.getElementById("messageArea");
  var strOut="";
  var bgColor="#ccff99";
  var strongFontHead='';
  var strongFontTail='';
  var count=false;
  
  //CHECK IF INBOX
  if(mode==0){
    var bgColor="#FFFFFF";  
  }
  
  var myCreatePacket = function(){
    writer = new CmdWriter(mode);
    writer.appendStr(userId);
    writer.appendStr(size);
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    window.location.hash = "set:"+mode+":"+userId;
    reader = new CmdReader(responseText);
    var totalSize = reader.getStr();
    strOut =  "<table width='100%' cellpadding='0' border='0' cellspacing='0'>" +
          "<tr>" +
          "<td height='26'>"+
          "<table width='100%' border='0' cellpadding='0' cellspacing='0'>"+
          "<tr>";
    
          if(mode==0){
            strOut+="<td bgcolor=\"#ccff99\" height=\"26\"><table width=\"100%\" border=0 cellspacing=0 cellpadding=0><tr><td>&nbsp;&nbsp;Seç: <a href=\"javascript:void(0)\" onclick=\"checkAll()\">Hepsini</a> | <a href=\"javascript:void(0)\" onclick=\"checkNone()\">Hiçbirini</a> | Seçili Olanları: <strong><a href=\"javascript:void(0)\" onclick=\"deleteOrArchive(9,"+mode+","+userId+");\">SİL</a></strong> | <a href=\"javascript:void(0)\" onclick=\"deleteOrArchive(7,"+mode+","+userId+");\"><strong>ARŞİVLE</strong></a> </td>";
          }
          else{
            strOut+="<td bgcolor=\"#ccff99\" height=\"26\"><table width=\"100%\" border=0 cellspacing=0 cellpadding=0><tr><td>&nbsp;&nbsp;Seç: <a href=\"javascript:void(0)\" onclick=\"checkAll()\">Hepsini</a> | <a href=\"javascript:void(0)\" onclick=\"checkNone()\">Hiçbirini</a> | Seçili Olanları: <strong><a href=\"javascript:void(0)\" onclick=\"deleteOrArchive(9,"+mode+","+userId+");\">SİL</a></strong> </td>";
          }
          
          if(sizeJ==20 && totalSize>20){            
            strOut +=   "<td align='right' style='padding-right:10px'>&gt;&gt; <a href=\"javascript:void(0)\" onclick=\"display("+mode+","+userId+","+(sizeJ+20)+");\">Sonraki</a></td></tr></table></td>";
          }
          else if(sizeJ>20){
            strOut +=   "<td align='right' style='padding-right:10px'><a href=\"javascript:void(0)\" onclick=\"display("+mode+","+userId+","+(sizeJ-20)+");\">Önceki </a>&lt;&lt;&nbsp;&nbsp;&gt;&gt; <a href=\"javascript:void(0)\" onclick=\"display("+mode+","+userId+","+(sizeJ+20)+");\"> Sonraki</a></td></tr></table></td>";
          }
          strOut += "</tr>"+
          "</table></td>"+
          "</tr>"+
          "<tr>"+
          "<td height=\"5\"></td>"+
          "</tr>";
          
    while(reader.hasObject()){
      var readOrNot = reader.getStr(); // read | unread
      var from = reader.getStr();
      var status = reader.getStr();
      var title = reader.getStr();
      var time = reader.getStr();
      var messageId = reader.getStr();
      
      if(readOrNot=='unread'){bgColor="#f0f0f0";strongFontHead="<strong>";strongFontTail="</strong>";}
      else{bgColor="#cccccc";strongFontHead='';strongFontTail='';}
      strOut+=  
          "<tr>"+
          "<td bgcolor=\""+bgColor+"\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"4\">"+
          "<tr>"+
          "<td width=\"20\"><input type=\"checkbox\" name=\"checkbox\" id=\"checkbox\" value=\"checkbox\" ></td>";
          
          if(mode!=2){
	          if(status=='true'){
	            strOut+="<td width=\"24\"><img src=\"images/online.png\" alt=\"Online\" width=\"24\" height=\"18\" /></td>";
	          }
	          else{
	            strOut+="<td width=\"24\"><img src=\"images/offline.png\" alt=\"Offline\" width=\"24\" height=\"18\" /></td>";
	          }           
	          strOut+= "<td width=\"30%\">"+strongFontHead+"<a class=\"messageCenterTitle\" href=\"javascript:void(0)\" onclick =\"showUser('"+from+"',"+messageId+");\">"+from+"</a>"+strongFontTail+"</td>"+
	          "<td>"+strongFontHead+ " <a class=\"messageCenterTitle\" href=\"javascript:void(0)\" onclick=\"showMessage("+messageId+","+mode+","+userId+");\">"+title+"</a> "+strongFontTail+"</td>"+
	          "<td width=\"110\">"+time+"</td>"+
	          "</tr>"+
	          "<tr><td></td><td></td><td id="+messageId+"></td></tr>"+
	          "</table></td>"+
	          "</tr>"+
	          "<tr>"+
	          "<td height=\"5\"></td>"+
	          "</tr>"+
	          "<tr>";
          }else{
          	  strOut+= "<td width=\"30%\">"+strongFontTail+"</td>"+
	          "<td>"+strongFontHead+ " <a class=\"messageCenterTitle\" href=\"javascript:void(0)\" onclick=\"showMessage("+messageId+","+mode+","+userId+");\">"+title+"</a> "+strongFontTail+"</td>"+
	          "<td width=\"110\">"+time+"</td>"+
	          "</tr>"+
	          "<tr><td></td><td></td><td id="+messageId+"></td></tr>"+
	          "</table></td>"+
	          "</tr>"+
	          "<tr>"+
	          "<td height=\"5\"></td>"+
	          "</tr>"+
	          "<tr>";
          }
          count=true;
          
            
    }
    if(count==true){
      if(mode==0){
        strOut+="<td bgcolor=\"#ccff99\"><table width=\"100%\" border=0 cellspacing=0 cellpadding=0><tr><td>&nbsp;&nbsp;Seç: <a href=\"javascript:void(0)\" onclick=\"checkAll()\">Hepsini</a> | <a href=\"javascript:void(0)\" onclick=\"checkNone()\">Hiçbirini</a> | Seçili Olanları: <strong><a href=\"javascript:void(0)\" onclick=\"deleteOrArchive(9,"+mode+","+userId+");\">SİL</a></strong> | <a href=\"javascript:void(0)\" onclick=\"deleteOrArchive(7,"+mode+","+userId+");\"><strong>ARŞİVLE</strong></a> </td>";
      }
      else if (mode!=0){
        strOut+="<td bgcolor=\"#ccff99\"><table width=\"100%\" border=0 cellspacing=0 cellpadding=0><tr><td>&nbsp;&nbsp;Seç: <a href=\"javascript:void(0)\" onclick=\"checkAll()\">Hepsini</a> | <a href=\"javascript:void(0)\" onclick=\"checkNone()\">Hiçbirini</a> | Seçili Olanları: <strong><a href=\"javascript:void(0)\" onclick=\"deleteOrArchive(9,"+mode+","+userId+");\">SİL</a></strong> </td>";
      }
      if(sizeJ==20 && totalSize>20){
        
        strOut +=   "<td height='27' align='right' style='padding-right:10px'>&gt;&gt; <a href=\"javascript:void(0)\" onclick=\"display("+mode+","+userId+","+(sizeJ+20)+");\">Sonraki</a></td></tr></table></td>";
      }
      else if(sizeJ>20){
        strOut +=   "<td height='27' align='right' style='padding-right:10px'><a href=\"javascript:void(0)\" onclick=\"display("+mode+","+userId+","+(sizeJ-20)+");\">Önceki </a>&lt;&lt;&nbsp;&nbsp;&gt;&gt; <a href=\"javascript:void(0)\" onclick=\"display("+mode+","+userId+","+(sizeJ+20)+");\"> Sonraki</a></td></tr></table></td>";
      }
    }
    strOut+="</table>";
    messageArea.innerHTML=strOut;
  }

  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/message.ajax");
  
}

function deleteOrArchive(mode,senderMode,userId,userIdForDirect){

  /*  ------  MODE ------
   *  0 : Send Inbox items to thrash
   *  1 : Send Sent items to thrash
   *  2 : Send Draft items to thrash
   *  3 : Send Archived items to thrash
   *  4 : Purge thrash items
   *  11  : Directly archive message, use messageId instead of userId
   *  12  : Directly thrash message, use messageId instead of userId
   */
   
   /* ------   SENDERMODE ------
    *   7 : ARCHIVE
    *   9 : THRASH
    */
    
  var items = new Array();
  items = document.getElementsByName("checkbox");
  var myCreatePacket = function(){
    if(senderMode>10){
      writer = new CmdWriter(senderMode);
      writer.appendStr(userId); // USERID= MESSAGEID
      writer.appendStr(sizeJ);
      writer.appendStr(mode);
    }
    else{
      writer = new CmdWriter(mode);
      writer.appendStr(userId);
      writer.appendStr(sizeJ);
      writer.appendStr(senderMode);
      for(var i=0;i<items.length;i++){
        if(items[i].checked==true){
          writer.appendStr(i);
        }
      }
    
    }
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(){
    window.location.hash = "set:"+mode+":"+userId;
    if(senderMode<10){
      display(senderMode,userId,sizeJ);
    }
    else{
      display(mode,userIdForDirect,sizeJ);
    }
  }

  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/message.ajax");

}
function renderMessage(message){
  return message.replace(/[\n\r]+/g,'<br>');
}

function showMessage(messageId,senderMode,userId){
  /*  ------  SENDERMODE ------
   *  0 : Send Inbox items to thrash
   *  1 : Send Sent items to thrash
   *  2 : Send Draft items to thrash
   *  3 : Send Archived items to thrash
   *  4 : Purge thrash items
   *  11  : Directly archive message, use messageId instead of userId
   *  12  : Directly thrash message, use messageId instead of userId
   */
   
  var messageArea = document.getElementById("messageArea");
  var myCreatePacket = function(){
    writer = new CmdWriter("5");
    writer.appendStr(messageId);
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    window.location.hash = "set:"+messageId;
    reader = new CmdReader(responseText);
    var strOut='';
    var title = reader.getStr();
    var user;
    var buddy;
    if(senderMode==2 || senderMode==1){ //SWAP USER AND BUDDY
      buddy = reader.getStr();
      user = reader.getStr();
    }
    else{
      user = reader.getStr();
      buddy = reader.getStr();
    }
    var buddyId = reader.getStr();
    var body = reader.getStr();

    var created = reader.getStr();
    var newMessageCount = reader.getStr();
          strOut ="<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">";
              if(senderMode==0){
                strOut += "<tr><td width=\"100%\" bgcolor=#ccff99 height=40>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"deleteOrArchive("+senderMode+",12,"+messageId+","+userId+");\">SİL</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=javascript:void(0) onclick=\"deleteOrArchive("+senderMode+",11,"+messageId+","+userId+");\">ARŞİVLE</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"display(0,'"+userId+"',"+sizeJ+");\">Gelen mesajlar</a>&nbsp;&nbsp;|&nbsp;&nbsp;</td></tr>";
              }
              else{
                strOut += "<tr><td width=\"100%\" bgcolor=#ccff99 height=40>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"deleteOrArchive("+senderMode+",12,"+messageId+","+userId+");\">SİL</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=javascript:void(0) onclick=\"bodyJ="+escape(body)+";\"titleJ="+title+";displaySendMessage('"+userId+"','"+user+"');\">GÖNDER</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"display(0,'"+userId+"',"+sizeJ+");\">Gelen mesajlar</a>&nbsp;&nbsp;|&nbsp;&nbsp;</td></tr>";
              }
      
          strOut +="<tr><td height=\"20\">"+
              "<tr><td align =\"left\"><font size=2 color=\"#000000\">"+created+"</td></tr>"+
              "<tr><td align=\"<left\"><font style=\"font-weight: bold; font-size: 18px; font-family: Verdana\">"+title+"</font></td></tr>"+
              "<tr><td colspan=2 style=\"height:5px;background-color:#CCCCCC\"></td></tr>"+
              "<tr><td align=\"left\"><font color=\"#d7b879\" size=2>Gönderen : </font><a href=\"http://www.azbuz.com/profil-goster/"+encodeURI( buddy)+"/"+buddyId+"\"><font size=2>"+buddy+"</font></td></tr>"+
              ((senderMode!=2)?"<tr><td align=\"left\"><font color=\"#d7b879\" size=2>Kime : </font><font size=2>"+user+"</font></td></tr>":"")+
              "<tr></tr>"+
              "<tr><td><font size=2>"+renderMessage(body)+"</font></td></tr>";
              //FILL TEMPORARY VARIABLES
              bodyJ=' >> '+body;
              titleJ=title;
              
              if(senderMode==0){
                strOut += "<tr><td bgcolor=#ccff99 width=\"100%\" height=40>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"titleJ='CVP : '+titleJ;displaySendMessage("+userId+",'"+escape(buddy)+"','"+buddyId+"');\">CEVAPLA</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"titleJ='İLT : '+titleJ;displaySendMessage("+userId+",'');\">İLET</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"deleteOrArchive("+senderMode+",12,"+messageId+","+userId+");\">SİL</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=javascript:void(0) onclick=\"deleteOrArchive("+senderMode+",11,"+messageId+","+userId+");\">ARŞİVLE</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"display(0,'"+userId+"',"+sizeJ+");\">Gelen mesajlar</a>&nbsp;&nbsp;|&nbsp;&nbsp;</td></tr>";
              }
              else{
                strOut += "<tr><td bgcolor=#ccff99 height=40>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"titleJ='İLT : '+titleJ;displaySendMessage("+userId+",'','','"+escape(title.replace("'","\'"))+"','"+escape(body.replace("'","\'"))+"');\">İLET</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"deleteOrArchive("+senderMode+",12,"+messageId+","+userId+");\">SİL</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=javascript:void(0) onclick=\"displaySendMessage("+userId+",'','','"+escape(title)+"','"+escape(body)+"');\">GÖNDER</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href=\"javascript:void(0)\" onclick=\"display(0,'"+userId+"',"+sizeJ+");\">Gelen mesajlar</a>&nbsp;&nbsp;|&nbsp;&nbsp;</td></tr>";
              }
          strOut +="</table>";
              
    messageArea.innerHTML=strOut;
    
    writeNewMessageCount (newMessageCount);
        
    
  }

  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/message.ajax");
              
}

function writeNewMessageCount (newMessageCount){

var strMsgCount = "";
    if(newMessageCount != 0){
      strMsgCount = "(" + newMessageCount + ")";
    }
    
    if(document.getElementById("newMessageCount1"))
      document.getElementById("newMessageCount1").innerHTML = strMsgCount;
    if(document.getElementById("newMessageCount2"))
      document.getElementById("newMessageCount2").innerHTML = strMsgCount;


}

function showUser(friend,field){
  var displayArea = document.getElementById(field);
  var myCreatePacket = function(){
    writer = new CmdWriter("10");
    writer.appendStr(friend);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    window.location.hash = "set:"+friend;
    reader = new CmdReader(responseText);
    var userAvatar = reader.getStr();
    var userStatus = reader.getStr();
    var userNick = reader.getStr();
    var userId = reader.getStr();
    var location = reader.getStr();
    var age = reader.getStr();
    displayArea.innerHTML = "<td>"+userAvatar+"</td>"+
                    "<td>&nbsp;&nbsp;</td>"+
                    "<td>"+
                    " <table>"+
                    "   <tr>"+
                    "     <td><a href=http://www.azbuz.com/profil-goster/"+encodeURI( userNick)+"/"+userId+"><font size=2>"+userNick+"</font></a></td>"+
                    "   </tr>"+
                    "   <tr>"+
                    "     <td>"+location+"</td>"+
                    "   </tr>"+
                    "   <tr>"+
                    "     <td>"+age+"</td>"+
                    "   </tr>"+
                    " </table>"+
                    "</td>";

  }
  if(displayArea.innerHTML.length>5){
    
    displayArea.innerHTML=""; 
  }
  else{
    var provider = new oyXMLRPCProvider();
    provider.createPacket = myCreatePacket;
    provider.onComplete = myOnComplete;
    provider.submit("/message.ajax");
  }
  
}

function maxlength(max,field){
  var textField = document.getElementById(field);
    if (textField.value.length >= max) {
      textField.value = textField.value.substring(0,max);
    alert(max+" karakteri geçemezsiniz");
    }
}

function checkAll(){
  var checkBoxes =  new Array();
  checkBoxes = document.getElementsByName("checkbox");
  for(var i=0;i<checkBoxes.length;i++){
    checkBoxes[i].checked="checked";
  }
}
function checkNone(){
  var checkBoxes =  new Array();
  checkBoxes = document.getElementsByName("checkbox");
  for(var i=0;i<checkBoxes.length;i++){
    checkBoxes[i].checked="";
  }
}
function highlightSelected(item){

  for(var i=0;i<7;i++){
    if(i==item){
      if(document.getElementById(i)){
        document.getElementById(i).className='messageCenterHighlight';
      }
    }
    else{
      if(document.getElementById(i)){
        document.getElementById(i).className='messageCenterNormal';
      }
    }
  }
}
function getFriendFromList(list){
  document.getElementById("to").value = document.getElementById("select").value;
}

function displayPreferences(userId){
  
  highlightSelected(6);
  var myCreatePacket = function(){
    writer = new CmdWriter("7");
    writer.appendStr(userId);
    writer.endOfObject();
    return writer.Buffer;
  }
  var myOnComplete = function(responseText){
    reader = new CmdReader(responseText);
    window.location.hash = "set:"+userId;
    var preference = reader.getStr();
    var messageArea = document.getElementById("messageArea");
    strOut  = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\">"+
          "<tr>";
          if(preference==0){
            strOut+=  " <td><input type=\"radio\" name=\"radiobutton\" id =radiobutton5 value=0 checked onclick=\"getRadioButtonValue(this.value);\"></td>";  
          }
          else{       
            strOut+=  " <td><input type=\"radio\" name=\"radiobutton\" id =radiobutton5 value=0 onclick=\"getRadioButtonValue(this.value);\"></td>";  
          }
    strOut+=  " <td style=padding:10px; align=\"left\">Bütün Azbuz üyelerinden mesaj kabul ediyorum (Varsayılan)</td>"+
          "</tr>"+
          "<tr>";
          if(preference==1){
            strOut+=  " <td><input type=\"radio\" name=\"radiobutton\" id =radiobutton4 value=1 checked onclick=\"getRadioButtonValue(this.value);\"></td>";
          }
          else{
            strOut+=  " <td><input type=\"radio\" name=\"radiobutton\" id =radiobutton4 value=1 onclick=\"getRadioButtonValue(this.value);\"></td>";
          }
    strOut+=  " <td style=padding:10px; align=\"left\">Sadece arkadaş listemdeki üyeler mesaj gönderebilir</td>"+
          "</tr>"+
          "<tr>"+
          " <td colspan=2 align=\"left\"><a href=\"javascript:void(0)\" onclick=\"setPreference('"+userId+"');\">Kaydet</a></td>"+
          "</tr>"+
          "</table>";
        
    messageArea.innerHTML=strOut;
  }
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/user.ajax");    
}
function getRadioButtonValue(val){
  messagePreference = val;
}
function setPreference(userId){
  var myCreatePacket = function(){
    writer = new CmdWriter("6");
    writer.appendStr(userId);
    writer.appendStr(messagePreference);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    reader = new CmdReader(responseText);
    window.location.hash = "set-save:"+userId;
    var response = reader.getStr();
    var sMsgArea = document.getElementById("sMsgArea");
    if(response=='true'){
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "   <tr><td>Ayar kaydedilmişir.</td></tr>"+
                "   <tr><td align=\"right\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr>"+
                "</table>";
      showMessageLayerInline("Kaydet",htmlBody,220,80);
    }
    else{
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "   <tr><td >Sistem hatası. Daha sonra tekrar deneyiniz.</td></tr>"+
                "   <tr><td align=\"right\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr>"+
                "</table>";
      showMessageLayerInline("Hata",htmlBody,220,80);
    }
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/user.ajax");
  
}

// ----------------------
// ----  FRIEND LIST ----
// ----------------------

function retrieveFriends(userId,funct,authorization,skip,limit,mode){
  var displayArea = document.getElementById("friendsArea");
  var displayAreaTitle = document.getElementById("friendsAreaTitle");
  authorizationF = authorization;
  //sizeF = size;
  messageOrProfile='m';
  // function 1 : retrieveFriends(Mix of top and recent)
  // function 2 : retrievePendingFriends
  // function 3 : retrieveIgnoredFriends
  //   LIMIT WILL BE '10'
  highlightSelected(mode);
  var myCreatePacket = function(){

    writer = new CmdWriter("3");
    writer.appendStr(userId);
    writer.appendStr(funct);
    writer.appendStr(skip);
    writer.appendStr(limit);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    var countperpage = 20;
    reader = new CmdReader(responseText);
    var counter=0;
    var strOut="";
    var strOutTitle="";
    var friendAvatar;
    var friendStatus;
    var friendNick;
    var friendId;
    var ignored;
    var location;
    var age;
    var gender;
    var hasNext = reader.getStr();
    var totalFriendSize = reader.getStr();
    var pendingSize= reader.getStr();
    
      strOutTitle  =  "<table width=\"100%\"><tr>"+
              " <td height='20' style='color:#666;padding-left:8px;font:bold 14px Arial'>"+(mode==1?"Onay bekleyen arkadaşlık talepleri":"Tüm arkadaşlarım")+"</td>";
              if(pendingSize!=null && pendingSize>0 && authorizationF==1){
                document.getElementById("alert").innerHTML="<a href=\"javascript:void(0)\" onclick=\"retrieveFriends("+userId+",2,"+authorizationF+",0,6,1);\">"+pendingSize+"\ kişi arkadaş olmak istedi!</a>";                
              }
      strOutTitle  +=	"<td align=\"right\">"+
      						"<div class=\"friendFilterTop\" style=\"display:none\">"+
      							"Sırala: <span class=\"friendFilterSpan\" onclick=\"$('friendFilter').style.display='';\">Eskiden yeniye</span>"+
      							"<div style=\"display:none\" id=\"friendFilter\" align=\"right\">"+
      								"<ul>"+
      									"<li onclick=\"\" onmouseover=\"this.className = 'hover';\" onmouseout=\"this.className = '';\">Yeniden eskiye</li>"+
      									"<li onclick=\"\" onmouseover=\"this.className = 'hover';\" onmouseout=\"this.className = '';\">Yaşa göre</li>"+
      									"<li onclick=\"\" onmouseover=\"this.className = 'hover';\" onmouseout=\"this.className = '';\">Görünen ada göre</li>"+
      								"</ul>"+
      							"</div>"+
      						"</div>"+
      					"</td>";
      strOutTitle  +="</tr></table>";
    
      strOut =      "<table width=\"100%\" border=0>"+
                "<tr >";
    
    while(reader.hasObject() && counter< countperpage){
      friendAvatar = reader.getStr();
      friendStatus = reader.getStr();
      friendNick = reader.getStr();
      friendId = reader.getStr();
      ignored = reader.getStr();
      location = reader.getStr();
      age = reader.getStr();
      gender = reader.getStr();
      if(friendStatus.indexOf("offline")){
      	friendStatus = "<img src='http://s.azbuz.com/images/off.gif' style='vertical-align:middle' hspace='2' />";
      }else{
      	friendStatus = "<img src='http://s.azbuz.com/images/on.gif' style='vertical-align:middle' hspace='2' />";
      }
      if(counter!=0 && counter%4==0){
        strOut         += "</tr>"+
                    "<tr>"+
                    " <td colspan='11' height='2'></td>"+
                    "</tr>"+
                    "<tr>"; 
      }
      strOut         +=   "<td width='68' style=\"padding:10px 3px 7px 3px\">"+friendAvatar+"</td>"+
                    "<td>"+
                    " <table border='0' cellpadding='0' cellspacing='0'>"+
                    "   <tr>"+
                    "     <td style='padding:1px 0'>" + friendStatus + " <a href=http://www.azbuz.com/profil-goster/"+encodeURI(friendNick)+"/"+friendId+"><font size=2><strong>"+friendNick+"</strong></font></a></td>"+
                    "   </tr>" +
                    "	<tr><td style='padding:1px 0'>";
      if(gender == "M"){
        strOut      += 	"<img src='http://s.azbuz.com/images/erkek.png' style='vertical-align:middle' border=0 /> ";
      }
      else if(gender == "F"){
        strOut      +=	"<img src='http://s.azbuz.com/images/kadin.png' style='vertical-align:middle' border=0 /> ";
      }                 
                    
      strOut      	+=	" " + age + "</td></tr>" +
      					"<tr><td>" + location + "</td></tr>" +
      					"<tr><td>";

                    if(funct==1 && authorizationF==1){
                      strOut += "<a href=\"javascript:void(0)\" onclick=\"displayDeleteFriend("+userId+","+friendId+");\">Sil</a> ";
                      if(ignored=='false'){
                        strOut += " &nbsp;|&nbsp; <a href=\"javascript:void(0)\" onclick=\"displayIgnoreFriend("+userId+","+friendId+",0);\">Engelle</a> ";
                      }
                      else{
                        strOut += " &nbsp;|&nbsp; <a href=\"javascript:void(0)\" onclick=\"displayIgnoreFriend("+userId+","+friendId+",1);\">Engellemeyi kaldır</a> ";
                      } 
                    }
                    else if(funct==2 && authorizationF==1){
                      strOut += " <a href=\"javascript:void(0)\" onclick=\"permitFriend("+userId+","+friendId+");\">Kabul et</a> &nbsp;|&nbsp; <a href=\"javascript:void(0)\" onclick=\"rejectFriend("+userId+","+friendId+");\">Reddet</a>";
                    }
      strOut +=         "</td></tr>"+               
                    " </table>"+
                    "</td>";
                  
      if(counter++==(countperpage-1)){
      strOut          += "</tr>"+
                    "<tr>"+
                    " <td colspan='11' height='2'></td>"+
                    "</tr>"+
                    "<tr>";
        
      }
    }
    if(skip>(countperpage-1) && hasNext==1){
        strOut+=        "<tr><td colspan=11><table width=\"100%\" border=0><tr><td align=left> &lt;&lt; <a href=\"javascript:void(0)\" onclick=\"retrieveFriends("+userId+","+funct+","+authorizationF+","+(skip-countperpage)+","+limit+","+mode+");\"><span style=\"font-size:12px;\">Önceki</span></a></td><td align=right><a href=\"javascript:void(0)\" onclick=\"retrieveFriends("+userId+","+funct+","+authorizationF+","+(skip+countperpage)+","+limit+","+mode+");\"><span style=\"font-size:14px;\">Sonraki</span></a> &gt;&gt; </td></tr></table> </td></tr>";
      }
    else if(skip<countperpage && hasNext==1){
        strOut+=        "<tr><td align=right colspan=11><a href=\"javascript:void(0)\" onclick=\"retrieveFriends("+userId+","+funct+","+authorizationF+","+(skip+countperpage)+","+limit+","+mode+");\"><span style=\"font-size:12px;\">Sonraki</span></a> &gt;&gt; </td></tr>";
    }
    else if(skip>(countperpage-1) && hasNext==0){
      strOut+=        "<tr><td colspan=11> &lt;&lt; <a href=\"javascript:void(0)\" onclick=\"retrieveFriends("+userId+","+funct+","+authorizationF+","+(skip-countperpage)+","+limit+","+mode+");\"><span style=\"font-size:12px;\">Önceki</span></a> </td></tr>";
    }
    strOut += "</tr></table>";
    displayAreaTitle.innerHTML=strOutTitle;
    displayArea.innerHTML = strOut;

  }
    
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");
  
  
}

function retrieveFriendsForProfile(userId,funct,authorization,skip,limit){
  var displayArea = document.getElementById("friendsArea");
  authorizationF =authorization;
  //sizeF = size;
  messageOrProfile='p';
  
  // function 1 : retrieveFriends(Mix of top and recent)
  // function 2 : retrievePendingFriends
  // function 3 : retrieveIgnoredFriends
  //   LIMIT WILL BE '6'
  
  var myCreatePacket = function(){

    writer = new CmdWriter("3");
    writer.appendStr(userId);
    writer.appendStr(funct);
    writer.appendStr(skip);
    writer.appendStr(limit);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    reader = new CmdReader(responseText);
    var counter=0;
    var strOut="";
    var friendAvatar;
    var friendStatus;
    var friendNick;
    var friendId;
    var ignored;
    var location;
    var age;
    var gender;
    var hasNext = reader.getStr();
    var totalFriendSize = reader.getStr();
    var pendingSize= reader.getStr();

    if(pendingSize!=null && pendingSize>0 && authorizationF==1){
      strOut += "<tr><td><a href=\"javascript:void(0)\" onclick=\"retrieveFriendsForProfile("+userId+",2,"+authorizationF+",0,6);\">"+pendingSize+"\ kişi arkadaş olmak istedi</a></td></tr>";
    }

    strOut += "<tr><td class=pxhr></td></tr>"+
          "<tr>"+
          " <td>"+
          "   <table width\"100%\" bgcolor=\"#D7B879\" border=0>"+
          "   <tr>";
    
    while(reader.hasObject() && counter<6){
      friendAvatar = reader.getStr();
      friendStatus = reader.getStr();
      friendNick = reader.getStr();
      friendId = reader.getStr();
      ignored = reader.getStr();
      location = reader.getStr();
      age = reader.getStr();
      gender = reader.getStr();
      
      if(counter!=0 && counter%3==0){
        strOut         += "</tr>"+
                    "<tr>"+
                    " <td colspan=8 class=pxhr></td>"+
                    "</tr>"+
                    "<tr>"; 
      }

      strOut         +=   "<td align=right style=\"padding:14px 0px 7px 7px;\">"+friendAvatar+"</td>"+
                    "<td>"+
                    " <table>"+
                    "   <tr>"+
                    "     <td>"+friendStatus+"</td>"+
                    "   </tr>"+
                    "   <tr>"+
                    "     <td><a href=http://www.azbuz.com/profil-goster/"+encodeURI(friendNick)+"/"+friendId+"><font size=2><strong>"+friendNick+"</strong></font></a></td>"+
                    "   </tr>";
      if(gender == "M"){
        strOut      +=    "   <tr>"+
                    "     <td><img src=\"http://s.azbuz.com/images/erkek.png\" border=0></td>"+
                    "   </tr>";
      }
      else if(gender == "F"){
        strOut      +=    "   <tr>"+
                    "     <td><img src=\"http://s.azbuz.com/images/kadin.png\" border=0></td>"+
                    "   </tr>";
      }
    
      strOut +=         "   <tr>"+
                    "     <td>"+location+"</td>"+
                    "   </tr>"+
                    "   <tr>"+
                    "     <td>"+age+"</td>"+
                    "   </tr>"+
                    "   <tr>";
                    if(funct==1 && authorization==1){
                      strOut += "<td><a href=\"javascript:void(0)\" onclick=\"displayDeleteFriend("+userId+","+friendId+");\">Sil</a></td></tr>";
                      if(ignored=='false'){
                        strOut += "<tr><td><a href=\"javascript:void(0)\" onclick=\"displayIgnoreFriend("+userId+","+friendId+",0);\">Engelle</a></td>";
                      }
                      else{
                        strOut += "<tr><td><a href=\"javascript:void(0)\" onclick=\"displayIgnoreFriend("+userId+","+friendId+",1);\">Engellemeyi kaldır</a></td>";
                      } 
                    }
                    else if(funct==2 && authorization==1){
                      strOut += "<td><a href=\"javascript:void(0)\" onclick=\"permitFriend("+userId+","+friendId+");\">Kabul et</a></td></tr><tr><td><a href=\"javascript:void(0)\" onclick=\"rejectFriend("+userId+","+friendId+");\">Reddet</a></td>";
                    }
      strOut +=         " </tr>"+               
                    " </table>"+
                    "</td>";
                  
    if(counter++==5){
      strOut          += "</tr>"+
                    "<tr>"+
                    " <td colspan=8 class=pxhr></td>"+
                    "</tr>"+
                    "<tr>";

    }
    
    }

    if(skip>5 && hasNext==1){
        strOut+=        "<tr><td colspan=11><table width=\"100%\" border=0><tr><td align=left><< <a href=\"javascript:void(0)\" onclick=\"retrieveFriendsForProfile("+userId+","+funct+","+authorization+","+(skip-6)+","+limit+");\">Önceki</a></td><td align=right><a href=\"javascript:void(0)\" onclick=\"retrieveFriendsForProfile("+userId+","+funct+","+authorization+","+(skip+6)+","+limit+");\">Sonraki</a> >></td></tr></table></td></tr>";
    }
    else if(skip<6 && hasNext==1){
        strOut+=        "<tr><td align=right colspan=11><a href=\"javascript:void(0)\" onclick=\"retrieveFriendsForProfile("+userId+","+funct+","+authorization+","+(skip+6)+","+limit+");\">Sonraki</a> >></td></tr>";
    }
    else if(skip>5 && hasNext==0){
      strOut+=        "<tr><td colspan=11><< <a href=\"javascript:void(0)\" onclick=\"retrieveFriendsForProfile("+userId+","+funct+","+authorization+","+(skip-6)+","+limit+");\">Önceki</a></td></tr>";
    }
    strOut += "</tr></table></td></tr>";
    displayArea.innerHTML =strOut;
    

  }
    
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}

function permitFriend(userId,friendId){
  var myCreatePacket = function(){
    writer = new CmdWriter("1");
    writer.appendStr(userId);
    writer.appendStr(friendId);
    writer.appendStr(2);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    reader = new CmdReader(responseText);
    window.location.hash = "set-permit:"+userId;
  //  var hasMore = reader.getStr();
    var pendingCount = reader.getStr();
    var approvedCount = reader.getStr();
    if(pendingCount != "0"){
      if(messageOrProfile=='p'){
        retrieveFriendsForProfile(userId,2,authorizationF,0,6);
      }
      else{
        retrieveFriends(userId,2,authorizationF,0,20,2);
        document.getElementById("alert").innerHTML="";
      }
    } 
    else{
      if(messageOrProfile=='p'){
        retrieveFriendsForProfile(userId,1,authorizationF,0,6);
      }
      else{
        retrieveFriends(userId,1,authorizationF,0,20,2);
        document.getElementById("alert").innerHTML="";
      }
    
    }
    writeNewFriendsCount (pendingCount, approvedCount);
    
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}

function writeNewFriendsCount (pendingCount, approvedCount){  
  var strCountPending = "";
  if(pendingCount != 0){
    strCountPending = "(" + pendingCount + ")";
  } 
  var strCountApproved = "";
  if(approvedCount != 0){
    strCountApproved = "(" + approvedCount + ")";
  } 
  if(document.getElementById("pendingFriendsArea"))
    document.getElementById("pendingFriendsArea").innerHTML = strCountPending;
  if(document.getElementById("approvedFriendsArea"))
    document.getElementById("approvedFriendsArea").innerHTML = strCountApproved;

}

function rejectFriend(userId,friendId){
  var myCreatePacket = function(){
    writer = new CmdWriter("1");
    writer.appendStr(userId);
    writer.appendStr(friendId);
    writer.appendStr(3);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    window.location.hash = "set-reject:"+userId;
    reader = new CmdReader(responseText);
    var pendingCount = reader.getStr();
    var approvedCount = reader.getStr();
    if(pendingCount != "0"){
      if(messageOrProfile=='p'){
        retrieveFriendsForProfile(userId,2,authorizationF,0,6);
      }
      else{
        retrieveFriends(userId,2,authorizationF,0,20,2);
        document.getElementById("alert").innerHTML="";
      }
    } 
    else{
      if(messageOrProfile=='p'){
        retrieveFriendsForProfile(userId,1,authorizationF,0,6);
      }
      else{
        retrieveFriends(userId,1,authorizationF,0,20,2);
        document.getElementById("alert").innerHTML="";
      }
    
    }
    writeNewFriendsCount (pendingCount, approvedCount);
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}
function ignoreFriend(userId,friendId,mode){
  // mode   : 0 - ignore friend
  // mode   : 1 - enable friend 
  var myCreatePacket = function(){
    writer = new CmdWriter("4");
    writer.appendStr(userId);
    writer.appendStr(friendId);
    writer.appendStr(mode);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(){
    window.location.hash = "set-ignore:"+userId;
    if(messageOrProfile=='p'){
      retrieveFriendsForProfile(userId,1,authorizationF,0,6);
    }
    else{
      retrieveFriends(userId,1,authorizationF,0,20,2);
    }
    
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}


function deleteFriend(userId,friendId){
  var myCreatePacket = function(){
    writer = new CmdWriter("2");
    writer.appendStr(userId);
    writer.appendStr(friendId);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(){
    window.location.hash = "set-delete:"+userId;
    if(messageOrProfile=='p'){
      //retrieveFriendsForProfile(userId,1,authorizationF,sizeF);
      retrieveFriendsForProfile(userId,1,authorizationF,0,6);
    }
    else{
      //retrieveFriends(userId,1,authorizationF,sizeF);
      retrieveFriends(userId,1,authorizationF,0,20,2);
    }
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}

function createFriend(userId,friendId){
  var myCreatePacket = function(){
    writer = new CmdWriter("0");
    writer.appendStr(userId);
    writer.appendStr(friendId);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    window.location.hash = "set-create:"+userId;
    reader = new CmdReader(responseText);
    var response = reader.getStr();
    if(response=='true'){
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "<tr>"+
                " <td>"+
                "   <table border=\"0\" width=\"100%\">"+ 
                "   <tr><td align=\"center\">Arkadaşlık isteğiniz iletilmiştir.</td></tr>"+
                "   <tr><td align=\"center\" height=\"40\"><a href=javascript:void(0) onclick=\"closeMessageLayer();\">Kapat</a></td></tr>"+
                "   </table>"+
                " </td>"+
                "</tr>"+
                "</table>";
      showMessageLayerInline("Arkadaş Ekle", htmlBody, 325, 80);
    }
    else if(response=='exist'){
      var htmlBody = "<div><p>Bu kişiyle zaten arkadaşsınız yada arkadaşlık isteği göndermişsiniz.</p>" +
                "   <p align=\"center\"><a href=javascript:void(0) onclick=\"closeMessageLayer();\">Kapat</a></p>"+
                "</div>";
      showMessageLayerInline("Arkadaş Ekle", htmlBody, 325, 80);
    }
    else{
      var htmlBody = "<div>"+
                "<p>Arkadaşlık isteğiniz kullanıcıya iletilememiştir.</p>" +
                "<p>Daha sonra tekrar deneyiniz.</p>" +
                "<p align=\"center\"><a href=javascript:void(0) onclick=\"closeMessageLayer();\">Kapat</a></p>" +
                "</div>";
      showMessageLayerInline("Arkadaş Ekle", htmlBody, 325, 80);
    }
    
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}

function displayDeleteFriend(userId,friendId){
  var htmlBody = "<table width=\"100%\" border=\"0\">"+
    "<tr>"+
    " <td>Bu üyeyi arkadaş listenizden silmek istediğinize emin misiniz ?</td>"+
    "</tr>"+
    "<tr>"+
    " <td align=\"right\"><a href=\"javascript:;\" onclick =\"deleteFriend('"+userId+"','"+friendId+"');closeMessageLayer();\">Evet</a>" +
    "<span class=\"spc\">|</span><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Hayır</a></td>"+
    "</tr>"+
    "</table>";
  showMessageLayerInline("Arkadaş Sil",htmlBody,325,80);

}

function displayCreateFriend(userId,friendId){
  htmlBody = "<table border=\"0\" width=\"100%\">"+ 
          "<tr><td> Bu üyeyi arkadaş listenize eklemek istediğinizden emin misiniz ?</td></tr>"+
          "<tr><td height=\"36\" valign=\"bottom\" align=\"right\"><a href=\"javascript:void(0)\" onclick=\"createFriend("+userId+","+friendId+");\">Evet</a><span class=\"spc\">|</span><a href=\"javascript:void(0)\" onclick=\"closeMessageLayer();\">Hayır</a></td></tr>"+
          "</table>";
  showMessageLayerInline("Arkadaş Ekle", htmlBody, 325, 80);
}
function displayIgnoreFriend(userId,friendId,mode){
  var htmlBody = "";
  if(mode==0){
    htmlBody = "<table width=\"100%\" border=\"0\">"+
            "   <tr><td> Bu üyeyi engellemek istediğinizden emin misiniz ?</td></tr>"+
            "   <tr><td align=\"right\"><a href=\"javascript:;\" onclick=\"ignoreFriend('"+userId+"','"+friendId+"',"+mode+");closeMessageLayer();\">Evet</a><span class=\"spc\">|</span><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Hayır</a></td></tr>"+
            "</table>";
    showMessageLayerInline("Engelle",htmlBody,325,80);
  }
  else{
    htmlBody = "<table width=\"100%\" border=\"0\">"+
            "   <tr><td> Engellemeyi kaldırmak istediğinizden emin misiniz ?</td></tr>"+
            "   <tr><td align=\"right\"><a href=\"javascript:;\" onclick=\"ignoreFriend('"+userId+"','"+friendId+"',"+mode+");closeMessageLayer();\">Evet</a><span class=\"spc\">|</span><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Hayır</a></td></tr>"+
            "</table>";
    showMessageLayerInline("Engellemeyi Kaldır",htmlBody,325,80);
  }
}

function displayAddEmailFriendship(userId){
  var htmlBody = "<table width=\"100%\" border=\"0\">"+
          "   <tr><td>Arkadaşınızın e-posta adresini girin.</td></tr>"+
          "   <tr><td><input id=\"friendShipEmail\" type=\"text\" style=\"width:100%\" maxlength=\"45\"></td></tr>"+
          "   <tr><td align=\"right\"><a href=\"javascript:;\" onclick=\"addEmailFriendship('"+userId+"',$('friendShipEmail').value);\">Gönder</a><span class=\"spc\">|</span><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Vazgeç</a></td></tr>"+
          "</table>";
  showMessageLayerInline("Davet et",htmlBody,325,80);
}

function addEmailFriendship(userId,email){
  var myCreatePacket = function(){
    writer = new CmdWriter("5");
    writer.appendStr(userId);
    writer.appendStr(email);
    writer.endOfObject();
    return writer.Buffer;
  }
  
  var myOnComplete = function(responseText){
    reader = new CmdReader(responseText);
    var response = reader.getStr();
    window.location.hash = "set-email:"+userId;
    if(response=='error'){
      var message= reader.getStr();
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "<tr>"+
                " <td>Geçici bir teknik hata nedeniyle davetiniz gönderilememiştir!</td>"+
                "</tr>"+
                "<tr><td align=\"right\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr>"+
                "</table>";
      showMessageLayerInline("Davet et",htmlBody,325,80);
    }
    else if(response=='sent'){
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "   <tr><td><strong>"+email+"</strong> adresine davetiyeniz gönderilmiştir.</td></tr>"+
                "   <tr><td align=\"right\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr>"+
                "</table>";
      showMessageLayerInline("Davet et",htmlBody,325,80);
    }
    else if(response=='exist'){
      var nick = reader.getStr();
      var friendId=reader.getStr();
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "   <tr><td>Arkadaşınızın Azbuz.com'da üyeliği bulunmaktadır. Rumuzu : <strong>"+nick+"</strong></td></tr>"+
                "   <tr><td>Bu kişiyi arkadaş listenize eklemek ister misiniz?</td></tr>"+                
                "   <tr><td align=\"right\"><a href=\"javascript:;\" onclick=\"createFriend('"+userId+"','"+friendId+"');closeMessageLayer();\">Evet</a><span class=\"spc\">|</span><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Hayır</a></td></tr>"+ 
                "</table>";
      showMessageLayerInline("Davet et",htmlBody,325,110);
    }
    else if(response=='same'){
      var nick = reader.getStr();
      var friendId=reader.getStr();
      var htmlBody = "<table width=\"100%\" border=\"0\">"+
                "   <tr><td>Kendinizi arkadaş listenize ekleyemezsiniz!</td></tr>"+             
                "   <tr><td align=\"right\" height=\"40\"><a href=\"javascript:;\" onclick=\"closeMessageLayer();\">Kapat</a></td></tr>"+
                "</table>";
      showMessageLayerInline("Davet et",htmlBody,325,80);
    }
    
  }
  
  var provider = new oyXMLRPCProvider();
  provider.createPacket = myCreatePacket;
  provider.onComplete = myOnComplete;
  provider.submit("/relations.ajax");

}
