function isArray(obj) {
	if (obj.constructor.toString().indexOf("Array") == -1)
	{
		return false;
	}
	else
	{
		return true;
	}
}
function convertCRLF( retezec )
{
	return retezec.replace( /\r\n|\n/g, "<br/>" );
}
function convertBR( retezec )
{
	return retezec.replace( /<br\/>/g, "\r\n" );
}
function showHide(elm)
{
	if( document.getElementById( elm ) )
	{
		document.getElementById( elm ).style.display = ( document.getElementById( elm ).style.display == "block" ) ? "none" : "block";
	}
}
function agentCB( odpoved )
{
	document.getElementById( "ajaxErr" ).innerHTML = odpoved;
}

function authorize()
{
	document.getElementById("ajaxErr").innerHTML = "";
	agent.call( "ajaxRPC.php", "authorize", "authorizeCB", document.getElementById("hesloInput").value );
}
function authorizeCB( odpoved )
{
	if( odpoved == 1 )
	{
		self.location = "/admin";
	}
	else
	{
		document.getElementById("ajaxErr").innerHTML = odpoved;
	}
}
function logout()
{
	agent.call( "ajaxRPC.php", "logout", "logoutCB" );
}
function logoutCB( odpoved )
{
	self.location = "/admin";
}
function changePassword()
{
	if( window.confirm( "Opravdu chcete změnit heslo?" ) )
	{
		document.getElementById("ajaxErr").innerHTML = "";
		oldPas = document.getElementById( "oldPass" ).value;
		newPas = document.getElementById( "newPass" ).value;
		newPasConf = document.getElementById( "newPassConf" ).value;
		if( newPas == "" )
		{
		    alert( "Vyplňte nové heslo.");
		    return;
		}
		agent.call( "ajaxRPC.php", "changePassword", "agentCB", oldPas, newPas, newPasConf );
		document.getElementById( "oldPass" ).value = "";
		document.getElementById( "newPass" ).value = "";
		document.getElementById( "newPassConf" ).value = "";
	}
}
function cistiObsazeni()
{
	document.getElementById( "obsazeniId" ).value = 0;
	document.getElementById( "tod" ).value = "";
	document.getElementById( "tdo" ).value = "";
	document.getElementById( "patro" ).value = "";
	document.getElementById( "poznamka" ).value = "";
}
function vlozObsazeni()
{
	document.getElementById("ajaxErr").innerHTML = "";
	if( !window.confirm( "Zpracovat obsazenost?" ) )
	{
	    return;
	}
	p_id = document.getElementById( "obsazeniId" ).value;
	p_tod = document.getElementById( "tod" ).value;
	p_tdo = document.getElementById( "tdo" ).value;
	p_patro = document.getElementById( "patro" ).value;
	p_poznamka = document.getElementById( "poznamka" ).value;
	if( p_tod == "" || p_tdo == "" || p_patro == "" )
	{
	    alert( "Vyplňte všechna povinná data!\nOd, do, patro." );
	    return;
	}
	agent.call( "ajaxRPC.php", "vlozObsazeni", "agentCB", p_id, p_tod, p_tdo, p_patro, convertCRLF(p_poznamka) );
}
function changeObsazeni(idecko)
{
	document.getElementById("ajaxErr").innerHTML = "";
	agent.call( "ajaxRPC.php", "changeObsazeni", "changeObsazeniCB", idecko );
}
function changeObsazeniCB(odpoved)
{
	if( !isArray( odpoved ) && odpoved.length != 5 )
	{
		agentCB( "Výsledek neodpovídá.<br/>"+odpoved );
		return;
	}
	document.getElementById( "obsazeniId" ).value = odpoved[0];
	document.getElementById( "tod" ).value = odpoved[1];
	document.getElementById( "tdo" ).value = odpoved[2];
	document.getElementById( "patro" ).value = odpoved[3];
	document.getElementById( "poznamka" ).value = convertBR(odpoved[4]);
}

function deleteObsazeni(idecko)
{
	document.getElementById("ajaxErr").innerHTML = "";
	if( !window.confirm("Opravdu smazat obsazeni?") )
	{
	    return;
	}
	agent.call( "ajaxRPC.php", "deleteObsazeni", "agentCB", idecko );
}
function reloadObsazeni()
{
	cistiObsazeni();
	document.getElementById("ajaxErr").innerHTML = "";
	agent.call( "ajaxRPC.php", "reloadObsazeni", "reloadObsazeniCB" );
}
function reloadObsazeniCB( odpoved )
{
	document.getElementById( "tabObsazeni" ).innerHTML = odpoved;
}
function reloadCalendar(patro,mesic,rok)
{
	if( patro == "0" )
		agent.call( "ajaxRPC.php", "reloadCalendar", "reloadPrizemiCB", patro, mesic, rok );
	else if( patro == "1" )
		agent.call( "ajaxRPC.php", "reloadCalendar", "reloadPatroCB", patro, mesic, rok );
	else if( patro == "2" )
		agent.call( "ajaxRPC.php", "reloadCalendar", "reloadRodvinovCB", patro, mesic, rok );
}
function reloadPrizemiCB( odpoved )
{
	document.getElementById( "calendar_0" ).innerHTML = odpoved;
}
function reloadPatroCB( odpoved )
{
	document.getElementById( "calendar_1" ).innerHTML = odpoved;
}
function reloadRodvinovCB( odpoved )
{
	document.getElementById( "calendar_2" ).innerHTML = odpoved;
}
function clearCounter() {
	if( !window.confirm("Opravdu vynulovat počítadlo?") )
	{
	    return;
	}
	agent.call( "ajaxRPC.php", "clearCounter", "counter" );
}
