/////////////////////////////////////////////////////////
document.onmousemove = function(evt){
	FC_onMouseMove(evt);
}
document.onmousedown = function(evt){
	FC_onMouseDown(evt);
}
document.onmouseup = function(evt){
	FC_onMouseUp(evt);
}
/////////////////////////////////////////////////////////
var FC_InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;

if(webpath == undefined){
	webpath = "";	
}
if(webpath.lastIndexOf("/") == webpath.length - 1){
	webpath = webpath.substring(0,webpath.length - 1);
}
if(init_surl == undefined || init_surl == ""){
	init_surl = webpath + "/session"
}
var content_url = webpath + "/content.php";
var init_nickname = "";

var ONLINE_STATUS = 1;
var OFFLINE_STATUS = 0;
var FC_windowObject;
var FC_openedWindow = false;
var FC_userStatus = OFFLINE_STATUS;
var popWinCount = 100;
var currentX;
var currentY;
var onPressX;
var onPressY;
var dragName = "";

//encode
function b36Encode(str){
	var char36 = "";
	for(var i= 0;i<str.length;i++){
		char36 += "U"+str.charCodeAt(i).toString(36);
	}
	return char36;
}

//encode
function b36Decode(str){
	var chars = str.split("U");
	for(var i in chars)
		chars[i] = String.fromCharCode(parseInt(chars[i],36));
	return chars.join("");
}


//
//	DC js start here
function FC_myFlash_DoFSCommand(command, args){
	var FC_myFlashObj = FC_InternetExplorer ? FC_myFlash : document.FC_myFlash;
}

if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && 
 	navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
	document.write('<SCRIPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('Sub FC_myFlash_FSCommand(ByVal command, ByVal args)\n');
	document.write(' call FC_myFlash_DoFSCommand(command, args)\n');
	document.write('end sub\n');
	document.write('</SCRIPT\> \n');
}

init();
function init(){
	createDCContainer();
}

function FC_invite_1to1_chat(userid){
	popupInviteWindow(userid);
}


var clickedFlag = false;
function changeClickedFlag(v){
	clickedFlag = v
}

function popupInviteWindow(userid){
	
	if(clickedFlag){
		setTimeout(function(){
			clickedFlag = false;
		},2500)
		return;
	}
	var clientState = getClientState(userid);
	if( null != clientState ){
		if("CLOSE" == clientState){
			clickedFlag = true
			openChatWindow(userid);
		}else if("OPEN" == clientState){
			return;
		}
	}
	
}


function openChatWindow(userid){
	var winID = String(Math.round(Math.random() * 1E14));
	var vars = "?u=" + b36Encode(init_user) + 
			   "&k=" + b36Encode(init_password) + 
			   "&n=" + b36Encode(userid)+
			   "&lang="+document.getElementById('intLangForWm').value+
			   "&invited="+encodeURI(userid)+'&utm_source=Bentelhalal_Messenger&utm_medium=Link&utm_campaign=Bent_Messenger';		   
	FC_windowObject = window.open(content_url + vars, winID, "resizable=1,width=600,height=383,status=0");
	if (!FC_windowObject){
		window.location.href = content_url + vars;
		FC_openedWindow = true
	}else{
		FC_windowObject.focus();
		FC_openedWindow = true;
	}	
	if(FC_openedWindow){
		removeInviteWin(userid);
	}
	
}




function FC_onGetNewInvite(inviteName){
	window.focus();
	this.focus();
	//
	popupNewInvite(inviteName);
}

function FC_onGetCloseInvite(userName){
	removeInviteWin(userName);
}

function createDCContainer(){
	var divName = "FC_DC_container";
	var swfWidth = 1;
	var swfHeight = 1;
	//
	var FC_swf_url = webpath +"/"+ dameonFilename;
	FC_swf_url += "?init_user=" + b36Encode(init_user);
	FC_swf_url += "&init_surl=" + init_surl;
	FC_swf_url += "&init_host=" + init_host;
	FC_swf_url += "&init_port=" + init_port;
	if(init_secondary_server_enable){
		FC_swf_url += "&sh=" + init_secondary_host;
		FC_swf_url += "&sp=" + init_secondary_port;
	}
	FC_swf_url += "&init_password=" + b36Encode(init_password);
	FC_swf_url += "&checkInterval=" + checkInterval;
	FC_swf_url += "&init_language=" + init_language;
	FC_swf_url += "&detectmode=" + detectmode
	
	var FC_swfhtmlcode = "";
	FC_swfhtmlcode += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,0,0\" width=\"" + swfWidth + "\" height=\"" + swfHeight + "\" id=\"FC_listenerSwf\">";
	FC_swfhtmlcode += " <param name=\"movie\" value=\"" + FC_swf_url + "\" \/> ";
	FC_swfhtmlcode += " <param name=\"wmode\" value=\"transparent\" \/>";
	FC_swfhtmlcode += " <param name=\"quality\" value=\"high\" \/>";
	FC_swfhtmlcode += " <embed src=\"" + FC_swf_url + "\" quality=\"high\"  width=\"" + swfWidth + "\" height=\"" + swfHeight + "\" name=\"FC_listenerSwf\" id=\"FC_listenerSwf\" swLiveConnect=\"true\" type=\"application\/x-shockwave-flash\" pluginspage=\"http:\/\/www.macromedia.com\/go\/getflashplayer\"><\/embed>";
	FC_swfhtmlcode += " <\/object>";	
	FC_swfhtmlcode = getDivCode(divName, popWinCount++, FC_swfhtmlcode);
	FC_swfhtmlcode += getDivCode("FC_windows", popWinCount++, "");

	document.write(FC_swfhtmlcode);
	var setSwfPositionCyc = setInterval(function(){
		changeDivPosition("FC_windows", 0, 0);
	}, 50);
	
}

function getDivCode(divName, divZ, html, pos){
	var str = "";	
	str += "<div id=\"" + divName + "\" style=\"";
	str += "left:0px; ";
	str += "top:0px; ";
	if(pos == null){
		str += "position:absolute; ";
	}else{
		str += "position:" + pos + "; "
	}
	str += "z-index:" + divZ + "; ";
	str += "\">";
	str += html;
	str += "<\/div>";
	return str;
}

function popupNewInvite(inviteName){
	imageAddons = '';	
	if ( document.getElementById('intLangForWm').value == 'ar' ) {
		imageAddons = '_ar' ;	
	}
	var popWinWidth = 202;
	var popWinTitleHeight = 15;
	var popWinLogoHeight = 35;
	var popWinBodyHeight = 66;
	var totalHeight = popWinTitleHeight + popWinLogoHeight + popWinBodyHeight;
	//
	if(getElement("inviteWin_" + inviteName) == null){
		if(getElement("container_" + inviteName) == null){
			var conStr = getDivCode("container_" + inviteName, popWinCount++);
			getElement("FC_windows").innerHTML += conStr;
		}
var str="<div id=\"inviteWin_a\" style=\"left:350px; top:120px; position:absolute; z-index:103; \">";
str+="<table width=\"269\" height=\"144\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
str+="<tr>";
str+="<td id=\"winTitle_a\" background=\""+webpath +"/images/_bg"+imageAddons+".gif\">";
str+="<table width=\"171\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
str+="<tr>";
str+="<td height=\"56\"></td>";
str+="</tr>";
str+="<tr>";
str+="<td height=\"23\" align=\"center\"><span style=\"font-size:10px;\"><font color=\"#FFFFFF\">" + getReplaceString(inviteLangage, "%USER%", inviteName) + "</font></span></td>";
str+="</tr>";
str+="<tr>";
str+="<td height=\"26\" valign=\"top\" align=\"center\">";
str+="<a href=\"javascript:onClickAccept('" + inviteName + "');\" ><img name=\"_btn_1"+imageAddons+"\" src=\""+webpath +"/images/_btn_1"+imageAddons+".gif\" border=\"0\" onMouseOut=\"MM_swapImgRestore()\" 	onMouseOver=\"MM_swapImage('_btn_1"+imageAddons+"','','"+webpath +"/images/_btn_1a"+imageAddons+".gif',1)\"></a>&nbsp;&nbsp;&nbsp;&nbsp;";
str+="<a href=\"javascript:onClickDeny('" + inviteName + "');\" ><img  name=\"_btn_2"+imageAddons+"\" src=\""+webpath +"/images/_btn_2"+imageAddons+".gif\" border=\"0\" onMouseOut=\"MM_swapImgRestore()\" 	onMouseOver=\"MM_swapImage('_btn_2"+imageAddons+"','','"+webpath +"/images/_btn_2a"+imageAddons+".gif',1)\"></a>";
str+="</td>";
str+="</tr>";
str+="</table>";
str+="</td>";
str+="</tr>";
str+="</table>";
str+="</div>";
		str = getDivCode("inviteWin_" + inviteName, popWinCount++, str);
		getElement("container_" + inviteName).innerHTML = str;
		changeStaticPosition("inviteWin_" + inviteName, 0, -totalHeight);
		showInviteWindowOut(inviteName);		
	}
}



//////////////////


function showInviteWindowOut(userName){
	var winY = getStaticY("inviteWin_" + userName);
	if(winY < 0){
		changeStaticPosition("inviteWin_" + userName, 0, winY + 10);
		setTimeout("showInviteWindowOut('" + userName + "');", 50);
	}else{
		changeStaticPosition("inviteWin_" + userName, 0, 0);
	}
}

function FC_onMouseMove(evt){
	if(FC_IE4){
		currentX = window.event.clientX;
		currentY = window.event.clientY;
	}else{
		currentX = evt.clientX;
		currentY = evt.clientY;
	}
	if(dragName != ""){
		var x1 = Number(currentX) - Number(onPressX);
		var y1 = Number(currentY) - Number(onPressY);
		if(FC_IE4){
			changeDivPosition("inviteWin_" + dragName, x1, y1);	
		}else{
			changeStaticPosition("inviteWin_" + dragName, x1, y1);
		}
	}
}

function FC_onMouseDown(evt){
	var id;
	if(FC_IE4){
		id = window.event.srcElement.id;
	}else{
		id = evt.target.id;
	}
	if(id.indexOf("winTitle") != -1){
		dragName = id.substring(id.indexOf("_") + 1);
		onPressX = currentX - getElementX("inviteWin_" + dragName);
		onPressY = currentY - getElementY("inviteWin_" + dragName);
	}
}

function FC_onMouseUp(evt){
	dragName = "";
}

function onClickAccept(userName){
	popupInviteWindow(userName);
}

function onClickDeny(userName){
	removeInviteWin(userName);
	var dc = getDcMovie();
	dc.denyInvite(userName);
}

function removeInviteWin(userName){
	try{
		getElement("container_" + userName).innerHTML = "";
	}catch(e){
		
	}
}

function getElement(winName){
	if (FC_NS4){
		return document.layers[winName];
	}else if(FC_NS6){
		return document.getElementById(winName);
	}else if(FC_IE4){
		return document.all[winName];
	}
}
function getReplaceString(oldStr, tarStr, newStr){
	if(oldStr.indexOf(tarStr) != -1){
		var s1 = oldStr.substring(0, oldStr.indexOf(tarStr));
		var s2 = oldStr.substring(oldStr.indexOf(tarStr) + tarStr.length);
		s1 = getReplaceString(s1, tarStr, newStr);
		s2 = getReplaceString(s2, tarStr, newStr);
		return s1+ newStr + s2;
	}else{
		return oldStr;
	}
}



//
//
function getClientState(id){
	var dc = getDcMovie();
	var res = "CLOSE"
	try{
		res = dc.getState(b36Encode(id));
	}catch(e){	
	}
	return res;
}



function getDcMovie(){
	var movie = window.document.FC_listenerSwf;
	return movie;
}


function reconnect(receiverID){
	var dc = getDcMovie();
	dc.reconnect(receiverID);
}



function MM_preloadImages() 
{ //v3.0
 	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() 
{ //v3.0
  	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) 
{ //v4.01
	 var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	 if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	 for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	 if(!x && d.getElementById) x=d.getElementById(n); return x;
}
	
function MM_swapImage() 
{ 
 	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
