var serverEngine = "php";
var projectRoot = "http://www.b4dating.com/flashcoms/";

function openVideochatWindow(userName, roomId, langId)
{
    if(!userName) userName = "Test";
    if(!roomId) roomId = "";
	if(!langId) langId = "";
    var name = "videochat_" + userName;

		name = name.replace(/[^\w\d]/g, "_");
    name = name.replace(/undefined/g, "_");

    var url = makeUrl("videochat") + "?userName=" + userName +  "&roomId=" + roomId + "&langId=" + langId;
    openWindow(url, name, 701, 480, true);
}

function openLanguageSelector(userName)
{
	var str = '<table>';
	str += '<tr><td colspan=3 align=center>Pick a language</td></tr>';
  str += '<tr><td style="width:33%" align=center><a href="javascript: void openVideochatWindowClosePopup(\''+userName+'\', \'room_1\')"><img src="images/flags/small/UNKG0001.GIF" border=0 vspace=5><br>EN</a></td>';
	str += '<td style="width:33%" align=center><a href="javascript: void openVideochatWindowClosePopup(\''+userName+'\', \'room_2\')"><img src="images/flags/small/NETH0001.GIF" border=0 vspace=5><br>NL</a></td>';
	str += '<td style="width:33%" align=center><a href="javascript: void openVideochatWindowClosePopup(\''+userName+'\', \'room_3\')"><img src="images/flags/small/FRAN0001.GIF" border=0 vspace=5><br>FR</a></td></tr>';
	str += '</table>';
	document.getElementById('popup_title').innerHTML = 'Chat';
	popup_show('popup', 'popup_drag', 'popup_exit', 'element-bottom', -340, 0, 'mainNav');
	document.getElementById('nothtml').innerHTML = str;
}

function openVideochatWindowClosePopup(userName, id) {
	openVideochatWindow(userName, id);
	b4_popup_exit('popup');
}

function openChatWindow(userName, roomId, langId)
{
    if(!userName) userName = "Test";
    if(!roomId) roomId = "";
	if(!langId) langId = "";
    var name = "chat_" + userName;
    var url = makeUrl("chat") + "?userName=" + userName + "&roomId=" + roomId + "&langId=" + langId;
    openWindow(url, name, 701, 480, true);
}

function openCommunicatorWindow(friendName, uid, langId)
{
    if(!friendName) friendName = "";
    if(!uid) uid = "0";
	if(!langId) langId = "";
    var name = "communicator_" + uid + "_" + friendName;
    var url = makeUrl("communicator") + "?uid=" + uid + "&friendName=" + friendName + "&langId=" + langId;
    openWindow(url, name, 540, 400, true);
}

function openMessengerWindow(friendName, uid, langId)
{
    if(!friendName) friendName = "";
    if(!uid) uid = "0";
	if(!langId) langId = "";
    var name = "messenger_" + uid + "_" + friendName;
    var url = makeUrl("messenger") + "?uid=" + uid + "&friendName=" + friendName + "&langId=" + langId;
    openWindow(url, name, 540, 400, true);
}

function openRecorderWindow(userName)
{
    if(!userName) userName = "Test";
    var name = "recorder_" + userName
    var url = makeUrl("recorder") + "?userName=" + userName;
    openWindow(url, name, 397, 301, false);
}

function openPlayerWindow(userName)
{
    if(!userName) userName = "Test";
    var name = "player_" + userName
    var url = makeUrl("player") + "?userName=" + userName;
    openWindow(url, name, 500, 255, false);
}

function openSiteMailWindow(uid, receiverId)
{
    if(!uid) uid = "0";
    if(!receiverId) receiverId = "0";
    var name = "site_mail_" + uid;
    var url = makeUrl("site_mail") + "?uid=" + uid + "&receiverId=" + receiverId;
    openWindow(url, name, 560, 404, true);
}

function openDebugWindow()
{
    var url = projectRoot + "common/debug.html";
    var styleStr = makeStyle(0, 0, 400, 820, true);
    window.open(url, "DebugConsole", styleStr);
}

function openWindow(url, name, width, height, isResizeAble)
{
    url = projectRoot + url;
    name = name.replace(/[^\w\d]/, "_");
    name = name.replace(/undefined/, "_");
    var left = Math.round((screen.width - width) / 2);
    var top = Math.round((screen.height - height) / 2);
    var styleStr = makeStyle(left, top, width, height, isResizeAble);
    window.open(url, name, styleStr);
}

function openHelp(url)
{
    var name = "help";
    var width = 350;
    var height = 500;
    var left = screen.width - width - 10;
    var top = 10;
    var styleStr = makeStyle(left, top, width, height, true);
    window.open(url, name, styleStr);
}

function makeUrl(application)
{
    return application + "/server/" + serverEngine + "/" + application + "." + serverEngine;
}

function makeStyle(left, top, width, height, isResizeAble)
{
    var styleStr = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no";
    styleStr += ",resizable=" + (isResizeAble ? "yes" : "no");
    styleStr += ",width=" + width + ",height=" + height;
    styleStr += ",left=" + left + ",top=" + top;
    styleStr += ",screenX=" + left + ",screenY=" + top;
    return styleStr;
}


/* ---------------------------------- */
//######################################

 var http_request = false;
 var invitations_counters_id = {};
 var invitations_counters_time = {};
function showChatRequestPopup(userName,image,profileURL)
{  
if(!document.getElementById(userName+'nothtml')){
var newDiv = document.createElement("div");
newDiv.setAttribute('id',userName+'chatReq');
newDiv.setAttribute('name',userName+'chatReq');
//newDiv.setAttribute('style','position: absolute; left: 89px; top: 121px;');
newDiv.className  = 'sample_popup';
//var popup = '<div class="sample_popup" name="'+userName+'chatReq" id="'+userName+'chatReq">'+
var popup = 	'	         <div class="menu_form_header" id="'+userName+'popup_drag"><table cellpadding="0" cellspacing="0"><tr><td valign="top" style="padding: 2px 0px 0px 5px;" id="'+userName+'popup_title">Notification</td><td valign="top">'+
	'<img class="menu_form_exit" id="'+userName+'popup_exit" src="images/form_exit.png" />'+
	'</td></tr></table></div>'+
	'          <div class="menu_form_body">'+
	'            <table>'+
	'              <tr>'+
	'                <td id="'+userName+'nothtml"></td>'+
	'              </tr>'+
	'            </table>'+
	'          </div>';
	//'        </div>';
	newDiv.innerHTML = popup;
	document.getElementById('chat_request_holder').appendChild(newDiv);
	document.getElementById(userName+'popup_title').innerHTML = 'Chat Request';
	
	var str = '<table>';
	str += '<tr><td colspan="2" align=center><b>'+userName+' Requested a private chat</b></td></tr>';
	str += '<tr><td colspan="2" align=center><a href="'+profileURL+'" target="_blank"><img src="'+image+'" border=0 vspace=5 hspace=5 width="50" height="50"><br /> View Profile</a></td></tr>'; 
	str += '<tr><td style="width:33%" align=center><a href="javascript: void acceptChatRequest(\''+userName+'\')" class="popup_button">Accept</a></td>';
	str += '<td style="width:33%" align=center><a href="javascript: void rejectChatRequest(\''+userName+'\');" class="popup_button">Cancel</a></td></tr>';
	str += '<tr><td colspan="2" style="width:33%" align=center>Invitation received: <span id="'+userName+'invitation_counter"></span> ago</td></tr>';
	str += '</table>';
	document.getElementById(userName+'nothtml').innerHTML = str;
	}	
	popup_show(userName+'chatReq', userName+'popup_drag', userName+'popup_exit', 'element-bottom', -340, 10, 'mainNav');
	document.getElementById(userName+'invitation_counter').innerHTML = '0';
	invitations_counters_id[userName] = setTimeout("invitationCounter('"+userName+"')",1000);
	invitations_counters_time[userName] = 0;
}
function invitationCounter(username){
	if(document.getElementById(username+'chatReq').style.display == 'none'){
		stopCounter(username);
		return true;
	}
	var secs = '';
	var mins = '';
	var hours = '';
	var days = '';
	var temp_rest = 0;
  invitations_counters_time[username]++;
  // add seconds 
	secs = invitations_counters_time[username] % 60;
	secs +=' sec ' ;
	temp_rest = Math.floor(invitations_counters_time[username]/60);
	if(temp_rest % 60 >= 0 && invitations_counters_time[username] - 60 >=0){
		mins = temp_rest % 60;
		mins +=' min ';  
	}
	temp_rest = Math.floor(temp_rest/60);
	if(temp_rest > 0){
		hours = temp_rest;
		hours +=' hours ';
	}	
  // add minutes
  if(temp_rest > 60){
	mins = temp_rest % 60;
	mins +=' mins';
	temp_rest = Math.floor(temp_rest/60);
  } 
  
  document.getElementById(username+'invitation_counter').innerHTML = days + hours + mins + secs;
  invitations_counters_id[username] = setTimeout("invitationCounter('"+username+"')",1000);
  }
function stopCounter(username){
  clearTimeout(invitations_counters_id[username]);
  }
function cancelPopup(username){
  document.getElementById(username+'chatReq').style.visibility = 'hidden';
  document.getElementById(username+'chatReq').style.display    = 'none';
  }
function openChatRequest(username) {
	var url = 'user_info.php';
	var parameters = '?username='+username;
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		http_request.overrideMimeType('text/xml');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 //alert('Cannot create XMLHTTP instance');
	 return false;
  }
  http_request.onreadystatechange = processProfileInfo;
  http_request.open('GET', url + parameters, true);
  http_request.send(null);
}
function processProfileInfo() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		var xmldoc = http_request.responseXML;
		var root = xmldoc.getElementsByTagName('user').item(0);
		var username = root.getElementsByTagName('username').item(0).childNodes[0].nodeValue;
		var image = root.getElementsByTagName('image').item(0).childNodes[0].nodeValue;
		var profileURL = root.getElementsByTagName('profileURL').item(0).childNodes[0].nodeValue;
		showChatRequestPopup(username, image, profileURL)
	 } else {
		//alert('There was a problem with the request.');
	 }
  }
}
/* ---------------------------------- */
//######################################


////
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;},getSWFHTML:function(){var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";
}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}
catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){
return false;
}return true;};
deconcept.util={getRequestParameter:function(_29){
var q=document.location.search||document.location.hash;
if(q){var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;}
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){
if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};
deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};
__flash_savedUnloadHandler=function(){};
if(typeof window.onunload=="function"){
var _30=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();_30();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=="function"){
var oldBeforeUnload=window.onbeforeunload;
window.onbeforeunload=function(){
deconcept.SWFObjectUtil.prepUnload();
oldBeforeUnload();};
}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push==null){
Array.prototype.push=function(_31){
this[this.length]=_31;
return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject;
var SWFObject=deconcept.SWFObject;
