

var keynum;





function randomNumber(l)

{

  chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";

  pass = "";

  for(x=0;x<l;x++)

  {

    i = Math.floor(Math.random() * 62);

    pass += chars.charAt(i);

  }

  return pass;

}



var rand_no = randomNumber(16);

var idcount = randomNumber(3);



function str_replace(haystack, needle, replacement) {

    var temp = haystack.split(needle);

    return temp.join(replacement);

}



function stripHTML(oldString) {

  return oldString.replace(/<&#91;^>&#93;*>/g, "");

}





function none(){

	//var myajax=ajaxpack.ajaxobj;

	//var myfiletype=ajaxpack.filetype;

	//	if (myajax.readyState == 4){

		//	if (myajax.status==200 || window.location.href.indexOf("http")==-1){

		//		if (myfiletype=="txt"){

		//			var response = myajax.responseText;

		//		document.write(response);

		//		}

		//	}

		//}	

}



function trim(str, chars) {

    return ltrim(rtrim(str, chars), chars);

}



function ltrim(str, chars) {

    chars = chars || "\\s";

    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");

}



function rtrim(str, chars) {

    chars = chars || "\\s";

    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");

}





function createAjaxObj(){

	var httprequest=false;

		if (window.XMLHttpRequest){ 

			httprequest=new XMLHttpRequest();

			if (httprequest.overrideMimeType)

				httprequest.overrideMimeType('text/xml');

			}else if (

				window.ActiveXObject){

					try{

						httprequest=new ActiveXObject("Msxml2.XMLHTTP");

						} 

					catch (e){

						try{

							httprequest=new ActiveXObject("Microsoft.XMLHTTP");

							}

					catch (e){

					}

				}

			}

return httprequest

}



	var ajaxpack=new Object();

	ajaxpack.basedomain="http://"+window.location.hostname;

	ajaxpack.ajaxobj=createAjaxObj();

	ajaxpack.filetype="txt";

	ajaxpack.addrandomnumber=1;

	ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype){

	ajaxpack.ajaxobj=createAjaxObj();

	if (ajaxpack.addrandomnumber==1)

	var parameters=parameters+"&ajaxcachebust="+ randomNumber(16);

	if (this.ajaxobj){

		this.filetype=filetype;

		this.ajaxobj.onreadystatechange=callbackfunc;

		this.ajaxobj.open('GET', url+"?"+parameters, true);

		this.ajaxobj.send(null);

	}

}









function deleteNotify(x){

	ajaxpack.getAjaxRequest('/social/modules/mod_oneononechat/phpfunctions.php', "a=d&key="+x, none, "txt");

}





function initChat(key){

	var winName = Math.ceil(10000000*Math.random());

	ajaxpack.getAjaxRequest('/social/modules/mod_oneononechat/phpfunctions.php', "a=i&key="+key, none, "txt");

	window.open ('/social/modules/mod_oneononechat/chatwindow.php?key='+key+'&color=red',''+winName+'','location=0,status=0,toolbar=0,menubar=0,resizable=0,scrollbars=0,height=375,width=420');

}





function processGetJson(){

	var myajax=ajaxpack.ajaxobj;

	var myfiletype=ajaxpack.filetype;

		if (myajax.readyState == 4){

			if (myajax.status==200 || window.location.href.indexOf("http")==-1){

				if (myfiletype=="txt"){

					var response = myajax.responseText;

					var chatsX = response.split('&&');

					    for(var i=0; i<chatsX.length;i++ ){ 

            if(chatsX[i].length > 1){

					var decode = base64_decode(chatsX[i]);

					var keyArray=decode.split("|");

					writeNotify(chatsX[i], keyArray[4]);

					} 

      } 

					

				}

			}

		}

}





function processGetMessage(){

	var myajax=ajaxpack.ajaxobj;

	var myfiletype=ajaxpack.filetype;

		if (myajax.readyState == 4){

			if (myajax.status==200 || window.location.href.indexOf("http")==-1){

				if (myfiletype=="txt"){

					var none = '';

					var response = myajax.responseText;

					

					var tempArray = response.split("|");



						for (x in windowArray){

							removeByElement(tempArray,windowArray[x]);

							}



						for (y in tempArray){

							windowArray.push(tempArray[y]);

							fnAppend(tempArray[y]);

						}

					}

				}

			}

}

function base64_encode(input) 

{ 

var string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 

var output = ""; 

var chr1,  chr2,  chr3 = ""; 

var enc1,  enc2,  enc3,  enc4 = ""; 

var i = 0; 

do  

    { 

    chr1 = input.charCodeAt(i++); 

    chr2 = input.charCodeAt(i++); 

    chr3 = input.charCodeAt(i++); 

    enc1 = chr1 >> 2; 

    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 

    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 

    enc4 = chr3 & 63; 

    if (isNaN(chr2)) 

        enc3 = enc4 = 64; 

    else if (isNaN(chr3)) 

        enc4 = 64; 

    output = output + string.charAt(enc1) + string.charAt(enc2) + string.charAt(enc3) + string.charAt(enc4); 

    chr1 = chr2 = chr3 = ""; 

    enc1 = enc2 = enc3 = enc4 = ""; 

    } 

while (i < input.length); 

return output; 

} 







function base64_decode(input) 

{ 

var string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 

var output = ""; 

var chr1,  chr2,  chr3 = ""; 

var enc1,  enc2,  enc3,  enc4 = ""; 

var i = 0; 

do 

    { 

    enc1 = string.indexOf(input.charAt(i++)); 

    enc2 = string.indexOf(input.charAt(i++)); 

    enc3 = string.indexOf(input.charAt(i++)); 

    enc4 = string.indexOf(input.charAt(i++)); 

    chr1 = (enc1 << 2) | (enc2 >> 4); 

    chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); 

    chr3 = ((enc3 & 3) << 6) | enc4; 

    output = output + String.fromCharCode(chr1); 

    if (enc3 != 64) 

        output = output + String.fromCharCode(chr2); 

    if (enc4 != 64) 

        output = output + String.fromCharCode(chr3); 

    chr1 = chr2 = chr3 = ""; 

    enc1 = enc2 = enc3 = enc4 = ""; 

    } 

while (i < input.length); 

return output; 

}
