/* global variables */
var g_lastUserId;
var g_lastRoomId;
var g_nextContactReq;
var g_currentConver;
var g_conversations;
var g_bookmarks = new Object();
var g_usersOnline;
var g_rooms;
var g_chatTextarea;
var g_chatSendButt;
var g_chatLimitCount;
var g_contacts;
var g_convers;
var g_converTitles;
var g_roomTabs;
var g_contTop;
var g_roomList;
var g_intGetNews;
var g_intGetRooms;
var g_intGetContacts;
var g_intGetMessages;
var g_timeSinceLast;
var g_langs;
var g_user_lang;
var g_user_native_lang;
var g_search_lang;
var URL;
var currentSection;
var g_logged_in = false;;
var g_text_style;
var modal_embed_text;
var modal_link_text = new Object();
modal_link_text["link"] = "";
modal_link_text["room"] = "";

var str_mis_amigos;
var str_sus_amigos;
var str_cargando_personas;
var str_error_conexion;
var str_iniciado_sesion;
var str_cerrado_sesion;
var str_ingreso_a_sala;
var str_abandono_la_sala;
var str_restablecido_conexion;
var str_perdido_conexion;
var str_todos_idiomas;
var str_confirm_idioma;
var str_el_contacto;
var str_compartido_archivo;
var str_sala_temp_creada;

var TiDenunciar;
var TiVotoposi;
function cargaTitle(){
$.getJSON('chat/variable.php', function(data) {
	
  TiDenunciar=data.denunciar;
  TiVotoposi=data.voto;
});
}
cargaTitle();
function hideCurrentConver(conver_) {
	if (g_currentConver != null && g_currentConver != conver_) {
		jQuery("#conver-" + g_currentConver).hide();
		jQuery("#conver-title-" + g_currentConver).hide();
		jQuery("#contact-" + g_currentConver).hide();
		jQuery("#tab-" + g_currentConver).removeClass("active");
	}
}

function scroll_top(height) {
	if (height == undefined) {
		if (window.pageYOffset)
			return window.pageYOffset;
		return Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	}
	var cs = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement : document.body;
	cs.scrollTop = height;
}

function showConver(conver_) {
	hideCurrentConver(conver_);
	var conver = jQuery("#conver-" + conver_).show();
	g_convers.scrollTop(g_convers.attr("scrollHeight"));
	jQuery("#conver-title-" + conver_).show();
	jQuery("#contact-" + conver_).show();
	jQuery("#tab-" + conver_).removeClass("chatting");
	g_currentConver = conver_;
	if (conver_.substr(0,4) == "room") {
		jQuery("#dropdown .favorite").show();
		jQuery("#contRight").removeClass("privateChat");
	} else {
		jQuery("#dropdown .favorite").hide();
		jQuery("#contRight").addClass("privateChat");
	}
	var height = scroll_top();
	g_chatTextarea.focus();
	scroll_top(height);
}

function closeConver(conver_) {
	jQuery("#conver-" + conver_).remove();
	jQuery("#conver-title-" + conver_).remove();
	jQuery("#contact-" + conver_).remove();
	jQuery("#tab-" + conver_).remove();
	delete g_conversations[conver_];
	if (g_currentConver == conver_) {
		g_currentConver = null;
		cambiarMenu('otrassalas', true);
	}
}

function openNewRoomTab(conver_, conver_name_) {
	var conver_tab = jQuery("<li></li>")
		.attr("id", "tab-" + conver_)
		.appendTo(g_roomTabs);
	conver_tab.append(
		jQuery("<a></a>")
			.attr("href", "javascript:void(0);")
			.addClass("close")
			.click(function() {
				jQuery.ajax({
					type: 'POST', // 'GET', 'POST'
					url: "chat/rooms.php",
					data: { room: conver_.substr(5), action: 'exit' },
					dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
					success: function(data, textStatus, XMLHttpRequest) {
						if (data == "ok") {
							delete g_bookmarks[conver_];
							closeConver(conver_);
						}
					},
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						
					}
				});
			})
	);
	conver_tab.append("&nbsp;");
	conver_tab.append(
		jQuery("<a></a>")
			.attr("href", "javascript:void(0);")
			.click(function () {
				cambiarMenu('chat', false, { user: conver_ });
				showConver(conver_);
				if (g_bookmarks[conver_] == "add")
					jQuery("#dropdown li.favorite a.ico").addClass("hover");
				else
					jQuery("#dropdown li.favorite a.ico").removeClass("hover");
			} )
			.html(conver_name_)
	);
}

function tryHideCarousel() {
	if (jQuery("#mycarousel").children("li").length == 0)
		jQuery("#contTop").hide();
	else
		openNewUserTab(); // update jcarousel
}

function openNewUserTab(conver_, conver_name_) {
	var mycarousel = jQuery("#mycarousel").removeData("jcarousel");
	var lis_cont = jQuery("<div></div>");
	mycarousel.children("li").each(function (index) {
		var li = jQuery("<li></li>")
					.attr("id", jQuery(this).attr("id"))
					.html(jQuery(this).html())
					.appendTo(lis_cont);
		if (jQuery(this).hasClass("chatting"))
			li.addClass("chatting");
		if (jQuery(this).hasClass("active"))
			li.addClass("active");
	});
	mycarousel.remove();
	
	if (conver_ != undefined && conver_name_ != undefined)
		jQuery("<li></li>")
			.attr("id", "tab-" + conver_)
			.html( "<a href=\"javascript:void(0);\" onclick=\"closeConver('" + conver_ + "'); tryHideCarousel();\" class=\"close\"></a> " +
						"<a href=\"javascript:void(0);\" onclick=\"cambiarMenu('chat', false, { user: '" + conver_ + "' });" +
						"showConver('" + conver_ + "')\">" + conver_name_.substr(0,25) + "</a> |" )
			.appendTo(lis_cont);
	
	g_contTop.empty().html('<ul id="mycarousel" class="jcarousel-skin-tango chats"></ul>');
	jQuery("#mycarousel").html(lis_cont.children()).jcarousel({
		start: lis_cont.children().lenght
	});
	
	if (jQuery("#mycarousel").children("li").length == 1)
		jQuery("#mycarousel").css("width", "auto");
	
	jQuery("#contTop").show();
}

function openNewTitle(conver_, conver_name_, isRoom) {
	var title = jQuery("<div></div>")
					.attr("id", "conver-title-" + conver_)
					.hide()
					.html('<h2>' + conver_name_ + '</h2>')
					.appendTo(g_converTitles);
	if (isRoom) {
		var hash = hex_md5(conver_.substr(5));
		var URIlink = 'http%3A%2F%2Flienku.com%2F%3Fid%3D' + hash;
		var link = 'http://lienku.com/?id=' + hash;
		title.prepend(
				jQuery("<ul></ul>")
					.addClass("f-right")
					.addClass("listH")
					.append('<li class="twitter"><a href="http://twitter.com/?status=' + URIlink + '" target="_blank" class="ico" title="Share in Twitter"></a></li>')
					.append('<li class="facebook"><a href="http://www.facebook.com/sharer.php?u=' + URIlink + '" target="_blank" class="ico" title="Share in Facebook"></a></li>')
					.append('<li class="email"><a href="javascript:void(0);" onclick="openEmailModal()" class="ico" title="Send to mail"></a></li>')
					.append('<li class="chatLink"><a href="javascript:void(0);" onclick="modal_link_text.link=\'' + link + '\'; ' +
								'modal_link_text.room=\'' + conver_name_.addslashes().htmlentities() + '\'; openLinkModal();" class="ico" title="Share a link"></a></li>')
		);
	}
	return title;
}

function openNewContactsWindow(conver_, isRoom) {
	var contact = jQuery("<div></div>").attr("id", "contact-" + conver_).hide().appendTo(g_contacts);
	if (isRoom)
		contact.append("<div style=\"padding: 15px 10px\">" + str_cargando_personas + "</div>").addClass("roomContact");
	else {
		var avatar = (g_usersOnline[conver_].avatar == "") ? URL + '/images/userBig.gif' : URL + g_usersOnline[conver_].avatar;
		contact
			.addClass("userContact")
			.append(
				jQuery("<dl></dl>")
					.append('<dt class="online" id="contact-' + conver_ + '-online"><img width="107" height="107" border="0" alt="" src="' + avatar + '"></dt>')
					.append('<dd class="flag"><span class="ico ' + g_langs[g_usersOnline[conver_].lang] + 'S" id="contact-' + conver_ + '-flag"></span>' +
							'<strong id="contact-' + conver_ + '-name">' + g_usersOnline[conver_].name + '</strong></dd>')
					.append('<dd class="positiveS"><a href="javascript:void(0);" class="ico" onclick="vote(\'' + conver_ + '\')"></a>' +
							'<span class="positives-' + conver_ + '" id="contact-' + conver_ + '-positives">' + g_usersOnline[conver_].positives + '</span></dd>')
					.append('<dd class="' + g_usersOnline[conver_].follow + ' follow-' + conver_ + '" id="contact-' + conver_ + '-follow">' +
							'<a href="javascript:void(0);" class="ico" onclick="follow(\'' + conver_ + '\')"></a></dd>')
					.append((g_usersOnline[conver_].registered ? '<dd class="perfil"><a href="javascript:void(0);" class="ico" onclick="cambiarMenu(\'profile\', false, { user:\'' + conver_ + '\' }); showProfile(\'' + conver_ + '\');"></a></dd>' : ''))
					.append((g_usersOnline[conver_].positives >= 50) ? "<dd class=\"premiumS\"><span class=\"ico\"></span></dd>" : "")
			)
			.append('<div class="info bdR"></div>');
		
		jQuery.ajax({
			type: 'POST', // 'GET', 'POST'
			url: "chat/userdata.php",
			data: { user: conver_ },
			dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
			success: function(data, textStatus, XMLHttpRequest) {
				var info = jQuery("#contact-" + conver_ + " div.info");
				if (data == null) {
					info.hide();
					return;
				}
				
				if (data.bio == "")
					info.hide();
				else
					if (google.language)
						google.language.detect(data.bio, function(resultDet) {
							if (resultDet.error || resultDet.language == g_user_native_lang)
								info.html(data.bio);
							else
								google.language.translate(data.bio, resultDet.language, g_user_native_lang, function(result) {
									if (result != null && !result.error)
										info.html(result.translation);
									else
										info.html(data.bio);
								});
						});
					else
						info.html(data.bio);
				
				if (data.country == "")
					;
				else
					;
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				
			}
		});
	}
	return contact;
}

function openNewConverWindow(conver_, conver_name_, isRoom) {
	jQuery("<div></div>").attr("id", "conver-" + conver_).hide().appendTo(g_convers);
	openNewContactsWindow(conver_, isRoom);
	openNewTitle(conver_, conver_name_, isRoom);
	if (isRoom)
		openNewRoomTab(conver_, conver_name_);
	else
		openNewUserTab(conver_, conver_name_);
}

function openConverWindow(conver, conver_name, isRoom) {
	if (!isRoom && jQuery("#mycarousel").children("li").length > 14)
		return;
	if (!g_conversations.hasOwnProperty(conver)) {
		g_conversations[conver] = new Object();
		openNewConverWindow(conver, conver_name, isRoom);
	}
}

function focusConverWindow(user) {
	jQuery("#tab-" + user + " a:last").click();
}

function closeConverWindow(user) {
	jQuery("#tab-" + user + " a:first").click();
}

function send(receiver_, message_ )
{
	if (message_ == null || message_ == '' || message_ == undefined)
		return;
	if (g_currentConver == null || jQuery("#conver-" + receiver_).hasClass("offline"))
		return;
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/talk.php",
		data: { receiver: receiver_, message: message_, font: g_text_style.f, color: g_text_style.c },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error" || data == null) {
				g_chatTextarea.val(message_ + " " + g_chatTextarea.val());
				return;
			}
			appendMessageToConver(receiver_, g_user_id, g_user_name, data.stripslashes(), 0, g_user_lang, g_text_style, 0);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function getStyleFont(font) {
	switch (parseInt('' + font)) {
		case 0: return 'arial';
		case 1: return 'courier';
		case 2: return 'georgia';
		case 3: return 'lucida';
		case 4: return 'palatino';
		case 5: return 'tahoma';
		case 6: return 'times';
		case 7: return 'trebuchet';
		case 8: return 'verdana';
		case 30: return 'textEnterFont'; // a user entered to a room / a user has logged-in
		case 31: return 'textLeaveFont'; // a user left a room / a user has gone offline
		case 32: return 'textSystemFont'; // a system message
	}
	return '';
}

function getStyleColor(color) {
	switch (parseInt('' + color)) {
		case 0: return 'blue';
		case 1: return 'light-blue';
		case 2: return 'brown';
		case 3: return 'orange';
		case 4: return 'black';
		case 5: return 'red';
		case 6: return 'green';
		case 7: return 'violet';
		case 30: return 'textEnterColor'; // a user entered to a room / a user has logged-in
		case 31: return 'textLeaveColor'; // a user left a room / a user has gone offline
		case 32: return 'textSystemColor'; // a system message
	}
	return '';
}

function appendMessage(conver_, sender_, sender_name_, message_, messageId_, style_) {
	var conver = jQuery("#conver-" + conver_);
	var postive = '';
	var denounce = '';
	if (sender_ != g_user_id && sender_ != "system") {
		postive = ' <a href="javascript:void(0);" title="'+TiVotoposi+'" class="ico positiveS"  onclick=\"vote(\'user-' + sender_ + '\')"></a>';
		denounce = '<span> <a href="javascript:void(0);" title="'+TiDenunciar+'" onclick="denounce(' + sender_ + ', \'' + conver_ + '\', ' + messageId_ + ')" class="ico denounce" id="denounce-' + conver_ + '-' + messageId_ + '"></a></span>';
	}
			
			if (/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/.test(message_)){
			
			
			
			
	
	message_ = message_.replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi, '<a href="$1" target="_blank">$1</a> ');
		} else{
	message_ = message_.replace(/((www).(\w+.{0,1}\w*@)?(\S+)(.[0-9]+)?(\/|\/([\w#!..?+=&%@!\-\/]))?)/gi, '<a href="http://$1" target="_blank">$1</a> ');
		}
	message_ = '<span>' + message_.replace(/\|/g, '</span><span>') + '</span>';

	if (sender_ == "system")
		conver.append('<p class="' + getStyleFont(style_.f) + ' ' + getStyleColor(style_.c) + '">' + message_  + '</p>');
	else
		conver.append('<p><strong>' + sender_name_ + postive + '</strong><span class="' + getStyleFont(style_.f) + ' ' + getStyleColor(style_.c) + '">' + message_ + '</span>' + denounce + '</p>');

	if (g_currentConver == conver_)
		g_convers.scrollTop(g_convers.attr("scrollHeight"));
		
}

function appendMessageToConver(conver_, sender_, sender_name_, message_, messageId_, lang_, style_, delay_) {
	if (delay_ == undefined)
		delay_ = 0;
	jQuery("<div></div>").hide().delay(delay_) // just create to make the delay effect
		.show(function() {
			if (google.language == undefined || lang_ == null || lang_ != "-----" && lang_ == g_user_native_lang)
				appendMessage(conver_, sender_, sender_name_, message_, messageId_, style_);
			else
				if (lang_ == "-----")
					google.language.detect(message_, function(resultDet) {
						if (resultDet.error || resultDet.language == g_user_native_lang)
							appendMessage(conver_, sender_, sender_name_, message_, messageId_, style_);
						else
							google.language.translate(message_, resultDet.language, g_user_native_lang, function(result) {
								appendMessage(conver_, sender_, sender_name_, ((result != null && !result.error) ? result.translation : message_), messageId_, style_);
							});
					});
				else
					google.language.translate(message_, lang_, g_user_native_lang, function(result) {
						appendMessage(conver_, sender_, sender_name_, ((result != null && !result.error) ? result.translation : message_), messageId_, style_);
					});
			jQuery(this).remove();
		});
}

function getDelay(conver_, cant_messages_) {
	return (conver_ == g_currentConver) ? Math.floor(3500.0 / (cant_messages_ + 0.5)) : 250;
}

function getMessages() {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/messages.php",
		data: { lastId: g_lastUserId + "." + g_lastRoomId },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error" || data == null || data == undefined)
				return;
			/* load new user messages */
			jQuery.each(data.u, function(i,convers) {
				var conver = "user-" + convers.s;
				openConverWindow(conver, convers.n, false);
				var delay = getDelay(conver, convers.m.length);
				jQuery.each(convers.m, function(j,message) {
					appendMessageToConver(conver, convers.s, convers.n, message.t, message.i, convers.l, message.y, (delay * j));
				});
				if (convers.m.length > 0 && conver != g_currentConver)
					jQuery("#tab-" + conver).addClass("chatting");
			});
			/* load new room messages */
			jQuery.each(data.r, function(i,convers) {
				var conver = "room-" + convers.r;
				openConverWindow(conver, convers.n, true);
				var delay = getDelay(conver, convers.m.length);
				jQuery.each(convers.m, function(j,message) {
					appendMessageToConver(conver, message.s, message.n, message.t, message.i, message.l, message.y, (delay * j));
				});
				if (convers.m.length > 0 && conver != g_currentConver)
					jQuery("#tab-" + conver).addClass("chatting");
			});
			/* update data */
			g_lastUserId = data.lu;
			g_lastRoomId = data.lr;
			calculateNextRequest(data.u.length == 0 && data.r.length == 0);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function estimateNextRequest() {
	if (g_timeSinceLast < 17500) {
		g_timeSinceLast += 3500;
		return 3500;
	}
	if (g_timeSinceLast < 65500) {
		g_timeSinceLast += 6000;
		return 6000;
	}
	if (g_timeSinceLast < 165500) {
		g_timeSinceLast += 10000;
		return 10000;
	}
	return 16000;
}

function calculateNextRequest(noMessages) {
	if (noMessages) {
		clearInterval(g_intGetMessages);
		g_intGetMessages = setInterval('getMessages()', estimateNextRequest());
	} else {
		if (g_timeSinceLast > 0)
		{
			g_timeSinceLast = 0;
			clearInterval(g_intGetMessages);
			g_intGetMessages = setInterval('getMessages()', 3500);
		}
	}
}

function openRegisterModal() {
	closeModal();
	jQuery('#registerModal:first').click();
}

function openLoginModal() {
	closeModal();
	jQuery('#loginModal:first').click();
}

function openEmailModal() {
	closeModal();
	jQuery('#emailModal:first').click();
}

function openEmbedModal() {
	closeModal();
	jQuery('#embedModal:first').click();
}

function openContactModal() {
	closeModal();
	jQuery('#contactModal:first').click();
}

function openGaleryModal() {
	closeModal();
	jQuery('#galeryModal:first').click();
}

function openCreateChatModal() {
	closeModal();
	jQuery('#createChatModal:first').click();
}

function openRecoverPassword() {
	closeModal();
	jQuery('#recoverPassModal:first').click();
}

function openPrivacidadModal() {
	closeModal();
	jQuery('#privacidadModal:first').click();
}

function openTerminosModal() {
	closeModal();
	jQuery('#terminosModal:first').click();
}

function openContactoModal() {
	closeModal();
	jQuery('#contactoModal:first').click();
}

function openLinkModal() {
	closeModal();
	jQuery('#linkModal:first').click();
}

function closeModal() {
	jQuery('#DOMWindow').remove();
	jQuery('#DOMWindowOverlay').remove();
}

function vote(user_) {
	if (!g_logged_in)
		return openRegisterModal();
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/positive.php",
		data: { user: user_.substr(5) },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == null || data == "error") return;
			if (data == "register")
				return openRegisterModal();
			jQuery(".positives-" + user_).html(data);
			jQuery("#profile .positiveA a.ico").addClass("active");
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function follow(user_, amount) {
	if (!g_logged_in)
		return openRegisterModal();
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/follow.php",
		data: { user: user_.substr(5) },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == null || data == "error") return;
			if (data == "register")
				return openRegisterModal();
			jQuery(".follow-" + user_).removeClass("add").removeClass("delete").addClass(data.c);
			if (amount != undefined && amount) {
				if (data.c == "delete")
					jQuery("#profile .friendsA a.ico").addClass("active");
				else
					jQuery("#profile .friendsA a.ico").removeClass("active");
				jQuery("#profile-follow-" + user_).html(data.n);
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function kick(user_, room_) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/kick.php",
		data: { user: user_.substr(5), room: room_.substr(5) },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == null || data == "error") return;
			jQuery("#contact-item-" + user_ + room_ + " dd.kick").remove();
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function denounce(user, conver, message) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/denounce.php",
		data: { user: user, conver: conver, message: message },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == null || data == "error") return;
			jQuery("#denounce-" + conver + "-" + message).removeClass("denounce").addClass("denounceSent");
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function showProfile(user) {
	
	var friends = jQuery("<div></div>").attr("id", "contact-profile").appendTo(g_contacts);
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "sections/profile.php",
		data: { friends: user.substr(5) },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error") // means that a previous request has been made recently
				return;
			
			if (data == null) {
				friends.html(str_error_conexion);
				return;
			}
			
			friends.html('<h2 class="tit bdR" style="margin-bottom: 15px;">' + str_sus_amigos +
						 '<span class="ico titArrow"></span></h2><div class="list"><div class="overflow"></div></div>');
			var contact_profile = jQuery("#contact-profile .overflow:first");
			
			/* load friends */
			jQuery.each(data, function(i,friend) {
			
				loadContact(friend.eliminar,friend.u, friend.n, friend.l, friend.a, friend.p, friend.f, g_usersOnline.hasOwnProperty(friend.u), (friend.r == 1),null,null, contact_profile,friend.el,friend.inf,friend.elA,friend.vo);
			});
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function showMiperfil() {
	
	var friends = jQuery("<div></div>").attr("id", "contact-miperfil").appendTo(g_contacts);
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "sections/miperfil.php",
		data: { friends: "" },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error") // means that a previous request has been made recently
				return;
			
			if (data == null) {
				
				friends.html(str_error_conexion);
				return;
			}
			
			friends.html('<h2 class="tit bdR" style="margin-bottom: 15px;">' + str_mis_amigos +
						 '<span class="ico titArrow"></span></h2><div class="list"><div class="overflow"></div></div>');
			var contact_profile = jQuery("#contact-miperfil .overflow:first");
			
			/* load friends */
			jQuery.each(data, function(i,friend) {
			
				loadContact(friend.u, friend.n, friend.l, friend.a, friend.p, friend.f, g_usersOnline.hasOwnProperty(friend.u), (friend.r == 1), contact_profile,null,null,friend.el,friend.inf,friend.elA,friend.vo);
			});
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
	
		}
	});
}
//loadContact(user,userData.eliminar,userData.info,userData.agregarami,userData.eliminarami,userData.votopo,
function loadContact(user, name, lang, avatar, positives, follow, online, registered, contact_conver, roomCreator, room,eliminar,info,eliminarami,votopo) {
	registered = (registered == undefined) ? true : registered;
	avatar = (avatar == "") ? URL + '/images/userSmall.gif' : URL + avatar;
	var contact = 
jQuery("<div></div>")
		.addClass("contact-item").append(
			
			jQuery("<dl></dl>")
				.attr("id", ((room != undefined && room != null) ? "contact-item-" + user + room : ""))
				.removeAttr( (room != undefined && room != null) ? "title" : "id" )
				.append('<dt class="' + (online ? 'online' : 'offline') + '">' + (online ? '<a href="javascript:void(0);" onclick="openConverWindow(\'' +
							user + '\', \'' + name.htmlentities() + '\', false); focusConverWindow(\'' + user + '\');">' +
							'<img src="' + avatar + '" width="34" height="34" border="0" alt=""/></a>' :
							'<img src="' + avatar + '" width="34" height="34" border="0" alt=""/>') + '</dt>')
				.append("<dd class=\"flag\"><span class=\"ico " + getFlag(lang) + "S\"></span>" +
							"<strong>" + name + "</strong></dd>")
				.append("<dd class=\"positiveS\"><a href=\"javascript:void(0);\" class=\"ico\" title='"+votopo+"' onclick=\"vote('" + user + "')\">" +
							"</a><span class=\"positives-" + user + " positives-user\">" + positives + "</span></dd>")
				.append("<dd class=\"" + follow + " follow-" + user + "\">" +
							"<a href=\"javascript:void(0);\" class=\"ico\" title='"+eliminarami+"' onclick=\"follow('" + user + "')\"></a></dd>")
				.append((registered ? "<dd class=\"perfil\"><a href=\"javascript:void(0);\" class=\"ico\" title='"+info+"' onclick=\"cambiarMenu('profile', false, { user:'" +
							user + "' }); showProfile('" + user + "');\"></a></dd>" : ''))
				.append((positives >= 50) ? "<dd class=\"premiumS\"><span class=\"ico\"></span></dd>" : '' )
				.append((room != undefined && room != null) ? "<dd class=\"kick\">" +
							"<a href=\"javascript:void(0);\" title='"+eliminar+"' class=\"ico\" onclick=\"kick('" + user + "', '" + room + "')\"></a></dd>" : "")
							
		
			
							
		);
	
			/**/
			
			
		
	if (roomCreator != undefined && roomCreator != null && 'user-' + roomCreator == user)
		contact.prependTo(contact_conver);
		//var ya=1;
		
	else
		contact.appendTo(contact_conver);
		
	
}



function getContacts() {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/contacts.php",
		data: { nextReq: g_nextContactReq },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error") // means that a previous request has been made recently
				return;
			
			/* make new users list */
			var oldUsersList = g_usersOnline; // temporary array that is needed if user is no more online
			delete g_usersOnline;
			g_usersOnline = new Object();
	
			if (data == null) {
				jQuery("#contRight .roomContact").html(str_error_conexion);
				return;
			}
			
			jQuery("#contRight .roomContact").html('<h2 class="tit bdR" style="margin-bottom: 15px;"><em>0</em> Online' +
												  ' <span class="ico titArrow"></span></h2>').append("<dl></dl>").append('<dt class="online">'+'<img src="/images/visitor4.gif" width="34" height="34" border="0" alt=""/>'+ '</dt>').append("<dd class=\"flag\"><span class=\"ico " + getFlag(lang) + "S\"></span>" +
							"<strong>Cristian</strong></dd>");
												  
						//.append("<div class=\"list\"><div class=\"overflow\">HOLOALAOLAOLAOLAOLAO</div></div>");
			/* generate the user's data array */
			jQuery.each(data.u, function(i,user) {
				g_usersOnline[user.u] = new Object();
				g_usersOnline[user.u]["registered"] = user.r;
				g_usersOnline[user.u]["name"] = user.n;
				g_usersOnline[user.u]["lang"] = user.l;
				g_usersOnline[user.u]["avatar"] = user.a;
				g_usersOnline[user.u]["positives"] = user.p;
				g_usersOnline[user.u]["follow"] = user.f;
				g_usersOnline[user.u]["eliminar"] = user.el;
				g_usersOnline[user.u]["info"] = user.inf;
				g_usersOnline[user.u]["agregarami"] = user.agr;
				g_usersOnline[user.u]["eliminarami"] = user.elA;
				g_usersOnline[user.u]["votopo"] = user.vo;
			});
			
			var roomsIam = new Object();
			
			/* load contact list for each room */
			jQuery.each(data.r, function(i,room) {
				roomsIam[room.r] = true;
				
				jQuery("#contact-" + room.r)
					.html("<h2 class=\"tit bdR\"><em>" + room.u.length + "</em> Online <span class=\"ico titArrow\"></span></h2>")
					.append("<div class=\"list\"><div class=\"overflow\"></div></div>");
	if(!g_logged_in){
	var contact_conver = jQuery("#contact-" + room.r + " .overflow:first").addClass("<div></div>")
.addClass("contact-item").append('<dl><dt class="online">'+'<a onclick="bookmark()" href="javascript:void(0);"><img src="/images/visitor2.gif" width="34" height="34" border="0" alt=""/></a>'+ '</dt>'+"<dd class=\"flag\"><span class=\"ico " + getFlag(g_search_lang) + "S\"></span>" +
							"<strong>"+g_user_name+"</strong></dd></dl>");
								
				}else{
					
					var contact_conver = jQuery("#contact-" + room.r + " .overflow:first");
					
					}
				//.append("<div class=\"list\"><div class=\"overflow\">HOLOALAOLAOLAOLAOLAO25252</div></div>");
			//contact22.prependTo(contact_conver);	
				
				
				
				
				
				
				/* append users to each contact list */
				jQuery.each(room.u, function(i,user) {
					if (g_usersOnline.hasOwnProperty(user)) {
						var userData = g_usersOnline[user];
					
						loadContact(user, userData.name, userData.lang, userData.avatar, userData.positives, userData.follow, true, (userData.registered == 1), contact_conver, room.c, ((room.a) ? room.r : null),userData.eliminar,userData.info,userData.eliminarami,userData.votopo);
					}
				});
				
				
			
				
				/* notify that a user entered to the room */
				jQuery.each(room.e, function(i,user) {
					appendMessageToConver(room.r, "system", null, g_usersOnline[user].name + " " + str_ingreso_a_sala, 0, null, { f: 30, c: 30 });
				});
				
				/* notify that a user left the room */
				jQuery.each(room.l, function(i,user) {
					appendMessageToConver(room.r, "system", null, oldUsersList[user].name + " " + str_abandono_la_sala, 0, null, { f: 31, c: 31 });
				});
			});
			
			/* verify if disconnected */
			jQuery.each(jQuery("#mycarousel").children("li"), function(i,tab) {
				var user = tab.id.substr(4); // id = tab-user-#
				if (user == "") {
					jQuery(this).remove();
				} else {
					var conver = jQuery("#conver-" + user);
					if (g_usersOnline.hasOwnProperty(user)) {
						if (conver.hasClass("offline"))
						{
							jQuery("#contact-" + user + "-online").removeClass("offline").addClass("online");
							conver.removeClass("offline");
							appendMessageToConver(user, "system", null, g_usersOnline[user].name + " " + str_iniciado_sesion, 0, null, { f: 30, c: 30 });
						}
						if (jQuery("#tab-" + user + " a:last").html() != g_usersOnline[user].name.substr(0,25)) {
							jQuery("#tab-" + user + " a:last").html(g_usersOnline[user].name.substr(0,25));
							openNewUserTab(); // update jcarousel
						}
						jQuery("#conver-title-" + user + " h2").html(g_usersOnline[user].name);
						if (g_usersOnline[user].avatar != "")
							jQuery("#contact-" + user + "-online > img").attr("src", URL + g_usersOnline[user].avatar);
						jQuery("#contact-" + user + "-flag").attr("className", "ico " + g_langs[g_usersOnline[user].lang] + "S");
						jQuery("#contact-" + user + "-name").html(g_usersOnline[user].name);
						jQuery("#contact-" + user + "-positives").html(g_usersOnline[user].positives);
						jQuery("#contact-" + user + "-follow").removeClass("delete").removeClass("add").addClass(g_usersOnline[user].follow);
						if (g_usersOnline[user].registered && jQuery("#contact-" + user + " dl dd.perfil").length == 0)
							jQuery("#contact-" + user + " dl").append('<dd class="perfil"><a href="javascript:void(0);" class="ico" ' +
								'onclick="cambiarMenu(\'profile\', false, { user:\'' + user + '\' }); showProfile(\'' + user + '\');"></a></dd>');
					} else {
						if (!conver.hasClass("offline"))
						{
							var loggedOff = oldUsersList.hasOwnProperty(user) ? oldUsersList[user].name + " " + str_cerrado_sesion : str_el_contacto;
							appendMessageToConver(user, "system", null, loggedOff, 0, null, { f: 31, c: 31 });
							conver.addClass("offline");
							jQuery("#contact-" + user + "-online").removeClass("online").addClass("offline");
						}
					}
				}
			});
			delete oldUsersList;
			
			/* verify if the connection with a room has been lost */
			jQuery.each(g_roomTabs.children("li"), function(i,tab) {
				var room = tab.id.substr(4); // id = tab-room-#
				var conver = jQuery("#conver-" + room);
				if (roomsIam.hasOwnProperty(room)) {
					if (conver.hasClass("offline"))
					{
						appendMessageToConver(room, "system", null, str_restablecido_conexion, 0, null, { f: 32, c: 32 });
						conver.removeClass("offline");
					}
				} else {
					if (!conver.hasClass("offline"))
					{
						conver.addClass("offline");
						appendMessageToConver(room, "system", null, str_perdido_conexion, 0, null, { f: 32, c: 32 });
					}
					if (!conver.hasClass("suspend")) {
						jQuery.ajax({
							type: 'POST', // 'GET', 'POST'
							url: "chat/rooms.php",
							data: { room: room.substr(5), action: 'enter' },
							dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
							success: function(data, textStatus, XMLHttpRequest) {
								if (data == "error" || data == null) return;
								if (data == "ok" && conver.hasClass("offline")) {
									appendMessageToConver(room, "system", null, str_restablecido_conexion, 0, null, { f: 32, c: 32 });
									conver.removeClass("offline");
								} else {
									if (data == "suspend") {
										conver.addClass("suspend");
									}
									if (data == "full") {
										closeConverWindow(room);
									}
								}
							},
							error: function(XMLHttpRequest, textStatus, errorThrown) {
								
							}
						});
					}
				}
			});
			delete roomsIam;
			
			/* update data */
			g_nextContactReq = data.l + 1;
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function enterRoom(room, room_name, creatorFirstTime) {
	if (jQuery("#conver-room-" + room).length > 0) {
		focusConverWindow("room-" + room);
		return;
	}
	
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/rooms.php",
		data: { room: room, action: 'enter' },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == null || data == "error") return;
			if (data == "register") {
				jQuery('#formCreate').hide();
				jQuery('#formLogin').hide();
				jQuery('#display_header').hide();
				jQuery('#formChat').show();
				jQuery('#formChat input[name=id]').val(room);
				jQuery('#formChat input[name=hash]').val("");
				jQuery('#formChat input[name=nick]').focus();
				return;
			}
			if (data == "ok" || data == "add" || data == "delete") {
				openConverWindow("room-" + room, room_name, true);
				focusConverWindow("room-" + room);
				if (data == "add")
					jQuery("#dropdown li.favorite a.ico").addClass("hover");
				else
					jQuery("#dropdown li.favorite a.ico").removeClass("hover");
				g_bookmarks["room-" + room] = data;
				if (creatorFirstTime != undefined && creatorFirstTime) {
					appendMessageToConver('room-' + room, "system", null, str_sala_temp_creada, 0, null, { f: 32, c: 32 });
				}
				return;
			}
			if (data == "full") {
				// perform action
				return;
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function loadRoom(parent, room, room_name, number_users) {
	if (google.language)
		google.language.detect(room_name, function(resultDet) {
			if (resultDet.error || resultDet.language == g_user_native_lang)
				jQuery("<li></li>")
					.append(
						jQuery('<a href="#t" onclick="enterRoom(\'' + room + '\', jQuery(this).html());">' + room_name + '</a>')
					)
					.append(" <em>(" + number_users + ")</em>")
					.appendTo(parent);
			else
				google.language.translate(room_name, resultDet.language, g_user_native_lang, function(result) {
					jQuery("<li></li>")
						.append(
							jQuery('<a href="#t" onclick="enterRoom(\'' + room + '\', jQuery(this).html());">' + ((result != null && !result.error) ? result.translation : room_name) + '</a>')
						)
						.append(" <em>(" + number_users + ")</em>")
						.appendTo(parent);
				});
		});
	else
		jQuery("<li></li>")
			.append(
				jQuery('<a href="#t" onclick="enterRoom(\'' + room + '\', jQuery(this).html());">' + room_name + '</a>')
			)
			.append(" <em>(" + number_users + ")</em>")
			.appendTo(parent);
}

function getRooms() {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/rooms.php",
		data: { },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error" || data == null)
				return;
			jQuery("ul.categories :nth-child(1)").nextAll("li").remove();
			jQuery.each(data, function(i, category) {
				var cat = jQuery("#room-category-" + category.c);
				jQuery("#room-category-" + category.c + " > li").attr("className", "").addClass("f-wrap").addClass(category.n.replace(/ /g,'-'));
				jQuery("#room-category-" + category.c + " > li > h3").html(category.t);
				jQuery.each(category.r, function(j, room) {
					loadRoom(cat, room.r, room.n, room.u);
				});
			});
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function getNews() {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/news.php",
		data: { },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "error" || data == null)
				return;
			
			jQuery("#header_news").html(data.n);
			jQuery("#header_positives").html('<span class="ico"></span>' + data.p);
			jQuery("#header_friends").html('<span class="ico"></span>' + data.f);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function setSelectionRange(input, selectionStart, selectionEnd) {
	if (input.setSelectionRange) {
		input.focus();
		input.setSelectionRange(selectionStart, selectionEnd);
	}
	else if (input.createTextRange) {
		var range = input.createTextRange();
		range.collapse(true);
		range.moveEnd('character', selectionEnd);
		range.moveStart('character', selectionStart);
		range.select();
	}
}

function setCaretToPos(input, pos) {
	setSelectionRange(input, pos, pos);
}

function changeFont(font, font_name, setCaret) {
	jQuery('#font_selector_text').html(font_name);
	jQuery('#font_selector').hide();
	g_text_style.f = font;
	if (setCaret != false)
		setCaretToPos(document.getElementById("chat-textarea"), g_chatTextarea.val().length);
}

function changeColor(color, color_name, setCaret) {
	jQuery('#color_selector_text').html(color_name);
	jQuery('#color_selector').hide();
	g_text_style.c = color;
	if (setCaret != false)
		setCaretToPos(document.getElementById("chat-textarea"), g_chatTextarea.val().length);
}

function addEmo(emoticon) {
	g_chatTextarea.val(g_chatTextarea.val() + emoticon).keydown();
	setCaretToPos(document.getElementById("chat-textarea"), g_chatTextarea.val().length);
}

function pasteLink() {
	//var link_ = prompt('Ingrese la URL que desea insertar:', 'http://');
	//if (link_ == null || link_ == "")
	//	return;
	//g_chatTextarea.val(g_chatTextarea.val() + link_).keydown();
	//setCaretToPos(document.getElementById("chat-textarea"), g_chatTextarea.val().length);
}

function changeLang(lang) {
	changeNativeLang(lang);
	return; // fix hecho a pedido
	
	if (lang != g_user_lang) {
		jQuery.ajax({
			type: 'POST', // 'GET', 'POST'
			url: "chat/lang.php",
			data: { lang: lang },
			dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
			success: function(data, textStatus, XMLHttpRequest) {
				if (data == "ok") {
					g_user_lang = lang;
					jQuery("#dropdown li.flag > a").attr("className", ((lang == "-----") ? "ico" : getFlag(lang) + "B ico"));
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				
			}
		});
	}
	setCaretToPos(document.getElementById("chat-textarea"), g_chatTextarea.val().length);
}

function changeSiteLang(lang) {
	if (lang != g_user_native_lang) {
		window.location.href = "index.php?lang=" + lang;
	}
	jQuery('#display_header').hide();
}

function changeNativeLang(lang) {
	jQuery('#display').hide();
	if (lang != g_user_native_lang) {
		if ( confirm(str_confirm_idioma) ) {
			jQuery.ajax({
				type: 'POST', // 'GET', 'POST'
				url: "chat/nativeLang.php",
				data: { lang: lang },
				dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
				success: function(data, textStatus, XMLHttpRequest) {
					if (data == "ok")
						window.location.href = "index.php";
				},
				error: function(XMLHttpRequest, textStatus, errorThrown) {
					
				}
			});
		}
	}
}

function bookmark() {
	if (g_currentConver == null || g_currentConver.substr(0,4) == "user")
		return;
	if (!g_logged_in)
		return openRegisterModal();
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/bookmark.php",
		data: { room: g_currentConver.substr(5) },
		dataType: 'json', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == null || data == "error") return;
			if (data == "register")
				return openRegisterModal();
			if (data == "add")
				jQuery("#dropdown li.favorite a.ico").addClass("hover");
			else
				jQuery("#dropdown li.favorite a.ico").removeClass("hover");
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function updateAjaxUpload() {
	jQuery("iframe[id^='ValumsAjaxUpload']").remove(); // remuevo info previa asociada a AjaxUpload
	jQuery("input[type=file][name='userfile']").remove(); // remuevo info previa asociada a AjaxUpload
	
	if (g_logged_in) {
		new AjaxUpload('#uploadFile', {
			action: 'chat/uploadFile.php',
			data: { },
			hoverClass: 'hover',
			focusClass: 'focus',
			disabledClass: 'disabled',
			onSubmit: function(file , ext) {
				if (! (ext && /^(jpg|png|jpeg|gif|odp|ppt|pptx|odt|doc|docx|ods|xls|xlsx|pdf|txt)$/i.test(ext))) {
					alert('Error: El formato seleccionado no es permitido');
					return false;
				}
				this.disable();
			},
			onComplete: function(file, response) {
				this.enable();
				if (response != null && response != "" && response != undefined) {
					var file = eval('(' + response + ')');
					send(g_currentConver, str_compartido_archivo + ' <a href="' + URL + file.f + '" target="_blank">' + file.n + '</a>');
				}
			}
		});
	} else {
		jQuery("#uploadFile").click(function() {
			openRegisterModal();
		});
	}
}

function cambiarMenu(sectionStr, hideRightColumn, element) {

	if (currentSection.attr("id") == "chat") {
		if (sectionStr != "chat") {
			currentSection.hide();
			//g_currentConver = null;
			if (g_currentConver != null)
				jQuery("#contact-" + g_currentConver).hide();
		}
	} else {
		jQuery("#contact-" + currentSection.attr("id")).remove();
		currentSection.remove();
		if (currentSection.attr("id") != "chat" && sectionStr == "chat") {
			updateAjaxUpload();
		}
	}
	
	if (hideRightColumn) {
		jQuery("#onlineId").hide();
		jQuery("#container").show();
		jQuery("#contCenter").hide();
		jQuery("#contMed").addClass("full");
		sectionContainer = jQuery("#container");
	} else {
		jQuery("#onlineId").show();
		jQuery("#container").hide();
		jQuery("#contCenter").show();
		jQuery("#contMed").removeClass("full");
		sectionContainer = jQuery("#container2");
	}
	
	jQuery("#sidebar .active").removeClass("active");
	jQuery("#mycarousel .active").removeClass("active");
	if (sectionStr == "chat")
		jQuery("#tab-"+element.user).addClass("active");
	else
		jQuery("#tab-"+sectionStr).addClass("active");

	var section = jQuery("#"+sectionStr);
	if (section.length == 0) {
		jQuery(".loadingSection").show();
		section = jQuery("<div></div>").attr("id", sectionStr).hide().appendTo(sectionContainer);
		jQuery.ajax({
			type: 'POST',
			url: "sections/"+sectionStr+".php",
			data: element,
			dataType: 'html',
			success: function(data, textStatus, XMLHttpRequest) {
				jQuery(".loadingSection").hide();
				section.html(data).show();
				if (hideRightColumn)
					Nifty("#contFull","transparent small");
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				
			}
		});
	} else {
		jQuery(".loadingSection").hide();
		section.show();
	}
	currentSection = section;
}

function search_select_lang(lang) {
	if (lang == "")
		jQuery('#search_flag').html(str_todos_idiomas + '<span class="ico selArrow"></span>');
	else
		jQuery('#search_flag').html('<span class="ico ' + g_langs[lang] + 'B"></span>' + g_lang_names[lang] + '<span class="ico selArrow"></span>');
	jQuery('#display').hide();
	g_search_lang = lang;
}

function getFlag(lang) {
	return g_langs[lang];
}

String.prototype.htmlentities = function () {
	return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\"/g,'&quot;').replace(/\'/g,'&#039;');
};
String.prototype.addslashes = function () {
	return this.replace(/\\/g,'\\\\').replace(/\'/g,'\\\'').replace(/\"/g,'\\"').replace(/\0/g,'\\0');
};
String.prototype.stripslashes = function () {
	return this.replace(/\\\\/g,'\\').replace(/\\'/g, '\'').replace(/\\"/g, '"').replace(/\\0/g, '\0');
};

function modalLogin(email, pass, remember, error_container) {
	jQuery.ajax({
		type: 'POST',
		url: 'modals/functions/modalLogin.php',
		data: { email: email, pass: pass, remember : remember },
		dataType: 'json',
		success: function(data, textStatus, XMLHttpRequest) {
			if ( data == null )
				return;
			if ( data.error == "" ) {
					jQuery("#header").load("includes/header.php", { log: 1 }, function() {
						g_user_name		= data.name;
						g_user_native_lang	= data.lang;
						g_user_lang_name= data.lang_name;
						g_search_lang	= data.lang;
						g_logged_in		= true;
						jQuery("#header_user_name").html(g_user_name);
						getNews();
						g_intGetNews	= setInterval('getNews()', 60005);
						updateAjaxUpload();
					});
					closeModal();
					jQuery("#tab-busqueda").show();
					jQuery("#tab-miperfil").show();
			} else {
				jQuery("#" + error_container).html(data.error);
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function responseMessage() {
	jQuery("#reply-message").toggle();
	jQuery("#message").focus();
}

function deleteMessage(id) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/sendMessage.php",
		data: { deleteM: id },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#reply-message").hide();
			jQuery("#messageSend").slideDown(300).html(data).delay(1500).slideUp(400, function() {
				cambiarMenu('notificaciones', true);
			});
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function sendMessage(mensaje, destino,correo,idioma,envio) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/sendMessage.php",
		data: { mensaje: mensaje, destino: destino,correo:correo,idioma: idioma ,envio: envio},
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#reply-message").toggle();
			jQuery("#messageSend").slideDown(300).html(data).delay(1500).slideUp(400);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function saveTextarea(text) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/saveTextarea.php",
		data: { text: text },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#textRes").show().html(data).fadeOut(1500);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function saveSocial(twitter, facebook, youtube) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/saveSocial.php",
		data: { twitter: twitter, facebook: facebook, youtube: youtube},
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#socialNotification").slideDown(300).html(data).delay(1500).slideUp(400);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function saveEmail(mail) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/saveCheckboxs.php",
		data: { mail: mail },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function saveSms(sms) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/saveCheckboxs.php",
		data: { sms: sms },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function saveTel(tel) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/saveCheckboxs.php",
		data: { tel: tel },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function savePassword(password) {
	if (password == "" || password == null | password == undefined)
		return;
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/savePassword.php",
		data: { password: password },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if (data == "ok")
				jQuery("#changepassword").val('');
			else
				jQuery("#changepassword").val('error');
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function saveCountry(country) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "chat/saveCountry.php",
		data: { country: country },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function paginacionBusqueda(comienzo, user, mail,pais, lang) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "sections/busquedapaginacion.php",
		data: { comienzo: comienzo, user: user, mail: mail, pais: pais, lang: lang },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#searchList").html(data);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function paginacionBusquedaSalas(comienzo, room) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "sections/busquedasalaspaginacion.php",
		data: { comienzo: comienzo, room: room },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#otherChats").html(data);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function paginacionNotificaciones(comienzo) {
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "sections/notificacionespaginacion.php",
		data: { comienzo: comienzo },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#messageList").html(data);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function paginacionOtrasSalas(comienzo, category) {
	
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "sections/otrassalaspaginacion.php",
		data: { comienzo: comienzo, category: category },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			jQuery("#otherChats").html(data);
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}

function DeleteRoom(room){
	
	jQuery.ajax({
		type: 'POST', // 'GET', 'POST'
		url: "includes/DeleteSalas.php",
		data: { room: room },
		dataType: 'html', // 'text', 'xml', 'json', 'script', 'html'
		success: function(data, textStatus, XMLHttpRequest) {
			if(data=='ok'){
			
				jQuery('#room--'+room).slideUp()
	
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			
		}
	});
}



