// funkce pro prace s formularem (strankou)

if(typeof(_zmena_formulare_2) != "undefined")
		document.all.item("_zmena_formulare").value = document.all.item("_zmena_formulare").value + _zmena_formulare_2;


//Nastaveni objektu(povinnost vyplneni) true, false
function SetObjRequired(ID, stav){
	var aktStav = document.all.item(ID).Required;
	if(aktStav != null || aktStav != "undefined"){
		if(stav=="True" || stav=="true" || stav==true){
			document.all.item(ID).Required="True";
			document.all.item(ID).className="tboxRequired";
		}	
		if(stav=="False" || stav=="false" || stav==false){
			document.all.item(ID).Required="False";
			document.all.item(ID).className="";
		}
	}	
}

// funkce pro otevreni nove stranky
function ASDNavigate(url)
{
	_ASDForm.action = url;
	_ASDForm.submit();
}
function ASDOpen(url, name, features)
{
	// pro potreby ASDPageLoader
	if (typeof(window.ClearASDPageLoaderMessage)=="function")
		window.ClearASDPageLoaderMessage();

	newWindow = open("",name,features,false)
	newWindow.document.write(_ASDForm.outerHTML);
	newWindow._ASDForm.action = url;
	newWindow._ASDForm.submit();
	return newWindow;
}

// prevede odkaz z hyperlinku na ASDOpen, ASDNavigate
function _ASDOpen(href, target, testZmeny){
	var vysledek_testu = true;
	if(testZmeny == true)
		vysledek_testu = _TestZmenyFormulare("");
	if(vysledek_testu == true){
		if(target == ""){
			if(href.length > 11){ // test na 'javascript:'
				if(href.substring(0,11).toLowerCase() == "javascript:")
					eval(unescape(href.substring(11,href.length)));
				else
					ASDNavigate(href);	
			}
			else
				ASDNavigate(href);
		}	
		else
			ASDOpen(href, target, "");
	}
}

// prevede odkaz z hyperlinku na ASDOpen, ASDNavigate
function _ASDHyperlinkClick(ID, testZmeny){
	var href = document.all.item(ID).href;
	var target = document.all.item(ID).target;
	_ASDOpen(href, target, testZmeny);
}

// stara verze funkce (zatim pouzivana) 
function _ASDCheckBoxClick(hlidat, param){
	if(hlidat == "True" || hlidat == "true" || hlidat == true){
		document.all.item("_zmena_formulare").value = "1";
	}
	return true;
}

// nova verze funkce
function _ASDMainCheckBoxClick(ID){
	var hlidat = document.all.item(ID).HlidatZmenu;
	if(hlidat == "True" || hlidat == "true" || hlidat == true){
		document.all.item("_zmena_formulare").value = "1";
	}
	return true;
}


// otestuje zda nebyla zaregistrovana zmena ve formulari
function _TestZmenyFormulare(dotaz){
	if(document.all.item("_zmena_formulare").value != "0"){
		if (window.confirm(unescape("Byly%20provedeny%20zm%u011Bny%20a%20nebyly%20ulo%u017Eeny.%20Opravdu%20chcete%20pokra%u010Dovat%20bez%20ulo%u017Een%ED%3F"))){
			if(dotaz != "")
				return _Dotaz(dotaz);
			return(true);
		}	
		else {
			// pro potreby ASDPageLoader
			if (typeof(window.ClearASDPageLoaderMessage)=="function")
				window.ClearASDPageLoaderMessage();
			return(false);
		}	
	}
	if(dotaz != "")
		return _Dotaz(dotaz);
	return true;
}

//provede dotaz
function _Dotaz(text)
{
	if (window.confirm(text))
		return(true);
	else{ 
		// pro potreby ASDPageLoader
		if (typeof(window.ClearASDPageLoaderMessage)=="function")
			window.ClearASDPageLoaderMessage();
		return(false);
	}	
}

// zaregistruje zmenu ve WebControls, poprpipade spusti urcenou funkci
function _ASDOnChange(ID, funkce){
	var hlidat;
	var _AutoPostBack = document.all.item(ID).AutoPostBack;
	if(_AutoPostBack == null || _AutoPostBack == "undefined") _AutoPostBack = "";
	
	if(ID == "") {hlidat = true;}
	else {hlidat = document.all.item(ID).HlidatZmenu;}
	if(hlidat == "True" || hlidat == "true" || hlidat == true){
		document.all.item("_zmena_formulare").value = "1";
	}	
	
	if(funkce.length > 0) return eval(funkce);
	
	if(_AutoPostBack == "True" || _AutoPostBack == "true" || _AutoPostBack == true){
		__doPostBack(ID,'');
	}	
	
	return true;
}

// najde id objektu na strance, ktere ma v obsahu zadane ID
function _NajdiIdDleObsahu(ID){
	var objPoc=parseInt(document.all.length);
	for(var x=0; x<objPoc; x++){
		var id_obj = document.all.item(x).id;
		if(id_obj == null || id_obj == "undefined") id_obj = "";
		if(id_obj.indexOf(ID) > -1)
			return id_obj;
	}
	return "";
}

// pomocna funkce pro __doMyPostBack - zjistí id z eventTarget
function _DejIdTarget(eventTarget){
	var x = 0;
	var MyPoleTarget = eventTarget.toString().split(":");	
	// var MyPoleTarget = eventTarget.toString().split("$");
	var TestTarget = eventTarget.toString().replace(/:/g, "_");	
	// var TestTarget = eventTarget.toString().replace(/\$/g, "_");	
	for(x=TestTarget.length; x>MyPoleTarget[0].length; x--){ // testuje postupne spojene casti id
		if (document.all.item(TestTarget.substring(0,x)) != null) {			
			return TestTarget.substring(0,x);
		}
	}	
	for(x=MyPoleTarget.length-1; x>=0; x--){ // testuje jednotlive casti (nenalezl ve spoj.castech id)		
		if (document.all.item(MyPoleTarget[x]) != null) {			
			return MyPoleTarget[x];
		}
	}
	return eventTarget;
}

var _postDotaz="";
function __doMyPostBack(eventTarget, eventArgument) {
		// pro potreby ASDPageLoader
		if (typeof(window.ClearASDPageLoaderMessage)=="function")
			window.ClearASDPageLoaderMessage();

		var theform;		
		var opraveny = eventTarget.split("$").join(":");
		// document.all.item("__EVENTTARGET").value = eventTarget.split("$").join(":");
		document.all.item("__EVENTTARGET").value = opraveny;
		// theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
		document.all.item("__EVENTARGUMENT").value = eventArgument;				
		// theform.__EVENTARGUMENT.value = eventArgument;
		
		// var objID = _DejIdTarget(eventTarget);
		var objID = _DejIdTarget(opraveny);
		eval("MyObj = window."+objID+"_beforeSubmit");
		
		// pokud je vyplnen _postDotaz, tak provede dotaz.
		if(_postDotaz != ""){
			if(!_Dotaz(_postDotaz)) {
				_postDotaz=""; 
				return;
			}
			_postDotaz="";
		}
		
		// standardni kontrola zdali nebyl zmenen formular
		if (typeof(window._TestZmenyFormulare)=="function") {
			if (document.all.item(objID).TestZmenyFormulare == "True"){
				if (!window._TestZmenyFormulare("")) {return;}
			}
		}
		
		// ASDToolBar, ASDToolBarButton
		// scripty pro praci s ASDToolBar, ASDToolBarButton
		var _ASDToolBarButton_Name;
		var _ASDToolBarButton_id; var vIE;
		_ASDToolBarButton_id = objID+"ASDToolBarButton_"+eventArgument;
			
		if (event != null && typeof(event.srcNode) == "object")
		{
			_ASDToolBarButton_Name = event.srcNode.getAttribute('NameObj');
			vIE = "6>";
		}
		else
		{	
			if (document.all.item(_ASDToolBarButton_id) != null)
				_ASDToolBarButton_Name = document.all.item(_ASDToolBarButton_id).NameObj;
			else
				_ASDToolBarButton_Name = "";
			vIE = "<6";
		}	
		if(_ASDToolBarButton_Name == "ASDToolBarButton"){
		
			// zkontroluje, zda muze opravdu pokracovat (kontrola spravnosti vyplneni textboxu atd ...)
			if(document.all.item("_toolbar_focus_test_obj") != null){
				document.all.item("_toolbar_focus_test_obj").value = "1";
				document.all.item(objID).focus(); // zmeni focus a tim vyvola pripadny test 'onchange' a vysledek precte
				if(document.all.item("_toolbar_focus_test_obj").value == "0"){
					if(vIE == "6>") setAttribute('_submitting', 'false');
					return; // nepovoli pokracovat
				}	
			}
		
			var _NavigateUrl;
			var _Target;
			var _DotazovaciText;
			var _TestRequired;
			var _TestZmenyFormulare;
			if(vIE == "6>"){ // verze IE6 a vic
				_NavigateUrl = event.srcNode.getAttribute("NavigateUrl");
				_Target = event.srcNode.getAttribute("Target");
				_DotazovaciText = event.srcNode.getAttribute("DotazovaciText");
				_TestRequired = event.srcNode.getAttribute("TestRequired");
				_TestZmenyFormulare = event.srcNode.getAttribute("TestZmenyFormulare");
			}
			else{ // verze IE5
				_NavigateUrl = document.all.item(_ASDToolBarButton_id).NavigateUrl;
				_Target = document.all.item(_ASDToolBarButton_id).Target;
				_DotazovaciText = document.all.item(_ASDToolBarButton_id).DotazovaciText;
				_TestRequired = document.all.item(_ASDToolBarButton_id).TestRequired;
				_TestZmenyFormulare = document.all.item(_ASDToolBarButton_id).TestZmenyFormulare;
			}
			
			if(_DotazovaciText == null || _DotazovaciText == "undefined") _DotazovaciText = "";
			if(_TestRequired == "true" || _DotazovaciText != ""){
				if(!window._TestRequired(_TestRequired,_DotazovaciText)) {if(vIE == "6>") setAttribute('_submitting', 'false'); return;}
			}
			
			if(_TestZmenyFormulare == "true"){
				if(!window._TestZmenyFormulare("")) {if(vIE == "6>") setAttribute('_submitting', 'false'); return;}
			}
			
			if(_NavigateUrl != null && _NavigateUrl != "undefined"){
				if(_Target == null || _Target == "undefined") _Target = "";
				_ASDOpen(_NavigateUrl, _Target, false)
				if(vIE == "6>") setAttribute('_submitting', 'false'); 
				return;
			}
		} // Konec - ASDToolBar, ASDToolBarButton
		
				
		// puvodni __doPostBack
						
		// dalsi volani klientske funkce pro dany objekt, kterou muze klient vyuzit
		GetVysl = true
		if (typeof (MyObj)=="function")
		{
			GetVysl = MyObj(eventTarget,eventArgument)
		}

		// standardni submit
		// zjisteni formu, ve kterem je umisten objekt
		for(x=0; x<window.document.forms.length; x++){
			theform = window.document.forms(x).id;
			if(typeof(window.document.forms(x)._zmena_formulare) == "object")
				break;
		}		
		if (GetVysl) {eval(theform+".submit()")};
}

	if ( typeof (window.__doPostBack)=="function")
	{
		window.__doPostBack = window.__doMyPostBack
	}


