// JAVASCRIPT DATABASE, UTF-8 kódolás

var i = 0;


// SNOW FALL
/////////////////////////////////////////////////////////////////////////////////
// Snowfall variables
/*var iNumFalling = 10;
var WIND_STR = 4

var iSnowStageWidth = 984;
var iSnowStageHeight = 140;

var iWind = 0;
var iWindOld = 0;
var iWindNew = 0;
var iWindPercent = 1;


// SnowFlake class
function SnowFlake(iIndex, iY){
	// reset flakes
	if(iIndex < 5){
		this.iDistance = 2;
	} else {
		this.iDistance = 1;
	}
	
	this.iAdjustSpeed = Math.random() + 0.5
	this.plusOld = 0
	this.plusNew = (Math.random() * 3) - 1.5
	this.plusPercent = 1
	this.plusDuration = 0.04
	
	this.x = rand(0, 984);
	this.y = iY
}

// Fill SnowFlake class
var aSnowFlakes = new Array();
for(i = 0; i < iNumFalling; i++){
	aSnowFlakes.push(new SnowFlake(i, (i / iNumFalling) * 140));
}

function fSnowMove(){
	// calculate wind
	if(iWindPercent < 1){
		iWind = iWindOld + ((iWindNew - iWindOld) * iWindPercent);
		iWindPercent += 0.005;
	} else {
		iWindOld = iWindNew;
		iWindNew = (Math.random() * WIND_STR * 2) - WIND_STR;
		iWindPercent = 0;
	}
	
	// move particles
	for(i = 0; i < iNumFalling; i++){
		var plusMove = 0
		var obj = aSnowFlakes[i];
		
		// calculate random movement
		if(obj.plusPercent < 1){
			plusMove = obj.plusOld + ((obj.plusNew - obj.plusOld) * obj.plusPercent)
			obj.plusPercent += obj.plusDuration
		} else {
			obj.plusOld = obj.plusNew
			obj.plusNew = (Math.random() * 3) - 1.5
			obj.plusPercent = 0
			
			obj.plusDuration = 0.02 + ((Math.random() * 3) / 100)
		}
		
		// calculate position
		obj.x += (((iWind * obj.iAdjustSpeed) + plusMove) / obj.iDistance)
		obj.y += (2 * obj.iAdjustSpeed) / obj.iDistance 
		
		// reset snowflake
		if(obj.x < -16) obj.x += iSnowStageWidth + 32
		if(obj.x > iSnowStageWidth + 16) obj.x -= iSnowStageWidth + 32
		
		if(obj.y < -16) obj.y += iSnowStageHeight + 32
		if(obj.y > iSnowStageHeight + 16) obj.y -= (iSnowStageHeight + 32)
		
		// update position
		$("#snow_" + i).css('left', Math.round(obj.x));
		$("#snow_" + i).css('top', Math.round(obj.y));
	}
}*/




$(document).ready(function(){
	
	
	
	// ALIGN MENU BUTTONS
	$("#vbtitle_button_box").show();
	
	if($("#menu_btn_separator").length > 0){
		iMaxWidth = 988;
	} else {
		iMaxWidth = 990;
	}
	
	i = 1;
	iTotalWidth = 0;
	while($("#menu_btn_" + i).length > 0){
		iTotalWidth += $("#menu_btn_" + i).width();
		i++;
	}
	iMenuButtons = i - 1;
	iRoundedTotal = 0;
	
	for(i = 1; i < iMenuButtons; i++){
		iWidth = Math.round($("#menu_btn_" + i).width() / iTotalWidth * iMaxWidth);
		iRoundedTotal += iWidth;
		$("#menu_btn_" + i).css("width", iWidth + "px");
	}
	$("#menu_btn_" + iMenuButtons).css("width", (iMaxWidth - iRoundedTotal - 1) + "px");
	
	
	// TEXTEAREAS AUTO EXPAND
	$("textarea").elastic(); 
	
	
	// SNOW
	/*window.setInterval(fSnowMove, 33);
	for(i = 0; i < iNumFalling; i++){
		$("#snow_" + i).hide();
		$("#snow_" + i).fadeIn(600);
	}*/
	
	switch(inpPage[0]){
	case "games":
	case "apps":
	case "movies":
		if($("#dwn_fixes_list").length > 0) $("#dwn_fixes_list").hide();
		if($("#dwn_fixes_text").length > 0) $("#dwn_fixes_text").hide();
		break;
	}
	
	
	
	if( jQuery(".form_success").length > 0 ){
		setTimeout("jQuery('.form_success').fadeOut(2000)", 3000);
	}
	
	
	
	if( $("#loginBig").length > 0 ){
		$("#loginBig").focus();
	}
	
	
	// LOGIN KEEP-ALIVE
	if(Boolean(bLoggedIn) == true){
		window.setInterval(fLoginKeepAlive, 1000 * 60 * 4);
	}
});


// LOGIN KEEP-ALIVE
/////////////////////////////////////////////////////////////////////////////////
var imgKeepAlive = new Image();
function fLoginKeepAlive(){
	imgKeepAlive.src = "url(images/connection_keep_alive.png)";
}


// PROFILE SCREEN
/////////////////////////////////////////////////////////////////////////////////
function avatarUploadDone(){
	switch(info_box_disappear){
	case "whole":
		if($(".info_box").length > 0){
			$(".info_box").hide();
		}
		break;
		
	case "part":
		if($("#info_box_avatar").length > 0){
			$("#info_box_avatar").hide();
		}
		break;
	}
}


// CONTENT DOWNLOAD
/////////////////////////////////////////////////////////////////////////////////
function showDwnFixes(){
	$("#dwn_fixes_list").hide();
	$("#dwn_fixes_btn").hide();
	$("#dwn_fixes_text").show();
	$("#dwn_fixes_list").slideDown(1000);
}
function hideDwnFixes(){
	$("#dwn_fixes_list").slideUp(1000, function(){
		$("#dwn_fixes_text").hide();
		$("#dwn_fixes_btn").show();
	});
}



// MESSAGE BOX
/////////////////////////////////////////////////////////////////////////////////
var msgBoxScroll = 0;

function msgboxAlert(sMsg, bYesno, sJavaYesLink, sJavaNoLink){
	$("*").focus(function(){  $(this).blur()  });
	
	if(sJavaYesLink == "" || sJavaYesLink == null){
		$("#msgbox_buttons").html('<a class="button" href="javascript:msgboxHide()">OK</a>');
		$("#msgbox").css('background-image', 'url(images/info_box_icon.png)');
	} else {
		if(bYesno){
			if(sJavaNoLink == "" || sJavaNoLink == null){
				$("#msgbox_buttons").html('<a class="button" href="javascript:msgboxHide()">Nem</a><a class="button" href="' + sJavaYesLink + '" onclick="javascript:msgboxHide()">Igen</a>');
				$("#msgbox").css('background-image', 'url(images/msgbox_icon_question.png)');
			} else {
				$("#msgbox_buttons").html('<a class="button" href="' + sJavaNoLink + '" onclick="javascript:msgboxHide()">Nem</a><a class="button" href="' + sJavaYesLink + '" onclick="javascript:msgboxHide()">Igen</a>');
				$("#msgbox").css('background-image', 'url(images/msgbox_icon_question.png)');
			}
		} else {
			$("#msgbox_buttons").html('<a class="button" href="' + sJavaYesLink + '" onclick="javascript:msgboxHide()">OK</a>');
			$("#msgbox").css('background-image', 'url(images/info_box_icon.png)');
		}
	}
	
	msgBoxScroll = $(document).scrollTop();
	$("#site_wrapper").css("position", "fixed");
	$("#site_wrapper").css("top", -msgBoxScroll + "px");
	
	$("#msgbox_bg").fadeIn(100);
	$("#msgbox_msg").html(sMsg);
	$("#msgbox").css('top', ($(window).height() / 2) - ($("#msgbox").outerHeight() / 2));
}
function msgboxHide(){
	$("#msgbox_bg").fadeOut(100);
	$("*").unbind('focus');
	
	$("#site_wrapper").css("position", "relative");
	$("#site_wrapper").css("top", "0px");
	$(document).scrollTop(msgBoxScroll);
}

var sMsgboxPrompt = "";
function msgboxPrompt(sMsg, sValue, sYesLink, sNoLink){
	sMsgboxPrompt = ""
	$("*").focus(function(){  $(this).blur()  });
	
	if(sNoLink == "" || sNoLink == null){
		$("#msgbox_buttons").html('<a class="button" href="javascript:msgboxHide()">Mégse</a>');
	} else {
		$("#msgbox_buttons").html('<a class="button" href="' + sNoLink + '" onclick="javascript:msgboxHide()">Mégse</a>');
	}
	if(sYesLink == "" || sYesLink == null){
		$("#msgbox_buttons").append('<a class="button" href="javascript:msgboxHide()">OK</a>');
	} else {
		$("#msgbox_buttons").append('<a class="button" href="javascript:' + sYesLink + '($(\'#msgbox_input\').val())" onclick="javascript:msgboxHide()">OK</a>');
		
		//$("#msgbox_buttons").append('<a class="button" href="javascript:msgboxPromptYesLink()" onclick="javascript:msgboxHide()">OK</a>');
		//sMsgboxPrompt = sYesLink;
	}
	
	$("#msgbox").css('background-image', 'url(images/msgbox_icon_question.png)');
	
	msgBoxScroll = $(document).scrollTop();
	$("#site_wrapper").css("position", "fixed");
	$("#site_wrapper").css("top", -msgBoxScroll + "px");
	
	$("#msgbox_bg").fadeIn(100);
	$("#msgbox_msg").html(sMsg + '<br />' + '<input type="text" id="msgbox_input" value="' + input_encode(sValue) + '" onKeyPress="msgboxPromptEnter(event, \'' + sYesLink + '\')" />');
	$("#msgbox").css('top', ($(window).height() / 2) - ($("#msgbox").outerHeight() / 2));
	$("#msgbox_input").focus();
}
function msgboxPromptEnter(e, sLink){
	var iKeyCode = 0;
	if(window.event){ // IE
		iKeyCode = e.keyCode;
	} else if(e.which){ // Netscape/Firefox/Opera
		iKeyCode = e.which;
	}
	if(iKeyCode == 13 && sLink != ""){
		msgboxHide();
		this[sLink]($("#msgbox_input").val());
	}
}


/*function msgboxPromptYesLink(){
	if(sMsgboxPrompt.length > 2){
		var sLink = sMsgboxPrompt.substring(0, sMsgboxPrompt.length - 1);
		if(sLink.charAt(sLink.length - 1) != "(") sLink += ",";
		alert(sLink + "'" + $("#msgbox_input").val() + "')");
		eval(sLink + "'" + $("#msgbox_input").val() + "')");			
	}
	sMsgboxPrompt = "";
}*/



// DROPDOWN MENU
/////////////////////////////////////////////////////////////////////////////////
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id){	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose(){
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime(){
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime(){
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 



// GLOBAL FUNCTIONS
/////////////////////////////////////////////////////////////////////////////////
// Submit form on enter key press
function submitOnEnter(e, formName){ //e is event object passed from function invocation
	var characterCode //literal character code will be stored in this variable
	
	if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
	} else {
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
	}
	
	if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		document.forms[formName].submit();
		return false
	} else {
		return true
	}
}

function rand(min, max) {
	return Math.floor(Math.random() * (max - min + 1) + min);
}



var aMonths = new Array("január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december");
var aDays = new Array("vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat");

function pad_digits(n, totalDigits){
	n = n.toString();
	var pd = '';
	if (totalDigits > n.length){ 
		for (i = 0; i < (totalDigits-n.length); i++){
			pd += '0';
		}
	}
	return pd + n.toString(); 
}
function getNicePostDate(inpTimestamp, iCurTime){
	// jelenlegi idő
	if(iCurTime == undefined){
		iCurTime = new Date(); // use local time
	} else {
		iCurTime = new Date(iCurTime * 1000); // use server time
	}
	
	var iTimestamp = new Date(inpTimestamp * 1000);
	
	// a postolás óta eltelt idő másodpercben
	var dSpent = Math.floor((iCurTime - iTimestamp) / 1000);
	
	// reggel 0 óra 0 perc
	var dToday = new Date(iCurTime.getFullYear(), iCurTime.getMonth(), iCurTime.getDate(), 0, 0, 0);
	
	
	var sReturn = "";
	if(iTimestamp > dToday){
		// TODAY
		if(dSpent < 3600){
			sReturn = Math.round(dSpent / 60) + " perce";
			
		} else {
			var iMin = Math.round((dSpent % 3600) / 60);
			sReturn = Math.round(dSpent / 3600) + " órája";
			
			if(iMin != 0) sReturn = sReturn + " és " + iMin + " perce";
		}
		
	} else if(iTimestamp > dToday - 86400 * 1000){
		// YESTERDAY
		sReturn = "tegnap " + iTimestamp.getHours() + ":" + pad_digits(iTimestamp.getMinutes(), 2) + "-kor";
		
	} else if(iTimestamp > dToday - 86400 * 2000){
		// BEFORE YESTERDAY
		sReturn = "tegnap előtt " + iTimestamp.getHours() + ":" + pad_digits(iTimestamp.getMinutes(), 2) + "-kor";
		
	} else if(iTimestamp > dToday - 86400 * 6000){
		sReturn += aDays[iTimestamp.getDay()] + " " + iTimestamp.getHours() + ":" + pad_digits(iTimestamp.getMinutes(), 2);
		
	} else {
		sReturn = iTimestamp.getFullYear() + ". " + aMonths[iTimestamp.getMonth()] + " " + iTimestamp.getDate() + ". ";
		sReturn += "(" + aDays[iTimestamp.getDay()] + ") " + iTimestamp.getHours() + ":" + pad_digits(iTimestamp.getMinutes(), 2);
	}
	
	return sReturn;
}
function getFormattedDate(inpTimestamp){
	var iTimestamp = new Date(inpTimestamp * 1000);
	return iTimestamp.getFullYear() + "-" + pad_digits(iTimestamp.getMonth() + 1, 2) + "-" + pad_digits(iTimestamp.getDate(), 2) + " " + pad_digits(iTimestamp.getHours(), 2) + ":" + pad_digits(iTimestamp.getMinutes(), 2);
}
function input_encode(text){
	return text.replace(/"/g, "&quot;");
}
