var friend_Url = "friends/friends_req.php";
var friend_chat = "friends/friends_chat.php";
var frid=0;
var uid=0;
var f_c=0;
var n_c=0;
var new_mess=true;



var friendSuccess = function(o){
var friend_reqdiv = document.getElementById('friends_request');
	if(o.responseText !== undefined){
	t=o.responseText.split("|");
	var pr=t[0]*1;
	var text=t[1];
try {
		if(t == 1) {
			openAlertwin('','<span style=\'color: red;\'>Вече имате отправена молба към този потребител!!!</span>');
		} else if(pr == 2) {
			friend_reqdiv.innerHTML = text;
			 frRequestOnline();	
		} else if(pr == 3) {
				friend_reqdiv.innerHTML = text;	
		} else if(pr == 5) {
			friend_reqdiv.innerHTML = text;
			 frRequestOnline();
		}
} catch(err){}
	}
}

var friendFailure = function(o){
	if(o.responseText !== undefined){
	openAlertwin('','<span style=\'color: red;\'>Заявката към сървъра се провали!!!<br> Моля опитайте по-късно!!!</span>');
	}
}
function func_send(sender,receiver,action,visa) {
	var friend_req = YAHOO.util.Connect.asyncRequest('GET', friend_Url+'?sender='+sender+'&receiver='+receiver+'&do='+action+'&mess='+visa,
            {
                success: friendSuccess,
                failure: friendFailure,
		  cache:false 
            }
        );
}

function send_req(sender,receiver) {
 t="<table border='0' width='100%'>";
 t=t+"<tr><td width='90px' align='left' valign='top'>Представете себе си с няколко думи!!!</td>";
 t=t+"<td width='100%'><form id='send_req' name='send_req'><textarea name=visa id=visa cols=25 rows=3 ></textarea></form></td></tr></table>";

Dialog.confirm(t, 
               {width:300, okLabel: "Изпрати", 
		 cancelLabel: "Откажи",
		 className: "greylighting",
               buttonClass: "myButtonClass",
               id: "Send_request",
               ok:function() {
					func_send(sender,receiver,'write',document.send_req.visa.value);
					return true;
				}
              });
}

function confirm_req(sender,receiver,text) {


Dialog.confirm(text, 
               {width:300, okLabel: "Приеми", 
		 cancelLabel: "Откажи",
		 className: "greylighting",
               buttonClass: "myButtonClass",
               id: "confirm_request",
               ok:function() {
					func_send(sender,receiver,'authorize','');
					return true;
				},
               cancel:function() {
					func_send(sender,receiver,'delete','');
					return true;
				}
              });
}

var friends_chat_Success = function(o){
var frdiv=getCookie('chat_friend');
var friend_chat_reqdiv = document.getElementById(frdiv+'_chat');
	if(o.responseText !== undefined){
		friend_chat_reqdiv.innerHTML = o.responseText;
		clearTimeout(f_c);
		f_c=setTimeout('chat_send(\'refresh&fru='+frdiv+'\');',15000);
	}
}

var friends_chat_Failure = function(o){
var frdiv=getCookie('chat_friend');
var friend_chat_reqdiv = document.getElementById(frdiv+'_chat');
	if(o.responseText !== undefined){
	openAlertwin('','<span style=\'color: red;\'>Заявката към сървъра се провали!!!<br> Моля опитайте по-късно!!!</span>');
	}
		clearTimeout(f_c);
		f_c=setTimeout('chat_send(\'refresh&fru='+frdiv+'\');',15000);
}
function chat_send(p){
	var fr_chat = YAHOO.util.Connect.asyncRequest('GET', friend_chat+'?'+p,
            {
                success: friends_chat_Success,
                failure: friends_chat_Failure,
		  cache:false 
            }
        );
}

var new_chat_Success = function(o){
var frdiv=getCookie('chat_friend');

	if(o.responseText !== undefined){
		var new_chat_reqdiv = document.getElementById('friends_chat');
		var ac=o.responseText.search('active:');
		var nb=o.responseText.search('new_block:');
		var ne=o.responseText.search('new:');
		var cl=o.responseText.search('close:');
		if (nb >=0 && nb <10 ) {
			var n=o.responseText.substring(10)+ '' + new_chat_reqdiv.innerHTML;
		//	new_chat_reqdiv.innerHTML  = n;
			create_td(n);
			check_current('true');
		} else if (ac >=0 && ac<10) {
			var n=new_chat_reqdiv.innerHTML+''+o.responseText.substring(7);
	//		new_chat_reqdiv.innerHTML  = n;
			create_td(n);
			check_current('');
		} else if (cl >=0 && cl <8) {
//			new_chat_reqdiv.innerHTML  = o.responseText.substring(6);
			create_td(o.responseText.substring(6));
			check_current('');
		} else if (ne >=0 && ne <5) {
			var n=o.responseText.substring(4);
			if (n.length>3) {
				var friends=new Array();
				var ff=new Array();
				friends=n.split(',');

				for (i=0; i < friends.length; i++) 
				{
					var ff=friends[i].split(':');
					var div=ff[0]; var broi=ff[1];
					if (broi>0 && div!=frdiv) {
						var new_chat_reqdiv = document.getElementById(div+'_new_mess');
						new_chat_reqdiv.innerHTML  = '&nbsp&nbsp&nbsp&nbsp<font color=red><b>' + broi +'</b></font>';
					} else {
						var new_chat_reqdiv = document.getElementById(div+'_new_mess');
						new_chat_reqdiv.innerHTML  = '';
					}
					
				}
			}
		}

		clearTimeout(n_c);
		n_c=setTimeout('new_chat_send();',15000);
	}
}

var new_chat_Failure = function(o){
	if(o.responseText !== undefined){
	openAlertwin('','<span style=\'color: red;\'>Заявката към сървъра се провали!!!<br> Моля опитайте по-късно!!!</span>');
	}
		clearTimeout(n_c);
		n_c=setTimeout('new_chat_send();',15000);
}
function new_chat_send(o){

var o=get_active_friends();
	var new_chat = YAHOO.util.Connect.asyncRequest('GET', friend_chat+'?new='+o,
            {
                success: new_chat_Success,
                failure: new_chat_Failure,
		  cache:false 
            }
        );
}

function close_chat(o){
	if (getCookie('chat_friend')==o){
		setCookie('chat_friend','',365);
		setCookie('chat_friend_status','none',365);
		clearTimeout(f_c);
	}
	var new_chat = YAHOO.util.Connect.asyncRequest('GET', friend_chat+'?close='+o,
            {
                success: new_chat_Success,
                failure: new_chat_Failure,
		  cache:false 
            }
        );
}

var friends_create_Success = function(o){
var friend_chat_reqdiv = document.getElementById('friends_chat');
var frdiv=getCookie('chat_friend');
	if(o.responseText !== undefined){
	var n=o.responseText+ '' + friend_chat_reqdiv.innerHTML;
		create_td(n);
		check_current('true');
		chat_send('refresh&fru='+frdiv);
	}
}

var friends_create_Failure = function(o){
	if(o.responseText !== undefined){
//	openAlertwin('','<span style=\'color: red;\'>Заявката към сървъра се провали!!!<br> Моля опитайте по-късно!!!</span>');
	}
	var friend_chat_reqdiv = document.getElementById('friends_chat');
	var frdiv=getCookie('chat_friend');
		chat_send('refresh&fru='+frdiv);
}
function createChat(frid) {

	var pr=document.getElementById(frid+'_chat_content');
if (pr === null) {
	setCookie('chat_friend_status','',365);
	setCookie('chat_friend',frid,365);
	var f = YAHOO.util.Connect.asyncRequest('GET', friend_chat+'?fru='+frid+'&do=new',
            {
                success: friends_create_Success,
                failure: friends_create_Failure,
		  cache:false 
            }
        );
} else {

swap_fr_chat(frid);
}
}

function sendChat(id) {
	x=getElementsByName_iefix('form', id+'_chat_form');
	cbt=getElementsByName_iefix('input', id+'_chatbarTexta');
	var doc=x[0];
	var cb=cbt[0];
   var ChatText = encodeURIComponent(cb.value);
    if (ChatText != '') {
        var idName = encodeURIComponent(doc.elements['namea'].value);
        var idUid = doc.elements['uida'].value;
        var frName = encodeURIComponent(doc.elements['frnamea'].value);
        var frUid = doc.elements['fruida'].value;
        var idPrefix = encodeURIComponent(doc.elements['prefixa'].value);
        var idSuffix = encodeURIComponent(doc.elements['suffixa'].value);
        var p = 'an='+ idName+'&ac='+ ChatText+'&au='+ idUid+'&frn='+frName+'&fru='+frUid+'&ap='+ idPrefix+'&as='+ idSuffix; 
	chat_send(p);
    cb.value = '';
	cb.focus();
    }
}

function swap_fr_chat(frid,link) {

	var disp = document.getElementById(frid+"_chat_content");

	if (disp.style.display == 'none' && frid==getCookie('chat_friend')) {
		Effect.toggle(frid+'_chat_content', 'slide');
	} else if (disp.style.display == 'none' && frid!=getCookie('chat_friend')) {

		var f=getCookie('chat_friend');
		try {
			Effect.toggle(getCookie('chat_friend')+'_chat_content', 'slide');
			insert_oncl(frid,'');
		} catch(err) {}
		Effect.toggle(frid+'_chat_content', 'slide');
		setCookie('chat_friend',frid,365);
		setCookie('chat_friend_status','',365);
		chat_send('refresh&fru='+frid);
		document.getElementById(frid+"_new_mess").innerHTML  = '';
		insert_oncl(frid,'link');
	} else if ((disp.style.display == '' || disp.style.display == 'block') && frid==getCookie('chat_friend')) {
		Effect.toggle(frid+'_chat_content', 'slide');
		setCookie('chat_friend','',365);
		setCookie('chat_friend_status','none',365);
		clearTimeout(f_c);
		insert_oncl(frid,'');
		if (link=='link') {
			window.location ='index.php?page=dashboard&frid='+frid;
		}

	}
}

function insert_oncl(frid,stat) {
	var x=getElementsByName_iefix('span', frid+'_link');
	var xx=x[0];
	if (stat=='') {
		xx.setAttribute('onclick', "javascript:void(0); return false;");
		xx.style.cursor='';
		xx.removeAttribute('onmouseover');
	} else {
		xx.setAttribute('onclick', "swap_fr_chat('"+frid+"','link');");
		xx.setAttribute('onmouseover', "javascript:this.style.color='red';this.style.cursor='pointer'");
		xx.setAttribute('onmouseout', "javascript:this.style.color='';");
	}

}

function get_active_friends() {
var a_f=new Array(); var x=new Array();
	x=getElementsByName_iefix('span', 'friend_id');
	for (i=0; i < x.length; i++) {
		try {

				a_f[i]=x[i].getAttribute("id");
		}
		 catch(err) {
		}
	}


		try {
			var a=a_f.join();
		}
		 catch(err) {
		}
return a; 
}

function check_current(stat) {
		if (stat=='true') {
			var a=get_active_friends();
			if (a.length > 0) {
				var aa=a.split(',');
				setCookie('chat_friend_status','',365);
				setCookie('chat_friend',aa[0],365);
				if (aa.length > 1){
					for (i=1;i<aa.length;i++) {
						var disp = document.getElementById(aa[i]+"_chat_content");
						disp.style.display = 'none';
					}
			}	}
		} else {
			if (getCookie('chat_friend')!='') {
				var disp = document.getElementById(getCookie('chat_friend')+"_chat_content");
				disp.style.display = '';
				chat_send('refresh&fru='+getCookie('chat_friend'));
			}
		}		
}

function create_td(text) {
		var child = document.getElementById('friends_chat_par');
		var parent=child.parentNode;
		var prevtr = '<table id="friends_chat_par" width="100%"><tr id="friends_chat">'+text+'</tr></table>';
		parent.innerHTML = prevtr; //replace table
}
