﻿/******************************************************************
 BROWSER DETECTION
******************************************************************/



String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
};


/******************************************************************

******************************************************************/
 function getO(name)
 {
    return document.getElementById(name);
 }

 function getFormO(frm,s_id)
 {
	for (var i=0;i<frm.length;i++)
	  {
	    if(frm.elements[i].id==s_id) return frm.elements[i];
	  }
 }

 function setFormAct(i_form_name,iact)
 {
   var ACT_id  = i_form_name + '_ACT';
   var ACT_obj = getFormO(getO(i_form_name),ACT_id);
   ACT_obj.value = iact;    
 }
 
 
 function on_submit_form(i_this,i_s_jv_validation_proc)
 {
 	
 	sys_validation_message = '';
 	var form_id = i_this.id;
 	var SID_id  = form_id + '_SID';
 	var FID_id  = form_id + '_FID';
    var ACT_id  = form_id + '_ACT';
    var VAL_id  = form_id;

 	var SID_obj = getFormO(i_this,SID_id);
 	var FID_obj = getFormO(i_this,FID_id);


 	SID_obj.value = sys_SID;

 	var v = validation_standart_run(i_this);
 	if(!v)
 	{
 	  	validate_setFormMessage(sys_validation_message,VAL_id);
 	  	return false;
 	}

 	if(i_s_jv_validation_proc != ''){
 	  	var v = eval(i_s_jv_validation_proc+'(); ');
 	  	if(!v){
 	  		validate_setFormMessage(sys_validation_message,VAL_id);
 	  		return false;
 	  	}
 	}else{
 		return true;
 	}
 }

 
 function on_href_iframe(i_s_frame,i_n_fid,i_s_act,i_s_additional)
 {
 	var valid = true;
 	if(i_s_additional.substr(0,1)!='&'){
 		i_s_additional = '&'+i_s_additional;
 	}
 	getO(i_s_frame).src = 'iframe.php?FID='+i_n_fid+'&ACT='+i_s_act+'&SID='+sys_SID+i_s_additional;
 }

 
 function on_href_submit(i_o_this,i_n_fid,i_s_act,i_s_additional,i_s_jv_validation_proc)
 {
 	var valid = true;
 	if(i_s_additional.substr(0,1)!='&'){
 		i_s_additional = '&'+i_s_additional;		
 	}
 	if(i_s_jv_validation_proc){
 		valid = eval('return '+i_s_jv_validation_proc);
 		if(!valid){
 			i_o_this.href = '';
 			return false;
 		}
 	}
 	i_o_this.href += '?FID='+i_n_fid+'&ACT='+i_s_act+'&SID='+sys_SID+i_s_additional;
 	return true;
 }

 function on_href_reload_location(address,add)
 {
 	if(add.substr(0,1)!='&'){
 		add = '&'+add;
 	}
    document.location.href = sys_exec_file+'?'+address+'&SID='+sys_SID+add; 
 	//document.location.href = document.location.href + add; 	
 }
 
 function on_href_location(i_o_this,i_n_fid,i_s_act,i_s_additional)
 {
 	
 	if(i_s_additional.substr(0,1)!='&'){
 		i_s_additional = '&'+i_s_additional;
 	}
 	var act = '';
 	if(i_s_act){
 		act = 'act='+i_s_act+'&';
 	}
 	document.location.href = sys_exec_file+'?FID='+i_n_fid+'&'+act+'SID='+sys_SID+i_s_additional;
 } 
 

 function submit_iframe_form(iframe,frminput)
 {
	if(document.getElementById(iframe).contentDocument)
	{
	   document.getElementById(iframe).contentDocument.getElementById(frminput).submit();
	}else{
	   document.getElementById(iframe).contentWindow.document.getElementById(frminput).submit();
	}
 }
 
 
 function Loggout(text)
 {
	  var r=confirm(text)
	  if (r==true)
	    {
	      on_href_reload_location('sys_logout=true','');
	    }
	  else
	    {
	      return false;
	    } 	
 }
/******************************************************************
 VALIDATIONS
******************************************************************/

var sys_validation_message = '';
var sys_validation = new Array();


function add_validation(oid,valid){
	sys_validation[oid] = valid;
}


function validation_standart_run(frm)
{
	
	var res = true;
	var tp = '';
	for (var i=0;i<frm.length;i++)
	  {
	  	if(frm.elements[i].alt!='' || sys_validation[frm.elements[i].id]) {
	  		if(frm.elements[i].alt){
	  		  tp = frm.elements[i].alt
	  		}
	  		else{
	  		  tp = sys_validation[frm.elements[i].id];	
	  		}
	  		switch(tp)
			{
				
			case 'notNull':  res = res && validate_notNull(frm.elements[i]);  break;
			default:
			}
	    }
	  }
	return res;
}


function validate_notNull(o)
{
	var v = (o.value.trim() != '');
	if(!v){
		sys_validation_message = sys_validation_message +  "&lt;"+o.title+"&gt; nemôže byť prázdny! ";
	}
	return v;
}

function validate_notNull_nm(s_objname)
{
	var o = getO(s_objname);
	var v = (o.value.trim() != '');
	if(!v){
		sys_validation_message = sys_validation_message +  "&lt;"+o.title+"&gt; nemôže byť prázdny! ";
	}
	return v;
}

function validate_setFormMessage(mess,oname)
{
    var VAL_obj = getO(oname+'_VAL');
    VAL_obj.innerHTML = mess;
}



/******************************************************************
 HOVER BUTTONS
******************************************************************/

function DoSubmitBtnOver(o)
{
	o.className = "submitBtnHover";
}

function DoSubmitBtnOut(o)
{
	o.className = "submitBtn";
}


/******************************************************************
 SHOW DEBUG MESSAGES
******************************************************************/
function ShowCenterDiv(id,content,width,height,add)
{
	var a;
	a = '<div id="'+id+'" class="centeredDiv" '+add+' onClick="CloseCenterDiv(\''+id+'\')" ><div id="header" onClick="CloseCenterDiv(\''+id+'\')">Messages</div><div id="message">'+content+'</div></div>';
	document.write(a);	
	var o = getO(id);
	
	o.style.width  = width;
	o.style.height = height;
	o.style.top    = (screen.availHeight - height - 200) / 2;
	o.style.left   = (screen.availWidth - width) / 2;
}

function CloseCenterDiv(id)
{ 
	var o = getO(id);
	o.style.visibility="hidden";
}


/******************************************************************
 HOVER TABLE ROWS
******************************************************************/
function DoTdOver(o)
{
	o.className = o.className + '_sel';
}

function DoTdOut(o)
{
	o.className = o.className.substr(0,o.className.length-4);
}

function setRowVisibility(id_row,value)
{
	var o = getO(id_row);
	if(o){
		  o.style.display=value; 
	}	
}



function changeRowVisibility(i_this,id_row)
{
	var o = getO(id_row);
	if(o){
		if(o.style.display=='none')
		{
		  o.style.display='';
		  i_this.src = './images/nolines_minus.gif';
		}
		else
		{
		  o.style.display='none';  
		  i_this.src = './images/nolines_plus.gif';
		}
	}
}
