(function($){

  var del0 = '\0';
  var del2 = '\2';
  var del3 = '\3';
  var del4 = '\4';
  var del5 = '\5';


  // 2.0 Picture Sharing
  $.extend({
        requestUpload: function(username, uzzap_filename, local_filename, is_profile, check_sum){
                var packet_no = $.updatePacket();
                var upload_req;
                var body;

                //check_sum = $.md5(uzzap_filename);
               // check_sum = "fsdafasdrewqr616ewyafasdfasdf512"
                //alert("requestUpload md5: " + check_sum);


                body = username + del2 + uzzap_filename + del2 + local_filename + del2 + is_profile + del2 + check_sum;

                upload_req = $.FBMVEncode(58, 1, packet_no, body);
                socket.send(upload_req);

                return true;
        }
  });


  $.extend({
        sendPicShare: function(to_username, amaz_dispname, amaz_msg_id, msg, recipient_username, recipient_dispname, url, filename, check_sum){
                var packet_no = $.updatePacket();
                var sendpic_req;
                var body;

                //alert("sendPicShare md5: " + check_sum);

                //body = buddy_username + del2 + amaz_dispname + del2 + amaz_msg_id + del2 + msg + del2 + url + del2 + check_sum;

                body = to_username + del2 + amaz_dispname + del2 + amaz_msg_id + del2 + msg + del2 + recipient_username + del2 + recipient_dispname + del2 + url + del2 + filename + del2 + check_sum;


                sendpic_req = $.FBMVEncode(63, 1, packet_no, body);
                socket.send(sendpic_req);

                return true;
        }
  });


	$.extend({
		getFileContent : function(fileToOpen, username, uzzap_filename, local_filename, is_profile, is_sendpicshare){


			$.ajaxFileUpload
			(
				{
					url:'readfile.php',
					secureuri:false,
					fileElementId:fileToOpen,
					dataType: 'json',
					success: function (data, status)
					{
						if(typeof(data.error) != 'undefined')
						{
							//alert(data);
							if(data.error == '')
							{
								//alert(data.msg);
								if(!is_sendpicshare){
									$.requestUpload(username, uzzap_filename, local_filename, is_profile, data.msg);
								}else{
									$.requestUpload(username, uzzap_filename, local_filename, 'no', data.msg);
								}
							}
							else
							{
								alert (data.error);
							}
						}
					},
					error: function (data, status, e)
					{
						alert (e);
					}
				}
			);

			//alert(fileToOpen);
		}
	});


    $.extend({
      	xtractFile: function (data){
            data = data.replace(/^\s|\s$/g, "");

            if (/\.\w+$/.test(data)) {
                var m = data.match(/([^\/\\]+)\.(\w+)$/);
                if (m)
                    return m[1] + "." + m[2];
                else
                    return "";
            } else {
                var m = data.match(/([^\/\\]+)$/);
                if (m)
                    return m[1];
                else
                    return "";
            }

            return data;

    	}
	});




  $.extend({
      	limitText: function (limitField, fieldVal, limitNum) {
/*
         	if (fieldVal.length > limitNum) {
            		limitField.val(fieldVal.substring(0, limitNum))
            		limitField.focus();
         	}
         	return true;
*/
      	}
  });



  $.extend({
      	maxLengthPaste: function(field, maxChars){

		event.returnValue=false;
		if((field.value.length + window.clipboardData.getData("Text").length) > maxChars) {
           		return false;
        	}
		event.returnValue=true;
        }
  });



  $.extend({
      	popWiper: function(){
         	$("#black_screen").css("display","none");
         	$("#pop-mcontainer").slideUp("fast");
         	$("#black_screen").css("z-index","-1");
      	}
  });

   $.extend({
      detectPopBlocker: function(){
    	var objChild;                           // Window
    	var reWork = new RegExp('object','gi');	// Regular expression

    	try
    	{
            {
        	  objChild = window.open('','child','width=5,height=5,status=no,resizable=no');

        	  objChild.close();
        	}

    	}
    	catch(e) { }

    	if(!reWork.test(String(objChild))) {
    	    $.popPopupBlockNotice();
        }
      }
   });



   $.extend({
      detectPopBlocker: function(){
    	var objChild;                           // Window
    	var reWork = new RegExp('object','gi');	// Regular expression

    	try
    	{
            {
        	  objChild = window.open('','child','width=5,height=5,status=no,resizable=no');

        	  objChild.close();
        	}

    	}
    	catch(e) { }

    	if(!reWork.test(String(objChild))) {
    	    $.popPopupBlockNotice();
        }
      }
   });


   $.extend({
      loadIcon: function(user,icon,module){

         var user;
         var icon;
         var module;


         if(module == 'user'){
            $("#tab_icon_" + user).attr({
               src : "images/" + icon + " "
            }).show();
         }


         if(module == 'chatroom'){
            $("#tab_icon___groupchat__" + user).attr({
               src : "images/" + icon + " "
            }).show();
         }

         if(module == 'email'){
            $("#tab_icon___email__" + user).attr({
               src : "images/" + icon + " "
            }).show();
         }


         if(module == 'default'){
            $(".tab_icon_general").attr({
               src : "images/status-icon_chat.png"
            }).show();
         }

      }
   });


   $.extend({
      currentPacket: function(){
         var packet = $("#packet_no").val();
         return packet;
      }
   });


   $.extend({
      updatePacket: function(){
         var packet = this.currentPacket();
         var packet = (packet)/1 + 1;

         $("#packet_no").val(packet);
         $("#packet_span").html(packet);

         return packet;
      }
   });


   $.extend({
      ping: function(packet){
        // var packet_no = $.updatePacket();
         var packet_no = packet;
         var ping_req;
         var body = "pong";

         ping_req = $.FBMVEncode(12, 2, packet_no, body);
         socket.send(ping_req);

         return true;
      }
   });

  $.extend({
    downloadApp: function(elval){
      switch(elval){
        case '':
          msg = "Sorry, this phone does not have the capabilities to run Uzzap.";
          img = "images/compatibility-bad.png";
          break;
        case 'NOT_SUPPORTED':
          msg = "Sorry, this phone does not have the capabilities to run Uzzap.";
          img = "images/compatibility-bad.png";
          break;
        case 'SERIES60V2':
          msg = "S60 2nd Edition";
          img = "images/compatibility-good.png";
          break;
        case 'SERIES60V3':
          msg = "S60 3rd Edition";
          img = "images/compatibility-good.png";
          break;
        case 'SERIES60V3FP1':
          msg = "S60 3rd Edition with Feature Pack 1";
          img = "images/compatibility-good.png";
          break;
        case 'java':
          msg = "JAVA Platform (J2ME MIDP2.0)";
          img = "images/compatibility-good.png";
          break;
        case 'UIQ':
          msg = "Symbian UIQ";
          img = "images/compatibility-good.png";
          break;
        case 'P1UIQ':
          msg = "Symbian UIQ";
          img = "images/compatibility-good.png";
          break;
      }

      if(elval!="NOT_SUPPORTED"){
        var link = "<input onclick=\"javascript:window.open('http://dload.uzzap.com/download/spc.php?platform=" + elval + "','','width=300, height=200')\" name='Image6' type='button' class='get-uzzap-iput' value='Get UZZAP NOW'>";
        $("#dlink-holder").show();
        $("#dlink").html(link);
      }
      else{
        $("#dlink-holder").hide();
        $("#dlink").html("");
      }

      $("#compatibility").show();
      $("#compatibility").html(msg);
    }
  });

  $.extend({
      	setMostFrequent: function(new_user){

         	var mostf_new = "";
         	var mostf = $.cookie("most_frequent");

		if(!mostf) mostf = "";
         	if(!mostf) mostf = "";

         	if(mostf.match(new_user)==null){

            		if(mostf){
               			mostf = mostf + new_user + ",";
            		}else{
               			mostf = new_user + ",";
            		}

			mostf_s = mostf.split(",");
            		if(mostf_s.length>5){
               			var removef = mostf_s.length - 5;
               			$.each(mostf_s, function(i){
                  			if(i>removef && mostf_s[i].length>0){
                     				mostf_new += mostf_s[i] + ",";
                  			}else{
                     				if(mostf_s[i].length>0)
                     				  $("#buddylist_container_"+mostf_s[i]+"most_frequent").remove();
                  			}
               			});
               			$.refreshBuddyCount();
            		}else{
               			mostf_new = mostf;
            		}

            		// Set New List
            		$.cookie("most_frequent", mostf_new, { expires: 365 });
         	}
         	return true;
      	}
  });

  $.extend({
      	textWraper: function(text){
         	//Remove HTML Tags
         	text = text.replace( /(<([^>]+)>)/gi, "");
         	text = text.split(" ");
         	var text_l;
         	text_ref = "";

         	$.each(text, function(i){
            		text_l  = text[i];
            		if(text_l!=undefined){
               			var t_ref = "";
               			var st = 0;
               			for(var i=0; i<text_l.length; i++){
                  			st ++;
                  			if(st==35){
                     				t_ref += text_l.substr(i, 1) + "<br />";
                     				st = 0;
                  			}else{
                     				t_ref += text_l.substr(i, 1);
                  			}
               			}
            		}
            		text_ref += t_ref + " ";
         	});

         	return text_ref;
      	}
  });


  $.extend({
        createUGC: function(nickname, room_name){
                var packet_no = $.updatePacket();
                var create_ugc_req;
                var body;

             	var id_long = Math.floor(Math.random()*100000);
             	var id_short = Math.floor(Math.random()*10);

                $("input#group_chat_members").val(nickname+ ",");




                //$.leaveGroupChat(nickname, "__groupchat__"+room_name);

                body =  nickname + del2 + room_name;

                //room_name = "__groupchat__"+room_name;
                //$.createGroupChat(room_name, nickname, "CCPR_"+id_short);


                //$.tabInstance("group_chat", nickname, "Your room is being created. Please wait...", 1, "freeforchat", room_name);

                 $.tabInstance("group_chat", nickname, "<span style=\"color:red\">Creating private conference room...</span>", 0, "", room_name);



                create_ugc_req = $.FBMVEncode(61, 1, packet_no, body);
                socket.send(create_ugc_req);

                return true;
        }
  });

  $.extend({
        queryUGC: function(room_name){
                var packet_no = $.updatePacket();
                var query_ugc_req;
                var body;

                body = room_name + " ";
                query_ugc_req = $.FBMVEncode(62, 1, packet_no, body);
                socket.send(query_ugc_req);

                return true;
        }
  });
  // END 2.0 Picture Sharing


  $.extend({
     	login: function(){

		var packet_no = $.updatePacket();
		var login_req;
		var body = 0;
		var username;
		var passwd;

		if(window.ifSandBox==1){
			username = $("#sbusername").val();
			passwd   = $("#sbpasswd").val();
		}else{
			username = $("#username").val();
			passwd   = $("#passwd").val();
		}

		$.get( "phpencode.php?u=" + username + "&p=" + passwd, function( data ) {
		    //data = "";
      		window.open('widget/login.php?l=' + data, '', 'width=800, height=600');
   		});


		//if(username && passwd){
			//window.open('login.php?username='+username+'&password='+passwd, '', 'width=800, height=600');
			/*

			body = '\0' + username + '\0' + passwd;
         	login_req = $.FBMVEncode(1, 1, packet_no, body);
         	socket.send(login_req);
         	*/
		//}



		return true;
		}
  });

  $.extend({
      	loginNewReg: function(){
         	var packet_no = $.updatePacket();
         	var login_req;
         	var body = 0;
         	var username = $("#regusername").val();
         	var passwd = $("#regpwd").val();

         	if(username && passwd){
            		body = del0 + username + del0 + passwd;
         	}

         	login_req = $.FBMVEncode(1, 1, packet_no, body);
         	socket.send(login_req);

         	return true;
      	}
  });

  $.extend({
      	logout: function(){

      	    var packet_no = $.updatePacket();
         	var logout_req;
         	var body = 0;

         	  if(window.pendingmsg==0){
            		var logoutmsg = "Are you sure you want to navigate away from this page? \n\n If you leave, your Uzzap IM session will not be preserved! \n\n Press OK to continue, or Cancel to stay on the current page.";
         	  }else{
            		var logoutmsg = "Are you sure you want to navigate away from this page? \n\n You still have unsent message ! \n\n Press OK to continue, or Cancel to stay on the current page.";
         	  }


         	  var flag = window.confirm(logoutmsg);

         	  if(flag) {
            		logout_req = $.FBMVEncode(13, 1, packet_no, body);
            		socket.send(logout_req);

                		if(window.ifSandBox==0){
                		      alert("widget");
                		      window.close();
                		      return false;
                		}else{
                		    alert("sb");
             	              window.location = "sb_logout.php";
             	        }


         	  }



      }
  });

  $.extend({
      	reqRosters: function(){
         	var packet_no = $.updatePacket();
         	var body = "";

         	rosters_req = $.FBMVEncode(8, 1, packet_no, body);
         	socket.send(rosters_req);

         	return true;
      	}
  });

  $.extend({
      	send: function(to, to_display, tojid, from, amaz_msg_id, text){
         	var packet_no = $.updatePacket();
         	var body = 0;

		text = text.replace(window.allowchars, '') ;
         	body = to + del2 + from + del2 + amaz_msg_id + del2 + text + del2 + tojid + del2 + to_display;

         	send_req = $.FBMVEncode(2, 1, packet_no, body);
         	socket.send(send_req);

         	return true;
      	}
  });


  $.extend({
      	sendMulti: function(to, to_display, tojid, from, amaz_msg_id, text, hid){
         	var packet_no = $.updatePacket();
         	var body = 0;

		text = text.replace(window.allowchars, '') ;
         	body = to + del2 + from + del2 + amaz_msg_id + del2 + text + del2 + tojid + del2 + to_display + del2 + hid;

         	send_req = $.FBMVEncode(40, 1, packet_no, body);
         	socket.send(send_req);

         	return true;
      	}
  });

  $.extend({
      	sendESMS: function(amaz_msg_id, msisdn, text){
         	var packet_no = $.updatePacket();
         	var body = 0;

		text = text.replace(window.allowchars, '') ;
         	body = amaz_msg_id + del2 + msisdn + del2 + text;

         	send_esms = $.FBMVEncode(3, 1, packet_no, body);
         	socket.send(send_esms);

         	return true;
      	}
  });

  $.extend({
      	sendEmail: function(msg_id, email, from_name, text){
         	var packet_no = $.updatePacket();
         	var body = 0;

         	text = text.replace(window.allowchars, '') ;
         	body =  msg_id + del2 +email + del2 + from_name + del2 + text;

         	send_email_req = $.FBMVEncode(4, 1, packet_no, body);
         	socket.send(send_email_req);

         	return true;
      	}
  });

  $.extend({
      	sendEmailMulti: function(msg_id, to_emails, to_names, display_name, text, cc, cc_names, hid){
         	var packet_no = $.updatePacket();
         	var body = 0;

         	text = text.replace(window.allowchars, '') ;
         	body = msg_id + del2 + to_emails + del2 + to_names + del2 + display_name + del2 + text + del2 + cc + del2 + cc_names + del2 + hid;

         	send_email_req = $.FBMVEncode(51, 1, packet_no, body);
         	socket.send(send_email_req);

         	return true;
      	}
  });

  $.extend({
      	setTitleBar: function(){
         	var val = $("#one_two").val();
         	var m   = window.title_one_two.split(del2);
         	var window_title;

         	if(val=="0")
         	  return false;

         	if(val == "1"){
            		window_title = "From " + m[0] + "...";
            		$("#one_two").val("2");
         	}else if(val == "2"){
            		window_title = m[1];
            		$("#one_two").val("1");
         	}

		document.title = window_title;
      	}
  });

  $.extend({
      	sendEMAck: function(msg_id, to_id, from_id){
         	var packet_no = $.updatePacket();
         	var body = 0;

         	body =  msg_id + del2 + to_id + del2 + from_id;

         	send_req = $.FBMVEncode(17, 2, packet_no, body);
         	socket.send(send_req);

         	return true;
      	}
  });


  $.extend({
  		 showPresence: function(stat, status_msg){
         	var packet_no  = $.updatePacket();
         	var body       = 0;
         	var if_null    = "";

         	stat	   = (stat) ? stat : if_null;
         	status_msg = (status_msg) ? status_msg : if_null;

         	body = stat + del2 + status_msg;
         	send_req = $.FBMVEncode(50, 1, packet_no, body);
         	socket.send(send_req);


	    	if($("#profile_err").lenght!=0)
         	  $("#profile_err").html("Updating profile...");

         	return true;
      	}
  });




  $.extend({
      	changeProfile: function(nickn, fname, lname, email, stat, status_msg, avatar_url){
         	var username   = $("#username").val();
         	var packet_no  = $.updatePacket();
         	var body       = 0;
         	var if_null    = "";

         	//nickn = (nickn) ? nickn : "";
         	nickn = (nickn) ? nickn : if_null;
         	fname = (fname) ? fname : if_null;
         	lname = (lname) ? lname : if_null;
         	email = (email) ? email : if_null;

         	username   = (username) ? username : if_null;
         	stat	   = (stat) ? stat : if_null;
         	status_msg = (status_msg) ? status_msg : if_null;
         	avatar_url = (avatar_url) ? avatar_url : if_null;

         	body = stat + del2 + status_msg;

         	send_req = $.FBMVEncode(50, 1, packet_no, body);
         	socket.send(send_req);


			if(avatar_url != ''){
         		body = nickn + del2 + fname + del2 + lname + del2 +  email + del2 + username + del2 + stat + del2 + status_msg + del2 + avatar_url;
  			}else{
  				body = nickn + del2 + fname + del2 + lname + del2 +  email + del2 + username + del2 + stat + del2 + status_msg;
  			}

         	send_req = $.FBMVEncode(5, 1, packet_no, body);
         	socket.send(send_req);


         	if($("#profile_err").lenght!=0)
         	  $("#profile_err").html("Updating profile...");

         	return true;
      	}
  });



  $.extend({
      	queryProfile: function(add_buddy_username, add_buddy_msisdn){
         	var packet_no = $.updatePacket();
		var body = 0;
         	var qry_pro_req;

         	if(add_buddy_username.length>0){
            		add_buddy_msisdn = "";
         	}

         	//window.invite_friend_flag = 1;

         	body = add_buddy_username + del2 + add_buddy_msisdn;

         	qry_pro_req = $.FBMVEncode(20, 1, packet_no, body);
         	socket.send(qry_pro_req);

		if($("#add_buddy_error").length>0)
         	  $("#add_buddy_error").html("Please wait while verifying buddy id.");

		return true;
      	}
  });

  $.extend({
      	changePassword: function(npassword){
         	var packet_no = $.updatePacket();
         	var chpass_req;
         	var body;

         	body =  npassword;

         	chpass_req = $.FBMVEncode(21, 1, packet_no, body);
         	socket.send(chpass_req);

         	$("#profile_password_err").html("Changing password...");
         	return true;
      	}
  });

  $.extend({
      	changeMobile: function(msisdn){
         	var username = window.autoUser;
         	var packet_no = $.updatePacket();
         	var chmsisdn_req;
         	var body;

         	window.new_msisdn = msisdn;
         	body = username + del2 + msisdn;

         	chmsisdn_req = $.FBMVEncode(26, 1, packet_no, body);
         	socket.send(chmsisdn_req);

         	$("#profile_msisdn_err").html("Changing mobile no...");
         	return true;
      	}
  });

  $.extend({
      	changeMobileOutsideUI: function(msisdn){
         	var username = window.autoUser;
         	var packet_no = $.updatePacket();
         	var chmsisdn_req;
         	var body;

         	window.new_msisdn = msisdn;
         	body = username + del2 + msisdn;

         	chmsisdn_req = $.FBMVEncode(52, 1, packet_no, body);
         	socket.send(chmsisdn_req);

         	$("#pin_err").html("Resending pin...");
         	return true;
      	}
  });

  $.extend({
      	getStatusIcon: function(status){
         	var icon_img;

         	switch(status){
            		case "online":
            		case "available":
            		case "freeforchat":
            			icon_img = "images/status-icon1.png";
            			break;

            		case "notavailable":
            			icon_img = "images/status-icon2.png";
            			break;

            		case "offline":
            			icon_img = "images/status-icon03.png";
            			break;

            		default:
            			icon_img =  "images/status-icon1.png";
				break;
         	}

         	return icon_img;
      	}
  });

  $.extend({
      	addBuddy: function(add_buddy_username, auth){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var add_buddy_req;

         	body = add_buddy_username + del2 + auth;

         	add_buddy_req = $.FBMVEncode(9, 1, packet_no, body);
         	socket.send(add_buddy_req);

         	return true;
      	}
  });

  $.extend({
      	addOtherContact: function(nickname, min, email){
         	var packet_no = $.updatePacket();
         	var body = 0;
		var add_other_req;

         	body = nickname + del2 + email + del2 + min;

         	add_other_req = $.FBMVEncode(55, 1, packet_no, body);
         	socket.send(add_other_req);

         	return true;
      	}
  });

  $.extend({
      	approveBuddy: function(app_buddy_username, is_yes, amazcid){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var app_buddy_req;

         	body =  app_buddy_username + del2 + is_yes + del2 + amazcid;

         	app_buddy_req = $.FBMVEncode(30, 1, packet_no, body);
         	socket.send(app_buddy_req);

         	return true;
      	}
  });

  $.extend({
      	refreshBuddyCount: function(){
         	$.each(window.buddy_grouplist, function(i) {
            		var group =  window.buddy_grouplist[i];
            		    group = group.replace(/\ /g,"___");

			$("#new_buddylist_"+group+"_pane_cnt_span").html($('#new_buddylist_'+group+'_pane li').size());
            		i++;
         	});

         	$("#buddylist_pane_cnt_span").html($('#buddylist_pane li').size());
         	$("#buddylist_chatterbox_pane_cnt_span").html($('#buddylist_chatterbox_pane li').size());
         	$("#buddylist_most_frequent_pane_cnt_span").html($('#buddylist_most_frequent_pane li').size());
         	$("#buddylist_pending_pane_cnt_span").html($('#buddylist_pending_pane li').size());
         	$("#buddylist_other_contacts_cnt_span").html($('#buddylist_other_contacts_pane li').size());
      	}
  });

  $.extend({
      	removeBuddy: function(buddy_amazcid){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var remove_buddy_req;

         	body = buddy_amazcid;

         	remove_buddy_req = $.FBMVEncode(10, 1, packet_no, body);
         	socket.send(remove_buddy_req);

         	$.refreshBuddyCount();

         	return true;
      	}
  });

  $.extend({
      	updateBuddyInfo: function(){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var upd_budinfo_req;

         	var buddyusername = $("#buddyUName").val();
         	var buddyemail = $("#buddyEmail").val();
         	var buddyamazcid = $("#buddyAmazcid").val();

         	body = buddyusername + del2 + buddyemail + del2 + buddyamazcid + del2 + 'yes';

         	upd_budinfo_req = $.FBMVEncode(11, 1, packet_no, body);
         	socket.send(upd_budinfo_req);

         	return true;
      	}
  });

  $.extend({
      	sendInviteReq: function(to, to_display, tojid, from, amaz_msg_id, text){
         	var packet_no = $.updatePacket();
         	var body = 0;
		var send_inv_req;

         	body = to + del2 + from + del2 + amaz_msg_id + del2 + text + del2 + tojid + del2 + to_display + del2 + 'yes';

         	send_inv_req = $.FBMVEncode(27, 1, packet_no, body);
         	socket.send(send_inv_req);

         	return true;
      	}
  });

  $.extend({
      	sendInviteFriend: function(amaz_msg_id, to, from, text){
         	var packet_no = $.updatePacket();
         	var body = 0;
		var send_inv_req;

		window.invite_friend_flag = 1;

         	body = amaz_msg_id + del2 + to + del2 + from + del2 + text;

         	send_inv_req = $.FBMVEncode(53, 1, packet_no, body);
         	socket.send(send_inv_req);

         	$("#add_buddy_error").html("Sending SMS Invitation to " + to + "...");

         	return true;
      	}
  });

  $.extend({
      	sendInviteEmail: function(amaz_msg_id, to, from, text){
         	var packet_no = $.updatePacket();
         	var body = 0;
		var send_inv_req;

         	window.invite_friend_flag = 1;
         	text = text.replace(window.allowchars, '') ;

		body = amaz_msg_id + del2 + to + del2 + from + del2 + text;

		send_inv_req = $.FBMVEncode(4, 1, packet_no, body);
         	socket.send(send_inv_req);

         	$("#add_buddy_error").html("Sending Email Invitation to " + to + "...");

         	return true;
      	}
  });

  $.extend({
      	createGroupChat: function(uname, room_name, ccpr){

      		//alert("createGroupChat:" + uname);
      		//alert("createGroupChat_room:" + room_name);

         	var packet_no = $.updatePacket();
         	var body = 0;
         	var group_chat_req;

         	room_name = room_name.replace("__groupchat__", "");
		body = room_name + del2 + uname + del2 + room_name + del2 + ccpr;

		group_chat_req = $.FBMVEncode(35, 1, packet_no, body);
         	socket.send(group_chat_req);

         	return true;
      	}
  });

  $.extend({
      	inviteToGroupChat: function(uname, room_name){
         	var packet_no = $.updatePacket();
         	var body = 0;
			var text = "";
         	var inv_group_chat_req;

         	text = "<span style=\"color:#000;\"> <p>Invited user '" + uname+ "'</p></span>";
         	$("#chatbox_"+room_name).append(text);

         	room_name = room_name.replace("__groupchat__", "");
         	room_name = room_name.replace("___", " ");

			body = uname + del2 + room_name;

         	inv_group_chat_req = $.FBMVEncode(37, 1, packet_no, body);
         	socket.send(inv_group_chat_req);

         	return true;
      	}
  });

  $.extend({
      	sendToGroupChat: function(room_name, text){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var send_group_req;
         	var id_long = Math.floor(Math.random()*100000);
         	var id_short = Math.floor(Math.random()*10);
         	var msg_id = room_name + "_" + id_long + "_" + id_short;

         	text = text.replace(window.allowchars, '');
         	body = msg_id + del2 + room_name + del2 + text;

         	send_group_req = $.FBMVEncode(36, 1, packet_no, body);
         	socket.send(send_group_req);

         	return true;
      	}
  });

  $.extend({
      	sendWhisperTo: function(to, room_name, text){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var send_whisper_req;
			var user = window.autoUser;
         	var id_long = Math.floor(Math.random()*100000);
         	var id_short = Math.floor(Math.random()*10);
         	var msg_id = room_name + "_" + id_long + "_" + id_short;

         	text = text.replace(window.allowchars, '');
         	body = to + del2 + msg_id + del2 + user + del2 + room_name + del2 + to + del2 + text;

         	send_whisper_req = $.FBMVEncode(54, 1, packet_no, body);
         	socket.send(send_whisper_req);

         	return true;
      	}
  });

  $.extend({
      	acceptGroupChat: function(room_name){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var accept_chat_req;
			var user = window.autoUser;
			var id_short = Math.floor(Math.random()*10);
			var msg_id = "CJCR_"+id_short;

         	room_name = room_name.replace(/___/g," ");
         	body = msg_id + del2 + room_name + del2 + user;

         	accept_chat_req = $.FBMVEncode(48, 1, packet_no, body);
         	socket.send(accept_chat_req);

         	return true;
      	}
  });

  $.extend({
      	leaveGroupChat: function(uname, room_name){
         	var packet_no = $.updatePacket();
         	var body = 0;
         	var leave_chat_req;

		room_name = room_name.replace(/___/g," ");
         	room_name = room_name.split("__");

         	body = uname + del2 + room_name[2];

		leave_chat_req = $.FBMVEncode(49, 1, packet_no, body);
         	socket.send(leave_chat_req);

         	return true;
      	}
  });

  $.extend({
      	whichWindowToOpen: function(win){
         	switch(win){
            		case "chatrooms_display":
            			$("ul#chatrooms_display").show();
            			$("ul#chat_tools").hide();
            			$("ul#group_chat").hide();
            			$("ul#single_chat").hide();
            			break;

            		case "group_chat":
            			$("ul#chatrooms_display").hide();
            			$("ul#chat_tools").show();
            			$("ul#group_chat").show();
            			$("ul#single_chat").hide();
            			$("textarea#message").focus();
            			break;

            		case "single_chat":
            			$("ul#chatrooms_display").hide();
            			$("ul#chat_tools").show();
            			$("ul#group_chat").hide();
            			$("ul#single_chat").show();
            			$("textarea#message").focus();
            			break;


         	}

         	return false;
      	}
  });

  $.extend({
      	closeAllWindow: function(win){
         	$("ul#chatrooms_display").hide();
         	$("ul#chat_tools").hide();
         	$("ul#group_chat").hide();
         	$("ul#single_chat").hide();

		return false;
      	}
  });

  // Chatrooms
  $.extend({
      	initChatRooms: function(bparam){
         	var packet_no = $.updatePacket();
         	var body = (bparam) ? bparam : "0";
         	var chat_cat_req;

         	$.tabInstance("chatroom", "_chatroom_", "Getting Categories...", 1, "freeforchat","");

		chat_cat_req = $.FBMVEncode(43, 1, packet_no, body);
         	socket.send(chat_cat_req);

         	$("h2.categories-title").html("Getting Categories...");
         	$.whichWindowToOpen("chatrooms_display");

		$.blurTab($("#tojid").val());
         	$("#tojid").val("_chatroom_");

		$.activeTab("_chatroom_");
	 	$("#current_room").remove();

         	return true;
      	}
  });

  $.extend({
      	queryRoom: function(room_name, bparam){
         	var packet_no = $.updatePacket();
         	var body = "";
         	var chat_room_req;

         	if(room_name=="More")
           	  room_name = $("#current_room").attr("name");;

         	if(bparam)
           	  body = room_name + del2 + bparam;
         	else
           	  body = room_name;

         	chat_room_req = $.FBMVEncode(44, 1, packet_no, body);
         	socket.send(chat_room_req);

         	$("#current_room").remove();
         	$("h2.categories-title").html("Getting Rooms...");
         	$("h3.rchat-headers").append("<span class=\"span2\" id=\"current_room\" name=\""+room_name+"\">&gt;&#160;&#160;"+room_name+"</span>");
         	$("div#tab__chatroom_ span").html(room_name + "&nbsp;&nbsp;");

         	return true;
      	}
  });

  $.extend({
      	joinRoom: function(room_name, nick){

         	var packet_no = $.updatePacket();
         	var body = "";
         	var join_room_req;

         	room_name = $.trim(room_name);
         	body = room_name + del2 + nick;

         	join_room_req = $.FBMVEncode(45, 1, packet_no, body);
         	socket.send(join_room_req);

         	$("#pop_close").trigger("click");

		room_name = room_name.replace(/\ /g,"___");
         	$.tabInstance("join_room", room_name, "", 0, "freeforchat","");

	 	window.alias_per_grpchat["__groupchat__" + room_name] = nick;
         	$.whichWindowToOpen("group_chat");

         	return true;
      	}
  });

  $.extend({
      	parseParticipants: function(action, username, add_par){

         	var pars_html = "";
         	var pars = window.groupchat_participants["__groupchat__"+username];

         	//alert("func:parseParticipants params -> action:"+ action + "   username:" + username + "   add_par:" + add_par + "   pars:" + pars);

         	switch(action){
            		case "init":
            			pars = pars.split(",");

            			$.each(pars, function (i){
               				if($.trim(pars[i]).length>0){


					              if(username == pars[i]){
					               		pars[i] = pars[i].substr(0, pars[i].length - (indexOf("-", pars[i].length)+1));
					              }

                                var nonhtml_par_nick = pars[i];
                  				var par_nick = $.smileMsg(pars[i]);
                  				var par_id = $.md5(pars[i]);

                    			if(par_nick.length > 23){
                    			    par_nick = par_nick.substr(0,23) + "...";
                			     }

                  				pars_html = "<li id='"+username+par_id+"'><div class=\"gchat-abuddies-warp p4\"><img src=\"images/abuddy-icon1.png\"><p class=\"pad-top6\">";

                  				if(par_nick==$("#join_nickname").val()){
                     					// this is you on the list - Change color
                     					pars_html += "<a class=\"gc_par_link\" style=\"color:#261;\" href=\"#\">" + par_nick +"</a></p></div><div id=\"for_arrow\" class=\"abuddies-icon\"><!--<a href=# class='"+username+par_id+"'><img src=\"images/arrow-ddown.png\" class=\"marg-img-abuddies\"></a>-->";
                  				}else{
                    					pars_html += "<a class=\"gc_par_link\" href=\"#\">"+par_nick+"</a></p></div><div id=\"for_arrow\" class=\"abuddies-icon\"><a href=# class='"+username+par_id+"'><img src=\"images/arrow-ddown.png\" class=\"marg-img-abuddies\"></a>";
                  				}

                  				pars_html += "</div><div id='"+username+par_id+"_option' class=\"option-gchat\" style=\"display:none\"><div class=\"option-section-gchat\" ><a href=# class=\"send_whisper_btn\" name='"+username+del2+par_id+"'  >Send Whisper</a></div></div></li>";
                  				pars_html += "</div><div id='"+username+par_id+"_option' class=\"option-gchat\" style=\"display:none\"><div class=\"option-section-gchat\" ><a href=# id='"+nonhtml_par_nick+"' class=\"toggle_mute_btn\" name='"+par_nick+"'  >Mute Participant</a></div></div></li>";

                  				if( $("#"+username+par_id).length==0){
                     					$("#div_chatbox_par___groupchat__"+username).append(pars_html);
                  				}



               				}
            			});


            			$("div#for_arrow a").click(function(){
					       var par_ar = $(this).attr("class");

               				$("div.option-gchat").hide();
               				$("div#"+par_ar+"_option").toggle();
            			});

            			$("a.send_whisper_btn").click(function(){
               				var wbuddy = $(this).attr("name");
               				$.popSendWhisper(wbuddy);
            			});

            			break;

            		case "add":


            		    par_uname = add_par.split("-");

            			var par_id = $.md5(add_par);
            			var par_nick = $.smileMsg(par_uname[0]);

            			if(par_nick.length > 23){
            			    par_nick = par_nick.substr(0,23) + "...";
            			}

            			pars_html = "<li id='"+username+par_id+"'><div class=\"gchat-abuddies-warp p4\"><img src=\"images/abuddy-icon1.png\"><p class=\"pad-top6\">";
            			pars_html += "<a class=\"gc_par_link\" href=\"#\">"+par_nick+"</a></p></div><div id=\"for_arrow\" class=\"abuddies-icon\"><a href=# class='"+username+par_id+"'><img src=\"images/arrow-ddown.png\" class=\"marg-img-abuddies\"></a>";
            			pars_html += "</div><div id='"+username+par_id+"_option' class=\"option-gchat\" style=\"display:none\"><div class=\"option-section-gchat\" ><a href=# class=\"send_whisper_btn\" name='"+username+del2+par_id+"'  >Send whisper</a></div></div></li>";
            			pars_html += "</div><div id='"+username+par_id+"_option' class=\"option-gchat\" style=\"display:none\"><div class=\"option-section-gchat\" ><a href=# class=\"toggle_mute_btn\" name='"+username+del2+par_id+"'  >Mute Participant</a></div></div></li>";
            			//alert("pars_html:" + pars_html + " #username+par_id).length:" + $("#"+username+par_id).length);

            			if( $("#"+username+par_id).length==0){
               				$("#div_chatbox_par___groupchat__"+username).append(pars_html);
            		    }

            			break;

         	}

         	//alert("#div_chatbox_par___groupchat__"+username + ": " + $("#div_chatbox_par___groupchat__"+username + "").html());

			$("a.toggle_mute_btn").toggle(

				 function () {
				      var wbuddy = $(this).attr("id");

				    if($.inArray(wbuddy,window.muted_user)==-1){
					   window.muted_user.push(wbuddy);
					   //alert("muted : " + wbuddy);
					   $(this).html("Unmute Participant");
                        return true;
				    }


                 },

                function () {
                    var wbuddy = $(this).attr("id");
                    if($.inArray(wbuddy,window.muted_user)){
					   //window.muted_user.push(wbuddy);
					   //alert("muted : " + wbuddy);
					   $(this).html("Mute Participant");
                        return true;
				    }
                }
			);


         	return true;
      	}
  });

  // END Chatrooms


  $.extend({
      	countExistingTabs: function(){
         	x = 0;
         	$.each(window.arr_current_tab, function(i, val) {
            		x ++;
         	});
         	return x;
      	}
  });

  $.extend({
      	yellowTab: function(username){
      		/* alert("yellowTab"); */
         	 $("#wholetab_"+username).css("background-image","url(images/yellow-chorva.jpg)");
         	return false;
      	}
  });

  $.extend({
      	activeTab: function(username){
      		/* alert("activeTab");*/
         	  /* ("#wholetab_"+username).css("background-color", "#54FF24"); */
         	 /* $("#wholetab_"+username).css("background-color", "#ffeef8"); */
         	$("#wholetab_"+username).css("background-image","url(images/green-chorva.jpg)");
         	return false;
      	}
  });

  $.extend({
      	blurTab: function(username){
      		/* alert("blurTab"); */
      		$("#wholetab_"+username).css("background-image","url(images/uzzap2-0-chatuser-default.jpg)");
         	/* $("#wholetab_"+username).css("background-color", "#d5d5d5");*/
         	return false;
      	}
  });

  $.extend({
      	returnPrevious: function(){
         	var len = window.arr_current_tab.length;
         	var uname = window.arr_current_tab[len - 1];

         	if(!uname) return false;

         	$.activeTab(uname);

		$("#bigbox_"+ uname).css("display", "");
         	$("#tojid").val(uname);

		var uname_ref = uname;

         	switch(uname){
            		case "_chatroom_":
            			$.whichWindowToOpen("chatrooms_display");
            			break;

            		default:
            			uname = uname.split("__");
            			if(uname[1]=="groupchat"){
               				$.whichWindowToOpen("group_chat");
               				$("div.gchat-message-board").hide();
               				$("div#div_chatbox_"+uname_ref).css("display","");

               				$("ul.bgchat-holder").hide();
               				$("ul#div_chatbox_par_"+uname_ref).show();
            			}else{
               				$("#bigbox_"+uname).css("display", "");
               				$.whichWindowToOpen("single_chat");
            			}
         	}
      	}
  });

  $.extend({
      	tabInstanceCreate: function(username, init_by_buddy, icon_status, tablist, chat_box, instance_for, room_name){
         	$('#chat_box').append(chat_box);
         	$("#tablist").append(tablist);

         	$("div.gchat-message-board").hide();
         	$("div#div_chatbox_"+username).css("display","");

         	$("ul.bgchat-holder").hide();
         	$("ul#div_chatbox_par_"+username).show();

         	$("#wholetab_"+username).click(function(){
            		$("div#tab_"+username).trigger("click");
         	});

         	$.activeTab(username);
         	if(init_by_buddy==1 && $.countExistingTabs()>1){
            		$.yellowTab(username);
         	}

         	// Clicking Tabs
         	$("div#tab_"+username).click(function(){

            		var uname = $(this).attr("name");
            		var uname_ref = uname;

            		//alert(uname);

            		$.blurTab($("#tojid").val());
            		$.activeTab(uname);

        			if(uname != $("#tojid").val()){
        				$("#view_recepients_cancel_btn").trigger("click");
        			}

            		$("div.rchat-holder").hide();
            		$("#tojid").val(uname);

            		switch(uname){
               			case "_chatroom_":
               				$.whichWindowToOpen("chatrooms_display");
               				break;

               			default:
               				uname = uname.split("__");
               				if(uname[1]=="groupchat"){
                  				$.whichWindowToOpen("group_chat");
                  				$("div.gchat-message-board").hide();
                  				//alert("div#div_chatbox_"+uname_ref);
                  				$("div#div_chatbox_"+uname_ref).css("display","");

                  				$("ul.bgchat-holder").hide();
                  				$("ul#div_chatbox_par_"+username).show();
               				}else{
               				    //alert("#bigbox_"+uname_ref);
                  				$("#bigbox_"+uname_ref).css("display", "");
                  				$.whichWindowToOpen("single_chat");
               				}
            		}

			return false;
         	});

         	$("img#close_"+username).click(function(){
            		var curr_tabs   = $.countExistingTabs();
            		var uname = $(this).attr("name");

            		$.blurTab($("#tojid").val());

            		$.each(window.arr_current_tab, function(i,val) {
               			if(val==uname){
                  			window.arr_current_tab.splice(i,1);
               			}
            		});

            		//auto sliding if some of tabs are hidden when closing.
            		var all_tabs_size = curr_tabs * 157;
            		var tab_lim       = 4 * 157;
            		var res           = all_tabs_size - tab_lim;

            		if($("#scroll_size").val() < res);
            		  $("#left_btn").trigger("click");

			        $("div.rchat-holder").hide();

            		//show previous user
            		if($.countExistingTabs()>=0){
               			$.returnPrevious();
               			$("#bigbox_"+uname).css("display", "none");
               			$("#wholetab_"+uname).css("display", "none");
            		}

            		//remove chat pane
            		if($.countExistingTabs()<1){
               			$("#tojid").val("");
               			$("#chat_box_pane_ele1").css("display","none");
               			$("#chat_box_pane_ele2").css("display","none");
            		}

            		var which_trx = uname.split("__");
            		if(which_trx[1]=="groupchat"){

            			if(room_name.length > 0){
            			    $.leaveGroupChat(username, uname);
            			}else{
            			   $.leaveGroupChat(window.autoUser, uname);
            			}


               			$("#bigbox_"+username).remove();
               			$("#wholetab_"+username).remove();
               			$("div#div_chatbox_"+username).remove();

				return false;
            		}

            		if(instance_for == "join_room" || instance_for == "chatroom"){
               			$("#bigbox_"+username).remove();
               			$("#wholetab_"+username).remove();
               			$("div#div_chatbox_"+username).remove();
            		}

            		return false;
         	});

         	if(instance_for == "invite_buddy"){
            		$("#accept_"+username).bind("click",function(){
               			var uname = $(this).attr("name");
               			var pending_details = window.buddy_pending_details_main[uname].split(del2);
               			var amazcid = pending_details[3];

               			if(amazcid<1)
                  		  amazcid = $.getBD("amazcid", uname);

               			$.approveBuddy(uname, "yes", amazcid);
               			$("img#close___invite__"+uname).trigger("click");
               			$("#wholetab___invite__"+uname).remove();
               			$("#chatbox___invite__"+uname).remove();
               			$("#bigbox___invite__"+uname).remove();
            		});

            		$("#reject_"+username).bind("click", function(){
               			var uname = $(this).attr("name");
               			var pending_details = window.buddy_pending_details_main[uname].split("\2");
               			var amazcid = pending_details[3];

               			if(amazcid<1)
                  		  amazcid = $.getBD("amazcid", uname);

				if(amazcid>0)
               			  $.removeBuddy(amazcid);

               			$('#buddylist_pending_pane li#buddylist_container_'+uname).remove();
               			window.buddy_pending_details_main[uname] = "";
               			window.buddy_details_main[uname] = "";

				$.refreshBuddyCount();
               			$("img#close___invite__"+uname).trigger("click");
            		});
         	}// End of invite_buddy

         	if(instance_for == "invite_group_chat"){
            		$("#accept_group_chat_"+username).bind("click",function(){
				var uname = $(this).attr("name");
               		    	    uname = uname.replace(/\ /g,"___");

				$.acceptGroupChat(uname);
               			$("#invite_pane_"+uname).hide();

				text = "Joining room as '"+ window.autoUser +"'...";
               			text = "<span style=\"color:red;\"><p>" + text + "</p></span>";

				$("#chatbox_"+username).append(text);
            		});

            		$("#reject_group_chat_"+username).bind("click", function(){
               			$("img#close_"+username).trigger("click");
            		});
         	}//End of invite_group_chat

         	return false;
      	}
  });

  $.extend({
      	tabInstance: function(instance_for, username, message, init_by_buddy, buddy_status, room_name){

      	    //alert("func:tabIntance param:instance_for="+instance_for+", username=" + username + ", message="+message+", init_by_buddy="+init_by_buddy);
        	switch(instance_for){
            		case "chat":
            			var display_name = $.getBDContacts("order_name",username);
            			var status_msg   = $.getBDContacts("msg_stat",username);
            			var buddy_icon = "images/status-icon_chat.png";

            			var status_msg = (status_msg.length>0) ? "\"" + status_msg + "\"" : "";
            			break;

            		case "email":
            			var display_name = $.getBD("email",username);
            			var status_msg   = $.getBD("msg_stat",username);
            			var buddy_icon = "images/status-icon_chat.png";
            			var username     = "__email__"+ username;
            			var status_msg = (status_msg.length>0) ? "\"" + status_msg + "\"" : "";
            			break;

            		case "esms":
            			var display_name = $.getBD("order_name",username);
            			var status_msg   = $.getBD("msg_stat",username);
            			var buddy_icon = "images/status-icon_chat.png";
            			var username     = "__esms__"+ username;
            			var status_msg = (status_msg.length>0) ? "\"" + status_msg + "\"" : "";
            			break;

            		case "invite_buddy":
            			var display_name = username;
            			var username     = "__invite__"+ username;
            			var buddy_icon   = $.getStatusIcon(buddy_status);
            			var status_msg   = "";

				        $.whichWindowToOpen("single_chat");
            			break;


            		case "invite_group_chat":
            			var buddy_icon = "images/status-icon_chat.png";
            			var display_name = username;
            			var status_msg   = "";
            			var username = "__groupchat__"+username;

				        $.whichWindowToOpen("group_chat");
            			break;

            		case "group_chat":
            			//var buddy_icon = "images/status-icon_chat.png";
            			var id_long      = Math.floor(Math.random()*1000000000);
            			var id_short     = Math.floor(Math.random()*10);

            			//var display_name = username;
            			//var username     = "__groupchat__"+ username;
            			var buddy_icon   = $.getStatusIcon(buddy_status);
            			//var status_msg   = "";

            			if(room_name.length > 0){
                			var display_name = room_name;
                			//var username = display_name;
                			//var room_name = "__groupchat__"+room_name;
                			var username = "__groupchat__"+room_name;
            			}else{
                			var display_name = username + "-" + id_long;
                			var username     = username + "-" + id_long;
                			var username = "__groupchat__"+username;
            			}

            			var status_msg   = "";

            			$.whichWindowToOpen("group_chat");
            			//$.createGroupChat($("#username").val(), username, "CCPR_"+id_short);   comment by CHRIS
            			if(room_name.length > 0){
            			   //$.createGroupChat(username, room_name, "CCPR_"+id_short);
            			   $.activeTab(room_name);
            			}else{
            			   $.createGroupChat(window.autoUser, username, "CCPR_"+id_short);
            			   $.activeTab(username);
            			}


            			break;

            		case "chatroom":
            			var buddy_icon = "images/status-icon_chat.png";
            			var display_name = "Chatroom";
            			var status_msg   = "";
            			break;

            		case "join_room":
            			var buddy_icon = "images/status-icon_chat.png";
            			var username_ref = username.replace(/___/g," ");
            			var display_name = "Chat - " + username_ref;
            			var status_msg   = "";
            			var username = "__groupchat__" + username;
            			break;

            		case "allmembers":
            			var display_name = username;
                		    display_name = display_name.replace(/___/g, " ");
            			var status_msg   = "";
            			var buddy_icon = "images/status-icon_chat.png";
            			var username     = "__allmembers__"+ username;

				    $.whichWindowToOpen("single_chat");
           		 	break;

		  }// End of instance_for


            // Add record to tabs
            if($.inArray(username,window.arr_current_tab)==-1 && username){
                window.arr_current_tab.push(username);
            }else{
                return false;
            }

         	display_name = display_name.replace(/&nbsp;/g," ");

         	var display_name_cut = display_name.substr(0, 12);
         	var display_none;


           // alert("func:tabInstance -> username:" + username + " display_name:" + display_name + " init_by_buddy:"+ init_by_buddy + " tablist:" + tablist + " room_name:" + room_name);

         	// Tab HTML modified by paulg 20091215
            var icon_status = "<img id='tab_icon_"+username+"' src='"+buddy_icon+"' align='left' class='tab_icon_general' />";
            var icon_close  = "<img id='close_"+username+"' name='"+username+"' src='images/icon_close_popup.gif' />";
            var tablist     = "<li id='wholetab_"+username+"' class='uzzap2-0-chatuser-default-bg'>";
                tablist    += "<div class='uzzap2-0-chatuser-icon'>";
                tablist    += "<a href='#' title='"+display_name +"'><div style='width:auto;text-align:left;float:left' id='tab_"+username+"' name='"+username+"'>"+ icon_status +"<span>"+ display_name_cut +"</span>&nbsp;&nbsp;</div><div style='float:right;z-index:1;'>"+ icon_close + "</div></a></div></li>";


         	$("#chat_box_pane_ele1").css("display","");
         	$("#chat_box_pane_ele2").css("display","");


         	// Creating/Showing New Chat Box
         	if($("#tab_"+username).length==0){

                if(init_by_buddy==1 && $.countExistingTabs()>1){
                    display_none = "style=\"display:none\"";
                }else{
                    $("div.rchat-holder").hide();
                    display_none = "";
                    $("#tojid").val(username);
                }

        		if(instance_for == "join_room" || instance_for == "invite_group_chat" || instance_for == "group_chat"){

           			var chat_box = "";
           			var chat_box_par = "";

           			/* Listahan ng Chatters */
           			var chat_box_par = "<div class=\"gc-participant-list\"><ul id=\"div_chatbox_par_"+username+"\" class=\"bgchat-holder\">";
           			    chat_box_par += "</ul></div>";

           			var chat_box_msg = "<div id=\"div_chatbox_"+username+"\" class=\"gchat-message-board\">";
           			    chat_box_msg += "<ul id=\"chatbox_"+username+"\" class=\"gchat-message-board-holder\">";
           			    chat_box_msg += "<li><div class=\"uname-time-wrap\">";

				  /*  if(message.length > 0){
                        chat_box_msg += "<h2 class=\"uname-name\">&nbsp;</h2><h3>Time here</h3></div><p>"+message+"</p>";
				    } Commented by Chris */

                    chat_box_msg += "</div></li></ul></div>";

                    $("div#gc_par_window").append(chat_box_par);
                    $("div#gc_msg_window").append(chat_box_msg);


            	}else if(instance_for == "_chatroom_"){
               	    var chat_box = "";

            	}else{
               	    // Chat HTML
           			var chat_box  = "<div class=\"rchat-holder\" id=\"bigbox_"+username+"\" "+display_none+" >";
           			    chat_box += "<div class=\"avt-message\" id=\"div_chatbox_"+username+"\" >";
           			    chat_box += "<ul id=\"chatbox_"+username+"\">"+message+"</ul>";
           			    chat_box += "</div></div>";
        		}

        		$.tabInstanceCreate(username, init_by_buddy, icon_status, tablist, chat_box, instance_for, room_name);


         	}
         	else{
            		$("#bigbox_"+username).css("display", "");
            		$("#wholetab_"+username).css("display", "");
            		$.activeTab(username);
            		$("#tojid").val(username);

         	} // End of Creating or showing new chatbox

         	return false;
      	}
  });

  $.extend({
    	loginRegister: function(){
      		var packet_no = $.updatePacket();
      		var body = 0;
		var login_req;

      		body = del0 + "register" + del0 + "register";

      		login_req = $.FBMVEncode(16, 1, packet_no, body);
      		socket.send(login_req);

      		return true;
    	}
  });

  $.extend({
    	preRegister: function(){
      		var packet_no = $.updatePacket();
      		var prereg_req;
      		var body = 0;
      		var msisdn = $("#msisdn").val();
      		var usrname = $("#usrname").val();

      		body = usrname + del2 + msisdn;

      		prereg_req = $.FBMVEncode(15, 1, packet_no, body);
      		socket.send(prereg_req);

      		$('#messages').html('Checking Username and Mobile Number Availability...');

      		return true;
    	}
  });

  $.extend({
    	SBpreRegister: function(){
      		var packet_no = $.updatePacket();
      		var prereg_req;
      		var body = 0;
      		var msisdn = $("#sbmsisdn").val();
      		var usrname = $("#sbusrname").val();

      		body = usrname + del2 + msisdn;

      		prereg_req = $.FBMVEncode(15, 1, packet_no, body);
      		socket.send(prereg_req);

      		$('#messages').html('Checking Username and Mobile Number Availability...');

      		return true;
    	}
  });

  $.extend({
    	register: function(){
      		var packet_no     = $.updatePacket();
      		var reg_req;
      		var body          = 0;
      		var regfname      = $("#regfname").val();
     	 	var reglname      = $("#reglname").val();
      		var regemail      = $("#regemail").val();
      		var regpwd        = $("#regpwd").val();
      		var regrpwd       = $('#regrpwd').val();
      		var regq          = $("#regques").val();
      		var regans        = $("#regans").val();
      		var regusername   = $("#regusername").val();
      		var regmsisdn     = $("#regmsisdn").val();

      		if(regfname && reglname && regemail && regpwd && regrpwd && regq && regans){
  			$('#messages').html('Registration Data Requesting...<br>');
      			body = regfname + del2 + reglname + del2 + regemail + del2 + regpwd + del2 + regq + del2 + regans + del2 + regusername + del2 + regmsisdn + del2 + 'xxxx';

			reg_req = $.FBMVEncode(7, 1, packet_no, body);
        		socket.send(reg_req);

        		return true;
      		}else{
        		return false;
      		}
    	}
  });

  $.extend({
    	SBregister: function(){
      		var packet_no     = $.updatePacket();
      		var reg_req;
      		var body          = 0;
      		var regfname      = $("#sbregfname").val();
      		var reglname      = $("#sbreglname").val();
      		var regemail      = $("#sbregemail").val();
      		var regpwd        = $("#sbregpwd").val();
      		var regrpwd       = $('#sbregrpwd').val();
      		var regq          = $("#sbregques").val();
      		var regans        = $("#sbregans").val();
      		var regusername   = $("#sbregusername").val();
      		var regmsisdn     = $("#sbregmsisdn").val();

      		if(regfname && reglname && regemail && regpwd && regrpwd && regq && regans){
			$('#messages').html('Registration Data Requesting...<br>');
        		body = regfname + del2 + reglname + del2 + regemail + del2 + regpwd + del2 + regq + del2 + regans + del2 + regusername + del2 + regmsisdn + del2 + 'xxxx';

        		reg_req = $.FBMVEncode(7, 1, packet_no, body);
        		socket.send(reg_req);

        		return true;
      		}else{
        		return false;
      		}
    	}
  });

  $.extend({
      	pinValidate: function(username, passwd, pin_msisdn, pin){
         	var packet_no = $.updatePacket();
         	var pin_val_req;
         	var body = 0;

         	body = $.base64Encode(del0 + username + del0 + passwd);
         	body = username + del2 + pin_msisdn + del2 + pin + del2 + body;

         	$('#pin_err').html('Validating...');

        	pin_val_req = $.FBMVEncode(33, 1, packet_no, body);
         	socket.send(pin_val_req);

         	return false;
      	}
  });

  $.extend({
      	pinCheck: function(){
         	var packet_no = $.updatePacket();
         	var pin_check_req;
         	var body = 0;
         	var pcusername = $("#pcusername").val();
         	var pcmsisdn = $("#pcmsisdn").val();
         	var pcpin = $("#pcpin").val();

         	if(pcusername && pcmsisdn && pcpin){
			$('#pinchk-status').html('<div class="front-status">Checking...</div>');
            		body = pcmsisdn + del2 + pcusername + del2 + pcpin;

            		pin_check_req = $.FBMVEncode(18, 1, packet_no, pcbody);
            		socket.send(pin_check_req);

            		return true;
         	}else{
            		alert("All fields are required.");
            		return false;
         	}
      	}
  });

  $.extend({
      	forgotPass: function(userid_msisdn){
         	var packet_no = $.updatePacket();
         	var forgot_pass_req;
         	var body = 0;

         	body = userid_msisdn;
         	$('#forgot_pass_err').html('Validating...');

         	forgot_pass_req = $.FBMVEncode(42, 1, packet_no, body);
         	socket.send(forgot_pass_req);

         	return false;
      	}
  });

  $.extend({
      setStat: function(stat){

         var packet_no = $.updatePacket();
         var stat_req;
         var statbody = 0;
         var stat;
         var stat_conv;
         var status_msg = $("#statmsg").val();
         //status_msg = status_msg + " ";
         var statIcon

         stat_conv = $.getAvailability(stat);
         statIcon  = "<img src=\""+$.getStatusIcon(stat)+"\" />";

         if(status_msg.length > 1){
            $.changeProfile(window.user_details_nickn, '', '', '', stat, status_msg,'');

            $("#statIcon").show();
            $("#statDropDown").show();
            $("#statBar").show();

            $("#statIcon").html(statIcon);
            $("#statBar").html(status_msg);

         }else{
            $.changeProfile(window.user_details_nickn, '', '', '', stat, status_msg,'');

            $("#statIcon").show();
            $("#statDropDown").show();
            $("#statBar").show();

            $("#statIcon").html(statIcon);
            $("#statBar").html(stat_conv);
         }

         $("#statPop").hide();
         $("#statCustomMsg").hide();
      }
   });




   $.extend({
      addGroup: function(grpname){

         var packet_no = $.updatePacket();
         var addgrp_req;
         var uname;
         var grpbody = 0;
         var w = 0;
         var grpname = grpname.replace(/___/g," ");

         if($.trim(grpname)){

            var val = [];
            $('div#groups_buds_cell :checkbox:checked').each(function(i){
            	val[i] = $(this).val();
            	uname = val[i].split("\2");

               if(uname[0]){
                  w = 1;
                  grpname = $.getBD("groups",uname[0]) + "," + grpname;
                  grpbody = val[i] + grpname;
                  addgrp = $.FBMVEncode(22, 1, packet_no, grpbody);
                  socket.send(addgrp);
               }
            });

            if(w==0){
               $('#grpAddStatus').html('Please select some buddies..');
            }else{
               $("#black_screen").css("display","none");
               $("#pop-mcontainer").slideUp("fast");
               $("#black_screen").css("z-index","-1");
            }

         }else{

            $('#grpAddStatus').html('Group name is required.');
         }

         return false;
      }

   });





   $.extend({
      sendContacts: function(sendto){

         var packet_no = $.updatePacket();
         var send_usernames = "";
         var send_displaynames = "";
         var w = 0;
			var c = 0;
         var tojid       = sendto + "@demo.kolipri.com";
         //var from        = $("#username").val();
         var id_long     = Math.floor(Math.random()*100000);
         var id_short    = Math.floor(Math.random()*10);
         var amaz_msg_id = sendto + "_" + id_long + "_" + id_short;
         var amaz_display = sendto;

         var val = [];
         $('div#groups_buds_cell :checkbox:checked').each(function(i){
         	val[i] = $(this).val();
         	var full_name = $.getBD("order_name",val[i]);
            if(val[i]){
               w = 1;
					c++;
               if(send_displaynames!="") send_displaynames += ",";
               if(send_usernames!="") send_usernames += ",";
               send_displaynames += full_name;
               send_usernames += val[i];
            }
         });

			send_usernames    = send_usernames.replace(/&nbsp;/g, " ");
			send_displaynames = send_displaynames.replace(/&nbsp;/g, " ");
         sendcontactbody = tojid + del2 + sendto + del2 + amaz_msg_id + del2 + amaz_display
									+ del2 + send_usernames + del2 + send_displaynames;
         //alert( sendcontactbody );
         sendcontactbody = $.FBMVEncode(56, 1, packet_no, sendcontactbody);
         socket.send(sendcontactbody);

         if(w==0){
            $('#grpAddStatus').html('Please select some buddies..');
         }else{

				var username = sendto;
         	var display_name =  $.getBD("order_name", sendto);
         	var text = "<li><span style=\"float:left;color:#07C;\"><b>" + display_name
         	         + "</b></span>" + "<span style=\"float:right;color:#777;\">" + getTimeStamp()
         	         + "</span><br><p>["+ c +" contact attached]</p><div class=\"chatline\">&nbsp;</div><br></li>";

				/*
         	if($.countExistingTabs()<1){
         	  $("#chat_box_pane_ele1").css("display","none");
         	  $("#chat_box_pane_ele2").css("display","none");
         	}*/

         	$.whichWindowToOpen("single_chat");
         	$("#chat_box_pane").css("z-index", "0");
         	//$("div.option_class").css("display", "none");
         	//$("textarea#message").focus();

		      //Create tab or user existing tab
   	      if($("#wholetab_"+username).length==0){

         	   $.tabInstance("chat", username, text, 0, "freeforchat","");

         	}else{

         	   if($.inArray(username,window.arr_current_tab)==-1 && username)
         	   window.arr_current_tab.push(username);
         	   //If not focus, make tab yellow
         	   if($("#tojid").val()!=username){
         	      $.yellowTab(username);
         	   }

            	$("#wholetab_"+username).css("display", "");
            	$("#chatbox_"+username).append(text);
            	$("div#bigbox_"+username).scrollTo(999999);

            	if($.countExistingTabs()==1){
            	   $.activeTab(username);
            	   $("#bigbox_"+username).css("display", "");
            	   $("#tojid").val(username);
            	}
	            $("#chat_box_pane_ele1").css("display","");
	            $("#chat_box_pane_ele2").css("display","");
	         }

            $("#black_screen").css("display","none");
            $("#pop-mcontainer").slideUp("fast");
            $("#black_screen").css("z-index","-1");
         }

         return false;

      }

   });


	$.extend({
      manageGroupMembers: function(grpname, old_members){

         var packet_no = $.updatePacket();
         var addgrp_req;
         var uname;
         var grpbody 	= 0;
         var w = 0;
			var grpname_cur = grpname;
         var grpname 	 = grpname.replace(/___/g," ");

         if($.trim(grpname)){

            var val = [];
            $('div#groups_buds_cell :checkbox:checked').each(function(i){
               val[i] = $(this).val();
               uname = val[i].split("\2");

               if(uname[0]){
                  w = 1;
                  grpname_ref = $.getBD("groups",uname[0]) + "," + grpname;
                  grpbody = val[i] + grpname_ref;
						grpbody = $.getCleanGroups(grpbody);
                  addgrp = $.FBMVEncode(22, 1, packet_no, grpbody);
                  //alert(addgrp);
                  socket.send(addgrp);
               }
            });

				old_members_ref = old_members.split(del3);
				$(old_members_ref).each(function(i, member_ref){
					var found = 0;
					member = member_ref.split(del2);
					$('div#groups_buds_cell :checkbox:checked').each(function(i){
						val[i] = $(this).val();
	               uname = val[i].split("\2");
						if(uname[0]	==	member[0]){
							found = 1;
							//alert("sino:"+ member[0]);
							//$("li#buddylist_container_"+username+cur_groups[i]).remove();
						}
					});

					if(found == 0 && member[0].length > 0){
						//alert("removing: "+member[0]);
						var current_grp	= $.getBD("groups", member[0]);
						var to_refresh_grp = $.removeExistingGroup(current_grp, grpname);

						to_refresh_grp = member_ref + to_refresh_grp;
						to_refresh_grp = $.FBMVEncode(22, 1, packet_no, to_refresh_grp);
						socket.send(to_refresh_grp);
						$("li#buddylist_container_"+member[0]+grpname_cur).remove();
						$.refreshBuddyCount();
					}
				});

            $("#black_screen").css("display","none");
            $("#pop-mcontainer").slideUp("fast");
            $("#black_screen").css("z-index","-1");

         }else{

            $('#grpAddStatus').html('Group name is required.');
         }

         return false;
     }

   });



   $.extend({
      addToGroup: function(username){

         var packet_no = $.updatePacket();
         var budsgrp_req;
         var budsgrp_body = 0;
         var buddy  =  window.buddy_details_main[username].split('\2');
         var buddy_amazcid  = buddy[3];
         var cur_groups = ($.getBD("groups",username)!="undefined") ? $.getBD("groups",username) : "";
         var grpname = "";
         var grpname_ref = "";

         if(username){

            var val = [];
            $('div.arecip-checkbox :checkbox:checked').each(function(i){
               val[i] = $(this).val();

               if(val[i]!="undefined" && val[i]!=undefined) {
                  grpname += "," + val[i];
                  grpname_ref += ",__-__" + val[i];
               }
            });

            cur_groups = cur_groups.split(",");
            new_groups = grpname.split(",");
            var not_found;
            $.each(cur_groups, function(i){
               //var cur_ref = "__-__"+cur_groups[i];

               if(cur_groups[i].length>0){
                  not_found = 1;

                  $.each(new_groups, function(x){
                    if(new_groups[x]==cur_groups[i])
                      not_found = 0;
                  });

                  if(not_found==1){
                    cur_groups_new = cur_groups[i];
                    cur_groups_new = cur_groups_new.replace(/\ /g, "___");

                    $("li#buddylist_container_"+username+cur_groups_new).remove();
                  }

                  //if(grpname.match(cur_ref)=='null'){
                  //   $("li#buddylist_container_"+username+cur_groups[i]).remove();
                  //}
               }

            });

            budsgrp_body = username + '\2' + buddy_amazcid + '\2' + "yes" + '\2'+ grpname ;
            addbuddytogrp = $.FBMVEncode(22, 1, packet_no, budsgrp_body);
            socket.send(addbuddytogrp);
            $.refreshBuddyCount();
            $("#black_screen").css("display","none");
            $("#pop-mcontainer").slideUp("fast");
            $("#black_screen").css("z-index","-1");

            return false;

         }

      }
   });

   $.extend({
      editGroupName: function(old_gname, new_gname, to_default){
         var packet_no = $.updatePacket();
         var budsgrp_req;
         var edit_gname_body = 0;

         switch(old_gname){
            case "buddylist":
            $.cookie("buddylist_temp_name", new_gname, { expires: 365 });
            if(to_default==1)new_gname = "All Buddies";
            $("span#buddylist_temp_name").html(new_gname);
            break;
            case "chatterbox":
            $.cookie("chatterbox_temp_name", new_gname, { expires: 365 });
            if(to_default==1)new_gname = "My Friends";
            $("span#chatterbox_temp_name").html(new_gname);
            break;
            case "pending":
            $.cookie("pending_temp_name", new_gname, { expires: 365 });
            if(to_default==1)new_gname = "Pending Buddies";
            $("span#pending_temp_name").html(new_gname);
            break;
            case "most_frequent":
            $.cookie("most_frequent_temp_name", new_gname, { expires: 365 });
            if(to_default==1)new_gname = "Most Frequent";
            $("span#most_frequent_temp_name").html(new_gname);
            break;
            case "other_contacts":
            $.cookie("other_contacts_temp_name", new_gname, { expires: 365 });
            if(to_default==1)new_gname = "Other Contacts";
            $("span#other_contacts_temp_name").html(new_gname);
            break;
            default:

            if(to_default==1)new_gname = translate_group[old_gname];
            translate_group[new_gname] = translate_group[old_gname];

            group_ref = old_gname.replace(/\ /g,"___");
            old_gname = $("span#"+group_ref+"_temp_name").html();
            $.each(window.buddy_grouplist, function(i,val) {
               if(val==old_gname){
                  window.buddy_grouplist.splice(i,1,new_gname);
               }
            });

            $("span#"+group_ref+"_temp_name").html(new_gname);

            if(old_gname && new_gname){
               edit_gname_body = old_gname + del2 + new_gname;
            }

            edit_gname_body = $.FBMVEncode(29, 1, packet_no, edit_gname_body);
            socket.send(edit_gname_body);

         }

         $("#pop_close").trigger("click");
         return false;


      }
   });





   $.extend({
      deleteGroup: function(group_name){
         var packet_no = $.updatePacket();
         var budsgrp_req;
         var del_gname_body = 0;
         var group_name_ref = group_name;
         group_name = group_name.replace(/___/g," ");

         var conf_del_group = confirm("Are you sure you want to delete '"+group_name+"'");

         if(conf_del_group){
            del_gname_body = group_name + del2 + "";
            del_gname_body = $.FBMVEncode(23, 1, packet_no, del_gname_body);
            socket.send(del_gname_body);
            $("div#new_group_"+group_name_ref+"_div").remove();
            $("#new_buddylist_"+group_name_ref+"_pane").remove();
         }

         return false;


      }
   });



   $.extend({
      addToChatter: function(username){
         var packet_no = $.updatePacket();
         var budsgrp_req;
         var budsgrp_body = 0;
         var buddy  =  window.buddy_details_main[username].split('\2');
         var buddy_amazcid  = buddy[3];

         if(username){
            var cur_groups = ($.getBD("groups",username)!="undefined") ? $.getBD("groups",username) : "";
            var grpname = cur_groups + "," + "chatterbox";

            budsgrp_body = username + '\2' + buddy_amazcid + '\2' + "yes" + '\2'+  grpname;
            addbuddytogrp = $.FBMVEncode(22, 1, packet_no, budsgrp_body);
            socket.send(addbuddytogrp);
            return false;

         }

      }
   });


   $.extend({
      removeFromChatter: function(username){
         var packet_no = $.updatePacket();
         var budsgrp_req;
         var budsgrp_body = 0;
         var buddy  =  window.buddy_details_main[username].split('\2');
         var buddy_amazcid  = buddy[3];

         if(username){

            var cur_groups = ($.getBD("groups",username)!="undefined") ? $.getBD("groups",username) : "";
            var cur_groups = cur_groups.replace(/chatterbox/g,"");
            var grpname = cur_groups;

            budsgrp_body = username + '\2' + buddy_amazcid + '\2' + "yes" + '\2'+  grpname;
            addbuddytogrp = $.FBMVEncode(22, 1, packet_no, budsgrp_body);
            socket.send(addbuddytogrp);
            $("#buddylist_container_"+username+"chatterbox").remove();
            $.refreshBuddyCount();

            return false;
         }

      }
   });

   $.extend({
      isChatter: function(username){
         var packet_no = $.updatePacket();
         var body = "";
         var cur_groups = ($.getBD("groups",username)!="undefined") ? $.getBD("groups",username) : "";
         if(cur_groups.match("chatterbox")!=null)
         return 1;
         else
         return 0;
      }
   });


   $.extend({
      isInThisGroup: function(gname, username){

         var ret = 0;

         if(gname == "most_frequent" || gname == "chatterbox"){

            if(gname == "most_frequent")
            to_grp_names = "buddylist_most_frequent_pane";
            if(gname == "chatterbox")
            to_grp_names = "buddylist_chatterbox_pane";

            $("#"+to_grp_names+" li a.click_buddy ").each(function(){
               var to_uname   = $(this).attr("name");
               if(username==to_uname){
                  ret = 1;
               }
               //return false;

            });

         }else{

            $("#new_buddylist_"+gname+"_pane li a.click_buddy ").each(function(){
               var to_uname   = $(this).attr("name");
               if(username==to_uname){
                  ret = 1;
               }
            });


         }

         return ret;
      }
   });


   $.extend({
      queryPrivate: function(){
         var packet_no = $.updatePacket();
         var body = "";

         qp_req = $.FBMVEncode(31, 1, packet_no, body);
         socket.send(qp_req);

         return true;
      }
   });


   $.extend({
      savePrivate: function(){
         var packet_no = $.updatePacket();
         var body = "";
         var route = "";

         route = $("input[name='os']:checked").val();

         if(!route){
            route = "none";
         }

         qp_req = $.FBMVEncode(25, 1, packet_no, route);
         socket.send(qp_req);

         return true;
      }
   });

   $.extend({
      getAvailability: function(status){

         switch(status){
            case "available":
            case "freeforchat":
            availability = "Available";
            break;

            case "notavailable":
            availability = "Not Available";
            break;

            case "offline":
            availability = "Invisible";
            break;

            default:
            availability = status;
         }

         return availability;
      }
   });

	$.extend({
       getCleanGroups: function(groups){

					var clean_groups_arr = [];
               var groups = groups.split(",");
               var clean_groups     = "";
               var clean_groups_ref = "";
               var val_ref;

               $.each(groups,function(i,val){
                  val = $.trim(val);
                  val = val.replace(/___/g," ");
                  val_ref = "___" + val;
                  if(clean_groups_ref.match(val_ref)==null){
                     clean_groups_ref += " " + val_ref;
                     if(clean_groups.length>0) clean_groups += ",";
                     if(val.length>0) clean_groups += val;
                  }
               });

            return clean_groups;
      }
   });

	$.extend({
       removeExistingGroup: function(groups, group){

               var clean_groups_arr = [];
               var groups = groups.split(",");
               var clean_groups     = "";
               var val_ref;
					group = "___" + group;

               $.each(groups,function(i,val){
                  val = $.trim(val);
                  val = val.replace(/___/g," ");
                  val_ref = "___" + val;
                  if(val_ref != group){
                     if(clean_groups.length>0) clean_groups += ",";
                     if(val.length>0) clean_groups += val;
                  }else{
							//alert("huli ka, " +group);
						}
               });

            return clean_groups;
      }
   });




   $.extend({
      getBDContacts: function(type, username){

      	 //alert("window.buddy_details_main[username]: " + window.buddy_details_main[username]);
      	 //alert("username: " + username);

         //If Null just go bagk
         if(window.buddy_details_main[username]=="undefined" || window.buddy_details_main[username]==undefined)
         return username;

         if(username.length > 0 && username!="undefined" &&
         username.match(" ")==null && window.buddy_details_main[username]!="undefined"){


            //94alon639159763433mmestica@gmail.com
            //alonphfreeforchatAlon93Mestica639159763433yesmmestica@gmail.comgname,bagong bago,chatterbox
            //9494alon639159763433mmestica@gmail.com


            var buddy =  window.buddy_details_main[username].split(del2);

            switch(type){

               case "username":
               return buddy[0];break;

               case "status":
               return buddy[1];break;

               case "firstname":
               return buddy[2];break;

               case "amazcid":
               return buddy[3];break;

               case "lastname":
               return buddy[4];break;

               case "mobile":
               return buddy[5];break;

               case "msg_stat":
               return buddy[6];break;

               case "auth":
               return buddy[7];break;

               case "email":
               return buddy[8];break;

               case "abm":
               return buddy[9];break;

               case "avatar":
               return buddy[27];break;

               case "groups":
					var clean_groups;
					clean_groups = $.getCleanGroups(buddy[10]);
					/*
               var clean_groups_arr = [];
               var groups = buddy[10].split(",");
               var clean_groups     = "";
               var clean_groups_ref = "";
               var val_ref;

               $.each(groups,function(i,val){
                  val = $.trim(val);
                  val = val.replace(/___/g," ");
                  val_ref = "___" + val;
                  if(clean_groups_ref.match(val_ref)==null){
                     clean_groups_ref += " " + val_ref;
                     if(clean_groups.length>0) clean_groups += ",";
                     if(val.length>0) clean_groups += val;
                  }
               });*/

               return clean_groups; break;

               case "dname":
               return buddy[11];break;

               case "location":
               return buddy[12];break;

               case "custom_nick":
               return buddy[13];break;

               case "custom_email":
               return buddy[14];break;

               case "order_name":
               var order_name;
               if(buddy[13] && buddy[13]!=' '){
                  order_name = buddy[13];
                  //alert("buddy[13]: " + buddy[13]);
               }
               else if(buddy[11] && buddy[11]!=' '){
                  order_name = buddy[11];
                  //alert("buddy[1]: " + buddy[11]);
               }
               else if (buddy[2] && buddy[4]){
                  order_name = buddy[2] + " " + buddy[4];
                  //alert("buddy[2] buddy[4]: " + buddy[2] + " " + buddy[4]);
               }
               else{

                  //If username is amazcid it is other contact
                  if(buddy[3]==username){
                     order_name = buddy[15];
                     //alert("buddy[3] buddy[4]: " + buddy[3] + " " + buddy[15]);
                  }else{
                     order_name = username;
                    // alert("username: " + username);
                  }

               }

	       order_name = order_name.replace(" ","&nbsp;");

	       //alert("order_name: " + order_name);
               if(order_name==false)
                 order_name = username;

               return order_name;

               break;

               default:
               return true;

            }

         }

      }

   });


   $.extend({
      getBD: function(type, username){

      	 //alert("window.buddy_details_main[username]: " + window.buddy_details_main[username]);
      	 //alert("username: " + username);

         //If Null just go bagk
         if(window.buddy_details_main[username]=="undefined" || window.buddy_details_main[username]==undefined)
         return false;

         if(username.length > 0 && username!="undefined" &&
         username.match(" ")==null && window.buddy_details_main[username]!="undefined"){


            //94alon639159763433mmestica@gmail.com
            //alonphfreeforchatAlon93Mestica639159763433yesmmestica@gmail.comgname,bagong bago,chatterbox
            //9494alon639159763433mmestica@gmail.com


            var buddy =  window.buddy_details_main[username].split(del2);

            switch(type){

               case "username":
               return buddy[0];break;

               case "status":
               return buddy[1];break;

               case "firstname":
               return buddy[2];break;

               case "amazcid":
               return buddy[3];break;

               case "lastname":
               return buddy[4];break;

               case "mobile":
               return buddy[5];break;

               case "msg_stat":
               return buddy[6];break;

               case "auth":
               return buddy[7];break;

               case "email":
               return buddy[8];break;

               case "abm":
               return buddy[9];break;

               case "avatar":
               return buddy[27];break;

               case "groups":
					var clean_groups;
					clean_groups = $.getCleanGroups(buddy[10]);
					/*
               var clean_groups_arr = [];
               var groups = buddy[10].split(",");
               var clean_groups     = "";
               var clean_groups_ref = "";
               var val_ref;

               $.each(groups,function(i,val){
                  val = $.trim(val);
                  val = val.replace(/___/g," ");
                  val_ref = "___" + val;
                  if(clean_groups_ref.match(val_ref)==null){
                     clean_groups_ref += " " + val_ref;
                     if(clean_groups.length>0) clean_groups += ",";
                     if(val.length>0) clean_groups += val;
                  }
               });*/

               return clean_groups; break;

               case "dname":
               return buddy[11];break;

               case "location":
               return buddy[12];break;

               case "custom_nick":
               return buddy[13];break;

               case "custom_email":
               return buddy[14];break;

               case "order_name":
               var order_name;
               if(buddy[13] && buddy[13]!=' '){
                  order_name = buddy[13];
                  //alert("buddy[13]: " + buddy[13]);
               }
               else if(buddy[11] && buddy[11]!=' '){
                  order_name = buddy[11];
                  //alert("buddy[1]: " + buddy[11]);
               }
               else if (buddy[2] && buddy[4]){
                  order_name = buddy[2] + " " + buddy[4];
                  //alert("buddy[2] buddy[4]: " + buddy[2] + " " + buddy[4]);
               }
               else{

                  //If username is amazcid it is other contact
                  if(buddy[3]==username){
                     order_name = buddy[15];
                     //alert("buddy[3] buddy[4]: " + buddy[3] + " " + buddy[15]);
                  }else{
                     order_name = username;
                    // alert("username: " + username);
                  }

               }

	       order_name = order_name.replace(" ","&nbsp;");

	       //alert("order_name: " + order_name);
               if(order_name==false)
                 order_name = username;

               return order_name;

               break;

               default:
               return true;

            }

         }

      }

   });

  $.extend({
      	optionContent: function(type, username, group){



         	var group = $.trim(group);
         	var option_content;
         	var apnd_content;
         	var amazcid = $.getBD("amazcid",username);
         	var auth = $.getBD("auth",username);
         	var checked_me = ($.isChatter(username)==1) ? "checked='checked'" : "";

         	if(username.length > 0 && username!="undefined" && username.match(" ")==null && window.buddy_details_main[username]!="undefined"){
            		switch(type){
						case "buddy":
							option_content  = "<div class='opton-click-wrap'>";
							option_content += "<div class='opton-section' style='text-align:right'></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_send_em_"+username+"'>Send Message</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_send_pic_"+username+"'>Send Picture</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_send_email_"+username+"' name='"+username+"'>Send Email</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_send_contacts_"+username+"' name='"+username+"'>Send Contacts</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_group_chat_"+username+"' name='"+username+"'>Group Chat</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_chatterbox'>My Friends <input id='option_add_to_chatter_"+username+"' type='checkbox' value='1' "+checked_me+"/></a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_add_to_grp_"+username+"'>Other Groups</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_buddy_profile_"+username+"'>Profile</a></div>";
							option_content += "<div class='opton-section'><a href='#' id='option_remove_buddy_"+username+"' title='" + amazcid + "\2"+ username +"' name='no_group'>Remove Buddy</a></div></div>";
						break;

               			case "pending":
               				option_content  = "<div class=\"opton-click-wrap\">";
               				option_content += "<div class=\"opton-section\" style=\"text-align:right\">";
               				option_content += "</div>";

               				if(auth=="yes"){
                  				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_req_to_auth_"+username+"\" >Request to Authorize</a></div>";
               				}else{
                  				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_auth_"+username+"\" title=\"" + amazcid +"\2"+ username +"\">Authorize?</a></div>";
               				}

               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_remove_buddy_"+username+"\" title=\"" + amazcid +"\2"+ username +"\" name=\"is_pending\" >Remove Buddy</a></div></div>";
               			break;

               			case "other_contacts":
               				option_content  = "<div class=\"opton-click-wrap\">";
               				option_content += "<div class=\"opton-section\" style=\"text-align:right\">";
               				option_content += "</div>";

	       				var oth_email  = $.getBD("custom_email",username);
	       				option_content += "<div class=\"opton-section\" id=\"option_send_esms_"+username+group+"_link\" style=\"display:none\"><a href=\"#\" id=\"option_send_esms_"+username+group+"\" >Send E-SMS</a></div>";

	       				if(oth_email.length > 0){
	         				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_send_email_"+username+group+"\" name=\""+username+"\">Send Email</a></div>";
					}

               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_invite_othercontact_"+username+group+"\" name=\""+username+"\">Invite via SMS</a></div>";

					if(oth_email.length > 0){
                 				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_emailinvite_othercontact_"+username+group+"\" name=\""+username+"\">Invite via Email</a></div>";
               				}

               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_chatterbox\">My Friends <input id=\"option_add_to_chatter_"+username+group+"\"  type=\"checkbox\" value=\"1\" "+checked_me+" /></a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_add_to_grp_"+username+group+"\" >Other Groups</a></div>";
              	 			option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_buddy_profile_"+username+group+"\" >Profile</a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_remove_buddy_"+username+group+"\" title=\"" + amazcid +"\2"+ username +"\" name=\"with_group\" >Remove Buddy</a></div></div>";

               			break;

               			case "with_group":

               				option_content  = "<div class=\"opton-click-wrap\">";
               				option_content += "<div class=\"opton-section\" style=\"text-align:right\">";
               				option_content += "</div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_send_em_"+username+group+"\" >Send message</a></div>";
               				option_content += "<div class='opton-section'><a href='#' id='option_send_pic_"+username+group+"'>Send Picture</a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_send_email_"+username+group+"\" name=\""+username+"\">Send Email</a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_group_chat_"+username+group+"\" name=\""+username+"\">Group Chat</a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_chatterbox\">My Friends <input id=\"option_add_to_chatter_"+username+group+"\"  type=\"checkbox\" value=\"1\" "+checked_me+" /></a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_add_to_grp_"+username+group+"\" >Other Groups</a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_buddy_profile_"+username+group+"\" >Profile</a></div>";
               				option_content += "<div class=\"opton-section\"><a href=\"#\" id=\"option_remove_buddy_"+username+group+"\" title=\"" + amazcid +"\2"+ username +"\" name=\"with_group\" >Remove Buddy</a></div></div>";

               			break;

               			default:
               				option_content  ="";
            		}

            		apnd_content = "<a style='z-index:1' id='b_option_"+username+group+"' name='"+username+group+"' class='for_option' href='#'></a><div id='option_"+username+group+"' style='position:absolute;z-index:2' class='option_class' name='"+username+group+"'>"+option_content+"</div>";

            		return apnd_content;
         	}
      	}
  });




   $.fn.sort = function() {
      return this.pushStack( [].sort.apply( this, arguments ), []);
   };



   $.extend({
      sortAlpha: function(a,b){
         return a.innerHTML > b.innerHTML ? 1 : -1;
      }
   });


  $.extend({
      	buddyLinkCreate: function(username,group){
         	var group = $.trim(group);
         	var option_content;
         	var apnd_content = "";
         	var icon;
         	var n = (group) ? "new_" : "";
         	group_ref = group.replace(/\ /g,"___");

         	var full_name	    = $.getBD("order_name",username);
         	var msg_stat_full  	= $.getBD("msg_stat",username);
         	var abm	    		= $.getBD("abm",username);
         	var amazcid	    	= $.getBD("amazcid",username);
         	var status	    	= $.getBD("status",username);
         	var auth	    	= $.getBD("auth",username);

         	var z       		= (status=="offline") ? "z" : "";
         	var is_what 		= (status=="offline") ? "" : "_is_online";

         	msg_stat = msg_stat_full.substr(0, 18);
         	icon = $.getStatusIcon(status);

         	icon 		= "<img src=\""+icon+"\" align=\"left\" id=\"icon_"+username+group_ref+"\">";
         	msg_stat 	= "<span id=\"status_msg_"+username+group_ref+"\" class=\"status_msg\">"+msg_stat+"</span>";


			// LIST NG MGA BUDDIES
			apnd_content += "<li class='mmsgr-hli-bground' id='buddylist_container_"+username+group_ref+"' name='"+amazcid+"'>";
			apnd_content += "<div class='abuddies-warp p4'>";
			apnd_content += "<span style='display:none' class='a_hidden_sort'>"+z+full_name.toUpperCase()+"</span>";
			apnd_content += "<p class='pad-top6'>";
			apnd_content += "<a href='#' class='click_buddy' id='"+ username+group_ref +"' title='"+msg_stat_full+"' name='"+username+"'>"+ icon;
			apnd_content += "<span class='buddy'>"+ full_name + "</span>";
			apnd_content += "<br/>";
			apnd_content += "<span class='buddy-list-statmsg'>"+ msg_stat +"</span></a>";
			apnd_content += "</p>";
			apnd_content += "</div>";
			apnd_content += "<div class='abuddies-icon'>";


         	// All Buddies
         	if(auth=="yes"  && status.length>0 && group=="" && $("#buddylist_container_"+username).length==0){
				apnd_content += $.optionContent("buddy", username, "");
				apnd_content += "</div></li>";

				$('#buddylist_pane').append(apnd_content);

					//Sort
					if(window.sort_start == 1){
						$('#buddylist_pane li').sort($.sortAlpha).appendTo('#buddylist_pane');
						$.refreshBuddyCount();
					}

         	}else if( group=="chatterbox" && $("#buddylist_container_"+username+"chatterbox").length==0){
				apnd_content += $.optionContent("with_group", username, group);
				apnd_content += "</div></li>";

				$('#buddylist_chatterbox_pane').append(apnd_content);

					// Sort
            		if(window.sort_start == 1){
               			$('#buddylist_chatterbox_pane li').sort($.sortAlpha).appendTo('#buddylist_chatterbox_pane');
               			$.refreshBuddyCount();
            		}

         	}else if( group=="most_frequent"){

				if($("#buddylist_container_"+username+group).length!=0){
					return false;
				}

				apnd_content += $.optionContent("with_group", username, group);
				apnd_content += "</div></li>";

				$('#buddylist_most_frequent_pane').append(apnd_content);

            		//Sort
            		if(window.sort_start == 1){
               			$('#buddylist_most_frequent_pane li').sort($.sortAlpha).appendTo('#buddylist_most_frequent_pane');
               			$.refreshBuddyCount();

               			//$.cookie("most_frequent", "", { expires: 365 });
               			$.setMostFrequent(username);
            		}

         	}else if( group=="other_contacts"){
				apnd_content += $.optionContent("other_contacts", username, group);
				apnd_content += "</div></li>";

				$('#buddylist_other_contacts_pane').append(apnd_content);

					//Sort
					if(window.sort_start == 1){
						$('#buddylist_other_contacts_pane li').sort($.sortAlpha).appendTo('#buddylist_other_contacts_pane');
						$.refreshBuddyCount();
					}

         	}else if(group=="" && $("#buddylist_container_"+username).length==0){

         			// PENDING BUDDIES

            		icon = "images/status-icon03.png";
            		icon = "<img src=\""+icon+"\"  align=\"left\" id=\"pen_icon_"+username+"\">";

            		apnd_content = "<li class='mmsgr-hli-bground' id=\"buddylist_container_"+username+group+"\" name=\"" + amazcid +"\">";
            		apnd_content += "<div class=\"abuddies-warp p4\"><span style=\"display:none\" class=\"a_hidden_sort\">"+ z+username.toUpperCase() +"</span>";
            		apnd_content += "<a href=\"#\" class=\"click_buddy\" id=\"pen_"+username+group+"\" ";
            		apnd_content += "title=\""+msg_stat_full+"\" name=\""+username+"\">";
            		apnd_content += icon+" "+username +"</b><br /><span class=\"buddy-list-statmsg\">"+msg_stat+"</span></a></div>";
            		apnd_content += "<div class=\"abuddies-icon\">";
            		//<a href='#'><img src='images/arrow-ddown.png' alt='' title='' class='marg-img-abuddies'></a></div>";

            		apnd_content += $.optionContent("pending", username, "");
            		apnd_content += "</div></li>";

					$('#buddylist_pending_pane').append(apnd_content);

            		//Sort
            		if(window.sort_start == 1){
               			$('#buddylist_pending_pane li').sort($.sortAlpha).appendTo('#buddylist_pending_pane');
               			$.refreshBuddyCount();
            		}

         	}else if(group!="" && group!="chatterbox"  && $("#buddylist_container_"+username+group_ref).length==0){

            		var display_group = group;
            		var group_title   = group;

            		//GroupList
            		if($.inArray(group,window.buddy_grouplist)==-1)
            			buddy_grouplist.push(group);

            		group = group.replace(/\ /g,"___");

            		//Group Translation
            		if(translate_group[group]){
               			group = translate_group[group];

               			if($("#buddylist_container_"+username+group).length!=0){
                  			return false;
               			}

            		}else{
               			translate_group[group] = group;
            		}




            //Creation of Group Rosters
            if($("#new_buddylist_"+group+"_pane").length == 0){



				var new_group = "<div class=\"wrapper\" id=\"new_group_"+group+"_div\">";
                    new_group += "<ul class=\"all-buddies\">";
                    new_group += "<li class=\"msg-header group-option-arrow\">";
                    new_group += "<div class=\"abuddies-warp\">";
                    new_group += "<a id=\"new_buddylist_"+group+"_pane_toggle\" href=\"#\" title=\""+group_title+"\" class=\"online_buddy\">";
                    new_group += "<img id='img_plus' class=\"img_plus\" src=\"images/plus-icon.png\" align=\"left\">";
                    new_group += "<img id='img_minus' class=\"img_minus\" src=\"images/minus-icon.png\" align=\"left\" style=\"display:none\">";
                    new_group += "<span id=\""+group+"_temp_name\">"+display_group+"</span> (<span id=\"new_buddylist_"+group+"_pane_cnt_span\">0</span>)</a>";
                    new_group += "</div>";

					new_group += "<div class=\"abuddies-icon\">";
					new_group += "<a class=\"group-option-"+group+"\" name=\""+group+"\"><img src=\"images/arrow-ddown.png\" class=\"marg-img-abuddies-v2\"></a>";


					new_group += "<div id=\"group-option-container-"+group+"\" class=\"option-gchat-v2\" style=\"display:none\"></div>";
					new_group += "</div>";
					new_group += "</li>";
					new_group += "</ul>";
					new_group += "</div>";
					new_group += "<div class=\"mmsgr-csection\">";
					new_group += "<ul id=\"new_buddylist_"+group+"_pane\" style=\"display:none\"></ul></div>";

					//Append to buddylist main pane.
                	$("#all_buddies_pane").append(new_group);


                	$("#new_buddylist_"+group+"_pane_toggle").click(function(){
                  		var search_key = $('#search_buddy').val();

							if($.trim(search_key).length<1){
                     			var igroup = $(this).attr("title");

                     			igroup = igroup.replace(/\ /g,"___");
                     			$("#new_buddylist_"+igroup+"_pane").toggle();
                     			$("#new_buddylist_"+igroup+"_pane_toggle img").toggle();
                     			$('#new_buddylist_'+igroup+'_pane li').sort($.sortAlpha).appendTo('#new_buddylist_'+igroup+'_pane');
                  			}
               		});



               		$("a.group-option-"+group).click(function(){
						var which_group = $(this).attr("name");

						// alert("na click yung triangle, buset ka IE. ever...");
						$.menuGroup(which_group);
						// START menu offset
				     	/*	var menutop = ($("#group-option-container-" + which_group).position()).top;
				     		var menuHeight = 180;
				     		var windowHeight = $(window).height();
				     		var menuOffset = (menutop + menuHeight);

				     		if(menuOffset > windowHeight){
				     			$("#group-option-container-"+which_group).css("top", menutop - ((menutop + menuHeight) - windowHeight));
				     		} */
						// END menu offset


                  		return false;
               		});

            }

            apnd_content += $.optionContent("with_group", username, group);
            $("#new_buddylist_"+group+"_pane").append(apnd_content);

            if(window.sort_start == 1 && window.sort_group[group]!= 1){ // modified by paulg 20091124
               //Sort
               $("#new_buddylist_"+group+"_pane li").sort($.sortAlpha).appendTo("#new_buddylist_"+group+"_pane");
               $.refreshBuddyCount();
            }


         }else{

            return false;
         }



		// PAG CLICKED YUNG BUDDY
         $("a#"+username+group).click(function(event){
            $("a#b_option_"+username+group).trigger("click");
            var checked_me = ($.isChatter(username)==1) ? "checked" : "";
            $("#option_add_to_chatter_"+username+group).attr("checked", checked_me);
         });


         $("a#pen_"+username+group).click(function(event){
            $("a#b_option_"+username+group).trigger("click");
         });


         $("#option_"+username+group).hide();

		 // DITO NILALABAS YUNG MENU
         $("a#b_option_"+username+group).click(function(event){

         	$("div.option_class").css("display", "none");

         	//alert(document.body.clientHeight);


         	var uname    = $(this).attr("name");

            $("#option_"+uname).show();

            // START menu offset
         		var menutop = ($("#option_"+uname).position()).top;
         		var menuHeight = 244;
         		var windowHeight = $(window).height();
         		var menuOffset = (menutop + menuHeight);

         		if(menuOffset > windowHeight){
         			$("#option_"+uname).css("top", menutop - ((menutop + menuHeight) - windowHeight));
         		}
         	// END menu offset


            $("#chat_box_pane").css("z-index", "0");


				/* Show/hide esms*/
				if(group == "other_contacts"){
					var sprefixes = window.smart_prefixes.split(",");
					var oth_msisdn = $.getBD("mobile",username);

               		oth_msisdn = oth_msisdn.substr(0,5);

               		$.each(sprefixes, function(i, n){
               			if(oth_msisdn == n){
							$("#option_send_esms_"+username+group+"_link").show();
							return false;
              			}
               		});
				}
         });



  $("#option_send_em_"+username+group).click(function(){
        var uname    = $("a#"+username+group).attr("name");

	if($("#tojid").val()!=uname){
         	$.blurTab($("#tojid").val());
               	$.activeTab(uname);
        }else{
               	//Blink tab
               	$("#wholetab_"+uname).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
        }

	$("#tojid").val(uname);
        $.tabInstance("chat", uname, "", 0, status,"");

        if($.countExistingTabs()<1){
               	$("#chat_box_pane_ele1").css("display","none");
               	$("#chat_box_pane_ele2").css("display","none");
        }

        $.whichWindowToOpen("single_chat");
        $("#chat_box_pane").css("z-index", "0");
        $("div.option_class").css("display", "none");
        $("textarea#message").focus();
  });



	$("#option_send_pic_"+username+group).click(function(){
		$.popPicShare(username);
	});


         $("#option_send_esms_"+username+group).click(function(){
            var uname    = $(this).attr("name");
            uname = "__esms__" + uname;
            if($("#tojid").val()!= uname){
               $.blurTab($("#tojid").val());
               $.activeTab(uname);
            }else{
               //Blink tab
               $("#wholetab_"+uname).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
            }
            $("#tojid").val(uname);
            $.tabInstance("esms", username, "", 0, status,"");

            $.whichWindowToOpen("single_chat");
            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");
            $("textarea#message").focus();
         });



         $("#option_send_email_"+username+group).click(function(){
            var uname    = $(this).attr("name");
            uname = "__email__" + uname;


            if($("#tojid").val()!= uname){
               $.blurTab($("#tojid").val());
               $.activeTab(uname);
            }else{
               //Blink tab
               $("#wholetab_"+uname).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
            }

            $("#tojid").val(uname);
            $.tabInstance("email", username, "", 0, status,"");

            $.whichWindowToOpen("single_chat");
            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");
            $("textarea#message").focus();

         });

         $("#option_send_contacts_"+username+group).click(function(){
            var uname    = $(this).attr("name");
            //uname = "__email__" + uname;
            $.popSendContacts(uname);

         });


         $("#option_invite_othercontact_"+username+group).click(function(){
            var targets_min      = $.getBD("mobile", username);
            var targets_full_name   = $.getBD("order_name",username);
            var my_username         = $.getBD("order_name",window.autoUser);
            var my_min              = window.user_details_msisdn;

            var id_long      = Math.floor(Math.random()*100000);
            var id_short     = Math.floor(Math.random()*10);

            var txtmsg = "Hi "+ targets_full_name +" , " + my_username + " invites you to enjoy unlimited chatting with Uzzap. FREE to download & use at http://uzzap.com/download";
            var amaz_msg_id  = my_username + "_" + id_long + "_" + id_short;
                amaz_msg_id  = amaz_msg_id.replace(/&nbsp;/g, " ");

            $("div.option_class").css("display", "none");

            $.sendInviteFriend(amaz_msg_id,targets_min,my_min,txtmsg);
            alert ('An invitation was sent to ' + targets_full_name + ' to join uzzap.');
         });

         $("#option_emailinvite_othercontact_"+username+group).click(function(){
            var target_email      = $.getBD("custom_email", username);
            var target_fname   = $.getBD("order_name",username);
            var my_username         = $.getBD("order_name",window.autoUser);
            var my_email              = window.autoUser;

            var id_long      = Math.floor(Math.random()*100000);
            var id_short     = Math.floor(Math.random()*10);

            var txtmsg = "Hi "+ target_fname +" , " + my_username + " invites you to enjoy unlimited chatting with Uzzap. FREE to download & use at http://uzzap.com/download";
            var amaz_msg_id  = my_email + "_" + id_long + "_" + id_short;
                amaz_msg_id  = amaz_msg_id.replace(/&nbsp;/g, " ");

            $("div.option_class").css("display", "none");

            $.sendInviteEmail(amaz_msg_id,target_email,my_email,txtmsg);
            alert ('An email invitation was sent to ' + target_fname + ' to join uzzap.');
         });

         //dito
         $("#option_group_chat_"+username+group).click(function(){

            var uname    = $(this).attr("name");
            $.blurTab($("#tojid").val());
            $.popChatMembers(uname, "");
            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");
            $("textarea#message").focus();
         });


         $("#option_add_to_grp_"+username+group).click(function(){
            $.popAddToGroup(username);
            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");
         });

         //Bind functions to "Add as a Friend"
         $("#option_add_to_chatter_"+username+group).click(function(){

            if($("#option_add_to_chatter_"+username+group+":checked").val()!=null){
               $.addToChatter(username);
               $("#chat_box_pane").css("z-index", "0");
               $("div.option_class").css("display", "none");
            }else{
               $.removeFromChatter(username);
               $("#chat_box_pane").css("z-index", "0");
               $("div.option_class").css("display", "none");
            }
         });

         $("#option_buddy_profile_"+username+group).click(function(){
            $.popViewProfile(username);
            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");
         });

         $("#option_req_to_auth_"+username).click(function(){
            var id_long     = Math.floor(Math.random()*100000);
            var id_short    = Math.floor(Math.random()*10);
            var amaz_msg_id    = window.autoUser + "_" + id_long + "_" + id_short;
            var text        = "";
            $.sendInviteReq(username, username, username + "@demo.kolipri.com", window.autoUser, amaz_msg_id, text);
            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");
            alert("Request to authorize sent.");
         });


         $("#option_auth_"+username).click(function(){
            var del_attr    = $(this).attr("title");
            del_attr = del_attr.split(del2);
            var amazcid     = del_attr[0];
            var uname       = del_attr[1];
            $.approveBuddy(uname, "yes",amazcid);
            //alert("You have authorized "+uname+ ".");
         });


         $("#option_remove_buddy_"+username+group).click(function(){

            var which_group    = $(this).attr("name");
            var del_attr    = $(this).attr("title");
            del_attr = del_attr.split(del2);
            var amazcid     = del_attr[0];
            var uname       = del_attr[1];
            var full_name = $.getBD("order_name",uname);

            full_name = full_name.replace(/&nbsp;/g," ");

            var del_conf = confirm("Are you sure you want to \nremove buddy '"+full_name+"'?");

            if(del_conf){

               if(amazcid>0)
               $.removeBuddy(amazcid);

               if(which_group!="is_pending"){
                  $("li [name='"+amazcid+"']").remove();
               }else{
                  $("#buddylist_container_"+username+group).remove();
               }

               window.buddy_details_main[uname] = "";
               window.buddy_pending_details_main[uname] = "";
               $.refreshBuddyCount();
            }

            $("#chat_box_pane").css("z-index", "0");
            $("div.option_class").css("display", "none");

         });

      } // End of buddyLinkCreate
   });







   //-------------------------------------------------------------------------------
   //   INCOMING REPLIES FROM THE SERVER



   $.extend({

      received: function(_length, _type, _operation, _packet, _body){
         var received_data = "length: " + _length + "\n" +
         "type: " + _type + "\n" +
         "operation: " + _operation + "\n" +
         "packet: " + _packet + "\n" +
         "body: " + _body + "\n";

         $('#messages').html(received_data);

         $.logMe("trans=incoming&length="+_length+"&type="+_type+"&operation="+_operation+"&packet="+_packet+"&body="+_body);

         switch(_type){

            // 1 - LOGIN
            case '1':

            switch(_operation){
               case '2':

               var msgbody = _body.split(del2);

               if(msgbody[0]==1){
                  $.popConnectionStatus("Logging In", 1);

			// added by paulg 20100128
			var user_info = msgbody[2].split("@demo.kolipri.com", 2);
			window.user_details_uname  = user_info[0];

                  $.reqRosters();

                  // Commented by Chris - changed to showPresence
                  //$.changeProfile("", "", "", "", "freeforchat", "",'');

                  $.showPresence("","freeforchat");



					$('#login_pane').hide();
					$('#sb_login_pane').hide();
					$('#main_pane').show();
					$('#messages').html('');


                  if($("#remember_me:checked").val()==1){
                     $.cookie("login_username", $('#username').val(), { expires: 365 });
                     $.cookie("login_password", $('#passwd').val(), { expires: 365 });
                  }else{
                     $.cookie("login_username", "");
                     $.cookie("login_password", "");
                  }
               }else if(msgbody[1]=="not-validated"){
                  $.popPin();

                  window.login_error = 1;
                  $("#con-wrap").slideUp("fast");
                  $("#con-black_screen").fadeOut("fast");
               }else{

               	  alert($.getNotifMsg(msgbody[1]));
               	  window.close();

               	/*  $("#con-wrap").slideUp("fast");
                  $("#con-black_screen").fadeOut("fast");

                  window.login_error = 1;

                  //$('div.errors-home-logs').show(); //commented by paulg 20091022
		  if(window.ifSandBox==1){
                    $('#sblog_err').show();
                    $('#sblog_err').html($.getNotifMsg(msgbody[1]));
		  }else{
                    $('#log_err').show();
                    $('#log_err').html($.getNotifMsg(msgbody[1]));
		  }
		  */
               }
               break;

               default:
               alert("ops....check login operation");
            }
            break;


            // 2 - MESSAGE ACK
            case '2':

            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);

               if( msgbody[0]==1){
                  if(window.invite_friend_flag == 1){
                     $("#add_buddy_error").html("Invitation Sent.");
                     setTimeout('$.popWiper();', 3000);
                     window.invite_friend_flag = 0;
                  }else{
                     /* $("#out_msg_stat").html("Sent.");
                     setTimeout('$("#out_msg_stat").fadeOut(\'slow\');', 1000); */

                     // change icon back to original image

                     window.pendingmsg = 0;
                     window.setTimeout("$.loadIcon('','','default')",1000);


                  }
               }

               $("#pop_close").trigger("click");
               break;
            }

            break;


            // 5 UPDATE PROFILE/CHANGE PROFILE
            case '5':
            switch(_operation){
               case '2':
               var msgbody  = _body.split(del3);
               if( msgbody[0]==0){
                  if($("#profile_err").length!=0){
                     $("#profile_err").html(msgbody[1]);
                  }

               }else{

                  var order_name;
                  var msgbody  = _body.split(del3);
                  var no_of_buddies = msgbody[0]/1;
                  var buddy =  msgbody[1].split(del2);
                  var buddy_username   = buddy[0];
                  var buddy_status     = buddy[1];
                  var buddy_fname      = buddy[2];
                  var buddy_amazcid    = buddy[3];
                  var buddy_lname      = buddy[4];
                  var buddy_email      = buddy[8];
                  var buddy_msisdn     = buddy[5];
                  var buddy_status_msg = buddy[6];
                  var buddy_nickn      = $.trim(buddy[11]);

                  if(buddy[27] != ""){
                  	$("img#uzzap2-0-avatar-thumb").attr("src", buddy[27]);
                  }

		          window.user_details_uname  = buddy_username;
                  window.user_details_nickn  = buddy_nickn;
                  window.user_details_fname  = buddy_fname;
                  window.user_details_lname  = buddy_lname;
                  window.user_details_email  = buddy_email;
                  window.user_details_msisdn = buddy_msisdn;
                  window.user_details_status = buddy_status;

                  full_name = (buddy_lname && buddy_fname)? buddy_fname +" " + buddy_lname : buddy_username;

                  if(buddy_nickn){
                     order_name = buddy_nickn;
                  }else if(buddy_lname && buddy_fname){
                     order_name = buddy_fname +" " + buddy_lname;
                  }else{
                     order_name = buddy_username;
                  }

                  $("#user_details_name").html(full_name);
                  $("#me_icon").attr("src",  $.getStatusIcon(buddy_status));
                  $("#me_link").attr("title", buddy_status_msg);
                  $("#me_display_name").html(order_name);
                  buddy_status_msg = buddy_status_msg.substr(0, 18);
                  $("#me_status_msg").html(buddy_status_msg);
                  $("#me_status_msg_full").val(buddy_status_msg);
                  $("#profile_err").html("Successful!");
                  $.refreshBuddyCount();

                  if(window.sort_start==0){
                     // Sort
                     $('#buddylist_pane li').sort($.sortAlpha).appendTo('#buddylist_pane');
                     $('#buddylist_chatterbox_pane li').sort($.sortAlpha).appendTo('#buddylist_chatterbox_pane');
                     $('#buddylist_pending_pane li').sort($.sortAlpha).appendTo('#buddylist_pending_pane');

                     window.sort_start = 1 ;
                     //Remove
                     $("#con-wrap").slideUp("fast");
                     $("#con-black_screen").fadeOut("fast");

                     //Most Frequent
                     var mostf = $.cookie("most_frequent");
                     var go;
                     mostf = mostf.split(",");
                     $.each(mostf, function(i){
                        go = 0;

                        $("#buddylist_pane li a.click_buddy ").each(function(){
                           var username   = $(this).attr("name");
                           if(username == mostf[i]){
                              go = 1;
                           }
                        });

                        if(mostf[i].length>0 && go == 1)
                        $.buddyLinkCreate(mostf[i],"most_frequent");

                     });



                  }

               }
               break;

               default:
               alert("error 5....check update profile operation");
            }
            break;


            // 6 - RECIEVING PROFILE
            case '6':
            switch(_operation){
               case '2':
               var msgbody  = _body.split(del3);
               var buddy  = msgbody[1].split(del2);
               var buddy_username = buddy[0];
               var buddy_status   = buddy[1];
               var buddy_fname    = buddy[2];
               var buddy_amazcid  = buddy[3];
               var buddy_lname    = buddy[4];
               var buddy_mobile   = buddy[5];
               var buddy_msg_stat = buddy[6];
               var buddy_auth     = buddy[7];
               var buddy_email    = buddy[8];
               var buddy_abm      = buddy[9];
               var buddy_groups   = buddy[10];
               var buddy_dname    = buddy[11];
               var buddy_loc      = buddy[12];
               var buddy_custom_dname      = buddy[13];
               var buddy_custom_email      = buddy[14];
               var buddy_icon = $.getStatusIcon(buddy_status);


               if($('#buddylist_pending_pane li#buddylist_container_'+buddy_username).length!=0)
               $('#buddylist_pending_pane li#buddylist_container_'+buddy_username).remove();

               if(buddy_username.length >0 &&
               $("#buddylist_container_"+buddy_username).length==0 &&
               buddy_username.match(" ")==null && buddy_mobile.length >0){

                  pending_details = window.buddy_pending_details_main[buddy_username].split("\2");
                  buddy_auth = (pending_details[7]=="yes") ? pending_details[7] : buddy_auth;
                  buddy_amazcid = (buddy_amazcid > 0 ) ? buddy_amazcid : pending_details[3];
                  window.buddy_details_main[buddy_username] = 	buddy_username + '\2'+
                  buddy_status +'\2'+
                  buddy_fname +'\2'+
                  buddy_amazcid +'\2'+
                  buddy_lname +'\2'+
                  buddy_mobile +'\2'+
                  buddy_msg_stat +'\2'+
                  buddy_auth +'\2'+
                  buddy_email +'\2'+
                  buddy_abm +'\2'+
                  buddy_groups +'\2'+
                  buddy_dname +'\2'+
                  buddy_loc +'\2'+
                  buddy_custom_dname +'\2'+
                  buddy_custom_email;

                  if(pending_details[3]>0){
                     $.buddyLinkCreate(buddy_username, "");

                     if(buddy_auth=="" && buddy_status!="")
                     window.buddylist_for_group.push(buddy_username);
                  }
               }else{
                  var old_amazcid = $.getBD("amazcid", buddy_username);
                  var old_mobile  = $.getBD("mobile", buddy_username);
                  var old_auth    = $.getBD("auth", buddy_username);
                  var old_groups  = $.getBD("groups", buddy_username);

                  if(old_amazcid>0 && old_auth=="yes"){
			if(buddy_username!=window.user_details_uname){
                     window.buddy_details_main[buddy_username] =     buddy_username + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     old_amazcid+'\2'+
                     buddy_lname +'\2'+
                     buddy_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     old_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     old_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email;
			}
                  }

               }

               var msg_stat = buddy_msg_stat.substr(0, 18);
               var full_name     = $.getBD("order_name",buddy_username);
               var z       = (buddy_status=="offline") ? "z" : "";

               $("img#icon_"+buddy_username).attr("src", buddy_icon);
               $("img#tab_icon_"+buddy_username).attr("src", buddy_icon);
               $("div#tab_"+buddy_username+" span").html(full_name);
               $("span#status_msg_"+buddy_username).html(msg_stat);
               $("a#"+buddy_username).attr("title",buddy_msg_stat);
               $("a#"+buddy_username+" span.buddy").html(full_name);
               var groups = $.getBD("groups",buddy_username);
               groups = groups.split(",");

               $.each(groups, function(i){

                  group_ref = groups[i].replace(/\ /g,"___");
                  $("img#icon_"+buddy_username+group_ref).attr("src", buddy_icon);
                  $("span#status_msg_"+buddy_username+group_ref).html(msg_stat);
                  $("a#"+buddy_username+group_ref).attr("title",buddy_msg_stat);
                  $("a#"+buddy_username+group_ref+" span.buddy").html(full_name);

                  $("#buddylist_container_"+buddy_username+group_ref+" span.a_hidden_sort").html(z + full_name.toUpperCase());

               });

               $("#buddylist_container_"+buddy_username+" span.a_hidden_sort").html(z + full_name.toUpperCase());
               if(window.sort_start==1)
               $('#buddylist_pane li').sort($.sortAlpha).appendTo('#buddylist_pane');

               if(buddy_custom_email.length > 0)
               window.buddy_email_from[buddy_custom_email] = buddy_username;

               $.refreshBuddyCount();


               break;

               default:
               alert("error 6");

            }
            break;


            // 7 - REGISTRATION
            case '7':

            switch(_operation){
              case '2':
                var _bodyS = _body.split(del2);
		var regusername;
                var regmsisdn;
                var regpwd;

		if(window.ifSandBox==1){
                	regusername   = $("#sbregusername").val();
                	regmsisdn     = $("#sbregmsisdn").val();
			regpwd        = $("#sbregpwd").val();
		}else{
			regusername   = $("#regusername").val();
                	regmsisdn     = $("#regmsisdn").val();
                	regpwd        = $("#regpwd").val();
		}

	        $("#con-wrap").slideUp("fast");
                $("#con-black_screen").fadeOut("fast");

                if(_bodyS[0]==0){
                  var err = _bodyS[1];

                  if(err=='register-invalid-pin'){
                    $.cookie("new_msisdn", regmsisdn, { expires: 365 });

		    //window.new_msisdn = regmsisdn; // inserted by paulg 20091117
		    // inserted by paulg 20091111 - setting up variables for login
		    if(window.ifSandBox==1){
		        $("#sbusername").val(regusername);
		        $("#sbpasswd").val(regpwd);
		    }else{
			$("#username").val(regusername);
                        $("#passwd").val(regpwd);
		    }

		    //alert();
                    //$.popPin();
                    $.loginNewReg(); //commented by paulg 20091111
	            //$.login();

                    //$.cookie("new_msisdn", regmsisdn, { expires: 365 });
                  }else{
		    //window.reg_error = 1;
                    errval = $.getNotifMsg(err);
                    $('#reg-status').html('<div class="front-status">' + errval + '</div>');
                  }
               }

               break;

               default:
            }
            break;



            // 8 - ROSTER
            case '8':
            switch(_operation){

               case '2':
               var msgbody  = _body.split(del3);
               var no_of_buddies = msgbody[0]/1;
               var i = 0;
               var x = 0;
               var to_add_buddy;

               for(i=1; i<=no_of_buddies; i++){

                  var buddy =  msgbody[i].split(del2);

                  var buddy_username      = buddy[0];
                  var buddy_status        = buddy[1];
                  var buddy_fname         = buddy[2];
                  var buddy_amazcid       = buddy[3];
                  var buddy_lname         = buddy[4];
                  var buddy_mobile        = buddy[5];
                  var buddy_msg_stat      = buddy[6];
                  var buddy_auth          = buddy[7];
                  var buddy_email         = buddy[8];
                  var buddy_abm           = buddy[9];
                  var buddy_groups        = buddy[10];
                  var buddy_dname         = buddy[11];
                  var buddy_loc           = buddy[12];
                  var buddy_custom_dname  = buddy[13];
                  var buddy_custom_email  = buddy[14];
                  var buddy_custom_mobile  = buddy[15];

                  var to_add_buddy;
                  var group;

                  if(buddy_username.length >0 && buddy_username!="undefined" && buddy_username.match(" ")==null){

                     window.buddy_details_main[buddy_username] = msgbody[i];
                     window.buddy_pending_details_main[buddy_username] = msgbody[i];

                     if(buddy_email.length > 0)
                       window.buddy_email_from[buddy_email] = buddy_username;

                     if(buddy_custom_email.length > 0)
                       window.buddy_email_from[buddy_custom_email] = buddy_username;

                     $.buddyLinkCreate(buddy_username, "");

                     if(window.offline_msg[buddy_username]!=undefined){

                        var offline_msg_details = window.offline_msg[buddy_username].split(del4);
                        var o;

                        if(offline_msg_details.length>0 && offline_msg_details.length!="undefined"){
                           for(o=0; o<=(offline_msg_details.length-1); o++){
                              var off_det =  offline_msg_details[o];
                              off_det     = off_det.split(del5);
                              if(off_det[0]!=undefined && off_det[1]!=undefined && off_det[2].length > 0){
                                 $.received(1, off_det[0], off_det[1], 1, off_det[2]);
                              }
                           }
                        }
                     }

                     group = buddy_groups.split(",");
                     if(group.length>0 && group.length!="undefined"){
                        for(x=0; x<=(group.length-1); x++){
                           if(group[x]!= "undefined" && group[x]!="" ){
                              $.buddyLinkCreate(buddy_username, group[x]);
                           }
                        }
                     }

                  }else if(buddy_custom_mobile.length>0) {
                     // inserted by paulg 20100127
                     window.buddy_details_main[buddy_custom_mobile] =  buddy_amazcid + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     buddy_amazcid +'\2'+
                     buddy_lname +'\2'+
                     buddy_custom_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     buddy_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     buddy_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email+'\2'+
                     buddy_custom_mobile;

                     if(buddy_custom_email.length > 0){
                        window.buddy_email_from[buddy_custom_email] = buddy_amazcid;
                     }

                     $.buddyLinkCreate(buddy_custom_mobile, "other_contacts");

                }else{
                     window.buddy_details_main[buddy_amazcid] =  buddy_amazcid + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     buddy_amazcid +'\2'+
                     buddy_lname +'\2'+
                     buddy_custom_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     buddy_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     buddy_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email+'\2'+
                     buddy_custom_mobile;

                     if(buddy_custom_email.length > 0){
                        window.buddy_email_from[buddy_custom_email] = buddy_amazcid;
                     }

                     if(buddy_custom_mobile.length>0)
                     $.buddyLinkCreate(buddy_amazcid, "other_contacts");

                  }
               }


               break;

               default:
               alert("error 8: check roster operation");
            }

            break;


            // 9 - ADD BUDDY
            case '9':
            switch(_operation){
               case '2':

               var msgbody             = _body.split(del3);
               var buddy               = msgbody[1].split(del2);
               var buddy_username      = buddy[0];
               var buddy_status        = buddy[1];
               var buddy_fname         = buddy[2];
               var buddy_amazcid       = buddy[3];
               var buddy_lname         = buddy[4];
               var buddy_mobile        = buddy[5];
               var buddy_msg_stat      = buddy[6];
               var buddy_auth          = buddy[7];
               var buddy_email         = buddy[8];
               var buddy_abm           = buddy[9];
               var buddy_groups        = buddy[10];
               var buddy_dname         = buddy[11];
               var buddy_loc           = buddy[12];
               var buddy_custom_dname  = buddy[13];
               var buddy_custom_email  = buddy[14];
               var buddy_custom_mobile  = buddy[15];

               if(buddy_username.length >0){

                  if(buddy_auth=="yes" && buddy_mobile){
                     pending_details = window.buddy_pending_details_main[buddy_username].split("\2");
                     buddy_amazcid = (buddy_amazcid > 0 ) ? buddy_amazcid : pending_details[3];
                     window.buddy_details_main[buddy_username] =  buddy_username + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     buddy_amazcid +'\2'+
                     buddy_lname +'\2'+
                     buddy_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     buddy_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     buddy_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email+'\2'+
                     buddy_custom_mobile;

                     $("#pop_close").trigger("click");

                  }else{
                     window.buddy_details_main[buddy_username] = msgbody[1];
                  }

                  window.buddy_pending_details_main[buddy_username] = msgbody[1];

                  if(buddy_email.length > 0)
                  window.buddy_email_from[buddy_email] = buddy_username;

                  if(buddy_custom_email.length > 0)
                  window.buddy_email_from[buddy_custom_email] = buddy_username;

                  if(buddy_status!="")
                  window.buddylist_for_group.push(buddy_username);

                  $.buddyLinkCreate(buddy_username, "");
                  $.changeProfile("", "", "", "", window.user_details_status, "",'');

                  if(buddy_auth=="yes"){
                     var err_msg = $.getNotifMsg("successful-add-user");

                     $("#add_buddy_error").html(err_msg);
                     $("#add_buddy_btn").hide();
                  }
               }else{

                  //For other contacts.
                  if(buddy_custom_mobile.length>0){

                     window.buddy_details_main[buddy_amazcid] =   buddy_amazcid + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     buddy_amazcid +'\2'+
                     buddy_lname +'\2'+
                     buddy_custom_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     buddy_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     buddy_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email +'\2'+
                     buddy_custom_mobile;

                     $("#pop_close").trigger("click");
                     $.buddyLinkCreate(buddy_amazcid, "other_contacts");
                  }

               }

               break;

               default:
               alert("error 9: check add buddy operation");
            }

            break;

            // 10 - DELETE BUDDY
            case '10':
            switch(_operation){
               case '2':
               $.refreshBuddyCount();
               break;

               default:
               alert("error 10....check delete buddy operation");
            }
            break;


            case '11':
            switch(_operation){
               case '2':

               var msgbody = _body.split(del2);

               if(msgbody[0]==0){

               }else{

                  var msgbody = _body.split(del3);
                  var buddy   = msgbody[1].split(del2);
                  var apnd_content        = "";
                  var cnt_buddies         = $("#buddylist_pane_cnt").val()/1;
                  var cnt_buddies_pending = $("#buddylist_pending_pane_cnt").val()/1;

                  var buddy_username = buddy[0];
                  var buddy_status   = buddy[1];
                  var buddy_icon          = $.getStatusIcon(buddy_status);
                  var buddy_fname    = buddy[2];
                  var buddy_amazcid  = buddy[3];
                  var buddy_lname    = buddy[4];
                  var buddy_mobile   = buddy[5];
                  var buddy_msg_stat = buddy[6];
                  var buddy_auth     = buddy[7];
                  var buddy_email    = buddy[8];
                  var buddy_abm      = buddy[9];
                  var buddy_groups   = buddy[10];
                  var buddy_custom_dname  = buddy[13];
                  var buddy_custom_email = buddy[14];
                  var buddy_custom_mobile = buddy[15];



                  if($("#buddylist_container_"+buddy_username).length>0)
                     window.buddy_details_main[buddy_username] = msgbody[1];

                  if($('#buddylist_pending_pane li#buddylist_container_'+buddy_username).length!=0){
                     $('#buddylist_pending_pane li#buddylist_container_'+buddy_username).remove();
                  }

                  if(buddy_username.length >0 && $("#buddylist_container_"+buddy_username).length==0 && buddy_username.match(" ")==null){

                     if(buddy_status!="")
                        window.buddylist_for_group.push(buddy_username);

                     window.buddy_details_main[buddy_username] = msgbody[1];
                     $.buddyLinkCreate(buddy_username, "");
                  }else{
                    window.buddy_details_main[buddy_amazcid] =   buddy_amazcid + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     buddy_amazcid +'\2'+
                     buddy_lname +'\2'+
                     buddy_custom_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     buddy_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     buddy_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email +'\2'+
                     buddy_custom_mobile;
                  }

                  var msg_stat   = buddy_msg_stat.substr(0, 18);
                  var full_name  = $.getBD("order_name",buddy_username);

                  if(buddy_custom_dname.length>0 && buddy_custom_dname!=undefined){
                     full_name = buddy_custom_dname;
                  }

                  var z = (buddy_status=="offline") ? "z" : "";

                  if(buddy_username == ""){
                     buddy_username = buddy[3];
                  }

                  $("img#icon_"+buddy_username).attr("src", buddy_icon);
                  $("img#tab_icon_"+buddy_username).attr("src", buddy_icon);
                  $("span#status_msg_"+buddy_username).html(msg_stat);
                  $("a#"+buddy_username).attr("title",buddy_msg_stat);

                  $("a#"+buddy_username+" span.buddy").html(full_name);
                  $("a#"+buddy_username+"other_contacts span.buddy").html(full_name);

                  var groups = $.getBD("groups",buddy_username);

                  groups = groups.split(",");

                  $.each(groups, function(i){
                     group_ref = groups[i].replace(/\ /g,"___");
                     $("img#icon_"+buddy_username+group_ref).attr("src", buddy_icon);
                     $("span#status_msg_"+buddy_username+group_ref).html(msg_stat);
                     $("a#"+buddy_username+group_ref).attr("title",buddy_msg_stat);
                     $("a#"+buddy_username+group_ref+" span.buddy").html(full_name);
                     $("#buddylist_container_"+buddy_username+group_ref+" span.a_hidden_sort").html(z + full_name.toUpperCase());
                     $("#new_buddylist_"+group_ref+"_pane li").sort($.sortAlpha).appendTo("#new_buddylist_"+group_ref+"_pane");
                  });

                  $("#buddylist_container_"+buddy_username+" span.a_hidden_sort").html(z+full_name.toUpperCase());
                  $('#buddylist_pane li').sort($.sortAlpha).appendTo('#buddylist_pane');

                  if(buddy_custom_email.length > 0)
                  window.buddy_email_from[buddy_custom_email] = buddy_amazcid;

		  $("#profile_err").html("Successful!");
               }
               break;



               default:
               alert("error 11....check delete buddy operation");
            }
            break;


            // 12 - PING
            case '12':
            switch(_operation){
               case '1':

                  $.ping(_packet);
               break;

               default:
               alert("error 10....check delete buddy operation");
            }
            break;



            // 13 - LOGOUT
            case '13':
            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);

               if( msgbody[0]==1){
                  $("#black_screen").css("display","");
                  $("#black_screen").css("z-index","10");
                  window.location = "index.php";

               }else{
                  $.logout();
               }
               break;

               default:
               alert("error 13....check logout operation");
            }
            break;

            // 15 - PRE-REGISTRATION
            case '15':
            switch(_operation){
              case '2':

	      $("#con-wrap").slideUp("fast");
              $("#con-black_screen").fadeOut("fast");

              var _bodyS = _body.split(del2);
              var err = 0;

              if(_bodyS[0]==0){
                var err = _bodyS[1];
                var ico_err = "<img src='images/error-icon.png' alt='' title=''>&nbsp;";

                errval = $.getNotifMsg(err);

		if(window.ifSandBox==1){
			$('#sb-pre-reg-status').html(ico_err+errval);
		}else{
                	$('#pre-reg-status').html(ico_err+errval);
		}
		window.reg_error = 1;

              }else{
                var username = _bodyS[2];
                var msisdn = _bodyS[3];
                var question;

		if(window.ifSandBox==1){
			question = '<select id="sbregques"><option value="' +
                  _bodyS[4] + '">' + _bodyS[4] + '</option><option value="' +
                  _bodyS[5] + '">' + _bodyS[5] + '</option><option value="' +
                  _bodyS[6] + '">' + _bodyS[6] + '</option></select>';
			$.frmSBReg(username, msisdn, question);
		}else{
			question = '<select id="regques"><option value="' +
                  _bodyS[4] + '">' + _bodyS[4] + '</option><option value="' +
                  _bodyS[5] + '">' + _bodyS[5] + '</option><option value="' +
                  _bodyS[6] + '">' + _bodyS[6] + '</option></select>';
                	$.frmReg(username, msisdn, question);
		}

/*
                $("#regusername").get(0).value = _bodyS[2];
                $("#regmsisdn").get(0).value = _bodyS[3];
                $("#regques-div").html('<select id="regq"><option value="' +
                  _bodyS[4] + '">' + _bodyS[4] + '</option><option value="' +
                  _bodyS[5] + '">' + _bodyS[5] + '</option><option value="' +
                  _bodyS[6] + '">' + _bodyS[6] + '</option></select>');
*/
              }
              break;

              default:
                alert("Error 15: check pre-reg operation");
            }

            break;


			// 16 - PRE-Registration LOGIN
			case '16':
				switch(_operation){
					case '2':
						if(window.ifSandBox==1){
							$.SBpreRegister();
						}else{
							$.preRegister();
						}
					break;

					default:
						alert("Error 16: check pre-reg login operation");
				}
			break;





            // 17 - INCOMING MESSAGES
            case '17':
            	switch(_operation){
               		case '1':

               			var msgbody       = _body.split(del2);
               			var text          = msgbody[0];
               			var username      = msgbody[3];

               			if(window.offline_msg[username]==undefined){
                  			window.offline_msg[username] = "";
               			}


               			var display_name = $.getBDContacts("order_name",username);
               			var rand_id_long = Math.floor(Math.random()*100000);


						if(display_name.length>0 && display_name!=undefined && display_name!=false){

							text = text.replace(/(<|>)|(\[|\])/g,"");
               	  			text = text.replace(/&lt;/g,"<");
               	  			text = text.replace(/&gt;/g,">");
                  			text = $.smileMsg(text);
              				text = $.colorMsg(text); //inserted by paulg 20091118

								if(msgbody[7] != undefined){

									if(msgbody[7].length>0){
										text += "<br /><span style=\"color:#07C;\">"+"To: " + msgbody[7] + " <input id='r_"+rand_id_long
										+"' type='button' value='Reply all' name='"+msgbody[7]+"' style='font-size:9px'/></span>";
									}
								}

                 			text = "<li><span style=\"float:left;color:#07C;\"><b>" + display_name + "</b></span>" + "<span style=\"float:right;color:#777;\">" + getTimeStamp() + "</span><br><p>" + text + "</p><div class=\"chatline\">&nbsp;</div><br></li>";

                  			$.whichWindowToOpen("single_chat");


                  			//If chatting with invitor
                  			if($("#wholetab___invite__"+username).length!=0){
                     			username = "__invite__" + username;
                  			}


		  					if($("#wholetab___esms__"+username).length!=0){
                     			username = "__esms__" + username;
                  			}

                  			//Create tab or user existing tab
                  			if($("#wholetab_"+username).length==0){
                     			$.tabInstance("chat", username, text, 1, "freeforchat","");
                  			}else{

                     			if($.inArray(username,window.arr_current_tab)==-1 && username)
                     				window.arr_current_tab.push(username);


             					//If not focus, make tab yellow
                     			if($("#tojid").val()!=username)
                     				$.yellowTab(username);

                     			$("#wholetab_"+username).css("display", "");

                     			$("#send_btn").attr({
                        			href : 'media/alert.wav'
                     			});

                     			$.dbj_sound.play("[href$=.wav]");

                     			$("#chatbox_"+username).append(text);
                     			//$("div#div_chatbox_"+username).scrollTo(999999);
                     			$("div#bigbox_"+username).scrollTo(999999);
                     			//alert("testing - ignore - will remove asap - by Chris");

								if($.countExistingTabs()==1){
									$.activeTab(username);
									$("#bigbox_"+username).css("display", "");
									$("#tojid").val(username);
								}

                     			$("#chat_box_pane_ele1").css("display","");
                     			$("#chat_box_pane_ele2").css("display","");

                  			}

                  //Reply all button if exists
                  if($("#r_"+rand_id_long).length!=0){
                     $("#r_"+rand_id_long).click(function(){
                        var recepients = $(this).attr("name");

                        recepients.replace(/&nbsp;/g," ");

                        $("div#posting_area").attr("class","posting");
                        $("#view_recepients_pane").show();
                        $("input#recepients").val(recepients);
                        $("span#recepient_list").text(recepients);
                     });
                  }

                  //Send acknowledge
                  $.sendEMAck(msgbody[5], username, msgbody[1]);
                  $("#one_two").val("1");
                  window.title_one_two = display_name + '\2' + msgbody[0];

               }
               else{
                  window.offline_msg[username] += '\4' + _type +'\5'+ _operation + '\5' + _body;
               }

               break;

               default:
               alert("error 17....check incoming message operation");
            }

            break;



            // 18 - PIN CHECKING
            case '18':
            switch(_operation){
               case '2':
               var _bodyS = _body.split(del2);
               var err = 0;

               if(_bodyS[0]==0){
                  var err = _bodyS[1];
                  errval = $.getNotifMsg(err);

                  if($("#pin_err").length!=0){
                     $('#pin_err').html(errval);
                     window.login_error=1;
                  }else{
                     $('#pinchk-status').html('<div class="front-status">' + errval + '</div>');
                  }

               }else{

                  if($("#pin_err").length!=0){
                     $.login();
                  }else{
                     $.frmPreReg();
                     notif = "registration-success";
                     notifval = getNotifMsg(notif);
                     $('#pre-reg-status').html('<div class="front-status">' + notifval + '</div>');
                  }
               }
               break;

               default:
               alert("Error 18: check pin checking operation");
            }
            break;


            // 19 - END STREAM
            case '19':
            switch(_operation){
               	case '1':
               	$("#black_screen").css("display","");
               	$("#black_screen").css("z-index","10");
               	alert("You are logged out. \nSomeone used your credential in other machine.");
               	if(window.ifSandBox == 1){
			$("#main_pane").hide();
			$("#logout_pane").show();
               	}else{
                        window.location = "index.php";
               	}
               	break;

               	default:
               	alert("error 19....check endstream operation");
            }
            break;


            // 20 - QUERY PROFILE
            case '20':
            switch(_operation){
               case '2':
               var msgbody  = _body.split(del2);
               var status   = msgbody[0];
               var err_msg  = msgbody[1];
               var username = msgbody[2];

               if( status == 1 || (status == 0 && err_msg=="not-authorized")){

						if($("#add_buddy_error").length>0){
                  	$("#add_buddy_error").html("Buddy found...");
						}
                  $.addBuddy(username,"yes");

                  if(err_msg=="not-authorized"){
							if($("#add_buddy_error").length>0){
                     	$("#add_buddy_error").html("Sending request...");
							}

                     var id_long     = Math.floor(Math.random()*100000);
                     var id_short    = Math.floor(Math.random()*10);
                     var amaz_msg_id = window.autoUser + "_" + id_long + "_" + id_short;
                     var text        = "";

                     $.sendInviteReq(username, username, username + "@demo.kolipri.com", "me", amaz_msg_id, text);
                  }
               }else if(status == 0 && err_msg=="no-such-user"){

                  if(invite_friend_flag == 1){
                     $("#add_buddy_error").html("Your friend is not yet a member of Uzzap...");

                     var id_long      = Math.floor(Math.random()*100000);
                     var id_short     = Math.floor(Math.random()*10);
                     var inviter_nick = window.user_details_nickn;
                     var inviter_min  = window.user_details_msisdn;
                     var amaz_msg_id  = inviter_nick + "_" + id_long + "_" + id_short;
                     var friend_min   = $("#add_buddy_msisdn").val();
                     var txtmsg = "Hi, " + inviter_nick + " invites you to enjoy unlimited chatting with Uzzap. FREE to download & use at http://uzzap.com/download";

                     $.sendInviteFriend(amaz_msg_id,friend_min,inviter_min,txtmsg);

                  }else if (username != ""){
                     //var add_buddy_username = $("#add_buddy_username").val();
                     //var add_buddy_msisdn   = $("#add_buddy_msisdn").val();

                     $("#add_buddy_error").html("The username you wanted to add has not yet been registered.");

                     //$.popAddOtherContact(add_buddy_msisdn);
/*
                     if(add_buddy_username.length>0){
                        err_msg = $.getNotifMsg(err_msg);
                     }else{
                        err_msg = "Your contact is not yet a member.";
                     }
                     $("#add_buddy_error").html(err_msg);
*/

                  }else {
                     var add_buddy_username = $("#add_buddy_username").val();
                     var add_buddy_msisdn   = $("#add_buddy_msisdn").val();

                     //$("#add_buddy_error").html("The user you wanted to add has not yet been registered.");

                     $.popAddOtherContact(add_buddy_msisdn);
/*
                     if(add_buddy_username.length>0){
                        err_msg = $.getNotifMsg(err_msg);
                     }else{
                        err_msg = "Your contact is not yet a member.";
                     }
                     $("#add_buddy_error").html(err_msg);
*/

                  }



               }

               break;

               default:
               alert("error 20....check query profile operation");
            }

            break;


            // 21 - CHANGE PASSWORD
            case '21':
            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);
               var status  = msgbody[0];
               var err_txt = msgbody[1];

               if(status==1){
                  $("#profile_password_err").html("Successful!");

                  var new_passwd = $("#profile_npassword").val();
                  $("#passwd").val(new_passwd);

               }else{
                  $("#profile_password_err").html(err_txt);
               }

               break;

               default:
               alert("error 21....check change password operation");
            }
            break;


            // 22 - ADD TO GROUP / CREATE GROUP
            case '22':

            switch(_operation){
               case '2':

               var msgbody  = _body.split(del3);
               var buddy =  msgbody[1].split(del2);
               var buddy_username = buddy[0];
               var buddy_status   = buddy[1];
               var buddy_fname    = buddy[2];
               var buddy_amazcid  = buddy[3];
               var buddy_lname    = buddy[4];
               var buddy_mobile   = buddy[5];
               var buddy_msg_stat = buddy[6];
               var buddy_auth     = buddy[7];
               var buddy_email    = buddy[8];
               var buddy_abm      = buddy[9];
               var buddy_groups   = buddy[10];
               var buddy_custom_email = buddy[14];

               if(buddy_username.length >0 && buddy_username!="undefined"){
                  window.buddy_details_main[buddy_username] = msgbody[1];

                  if(buddy_email.length > 0){
                     window.buddy_email_from[buddy_email] = buddy_username;
                  }

                  if(buddy_custom_email.length > 0)
                  window.buddy_email_from[buddy_custom_email] = buddy_username;

                  group = buddy_groups.split(",");

                  if(group.length>0 && group.length!="undefined"){
                     for(x=0; x<=(group.length-1); x++){
                        if(group[x]!= "undefined" && group[x]!="" ){
                           $.buddyLinkCreate(buddy_username, group[x]);
                        }
                     }
                  }
               }

               break;

               default:
               alert("error 22....check add group operation");
            }

            break;

            // 25 - OFFLINE SETTINGS SAVE
            case '25':
            switch(_operation){
               case '2':
               var notif;

               /*   notif = "offline-settings-saved";
               notifval = getNotifMsg(notif);
               alert(notifval); */
               $("#offset").html("Settings Saved.");
               $.popWiper();

               default:

            }
            break;

            // 26 - CHANGE MOBILE/MSISDN
            case '26':
            case '52':
            switch(_operation){
               case '2':

               var msgbody = _body.split(del2);
               var status  = msgbody[0];
               var err_txt = $.getNotifMsg(msgbody[1]);

               if(status==1){
                  $("#profile_msisdn_err").html("Your new mobile number will now be validated prior to use. An SMS will be sent to your new mobile number.");
                  $("#pin_err").html("Your new mobile number will now be validated prior to use. An SMS will be sent to your new mobile number.");
                  $.cookie("new_msisdn", window.new_msisdn, { expires: 365 });
               }else{
                  window.login_error=1;
                  $("#profile_msisdn_err").html(err_txt);
                  $('#pin_err').html(err_txt);
               }

               break;

               default:
               alert("error 26....check change mobile operation");
            }
            break;


            //27 - INVITE ACK
            case '27':
            switch(_operation){
               case '2':
               break;
               default:
               alert("error 27: check operation invite ack");
            }

            break;

            // 28 - INCOMING INVITE
            case '28':
            switch(_operation){
               case '1':
               var msgbody    = _body.split(del2);
               var msg_empty  = msgbody[0];
               var username       = "__invite__" + msgbody[3];
               var username_ref   = msgbody[3];
               var text;

               text = "<span id=\"invite_pane_"+username+"\">This user ("+username_ref+") has invited you to their buddy list. <br /> To accept the invitation, just click  \"Add Buddy\". ";
               text += "<input id=\"accept_"+username+"\" name=\""+username_ref+"\" type=\"button\" value=\"Add Buddy\" style=\"font-size:9px\"/> ";
               text += "<input id=\"reject_"+username+"\" name=\""+username_ref+"\" type=\"button\" value=\"Reject\" style=\"font-size:9px\"/><br /><br /></span>";

               if($("#wholetab_"+username).length==0){
                  $.tabInstance("invite_buddy", username_ref, text, 1, "offline","");

               }else{

                  if($.inArray(username,window.arr_current_tab)==-1 && username)
                  window.arr_current_tab.push(username);

                  $("#invite_pane_"+username).show();
                  $("#wholetab_"+username).css("display", "");

                  if($.countExistingTabs()==1){
                     $.activeTab(username);
                     $("#bigbox_"+username).css("display", "");
                     $("#tojid").val(username);
                  }

                  $("#chat_box_pane_ele1").css("display","");
                  $("#chat_box_pane_ele2").css("display","");

               }

               $.addBuddy(username_ref,"");
               $.sendEMAck(msgbody[5], username_ref, msgbody[1]);

               break;

               default:
               alert("error 28....check operation "+ _operation);
            }

            break;



            // 30 - APPROVED BUDDY
            case '30':
            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);

               if(msgbody[0]==0){

               }else{

                  var msgbody = _body.split(del3);
                  var buddy   = msgbody[1].split(del2);
                  var apnd_content        = "";
                  var cnt_buddies         = $("#buddylist_pane_cnt").val()/1;
                  var cnt_buddies_pending = $("#buddylist_pending_pane_cnt").val()/1;

/* commented by paulg 20091020
                  var buddy_username      = buddy[0];
                  var buddy_status        = buddy[1];
                  var buddy_msg_stat      = buddy[6];
                  var buddy_auth          = buddy[7];
                  var buddy_icon          = $.getStatusIcon(buddy_status);
                  var buddy_custom_dname  = buddy[13];
                  var buddy_custom_email  = buddy[14];
*/

/* inserted by paulg 20091020 */
                  var buddy_username = buddy[0];
                  var buddy_status   = buddy[1];
                  var buddy_icon          = $.getStatusIcon(buddy_status);
                  var buddy_fname    = buddy[2];
                  var buddy_amazcid  = buddy[3];
                  var buddy_lname    = buddy[4];
                  var buddy_mobile   = buddy[5];
                  var buddy_msg_stat = buddy[6];
                  var buddy_auth     = buddy[7];
                  var buddy_email    = buddy[8];
                  var buddy_abm      = buddy[9];
                  var buddy_groups   = buddy[10];
                  var buddy_custom_dname  = buddy[13];
                  var buddy_custom_email = buddy[14];
                  var buddy_custom_mobile = buddy[15];



                  if($("#buddylist_container_"+buddy_username).length>0)
                     window.buddy_details_main[buddy_username] = msgbody[1];

                  if($('#buddylist_pending_pane li#buddylist_container_'+buddy_username).length!=0){
                     $('#buddylist_pending_pane li#buddylist_container_'+buddy_username).remove();
                  }

                  if(buddy_username.length >0 && $("#buddylist_container_"+buddy_username).length==0 && buddy_username.match(" ")==null){

                     if(buddy_status!="")
                        window.buddylist_for_group.push(buddy_username);

                     window.buddy_details_main[buddy_username] = msgbody[1];
                     $.buddyLinkCreate(buddy_username, "");
                  }else{
                    window.buddy_details_main[buddy_amazcid] =   buddy_amazcid + '\2'+
                     buddy_status +'\2'+
                     buddy_fname +'\2'+
                     buddy_amazcid +'\2'+
                     buddy_lname +'\2'+
                     buddy_custom_mobile +'\2'+
                     buddy_msg_stat +'\2'+
                     buddy_auth +'\2'+
                     buddy_email +'\2'+
                     buddy_abm +'\2'+
                     buddy_groups +'\2'+
                     buddy_dname +'\2'+
                     buddy_loc +'\2'+
                     buddy_custom_dname +'\2'+
                     buddy_custom_email +'\2'+
                     buddy_custom_mobile;
                  }

                  var msg_stat   = buddy_msg_stat.substr(0, 18);
                  var full_name  = $.getBD("order_name",buddy_username);

                  if(buddy_custom_dname.length>0 && buddy_custom_dname!=undefined){
                     full_name = buddy_custom_dname;
                  }

                  var z = (buddy_status=="offline") ? "z" : "";

                  if(buddy_username == ""){
                     buddy_username = buddy[3];
                  }

                  $("img#icon_"+buddy_username).attr("src", buddy_icon);
                  $("img#tab_icon_"+buddy_username).attr("src", buddy_icon);
                  $("span#status_msg_"+buddy_username).html(msg_stat);
                  $("a#"+buddy_username).attr("title",buddy_msg_stat);

                  $("a#"+buddy_username+" span.buddy").html(full_name);
                  $("a#"+buddy_username+"other_contacts span.buddy").html(full_name);

                  var groups = $.getBD("groups",buddy_username);

                  groups = groups.split(",");

                  $.each(groups, function(i){
                     group_ref = groups[i].replace(/\ /g,"___");
                     $("img#icon_"+buddy_username+group_ref).attr("src", buddy_icon);
                     $("span#status_msg_"+buddy_username+group_ref).html(msg_stat);
                     $("a#"+buddy_username+group_ref).attr("title",buddy_msg_stat);
                     $("a#"+buddy_username+group_ref+" span.buddy").html(full_name);
                     $("#buddylist_container_"+buddy_username+group_ref+" span.a_hidden_sort").html(z + full_name.toUpperCase());
                     $("#new_buddylist_"+group_ref+"_pane li").sort($.sortAlpha).appendTo("#new_buddylist_"+group_ref+"_pane");
                  });

                  $("#buddylist_container_"+buddy_username+" span.a_hidden_sort").html(z+full_name.toUpperCase());
                  $('#buddylist_pane li').sort($.sortAlpha).appendTo('#buddylist_pane');

                  $.changeProfile("", "", "", "", window.user_details_status, "",'');

                  if(buddy_custom_email.length > 0)
                  window.buddy_email_from[buddy_custom_email] = buddy_amazcid;
               }
               break;
            }
            break;


            // 31 - OFFLINE SETTINGS
            case '31':
            switch(_operation){
               case '2':
               var _bodyS = _body.split(del2);
               var err = 0;

               if(_bodyS[0]==1){
                  var err = _bodyS[2];

                  if(err=='sms'){
                     $("#os_sms").attr({
                        checked: "checked"
                     });
                  }else if(err=='email'){
                     $("#os_email").attr({
                        checked: "checked"
                     });
                  }else{
                     $("#os_email").attr({
                        checked: ""
                     });

                     $("#os_email").attr({
                        checked: ""
                     });

                     $("#os_server").attr({
                        checked: "checked"
                     });
                  }

               }

               break;

               default:
            }
            break;


            // 32 - INCOMING EMAIL
            case '32':
            switch(_operation){
               case '1':
               var msgbody  = _body.split(del2);
               var text     = msgbody[0];
               var username = window.buddy_email_from[msgbody[4]];
               if(window.offline_msg[username]==undefined){
                  window.offline_msg[username] = "";
               }

               var display_name = $.getBD("order_name",username);
               username_ref = username;
               username = "__email__" + username;

               if(display_name.length>0
               && display_name!=undefined
               && display_name!=false){

                  text = $.textWraper(text);
                  text = $.smileMsg(text);
                  text = "<li><span style=\"float:left;color:#07C;\"><b>" + display_name
                  + "</b></span>" + "<span style=\"float:right;color:#777;\">" + getTimeStamp()
                  + "</span><br><p>" + text + "</p><div class=\"chatline\">&nbsp;</div><br></li>";

                  $.whichWindowToOpen("single_chat");

                  //Create tab or user existing tab
                  if($("#wholetab_"+username).length==0){
                     $.tabInstance("email", username_ref, text, 1, "freeforchat","");

                  }else{

                     if($.inArray(username,window.arr_current_tab)==-1 && username){
                        window.arr_current_tab.push(username);
                     }

                     //If not focus, make tab yellow
                     if($("#tojid").val()!=username){
                        $.yellowTab(username);
                     }

                     $("#wholetab_"+username).css("display", "");
                     $("#chatbox_"+username).append(text);
                     $("div#bigbox_"+username).scrollTo(999999);

                     if($.countExistingTabs()==1){
                        $.activeTab(username);
                        $("#bigbox_"+username).css("display", "");
                        $("#tojid").val(username);
                     }

                     $("#chat_box_pane_ele1").css("display","");
                     $("#chat_box_pane_ele2").css("display","");

                  }

                  //Send acknowledge
                  $.sendEMAck(msgbody[5], username, msgbody[1]);
                  $("#one_two").val("1");
                  window.title_one_two = display_name + '\2' + msgbody[0];

               }
               else{
                  window.offline_msg[username_ref] += '\4' + _type +'\5'+ _operation + '\5' + _body;
               }

               break;

               default:
               alert("error 32: check incoming email operation");
            }
            break;




            // 33 - PIN VALIDATE
            case '33':
            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);
               var err = 0;

               if(msgbody[0]==1){
                  $("#pop_close").trigger("click");
               }else{
                  $('#pin_err').html(msgbody[1]);
               }

	       // inserted by paulg 20091111

            alert("Congratulations! Your mobile number has been confirmed.You may now logon and experience Uzzap.");
            window.location = "index.php";
            //window.close();

               break;

               default:
               alert("Error 16: check pre-reg login operation");
            }
            break;


            // 35 - GROUP CHAT CREATE
            case '35':
            switch(_operation){
               case '2':
                 var msgbody    = _body.split(del2);
                 var err_code  = $.trim(msgbody[1]);
                 var err_msg  = "";
                 var username   = $.trim(msgbody[1]);

                 if(msgbody[0]==0){
                    switch(err_code){
                      case 'duplicate-room':
                        err_msg = "Room already exists.";
                        break;
                      case 'max-ug-rooms':
                        err_msg = "User limit exceeded.";
                        break;
                      case 'name-len-error-short':
                        err_msg = "Room name is too short. It must be atleast 6 characters long. Please try again.";
                        break;
                      default:
                        err_msg = err_code;
                    }

                    $('#create_room_err').html(err_msg);
                 }else{

                   var text="";


                  var group_chat_mem = $("#group_chat_members").val();
                  group_chat_mem = group_chat_mem.split(",");

                  $.each(group_chat_mem, function(i){
                     if(group_chat_mem[i] != ""){
                        $.inviteToGroupChat(group_chat_mem[i], msgbody[1]);
                     }
                  });

                 }

                 break;

               default:
                alert("error 35....check operation "+ _operation);
            }

            break;


            // 37 - INCOMING INVITE GROUP CHAT
            case '37':
            switch(_operation){
               case '2':
               var msgbody    = _body.split(del2);
               var msg_empty  = msgbody[0];
               var username   = $.trim(msgbody[1]);
               var username_ref   = $.trim(msgbody[1]);
               var text;

               username = username.replace(/\ /g,"___");
               text  = "<span id=\"invite_pane_"+username+"\">You have been invited to join the chatroom '"+username_ref+"'. Accept this invitation? ";
               text  += "<input id=\"accept_group_chat___groupchat__"+username+"\" name=\""+username
               +"\" type=\"button\" value=\"Yes\" style=\"font-size:9px\"/> ";
               text  += "<input id=\"reject_group_chat___groupchat__"+username+"\" name=\""+username
               +"\" type=\"button\" value=\"No\" style=\"font-size:9px\"/><br /><br /></span>";

               text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+username_ref+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";

               $.tabInstance("invite_group_chat", username, text, 1, "freeforchat","");

               break;

               default:
               alert("error 37....check operation "+ _operation);
            }

            break;



            // 39 - INCOMING MESSAGES GROUP CHAT/ CHATROOM
            case '39':
            switch(_operation){
               case '2':

               //alert(_body);

               var msgbody       = _body.split(del2);
               var text          = msgbody[0];
               var username      = msgbody[3];
               var display_name  = msgbody[2];
			   var grp_username  = "";
			   var arr_username;

               username = username.replace(/\ /g,"___");
               username = "__groupchat__" + username;

               if($("#wholetab_"+username).length==0)
                  return false;

               display_name = $.smileMsg(display_name);
               text = text.replace(/&gt;/g, ">");
               text = text.replace(/&lt;/g, "<");

               text = $.textWraper(text);
               text = $.smileMsg(text);

               //if(participants[0].substr(0, participants[0].length - 10) != $.getBD("username",window.autoUser).replace(/&nbsp;/g,"")){
              if(msgbody[2] == msgbody[1]){
              		grp_username = msgbody[1];
                    //text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+msgbody[1]+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";
              //     text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+msgbody[1].substr(0, msgbody[1].length - (indexOf("-", msgbody[2].length)+1))+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";
		//text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+msgbody[1]+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";
              }else{
					arr_username = msgbody[2].split("-", 2);
					grp_username = arr_username[0];

              	// 		text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+msgbody[2].substr(0, msgbody[2].length - (indexOf("-", msgbody[2].length)+1))+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";
			//text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+msgbody[2]+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";
              }

              text = "<li><div class=\"uname-time-wrap\"><h2 class=\"uname-name\">"+grp_username+"</h2><h3>"+getTimeStamp()+"</h3></div><p>"+text+"</p></li>";




               if($.inArray(username,window.arr_current_tab)==-1 && username)
                  window.arr_current_tab.push(username);

               //If not focus, make tab yellow
               if($("#tojid").val()!=username){
                  $.yellowTab(username);
               }

               $("wholetab_"+username).css("display", "");
               $("#chatbox_"+username).append(text);
               /* $("div#bigbox_"+username).scrollTo(999999); */
               // $("#div_chatbox___groupchat__" + username).scrollTo(999999);
               //alert(username);
               $("#div_chatbox_"+username).scrollTo(999999);


               if($.countExistingTabs()==1){
                  $.activeTab(username);
                  $("#bigbox_"+username).css("display", "");
                  $("#tojid").val(username);
               }

               $("#one_two").val("1");
               window.title_one_two = display_name + '\2' + msgbody[0];

                  $("#send_btn").attr({
                     href : 'media/toink.wav'
                  });

                  $.dbj_chatroom_sound.play("[href$=.wav]");

               break;

               default:
               alert("error 39....check incoming message operation");
            }

            break;



            //41 - VALIDATE NETWORK IF SMART
            case '41':
            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);
               var err = 0;
               var msisdn = window.user_details_msisdn;
               var network;
					window.smart_prefixes = msgbody[1];

               if(msgbody[0]==1){
                  var arrPrefix= msgbody[1].split(",");
                  msisdn = msisdn.substr(0,5);
                  $.each( arrPrefix, function(i, n){
                     if(msisdn == n){
                        network = 'smart';
                        return false;
                     }else{
                        network = 'nonsmart';
                     }
                  });

                  window.user_details_network = network;
               }

               break;

               default:
               alert("Error 16: check pre-reg login operation");
            }
            break;


            // 42
            case '42':
            switch(_operation){
               case '2':
               var msgbody = _body.split(del2);
               var err = 0;
               var err_msg;

               if(msgbody[0]==1){

                  err_msg = "Your account details will be sent to the email address <br /> registered to your account: "+
                  msgbody[1]+". <br /> If this is incorrect, please contact Smart Customer Care on *888.";
                  $('#forgot_pass_err').html(err_msg);
                  $("#send_pass_btn").hide();

               }else{

                  window.forgot_pass_error = 1;
                  if(msgbody[1]=="no-such-user"){
                     err_msg = "The username or mobile number you entered is not currently registered. Please try again or proceed to \"Register a New Account.\"";
                  }else{
                     err_msg = msgbody[1];
                  }

                  $('#forgot_pass_err').html(err_msg);
               }
					$("#con-wrap").slideUp("fast");
               $("#con-black_screen").fadeOut("fast");


               break;

               default:
               alert("Error 16: check pre-reg login operation");
            }
            break;


            // 43 - CHATROOM
            case '43':
            switch(_operation){
               case '2':

               var msgbody    = _body.split(del2);
               var text = "";
               var room;
               var more = "0";
               var chk = 0;

               $.each(msgbody, function(i){
                  room  = msgbody[i].split(",");
                  if(room[1]!=undefined){
                     text += "<li><div class=\"list-holder\"><img src=\"images/chat-room-icon.png\">";
                     text += "<h3 class=\"croom-list-title\"><a href=\"#\" id=\"room_"+room[0]+"\" class=\"chatrooms\" name=\""+room[0]+"\">"+
                     room[0]+" ("+room[2]+"/"+room[1]+")</a></h3></div></li>";
                  }
                  else if(room[0]>29){ // replaced value of 1 to 29 by esadolfo 20100319
                     text += "<li><div class=\"list-holder\"><img src=\"images/chat-room-icon.png\">";
                     text += "<h3 class=\"croom-list-title\"><a href=\"#\" id=\"room_More\" class=\"chatrooms\" name=\"More\">More..</a></h3></div></li>";

                     chk = parseInt(window.chatroomMore)+1;
                     if((parseInt(chk)*29)<=room[0]){
                       more = chk.toString();
                     }
                     window.chatroomMore = more;
                  }
               });

               //$("#chatbox__chatroom_").html(text);
               //Chatroom categories
               $("h2.categories-title").html("Chatroom categories");
               $("ul.chat-room-list-ulholder").html(text);
               $("a.chatrooms").click(function (){
                  var room = $(this).attr("name");
                  if(room=="More")
                    $.initChatRooms(more);
                  else
                    $.queryRoom(room, "0");
               });

               break;

               default:
               alert("error 43....check operation "+ _operation);
            }

            break;


            // 44 - CHATROOM QUERY
            case '44':
            switch(_operation){
               case '2':
               var msgbody    = _body.split(del2);
               var text = "";
               var room;
               var more = "0";
               var chk = 0;

               $.each(msgbody, function(i){
                  room  = msgbody[i].split(",");
                  if(room[1]!=undefined){
                     text += "<li><div class=\"list-holder\"><img src=\"images/chat-room-icon.png\">";
                     text += "<h3 class=\"croom-list-title\"><a href=\"#\" id=\""+room[0]+"\" class=\"join_room\" >"+
                     room[0]+" ("+room[2]+"/"+room[1]+")</a></h3></div></li>";
                  }
                  else if(room[0]>1){
                     text += "<li><div class=\"list-holder\"><img src=\"images/chat-room-icon.png\">";
                     text += "<h3 class=\"croom-list-title\"><a href=\"#\" id=\"More\" class=\"join_room\" >More..</a></h3></div></li>";

                     chk = parseInt(window.inroomMore)+1;
                     if((parseInt(chk)*29)<=room[0]){
                       more = chk.toString();
                     }
                     window.inroomMore = more;
                  }
               });

               //$("#chatbox__chatroom_").html(text);
               $("ul.chat-room-list-ulholder").html(text);
               $("a.join_room").click(function (){
                  var room = $(this).attr("id");
                  if(room=="More")
                    $.queryRoom(room, more);
                  else
                    $.popInputNickName(room);
               });

               $("h2.categories-title").html("Chatrooms");
               break;

               default:
               alert("check operation "+ _operation);
            }

            break;


            // 45 - CHATROOM JOIN
            case '45':
            switch(_operation){
               case '2':

               var msgbody  = _body.split(del2);
               var username = msgbody[1];
               var par = "<span style=\"color:#602\">"; /* Changed color */
               var all_par = 0;
               var par_list = "";
               var par_joins;
               var username_r = username.replace(/\ /g,"___");


               if(msgbody[0]==1){
                  $("#pop_close").trigger("click");
                  $.each(msgbody, function(i){
                     if(i>1){
                        var participants = msgbody[i].split(del3);


                        //alert("msgbody:" +msgbody + "msgbody.lenght:"+msgbody.length + " participants:" + participants);
                        //alert("msgbody.length == 4:" + (msgbody.length == 4)+"|"+msgbody.length + "   participants[0]!=null: "+(participants[0]!="null") +"|" +participants[0]+"   participants[0].length > 0:" + (participants[0].length > 0) + "|" + participants[0].length  +  "   participants[1]=='participant':"+(participants[1]=="participant")+"|"+participants[1] + " username_r:"+username_r);


                        if(msgbody.length == 4 && participants[0]!="null" &&
                        participants[0].length > 0 && participants[1]=="participant"){
                                //alert("ok");
 								par_joins = "<li><div class=\"uname-time-wrap\">";
	                            par_joins +="<h2 class=\"uname-name\">"+participants[0]+"</h2><h3>"+getTimeStamp()+"</h3></div><p style=\"color:#1A1;font-size:11px;\">" + participants[0] + " joins the chat.</p></li>";

                           		par_joins = $.smileMsg(par_joins);

                       			if(!window.groupchat_participants["__groupchat__"+username_r]){
                       				window.groupchat_participants["__groupchat__"+username_r] = "";
                       			}

                           		window.groupchat_participants["__groupchat__"+username_r] += participants[0] + ",";

                           		$("#chatbox___groupchat__"+username_r).append(par_joins);
                           		$("#div_chatbox___groupchat__"+username_r).scrollTo(999999);

                           		//$("#chatbox___groupchat__"+username_r).scrollTo(999999);

                           		/* $.parseParticipants("init", username_r, participants[0]); commented by chris changed to add */
                           		$.parseParticipants("add", username_r, participants[0]);
                        }


                        else{
          					if(participants[0]!="null" && participants[1]=="participant"){
                              par_list += participants[0] + ",";
                              all_par = 1;
                           	}
                        }
                     }
                  });

                  //alert(window.groupchat_participants["__groupchat__"+username_r]);

                  if(all_par==1){
                     window.groupchat_participants["__groupchat__"+username_r] = par_list;
                     $.parseParticipants("init", username_r, window.groupchat_participants["__groupchat__"+username_r]);
                  }



               }else{
                  alert("Failed to join the chatroom.");
               }
              break;

               default:
               alert("error 37....check operation "+ _operation);
            }
            break;



            // 48 - INCOMING APPROVE
            case '48':
            switch(_operation){
               case '2':

               var msgbody       = _body.split(del2);
               var text          = msgbody[0];
               var display_name  = msgbody[1];
               var username       = msgbody[2];
               username = username.replace(/\ /g,"___");

               if(username.length>0 && display_name.length>0){

                  //alert("dito joins  ");
                  text = display_name + " joins the chat.";
                  text = "<br /><span style=\"color:#07C;\"><p>" + text + "</p></span>";
                  window.groupchat_participants["__groupchat__"+username] += display_name + ",";

                  //If not focus, make tab yellow
                  if($("#tojid").val()!=username){
                     $.yellowTab(username);
                  }

                  $("wholetab_"+username).css("display", "");
                  $("#chatbox_"+username).append(text);
                  $("div#bigbox_"+username).scrollTo(999999);

                  if($.countExistingTabs()==1){
                     $.activeTab(username);
                     $("#bigbox_"+username).css("display", "");
                  }
               }

               break;

               default:
               alert("error 48....check incoming message operation");
            }

            break;


            // 49
            case '49':
            switch(_operation){
               case '2':
               var msgbody       = _body.split(del2);
               var nick  = msgbody[0];
               var username   = msgbody[1];
               username = username.replace(/\ /g,"___");
               var current_par = window.groupchat_participants["__groupchat__"+username];

               if(username.length>0 && nick.length>0){

                  text = "<li><div class=\"uname-time-wrap\">";
                  text +="<h2 class=\"uname-name\">"+ nick +"</h2><h3>"+getTimeStamp()+"</h3></div><p style=\"color:#912;font-size:11px;\">" +
                  nick + " leaves the chat.</p></li>";

                  //New Participants
                  current_par = current_par.replace(nick+",", "");
                  window.groupchat_participants["__groupchat__"+username] = current_par;
                  //$("#div_chatbox_par___groupchat__"+username).html(pars_html);

                  var par_id = $.md5(nick);
                  $("#"+username+par_id).remove();
                  //alert("#"+username+par_id +" " +nick);

                  //If not focus, make tab yellow
                  if($("#tojid").val()!=username){
                     $.yellowTab(username);
                  }

                  $("wholetab_"+username).css("display", "");
                  $("#chatbox___groupchat__"+username).append(text);
                  /* $("div#div_chatbox___groupchat__"+username).scrollTo(999999); */
                  //alert(username);
                  $("#div_chatbox___groupchat__"+username).scrollTo(999999);


                  if($.countExistingTabs()==1){
                     $.activeTab(username);
                     $("#bigbox_"+username).css("display", "");
                  }

               }

               break;

               default:
               alert("error 49....check incoming message operation");
            }

            break;


            //55 - ADD OTHER CONTACT ACK
            case '55':
            switch(_operation){
               case '2':
               break;
               default:
               alert("error 55: check operation invite ack");
            }
            break;

				// 57 - INCOMING CONTACTS
            case '57':
            switch(_operation){
               case '1':

					//length: 71 type: 57 operation: 1 packet: 2255 body: dorycastroarchimedes12,alonph,greentrasher Erell,,alonph

               var msgbody       = _body.split(del2);
               var text          = "";
               var username      = msgbody[0];
               //var display_name  = $.getBD("order_name", username);
               var display_name  = username;
               var rand_id_long  = Math.floor(Math.random()*100000);
					window.attachment_contacts += msgbody[1] + ",";
					var attached_contacts = msgbody[1];
					var cnt = 0;

					attached_contacts = attached_contacts.split(",");
					$.each(attached_contacts, function(i){
						cnt++;
					});

               if(display_name.length>0
               && display_name!=undefined
               && display_name!=false){

						text = "["+cnt+" contact attached] <input id='r_"+rand_id_long+"' type='button' value='Received Contacts' ";
						text +="name='received_contacts_btn' style='font-size:9px'/>";

                  text = "<li><span style=\"float:left;color:#07C;\"><b>" + display_name
                  + "</b></span>" + "<span style=\"float:right;color:#777;\">" + getTimeStamp()
                  + "</span><br><p>" + text + "</p><div class=\"chatline\">&nbsp;</div><br></li>";

                  $.whichWindowToOpen("single_chat");

                  //Create tab or user existing tab
                  if($("#wholetab_"+username).length==0){
                     $.tabInstance("chat", username, text, 1, "freeforchat","");

                  }else{

							if($.inArray(username,window.arr_current_tab)==-1 && username)
                     window.arr_current_tab.push(username);

                     //If not focus, make tab yellow
                     if($("#tojid").val()!=username)
                     $.yellowTab(username);

                     $("#wholetab_"+username).css("display", "");
                     $("#chatbox_"+username).append(text);
                     $("div#bigbox_"+username).scrollTo(999999);

                     if($.countExistingTabs()==1){
                        $.activeTab(username);
                        //$("div.rchat-holder").hide();
                        $("#bigbox_"+username).css("display", "");
                        $("#tojid").val(username);
                     }

                     $("#chat_box_pane_ele1").css("display","");
                     $("#chat_box_pane_ele2").css("display","");

                  }

                  if($("#r_"+rand_id_long).length!=0){
                     $("#r_"+rand_id_long).click(function(){
								$.popAttachments();
                     });
                  }
                  //Send acknowledge
                  $.sendEMAck(msgbody[4] , msgbody[0] , msgbody[3]);
                  $("#one_two").val("1");
                  window.title_one_two = display_name + '\2' + msgbody[0];

               }

               break;

               default:
               alert("error 17....check incoming message operation");
            }

            break;

		// 58 - PICTURE SHARING
        	case '58':
        		switch(_operation){
					case '2':
						var msgbody    = _body.split(del2);
						var session    = msgbody[22];
						var filename   = msgbody[23];
						var uzzapname  = msgbody[24];
						var url        = msgbody[25];
						var is_profile = msgbody[26];
						//var check_sum = msgbody[26];

						//alert("md5: " + check_sum);

						// testing
						//url = 'http://wapu.wolfpac.net/uzzap/2.0/widget2/postfile.php?s=';

						$("#upload_form").attr("action", url+session);
						$("#upload_form").attr("target", "myframe");

						$("#upload_form").submit();

						//alert($("#upload_form").html());




						$("#upload_stat").html("Requesting file upload. Please wait...");


						break;
					default:
						alert("error 58: check operation picture sharing");
						$("#upload_stat").html("Upload request denied.. Please click <a href='#' id='reupload_img_lnk'>here</a>.");
						break;
				}

			break;


            // 59 - INCOMING SUCCESSFUL FILE REUPLOAD
            case '59':

        		switch(_operation){
					case '2':
						var msgbody    = _body.split(del2);
						var session    = msgbody[22];
						var filename   = msgbody[23];
						var uzzapname  = msgbody[24];
						var url        = msgbody[25];
						var is_profile = msgbody[26];
						var check_sum = msgbody[27];



						if(is_profile=='' || is_profile=='False'){


							var username = window.user_details_uname;
							var uzzap_filename = $.xtractFile($("#upload_field").val());
							var local_filename = $.xtractFile($("#upload_field").val());
							var is_profile = 'no';


							$("#upload_stat").val("Requesting picture re-upload.. Please wait.");
							//$.requestUpload(username, uzzap_filename, local_filename, is_profile);
							$.getFileContent('upload_field', username, uzzap_filename, local_filename, is_profile, 1);


						}else{


							var username = window.user_details_uname;
							var uzzap_filename = $.xtractFile($("#upload_field").val());
							var local_filename = $.xtractFile($("#upload_field").val());
							var is_profile = 'yes';

							//alert(document.getElementById('upload_field').innerHTML);

							//alert(document.getElementById('upload_field').value.substring(0,document.getElementById('upload_field').value.lastIndexOf('\\'));

							$.getFileContent('upload_field', username, uzzap_filename, local_filename, is_profile);

							//$.requestUpload(username, uzzap_filename, local_filename, is_profile, check_sum);

							$("#upload_stat").val("Requesting picture re-upload.. Please wait.");
						}


					break;
				}

            break;

            // 60 - INCOMING SUCCESSFUL FILE UPLOAD
            case '60':

        		switch(_operation){
					case '2':
						var msgbody    = _body.split(del2);
						var session    = msgbody[22];
						var filename   = msgbody[23];
						var uzzapname  = msgbody[24];
						var url        = msgbody[25];
						var is_profile = msgbody[26];
						var check_sum = msgbody[27];



						//("#upload_form").attr("action", url+session);
						//$("#upload_form").attr("target", "myframe");

						//window.setTimeout('document.upload_form.submit();', 500);


						if(is_profile=='' || is_profile=='False'){
							$("#upload_stat").html("Sending file...");
							//alert("is_profile: " + is_profile + " "  + url+session);
				            var username   =  $("#me_display_name").html();

				            //alert(username);

							var val = [];

							$('div#groups_buds_cell :checkbox:checked').each(function(i){

								//alert($(this).val());

								val[i] = $(this).val();
								//alert(val[i]);
								var full_name = $.getBD("order_name",val[i]);

								//alert(val[i]);


								if(val[i]){

									buddy_dname = full_name.replace(/&nbsp;/g, " ");
									buddy_username = val[i];

						            var id_long      = Math.floor(Math.random()*100000);
						            var id_short     = Math.floor(Math.random()*10);

									//alert(buddy_username);

									var amaz_msg_id  = buddy_username + "_" + id_long + "_" + id_short;
									amaz_msg_id  = amaz_msg_id.replace(/&nbsp;/g, " ");

									//var msg = "<" + username + " sent you a picture message. Download the accompanying image from [&lt;a href='"+url+session + "' target='_blank' &gt;"+url+session + "&lt;/a&gt;]> ["+ $("#message").val() +"]";

									var addedtext = $("#message").val();

									//var msg = "<" + username + " sent you a picture message. Download the accompanying image from [&lt;a href='"+url+session + "' target='_blank' &gt;&lt;img src='" + url+session + "' height='100' align='left' width='100' /&gt;&lt;/a&gt;]> ["+ addedtext.substr(0, 150) +"]";

									var msg = "<" + username + " sent you a picture message. Download the accompanying image from " + url+session + "> ["+ addedtext.substr(0, 150) +"]";

									// send pic share (buddy_username, amaz_dispname, amaz_msg_id, msg){
									//$.sendPicShare(buddy_username, buddy_dname, amaz_msg_id, msg, url, check_sum);
									$.sendPicShare(buddy_username, buddy_dname, amaz_msg_id, msg, buddy_username, buddy_dname, url+session, filename, check_sum);

								}
							});

						}else{

							$("#upload_stat").html("Uploading file...");
							$("img#uzzap2-0-avatar-thumb").attr("src", url+session);
							$("#pop_close").trigger("click");
							$.changeProfile('', '', '', '', '', '',url+session);

						}


					break;
				}

            break;


            // 61 - CREATE UGC
            case '61':
            switch(_operation){
               case '2':
                 var msgbody    = _body.split(del2);
                 var err_code  = $.trim(msgbody[1]);
                 var err_msg  = "";
                 var username   = $.trim(msgbody[1]);

                 if(msgbody[0]==0){
                    switch(err_code){
                      case 'duplicate-room':
                        //err_msg = "Room already exists.";
                        err_msg = "Room Unavailable Your chosen room name already exists. Please try again.";
                        break;
                      case 'max-ug-rooms':
                        err_msg = "User limit exceeded.";
                        break;
                      case 'name-len-error-short':
                        err_msg = "Room name is too short. It must be atleast 6 characters long. Please try again.";
                        break;
                      default:
                        err_msg = err_code;
                    }

                    $('#create_room_err').html(err_msg);
                 }else{

                   var text="";


                  var group_chat_mem = $("#group_chat_members").val();
                  group_chat_mem = group_chat_mem.split(",");

                  $.each(group_chat_mem, function(i){
                     if(group_chat_mem[i] != ""){
                        //$.inviteToGroupChat(group_chat_mem[i], msgbody[1]);
                        //$.tabInstance("group_chat", group_chat_mem[i], "Your room is being created. Please wait...", 1, "freeforchat", msgbody[1]);
                       // $.tabInstance("group_chat", group_chat_mem[i], "<span style=\"color:red\">Creating private conference room...</span>", 0, "", msgbody[1]);

                     }
                  });

                 }



                 break;

               default:
                alert("error 35....check operation "+ _operation);
            }

            break;


            // 61 - INCOMING UGC ROOM REQUEST
            case '62':

                switch(_operation){
                   case '2':
                     var msgbody    = _body.split(del2);
                     var err_code  = $.trim(msgbody[1]);
                     var err_msg  = "";
                     var username   = $.trim(msgbody[1]);
                     var text = "";
                     var room;
                     var more = "0";
                     var chk = 0;

                     if(msgbody[0]!=0){
                      //$.tabInstance("group_chat", username, "Your room is being created. Please wait...", 1, "freeforchat");

                       $.each(msgbody, function(i){
                          room  = msgbody[i].split(",");
                          if(room[1]!=undefined){
                             text += "<li><div class=\"list-holder\"><img src=\"images/chat-room-icon.png\">";
                             text += "<h3 class=\"croom-list-title\"><a href=\"#\" id=\""+room[0]+"\" class=\"join_room\" >"+
                             room[0]+" ("+room[2]+"/"+room[1]+")</a></h3></div></li>";
                          }
                          else if(room[0]>29){ // replaced value of 1 to 29 by esadolfo 20100319
                             text += "<li><div class=\"list-holder\"><img src=\"images/chat-room-icon.png\">";
                             text += "<h3 class=\"croom-list-title\"><a href=\"#\" id=\"More\" class=\"join_room\" >More..</a></h3></div></li>";

                             chk = parseInt(window.inroomMore)+1;
                             if((parseInt(chk)*29)<=room[0]){
                               more = chk.toString();
                             }
                             window.inroomMore = more;
                          }
                       });

                       //$("#chatbox__chatroom_").html(text);
                       $("ul.chat-room-list-ulholder").html(text);
                       $("a.join_room").click(function (){
                          var room = $(this).attr("id");
                          if(room=="More")
                            $.queryRoom(room, more);
                          else
                            $.popInputNickName(room);
                       });

                       $("h2.categories-title").html("Chatrooms");

                     }else{
                        switch(err_code){
                           case "no-rooms-found":
                             err_msg = "No chat rooms found.";
                            break;
                           default:
                             err_msg = msgbody[1];
                        }

                        alert(err_msg);
                     }

                     break;

                   default:
                    alert("error 62....check operation "+ _operation);

                }


			break;


            // 64 - INCOMING MESSAGES FROM MOBILE
            case '64':
            switch(_operation){
               case '1':



               var msgbody       = _body.split(del2);
               var text          = msgbody[0];
               var username      = msgbody[3];



              // alert("incomming - type 17:" + msgbody);

               if(window.offline_msg[username]==undefined){
                  window.offline_msg[username] = "";
               }

	       //if(username=="sms"){
               //   alert( msgbody[4] + ": " + text);
	       //        return true;
               //}

               var display_name = $.getBDContacts("order_name",username);
               var rand_id_long = Math.floor(Math.random()*100000);

               //alert("display_name value:" + display_name);




               if(display_name.length>0 && display_name!=undefined && display_name!=false){


               	  var picmsg_spiel_1 = "sent you a picture message. Download the accompanying image from";
                  var picmsg_spiel_2 = "> [";

                  var start = text.indexOf(picmsg_spiel_1) + picmsg_spiel_1.length;
                  var end = text.indexOf(picmsg_spiel_2);


 				  var url  = text.substr(start, (end-start) );

               	  text = text.replace(/(<|>)|(\[|\])/g,"");
               	  text = text.replace(/&lt;/g,"<");
               	  text = text.replace(/&gt;/g,">");
                  text = $.smileMsg(text);
                  text = $.colorMsg(text); //inserted by paulg 20091118


//				  text = text.replace(url,"<a href='" + url + "'><img src='" + url + "' height='51px' width='51px' target='_blank' /></a>" );
// modified by paulg 20100127
		text = text.replace(url,"<a href='#' onclick=\"javascript:window.open('"+url+"', '', 'width=300, height=200')\"><img src='" + url + "' height='51px' width='51px' target='_blank' /></a>" );

					//<Christopher Ramos sent you a picture message. Download the accompanying image from http://125.5.109.147:8734/balrQHMLL> [ ]


                  if(msgbody[7] != undefined){

					 //alert(3839);
                     if(msgbody[7].length>0) text += "<br />";
                  }

                  text = "<li><span style=\"float:left;color:#07C;\"><b>" + display_name
                  + "</b></span>" + "<span style=\"float:right;color:#777;\">" + getTimeStamp()
                  + "</span><br><p>" + text + "</p><div class=\"\">&nbsp;</div><br></li>";

                  $.whichWindowToOpen("single_chat");

                  //If chatting with invitor
                  if($("#wholetab___invite__"+username).length!=0){
                     username = "__invite__" + username;
                  }

                  //Create tab or user existing tab
                  if($("#wholetab_"+username).length==0){
                     $.tabInstance("chat", username, text, 1, "freeforchat","");
                     //alert(3858);

                  }else{
                  	 //alert(3861);

                     if($.inArray(username,window.arr_current_tab)==-1 && username)
                     window.arr_current_tab.push(username);

                     //If not focus, make tab yellow
                     if($("#tojid").val()!=username)
                     $.yellowTab(username);

                     $("#wholetab_"+username).css("display", "");

                     $("#send_btn").attr({
                        href : 'media/alert.wav'
                     });

                     $.dbj_sound.play("[href$=.wav]");

                     $("#chatbox_"+username).append(text);
                     $("div#bigbox_"+username).scrollTo(999999);

                     if($.countExistingTabs()==1){
                        $.activeTab(username);
                        //$("div.rchat-holder").hide();
                        $("#bigbox_"+username).css("display", "");
                        $("#tojid").val(username);
                     }

                     $("#chat_box_pane_ele1").css("display","");
                     $("#chat_box_pane_ele2").css("display","");

                  }

                  //Reply all button if exists
                  if($("#r_"+rand_id_long).length!=0){
                     $("#r_"+rand_id_long).click(function(){
                        var recepients = $(this).attr("name");

                        recepients.replace(/&nbsp;/g," ");

                        $("div#posting_area").attr("class","posting");
                        $("#view_recepients_pane").show();
                        $("input#recepients").val(recepients);
                        $("span#recepient_list").text(recepients);
                     });
                  }

                  //Send acknowledge
                  $.sendEMAck(msgbody[5], username, msgbody[1]);
                  $("#one_two").val("1");
                  window.title_one_two = display_name + '\2' + msgbody[0];

               }
               else{
                  window.offline_msg[username] += '\4' + _type +'\5'+ _operation + '\5' + _body;
               }

               break;

               default:
               alert("error 64....check incoming message operation");
            }

            break;

         } // End of switch type.

      } //End of Received data from server.


   });
})(jQuery);
