//========================================================
//= Lokace objektu podle id
//========================================================
function GetObj(obj_id) {
	return document.getElementById(obj_id);
}


function GetValue(obj_id) {
	return document.getElementById(obj_id).value;
}

function ToggleDisplay(obj_id) {
	var obj = GetObj(obj_id);
	if (obj.style.display == "none") {
		obj.style.display = "";
		return true;
	}
	else {
		obj.style.display = "none";
		return false;
	}
}

// IsWhiteSpace
function IsWS(par) {
	if (par.replace(/ /g,'')=='')
		return true;
	else
		return false;
}

function IsZL(par) {
	return IsWS(par);
}

//========================================================
//= Pridat metodu attachEvent, pokud neexistuje
//========================================================
if (!window.attachEvent) {
	if (window.addEventListener) {
		window.attachEvent = function (par_event_name,par_function)
			{ window.addEventListener(Right(par_event_name,par_event_name.length-2),par_function,false); }
	}
}

//========================================================
//= Existuje datum a cas ve formatu 'dd.mm.rrrr hh:mm:ss'
//========================================================
function IsDateTime(strDate)
{
	try
	{
		var DatePart, TimePart, aryDate, aryTime, re;
		var year, month, day, hour, minute, second;						
		strDate = strDate.replace(/  /g,' ');
		//========================================================
		//= Test datumove casti
		DatePart = strDate.substring(0,(strDate+' ').indexOf(' '));
		DatePart = DatePart.replace(/ /g,'');					
		aryDate = DatePart.split('.');		
		aryDate[0] = LTrim(aryDate[0],'0');
		aryDate[1] = LTrim(aryDate[1],'0');
		aryDate[2] = LTrim(aryDate[2],'0');
		day = parseFloat(aryDate[0]);						
		month = parseFloat(aryDate[1]);
		year = parseFloat(aryDate[2]);												
		if (isNaN(day) || isNaN(month) || isNaN(year))
			return false;
		if (day.toString()!=aryDate[0] || month.toString()!=aryDate[1] || year.toString()!=aryDate[2])
			return false;			
		if (year < 999 || year > 9999)
			return false;
		var myDateChecked = new Date(year, month - 1, day);				
		if (!(myDateChecked.getDate() == day && myDateChecked.getMonth() == (month - 1) && myDateChecked.getFullYear() == year))
			return false;
		//========================================================
		//= Test casove casti						
		strDate += ' ';
		TimePart = strDate.substr(strDate.indexOf(' ')+1);		
		TimePart = TimePart.replace(/ /g,'');					
		if (TimePart=='')
			return true;
		else
			TimePart += ":0:0";			
		aryTime = TimePart.split(':',3);
		aryTime[0] = LTrim(aryTime[0],'0'); if (aryTime[0]=='') aryTime[0] = '0';
		aryTime[1] = LTrim(aryTime[1],'0'); if (aryTime[1]=='') aryTime[1] = '0';
		aryTime[2] = LTrim(aryTime[2],'0'); if (aryTime[2]=='') aryTime[2] = '0';
		hour = parseFloat(aryTime[0]);
		minute = parseFloat(aryTime[1]);
		second = parseFloat(aryTime[2]);
		if (isNaN(hour) || isNaN(minute) || isNaN(second))
			return false;
		if (hour < 0 || hour > 23 || minute < 0 || minute > 59 || second < 0 || second > 59)
			return false;
		else
			return true;						
	}
	catch (e)
	{
		return false;			
	}
}											

//========================================
//= IsEmail
//========================================
function IsEmail(Value) {
	var re = /^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/i;
	if (!re.test(Value))
		return false;
	else
		return true;
}

//=====================================
//= IsFloat - je Par cislo typu float?
//=====================================
function IsFloat(Par)
{
	try {
		var strNumber = Par.replace(/,/g,'.');	
		strNumber = strNumber.replace(/ /g,'');	
		var fltNumber = parseFloat(strNumber);	
		if (isNaN(fltNumber))
			return false;
		if (strNumber==fltNumber.toString())		
			return true;
		else
			return false;
	}
	catch (e)
	{ return false; }
}

//=====================================
//= IsInt - je Par cislo typu integer?
//=====================================
function IsInt(Par)
{	
	try {
		var strNumber = Par.replace(/ /g,'');			
		var intNumber = parseInt(strNumber);	
		if (isNaN(intNumber))
			return false;
		if (strNumber==intNumber.toString())		
			return true;
		else
			return false;
	}
	catch (e)
	{ return false; }
}

//=====================================
//= Right
//=====================================
function Right(string_par,length)
{
	try {
		var len = string_par.length;	
		return string_par.substr(len-length);
	}
	catch (e)
	{ return string_par; }
}

//=====================================
//= Left
//=====================================
function Left(string_par,length)
{
	try {
		var len = string_par.length;	
		return string_par.substr(0,length);
	}
	catch (e)
	{ return string_par; }
}

//========================================
//= Trim
//========================================
function LTrim(StringPar,TrimStr) {
	if (TrimStr == null) TrimStr = ' ';
	while (StringPar.substr(0,TrimStr.length).toLowerCase() == TrimStr.toLowerCase())
		StringPar = StringPar.substr(TrimStr.length);
	return StringPar;
}

function RTrim(StringPar,TrimStr) {
	if (TrimStr == null) TrimStr = ' ';
	while (StringPar.substr(StringPar.length-TrimStr.length).toLowerCase() == TrimStr.toLowerCase())
		StringPar = StringPar.substr(0, StringPar.length-TrimStr.length);
	return StringPar;
}

function Trim(StringPar,TrimStr) {
	if (TrimStr == null) TrimStr = ' ';
	StringPar = LTrim(StringPar,TrimStr);
	StringPar = RTrim(StringPar,TrimStr);
	return StringPar;
}

function OnEnterClick(object_name) {
	if(event.keyCode&&event.keyCode==13)
	{
		GetObj(object_name).click();
		return false;
	}
	else
		return true;
}

//========================================================
//= DYNAMIC LOADING
//========================================================
var ss_xmlhttp, ss_alert, ss_destination = null, ss_url = null, processing_request = false;

/*@cc_on @*/
/*@if (@_jscript_version >= 5);
	try 
	{ ss_xmlhttp=new ActiveXObject("Msxml2.XMLHTTP") }
	catch(e){
		try
		{ ss_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP") }
		catch(E){}
	};
@else;
	ss_xmlhttp=false;
	ss_alert=true;
@end @*/
	
if (!ss_xmlhttp && !ss_alert) {
	try 
	{ ss_xmlhttp=new XMLHttpRequest(); }
	catch (e) {}
}

function get_server_data(url) {
	if (processing_request)		
		window.setTimeout('get_server_data(\''+url+'\');',200);
	else {
		window.setTimeout('xmlhttp_request(\''+url+'\');',200);
		processing_request = true;
	}
}

function xmlhttp_request(url) {
	if(ss_xmlhttp) {
		ss_xmlhttp.open("GET",url,true);
		ss_xmlhttp.onreadystatechange=delivery;
		ss_xmlhttp.send(null);
	}
}

function delivery() {
	if (ss_xmlhttp.readyState==4) {
		try {
			var ary_part = ss_xmlhttp.responseText.split('\v')
			var i;				
			for (i in ary_part) {							
				var output, part = ary_part[i];
				var destination = part.substr(0,part.indexOf('|'));
				output = part.substr(destination.length+1);
				if (GetObj(destination))
					GetObj(destination).innerHTML = output;
			}						
		}
		finally
		{ processing_request = false; }
	}
}

//========================================================
//= foto
//========================================================
var foto_img;
var foto_title;
function foto(URL,title) {
	if (navigator.appName == "Netscape") {
		window.open(URL)
	} else {				
		foto_img = new Image();
		foto_title = title;
		foto_img.onload = foto_onload;
		foto_img.src = URL;
	}
}

function foto_onload() {
	var left = screen.width/2 - foto_img.width/2;
	var top = screen.height/2 - foto_img.height/2;	
	var msgWindow = window.open('', 'detail','left='+left+',top=0,width='+foto_img.width+',height='+(foto_img.height+50)+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=no');
	msgWindow.document.writeln ('<html>');
	msgWindow.document.writeln ('<head>');
	msgWindow.document.writeln ('<title>'+foto_title+'</title>');
	msgWindow.document.writeln ('<script language="JavaScript">');
	msgWindow.document.writeln ('function Resize() {');
	msgWindow.document.writeln ('var width = picture.width;');
	msgWindow.document.writeln ('var height = picture.height;');
	msgWindow.document.writeln ('window.resizeTo(width, height);');
	msgWindow.document.writeln ('while (document.body.clientWidth < width)');
	msgWindow.document.writeln ('window.resizeBy(1,0);');
	msgWindow.document.writeln ('while (document.body.clientHeight < height)');
	msgWindow.document.writeln ('window.resizeBy(0,1);');
	msgWindow.document.writeln ('}');
	msgWindow.document.writeln ('<' + '/script>');
	msgWindow.document.writeln ('<script language="JavaScript" src="czalpa_css.js">');
	msgWindow.document.writeln ('<' + '/script>');		
	msgWindow.document.writeln ('</head>');
	msgWindow.document.writeln ('<body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" bgcolor="#f0f0f0" style="text-align:center;">');		
	msgWindow.document.writeln ('<div style="text-align:center;padding-top:12px;"><a href="#null" onclick="window.close();">zavøít okno</a></div>');
	msgWindow.document.writeln ('<img id="picture" name="picture" onload="JavaScript: Resize();" src="" style="position: absolute; left: 0px; top: 50px" onclick="window.close();" title="Kliknutím okno zavøete..." />');
	msgWindow.document.writeln ('</body>');
	msgWindow.document.writeln ('</html>');
	msgWindow.document.getElementById('picture').src = foto_img.src;
}