// util.js

// BlockBS
// blokuje BackSpace i Alt-Lewo dla całego dokumentu oprócz inputów
function BlockBS(){

	document.oncontextmenu = new Function("return false");
	document.onkeydown = function()
		{
			//blokada ctrl N
			if ((event.keyCode == 78) && (event.ctrlKey) && (!event.altKey)){
				event.cancelBubble = true;
				event.returnValue = false;
				event.keyCode = false; 
				return false;
			}
			
			//blokada ctrl E
			if ((event.keyCode == 69) && (event.ctrlKey) && (!event.altKey)){
				event.cancelBubble = true;
				event.returnValue = false;
				event.keyCode = false; 
				return false;
			}
			
			//blokada ctrl H
			if ((event.keyCode == 72) && (event.ctrlKey) && (!event.altKey)){
				event.cancelBubble = true;
				event.returnValue = false;
				event.keyCode = false; 
				return false;
			}
			
			//blokada ctrl L
			if ((event.keyCode == 76) && (event.ctrlKey) && (!event.altKey)){
				event.cancelBubble = true;
				event.returnValue = false;
				event.keyCode = false; 
				return false;
			}
			
			//blokada ctrl B
			if ((event.keyCode == 66) && (event.ctrlKey) && (!event.altKey)){
				event.cancelBubble = true;
				event.returnValue = false;
				event.keyCode = false; 
				return false;
			}
			
			//blokada F11
			if (event.keyCode==122){
				event.cancelBubble = true;
				event.keyCode = 8;
				event.returnValue = false;
				return (false);
			}			

			//blokada alt-left
			if (event.altKey==true && event.keyCode==37){
				return (false);
			}		
			//blokada fire'ow bez srcElement
			if (event.srcElement == null){
				return (event.keyCode != 8);
			}
			//jeżeli input typu text, file lub password to pozwalam mu na wszystko
			if ((event.srcElement.tagName.toUpperCase() == 'INPUT' && 
					(event.srcElement.type.toUpperCase() == 'TEXT' || 
					 event.srcElement.type.toUpperCase() == 'FILE' ||
					 event.srcElement.type.toUpperCase() == 'PASSWORD') ) ||
				     	( event.srcElement.tagName.toUpperCase() == 'TEXTAREA')){
			    if (event.srcElement.readOnly || event.srcElement.disabled){
			    	//jeżeli readonyl to trzeba blokowac BS
			    	return (event.keyCode != 8);
			    }else{
			    	//normalny input, któremu wszystko wolno...
					return (true);  
				}
			}
			//dla wszystkiego innego filtruję BS
			return (event.keyCode != 8);
		}
		
}

//wykonuje akcje poprzez submit formularza 'submitForm'
//@param ctrl - obiekt, który odpalił funkcję
//
function fireClick(ctrl){

		var shref = ctrl.getAttribute("href");
		var starget = ctrl.getAttribute("target");
		document.forms['submitForm'].action = shref;

		if(starget != null || starget == ""){
			document.forms['submitForm'].target=starget;
		}
		document.forms['submitForm'].submit();
}

//wykonuje akcje poprzez submit formularza nazwaForm bez dblSubmita
//@param ctrl - obiekt, który odpalił funkcję
//
function fireClickNoDblSubmit(nazwaForm, ctrl){

		var shref = ctrl.getAttribute("href");
		var starget = ctrl.getAttribute("target");
		var dblSubmit = document.forms[nazwaForm].getAttribute("dblSubmit");
		document.forms[nazwaForm].action = shref;

		if(starget != null || starget == ""){
			document.forms[nazwaForm].target=starget;
		}
		if(dblSubmit==null || dblSubmit=="false" || dblSubmit==""){
			document.forms[nazwaForm].setAttribute("dblSubmit", "true");
			document.forms[nazwaForm].submit();
		}
}