var globalController = _gC = new Object();
_gC.data = {};
_gC.loop = 0;
_gC.lastStmp = 0;
_gC.lastHTML = '';

_gC.debug = function(msg) {
	//alert(msg);
	if(console != undefined && console.debug != undefined) {
		console.debug(msg);
	} else {
		// alert(msg);
	}
}
_gC.getInstance = function() {

}

_gC.insertOneliner = function() {
	_gC.loop++;
	var am = 0;
	for(i in this.data.oneliners) { am++; }
	if(am>0) {
		var pid = Math.floor(Math.random()*am) + 1;
		eval("var text = this.data.oneliners.item"+pid+";");
		if(text!=null && text.length>5) {
			globalController.insertAnimData('topOneliner',text);
		} else {
			_gC.insertOneliner();
		}
	} else {

	}
}

_gC.insertOnline = function() {
	if(this.data.online>0) {
		globalController.insertData('topOnline',this.data.online);
	} else {

	}
}

_gC.updateMenu = function() {
	var menus = [];
	for(i=1;i<7;i++) menus[i] = _gC.data.menu["item" + i] == undefined ? 0 : Number(_gC.data.menu["item" + i]);
	if(menus[1]>0) _gC.getNewMessages();
	if(dojo.byId('menuBigMessages') != null)
	{
		dojo.byId('menuBigMessages').className = menus[1]>0 ? 'messages_on' : 'messages_off';
		dojo.byId('menuBigFriends').className = menus[2] > 0 ? 'friends_on' : 'friends_off';
		dojo.byId('menuBigGuestbook').className = menus[3] > 0 ? 'guestbook_on' : 'guestbook_off';
		dojo.byId('menuBigPictures').className = menus[4] > 0 ? 'pictures_on' : 'pictures_off';
		dojo.byId('menuBigDiscussions').className = menus[5] > 0 ? 'discussions_on' : 'discussions_off';
		dojo.byId('menuBigDiary').className = menus[6] > 0 ? 'diary_on' : 'diary_off';
	}
	if(dojo.byId('menuSmallMessages') != null)
	{
		dojo.byId('menuSmallMessages').className = menus[1]>0 ? 'messages_on' : 'messages_off';
		dojo.byId('menuSmallFriends').className = menus[2] > 0 ? 'friends_on' : 'friends_off';
		dojo.byId('menuSmallGuestbook').className = menus[3] > 0 ? 'guestbook_on' : 'guestbook_off';
		dojo.byId('menuSmallPictures').className = menus[4] > 0 ? 'pictures_on' : 'pictures_off';
		dojo.byId('menuSmallDiscussions').className = menus[5] > 0 ? 'discussions_on' : 'discussions_off';
		dojo.byId('menuSmallDiary').className = menus[6] > 0 ? 'diary_on' : 'diary_off';
	}
}

_gC.rotateMainData = function () {
	window.clearTimeout(mainReloader);
	_gC.insertOneliner();
	mainReloader = window.setTimeout(globalController.rotateMainData, 10000);
}

_gC.loadMainData = function () {
	dojo.xhrPost({
		url: base_url+"/service/main/",
		handleAs: "json",
		load: function(data,args){
			if(typeof data == "error"){
				console.warn("error!",args);
			}else{
				console.dir(data);
				_gC.data = data;
				_gC.insertOnline();
				_gC.insertOneliner();
				setTimeout(_gC.updateMenu, 1000);

				mainReloader = window.setTimeout(globalController.rotateMainData, 10000);
				ajaxMainReloader = window.setTimeout(globalController.loadMainData, 144000);
			}
		}
	});
};

_gC.insertData = function (targetId,targetData) {
	if(dojo.byId(targetId) && targetData!='undefined') {
		dojo.byId(targetId).innerHTML = targetData;
	}
}

_gC.insertAnimData = function (targetId,targetData) {
	if(dojo.byId(targetId) && targetData!='undefined') {
		dojo.fadeOut({
			node: targetId,
			duration: 500,
			onEnd: function(){
				dojo.byId(targetId).innerHTML = targetData;
				dojo.fadeIn({
					node: targetId,
					duration: 500
				}).play();
			}
		}).play();
	}
}
_gC.sendReportBug = function (formID)
{
	var f = dojo.byId(formID);
	var msg = dojo.trim(f.elements.strMessage.value);
	if(msg.length < 10)
	{
		alert("proszę wpisać opis błędu (minimum 10 znaków)");
		return false;
	}
	f.method = "post";
	f.action = base_url + "/service/bug/report/";
	f.submit();
}

_gC.getNewMessages = function() {
	dojo.xhrPost({
		url: base_url+"/service/main/messages",
		handleAs: "json",
		load: function(data,args){
			if(typeof data == "error"){
				console.warn("error!",args);
			}else{
				for(m in data) {
					if(data[m]>0) _gC.showMessage(data[m]);
				}
			}
		}
	});
}

/*
dojo.addOnLoad(
function() {
	_gC.getInstance();
	_gC.loadMainData();
}
);
*/

_gC.sendInstantMessage = function (lngRID,lngSID,strUserName)
{
	if(lngSID!=lngRID)
		popupLauncher('Wiadomosc'+lngRID,'/skrzynka/nowa-wiadomosc/?recipientId='+lngRID,500,300);
	else
		alert('Sending to yourself? Now that\'s not gonna work :\)');
}

_gC.showMessage = function(id) {
	popupLauncher('Wiadomosc'+id,'/skrzynka/wiadomosc/?messageId='+id,500,300);
}

sendInstantMessage = function (lngRID,lngSID,strUserName)
{
	if(lngSID!=lngRID)
		popupLauncher('Wiadomosc','/skrzynka/nowa-wiadomosc/?recipientId='+lngRID,500,300);
	else
		alert('Sending to yourself? Now that\'s not gonna work :\)');
}

_gC.PostGuestBookMessage = function (lngUID,strUserName)
{
	w = window.open('/profile_guestbook_post.php?lngUID='+lngUID+'&strUserName='+strUserName, 'gb'+lngUID, 'height=300,width=415');
	w.focus();
}

var win= null;
function popupLauncher(title,link,w,h){
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	var settings ='height='+h+',';
	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='left='+winl+',';
	settings +='scrollbars=yes,';
	settings +='resizable=yes';
	win=window.open(link,title,settings);
	if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}

_gC.sendSupportMessage = function ()
{
	popupLauncher('Wiadomosc','/skrzynka/nowa-wiadomosc-sluzbowa',500,300);
}