﻿var contentSite = '/content/frontend.php/';
var gameSWF = '';
var lcsSWF = '';
var navSWF = '';
var browseAddress = '';
var width1 = 320;
var nick='';
var uid='';
var role='';

var minWinWidth = 1280;
var minWinHeight = 800;

var titleDesc = '';
var toolTipStatus = 0;

var boxBot = 107+8;
var boodooPhoneWidth = width1;

var tooltipInterval = 0;
var addressInterval = 0;

var gameWin = '';

var uniqn = Math.round(Math.random()*100000);
function getUniqN(){return uniqn}


// *** Game window ***
function openGame()
{
	//gameWin = window.open ("index-game.htm", "gameWin","menubar=no,resizable=no,location=no,toolbar=no,status=no,scrollbars=no,width="+screen.width+",height="+screen.height+",top=0,left=0", "fullscreen"); 
	
	// Если на момент входа в браузере установлен какой-то внутренний путь,
	// то открываем страницу с игрой, с учётом этого пути
	var insidePath = location.href.split('#/')[1];
	if(insidePath == undefined)
	{
		insidePath = "";
	}else
	{
		insidePath = "#/" + insidePath;
	}
	gameWin = window.open ("index-game.htm" + insidePath, "gameWin","menubar=no,resizable=no,location=no,toolbar=no,status=no,scrollbars=no,width="+screen.width+",height="+screen.height+",top=0,left=0", "fullscreen"); 
	/*gameWin.onbeforeunload  = function(evt) {
				evt = evt || window.event;
				evt.returnValue = "Вы уверены что хотите закрыть этот чудесный мир Boodoo?";
	}*/
	
	if(isnull(gameWin)) showBlockMessageCont();
	
	$('#mCont').remove();
	$('#mesCont').remove();
}

function showBlockMessageCont(){
	$('#ffblockCont').css({'display':'block'});
}
/*$(window).resize(function(){
	var nw = $(window).width();
	var nh = $(window).height();
	//alert(nw+':'+nh);
	var isAutoChange = false;
	if(nw<minWinWidth)  {nw = minWinWidth;isAutoChange = true;}
	if(nh<minWinHeight) {nh = minWinHeight;isAutoChange = true;}
	if(isAutoChange) window.resizeTo(nw,nh);
});*/

function fullscreenWindow(){
resizeTo(minWinWidth,minWinHeight);
moveTo(parseInt((screen.width-minWinWidth)/2),parseInt((screen.height-minWinHeight)/2));
}

function normalWindow(){
resizeTo(screen.width,screen.height);
moveTo(0,0);
}


// *** IM2 before load ***
function banUser (uid, url, stat){
	$.ajax({type:'POST', dataType:'html', url:url+uid,error: function() {alert('Операция не прошла, перезагрузите страницу, пожалуйста');}});
	if(stat == 0)	{
		gameSWF.banUser(uid);
		lcsSWF.banUser(uid);
	}else{
		gameSWF.unbanUser(uid);
		lcsSWF.unbanUser(uid);
	}
}
function friendUser (uid, url, stat){
	$('#ajaxT').load(url+uid, null, null);
	if(stat == 1) 	{
		gameSWF.unfriendUser(uid);
		lcsSWF.unfriendUser(uid);
	}else{
		gameSWF.friendUser(uid);
		lcsSWF.friendUser(uid);
	}
	updateContactList();
}



// *** tooltops ***
function turnOnTooltip(){
	toolTipStatus = 1;
	if(!isnull(gameSWF.turnOnTooltip)) gameSWF.turnOnTooltip();
	if(!isnull(lcsSWF.turnOnTooltip)) lcsSWF.turnOnTooltip();
	if(!isnull(navSWF.turnOnTooltip)) navSWF.turnOnTooltip();
}
function turnOffTooltip(){
	toolTipStatus = 0;
	if(!isnull(gameSWF.turnOffTooltip)) gameSWF.turnOffTooltip();
	if(!isnull(lcsSWF.turnOffTooltip)) lcsSWF.turnOffTooltip();
	if(!isnull(navSWF.turnOffTooltip)) navSWF.turnOffTooltip();
}
function toggleTooltip(){
	if(toolTipStatus == 1) turnOffTooltip();
	else turnOnTooltip();
	$('#ajaxT').load('/content/frontend.php/service/tooltipToggle');
}
function onGetTooltipStatus(responseText, textStatus, XMLHttpRequest){
	if(responseText=='1') turnOnTooltip();
	else turnOffTooltip();
}


function onLogin(n, u, r){
	nick = n;
	uid = u;
	role = r;
	
	//console.log('onLogin:'+nick+':'+uid+':'+role);
	
	//$('#cpCont').css({visibility:'visible'});
	$('#mesCont').remove();
	if(role==2){
		$('#lcServCont').remove();
		$('#mimCont').remove();
		$('#mCont').css({'border-bottom':0, 'bottom':0});
		boxBot = 0;
	}else{
		$('#mimCont').css({display:'block'});
	}
	
	$('#mCont').css({'top':'101px'});
	$('#navCont').css({'height':'101px'});
	$('#lcServCont').css({'height':'101px'});

	tooltipInterval = setInterval(function(){
		$('#ajaxT').load('/content/frontend.php/service/tooltipCheck', null, onGetTooltipStatus);
		clearInterval(tooltipInterval);
	}, 2000);
	
	var t = location.href.split('#/')[1];
	if(t==undefined)
	{
		if(role==0)
		{
			setBrowseFlAddress('room/'+nick);
		}else
		{
			setBrowseAddress('paper');
		}
	}
}
	
	
//$(document).ready(function() {
	//gameSWF = swfobject.getObjectById("Boodoo");
	//lcsSWF  = swfobject.getObjectById("LCServer");
		
	//*** attitude functionality ***
	function getAttitude(uid){gameSWF.getAttitude(uid);}
	function setAttitude(url, str){gameSWF.setAttitude(url, str);}
	function getAttitudeAnswer(uid, str, href){
		if(!isnull(window.frames[0])) {if(!isnull(window.frames[0].userTypeStatus)) window.frames[0].userTypeStatus(Array(uid, str, href));}
		if(gameSWF.getAttitudeAnswer) gameSWF.getAttitudeAnswer(uid, str)
	}
	
	function getMood(uid){lcsSWF.getMoodForJS(uid);}
	function getMoodAnswer(uid, str){gameSWF.getMoodAnswer(uid, str)}
	
	
	//*** blog js bridge ***
	function userFilter(id,is_on){if(!isnull(window.frames[0])){if(!isnull(window.frames[0]).userFilter) window.frames[0].userFilter(id,is_on);}}
	function postFilter(id,is_on){if(!isnull(window.frames[0])){if(!isnull(window.frames[0]).postFilter) window.frames[0].postFilter(id,is_on);}}
	function userAllFilter(){if(!isnull(window.frames[0])) window.frames[0].userAllFilter();}
	function userNoneFilter(){if(!isnull(window.frames[0])) window.frames[0].userNoneFilter();}
	function dateFilter(date, status){if(!isnull(window.frames[0])) window.frames[0].dateFilter(date, status);}
	function filter(post_type_ids, date, user_ids){if(!isnull(window.frames[0])) window.frames[0].filter(post_type_ids, date, user_ids);}
	

	//*** IM2 ***
	function updateContactList(){/*lcsSWF.updateContactList();*/}
	function showIMChat(){gameSWF.showIMChat();}
	function hideIMChat(){gameSWF.hideIMChat();}
	function showIMIncoming(){setBrowseAddress('communicator', 'communicator');}
	function onIncomingClose(){lcsSWF.onIncomingClose();}
	function messageUser(userName, userID){
		if(userID!=uid) lcsSWF.messageUser(userName, userID);
		showIMChat();
	}
function callUser(n){gameSWF.callUser(n);}



//*** Profile ***
function showMProfile(id){gameSWF.showMProfile(id);}

	
// *** box ***
function showBox(pageName, pT, pR, pB, pL){
	var tStr = pageName;
	if(tStr!=''){
		//thickbox tail add
		tStr+='?keepThis=true&TB_iframe=true';
		if(pT) tStr+='&pT='+boxTop;
		if(pR) tStr+='&pR='+pR;
		tStr+='&pB='+boxBot;
		tStr+='&pL='+boodooPhoneWidth;
		
		tb_remove();
		if(tStr.indexOf('http://')==-1) tStr = contentSite+tStr;
		tb_show('', tStr, null);
		if(isgamesite()) $('#mCont').css({'width':'auto', 'right':0});
		else $('#mCont').css({'width':width1+'px', 'right':'auto'});
	}
	clearInterval(addressInterval);
	if(browseAddress.indexOf('external')!=-1){
		addressInterval = setInterval(function(){
			addr = getIFrameAddress(); 
			if(browseAddress!=addr) setBrowseAddress(addr);
		}, 100);
	}
}	

function setBoxBottom(n){}
function setBoxLeft(n){}
function closeBox(){
	tb_remove();
	$('#mCont').css({'width':'auto', 'right':0});
	clearInterval(addressInterval);
}
function displayBox(){
	if(!isgamesite()) {
		$('#mCont').css({'width':width1+'px', 'right':'auto'});
		tb_display();
	}
}
function undisplayBox(){
	if(!isgamesite()) {
		$('#mCont').css({'width':'auto', 'right':0});
		tb_undisplay();
	}
}


function getIFrameAddress(){
	/*var addr = window.frames.location.href;
	addr = addr.split('#');
	return addr[1];*/
	return browseAddress;
}


// *** SWFAddress ***
function getBrowseAddress(){
	if(browseAddress != "frontage" && browseAddress.split("/")[0] != "frontage" && browseAddress.split("/")[0] != "room" && browseAddress != "character" && browseAddress != "balcony" && browseAddress != "mountaineer") return browseAddress;
	else return '';
}

function setBrowseAddress(val0, val1, val2){
	if(val0==browseAddress) return;
	browseAddress = val0;
	val0 = val0.split('&');
	val0 = val0[0];
	SWFAddress.setValue(val0);
	if(val1!=null && val1!=undefined && val1!='undefined')
		SWFAddress.setTitle(val1);
	else
		SWFAddress.setTitle(val0);
	if(val2==null) val2='';
	//lcsSWF.setBrowseAddress(val0);
}
	

	
function setBrowseFlAddress(val0, val1){
	if(val0==browseAddress) return;
	browseAddress = val0;
	SWFAddress.setValue(val0);
	SWFAddress.setTitle(val0);
	//lcsSWF.setBrowseAddress(val0);
}
	
	
	

	
function onLogout(){
	//$('#cpCont').css({visibility:'hidden'});
	$('#mimCont').css({visibility:'hidden'});
	closeBox();
	logoutContent();
}


	/*function addHandler(object, event, handler, useCapture) {
		if (object.addEventListener) {
			object.addEventListener(event, handler, useCapture ? useCapture : false);
		} else if (object.attachEvent) {
			object.attachEvent('on' + event, handler);
		} else alert("Add handler is not supported");
	}
	//Gecko, FF
	addHandler(gameSWF, 'DOMMouseScroll', wheel);
	//Opera, IE 
	addHandler(gameSWF, 'mousewheel', wheel);

	function wheel(event) {
		var delta; 
		event = event || window.event;
		if (event.wheelDelta) {
			delta = event.wheelDelta / 120;
			if (window.opera) delta = -delta;
		} else if (event.detail) {
			delta = -event.detail / 3;
		}
		if (event.preventDefault)  event.preventDefault();
		event.returnValue = false;
		gameSWF.onMouseDelta(delta);
		return delta;
	}*/
//});

 
 
 
 
 
 
 
 
 
 
 
 
 
 


 
function isgamesite(){
	return (browseAddress == "frontage" || browseAddress.split("/")[0] == "frontage" || browseAddress.split("/")[0] == "room" || browseAddress == "character" || browseAddress == "balcony" || browseAddress == "mountaineer" || browseAddress == "/profile" || browseAddress.indexOf('profile')!=-1);
}


function getMyUID(){return uid;}
function logoutContent(){$('#ajaxT').load(contentSite+'sfGuardAuth/logoutFlash', null, function(responseText, textStatus, XMLHttpRequest){location.reload('/');} );}
function changeTagChoice(str){window.frames[0].changeTagChoice(str);}

function isnull(obj){
	if(obj==undefined || obj==null || obj=='') return true;
	else return false;
}
function debug(str){
	//if(console) console.log(str);
	//else alert(str);
}
function getFlashMovie(movieName) {
	return ($.browser.msie) ? window[movieName] : document[movieName];
}

function getFlashMovieInFrm(movieName) {
	return ($.browser.msie) ? window.frames[0][movieName] : window.frames[0].document[movieName];
}

function changeItemBack(id){gameSWF.changeItemBack(id)}
function changeItem(id){getFlashMovieInFrm('np').changeItem(id)}

/**
 * «Прослойка» между вызовом контентной функции updateIsFriend и флеш-частью.
 *
 * @param	userId идентификатор пользователя, информацию о котором нужно обновить.
 * @param	isFriend цифра, которая будет показывать, является ли пользователь другом нам (1 — является, 0 — не является).
 */
function updateIsFriend(userId, isFriend)
{
	if(!isnull(window.frames[0]) && !isnull(window.frames[0].updateIsFriend))
	{
		window.frames[0].updateIsFriend(userId, isFriend);
	}
}