// funkcije koje se aktiviraju na ONKEYPRESS na textbox-u
function TextBox_onkeypress(obj,dec,pustam)
{
//
if (pustam==9){pustam='-'}
integer:rc = 0;
if (obj.name.substr(0,3)=="dat")
  {rc=datum_keypress(obj);}
else if(obj.name.substr(0,3)=="num")
  if (pustam == "-" )
	{rc=n_broj_keypress(obj,dec,pustam);}
  else
	{rc=broj_keypress(obj,dec);}
else if(obj.name.substr(0,3)=="str")
  {rc=str_keypress(obj,dec,pustam);}
return rc;
}
function str_keypress(obj,dec,pustam)
	{
	if (event.keyCode == pustam) {event.returnValue = true;return}
	if (event.keyCode < 48 || event.keyCode > 57) {event.returnValue = false}
	}
// za datum
function datum_keypress(obj) 
{
  var mojstrDatum = new String(); 
  mojstrDatum=obj.value.toString();
  if (mojstrDatum.length > 10)
    {event.returnValue = false;}
  if (mojstrDatum.length == 10)
    {event.returnValue = false;}
  if (event.keyCode <= 45 || event.keyCode > 58) 
    {event.returnValue = false;}
} 
// za broj
function broj_keypress(obj,dec)
{
	integer:rc = false; 
	integer:br = 0;
	integer:brdec = 0;
	
    if(obj.value.toString()=='0,00' || obj.value.toString()=='0' || obj.value.toString()=='0,0000' || obj.value.toString()=='0,000000'){obj.value=''}
	if(dec==0)
		{if (event.keyCode < 48 || event.keyCode > 57){rc = false;}}
	
	else if (dec > 0)
		{
			if (event.keyCode >= 48 && event.keyCode <=57 )
				{rc = true;}
			else
			{	
			//alert();
			if (event.keyCode == DecCode() && obj.value.toString().indexOf(DecZnak())==-1)
				{rc = true;}
			}	
		}
		
event.returnValue = rc;
}
// za negativni broj
function n_broj_keypress(obj,dec,pustam)
{
	integer:rc = false; 
	integer:br = 0;
	integer:brdec = 0;
	//alert(event.keyCode.toString());
	if(obj.value.toString()=='0,00'){obj.value=''}
	if(dec==0)
	    if (event.keyCode != 45)
	    {
			{if (event.keyCode < 48 || event.keyCode > 57){rc = false;}}
		}
		else
		{
			if (obj.value.substr(0,1) != '-')
			{
				obj.value = '-'+Trim(obj.value);
				rc = false;
			}
			else
			{rc = false;}
		}
	else if (dec > 0)
		{
			if (event.keyCode != 45)
			{
				if (event.keyCode >= 48 && event.keyCode <=57 )
					{rc = true;}
				else
				{	
				if (event.keyCode == DecCode() && obj.value.toString().indexOf(DecZnak())==-1)
					{rc = true;}
				}	
			}
			else
			{
				if (obj.value.substr(0,1) != '-')
				{
					obj.value = '-'+Trim(obj.value);
					rc = false;
				}
				else
				{rc = false;}
			}	
		}
		
event.returnValue = rc;
}
// funkcije koje se aktiviraju na ONFOCUSOUT na textbox-u
function TextBox_onfocusout(obj,broj_decimala,format_tisucu)
{
integer:rc = 0;

if(Form1.chk_Odustani.checked == true)
	{
	Form1.chk_Odustani.checked=false;
	return true;
	}
	
if (obj.readOnly==true){return true;}

if (obj.name.substr(0,3)=="dat")
  {rc=datum_onfocusout(obj);}
else if(obj.name.substr(0,3)=="num")
  {rc=broj_onfocusout(obj,broj_decimala,format_tisucu);}
else if(obj.name.substr(0,3)=="str")
  {rc=str_onfocusout(obj);}
}
// za string
function str_onfocusout(obj)
{
var strStr = new String();
integer:allow_empty=0;
strStr=obj.value.toString();
if (obj.name.substr(4,4)=="none"){allow_empty=1;}
if (strStr.length == 0)
  {if(allow_empty == 1)
    {alert("Pogrešno upisano polje");
    //obj.focus();
    return false;}
  }  
}   
// za datum
function datum_onfocusout(obj)
{
  var strDatum = new String(); 
  var poruka='';
  var strAlert= new String();
  integer:brojac=0;
  integer:allow_empty=0
  var dan = new String();
  var mjesec = new String();
  var godina = new String();
  strDatum=obj.value.toString();
  
  if (obj.name.substr(4,4)=="none"){allow_empty=1;}
  if (strDatum.length == 0)
    {if (allow_empty==1)
       {alert("Pogrešno upisani datum - polje je prazno (POSTAVITI E SE SISTEMSKI DATUM)");
        d= new Date();
        dan=d.getDate().toString();
        mjesec=(d.getMonth()+1).toString();
        godina=d.getYear().toString();
		if (dan.length < 2){dan="0"+dan;}
		if (mjesec.length < 2){mjesec="0"+mjesec;}
		obj.value=dan+ "." + mjesec+"."+godina;        
        //obj.focus();
        return false;}  
     else {return true}
    }   
  for (i=0;i<strDatum.length;i++)
    {
    if (strDatum.substring(i,i+1) == ".")
      {brojac++;}
    else
      {
      if (brojac==0 && strDatum.substring(i,i+1) != ".")
        {dan=dan + strDatum.substring(i,i+1);}
      else if (brojac==1 && strDatum.substring(i,i+1) != ".")
        {mjesec=mjesec + strDatum.substring(i,i+1);}
      else if (brojac==2 && strDatum.substring(i,i+1) != ".")
        {godina=godina+strDatum.substring(i,i+1);}
      }  
    }  
  if (brojac != 2)
    {alert("Pogrešno upisani format datuma - nedostaje datumski separator"); 
    //obj.focus(); 
    return false;}
  if (strDatum.length > 10)
    {alert("Pogrešno upisani datum - preveliki broj znamenaka");
    //obj.focus();
    return false;}
  if (dan.length < 2)
    {dan="0"+dan;}
  if (mjesec.length < 2)
    {mjesec="0"+mjesec;}
  if (parseFloat(mjesec)<1 || parseFloat(mjesec) > 12)
    {alert("Pogrešno upisani mjesec");
    //obj.focus();
    return false;}
  if (godina.length != 4 && godina.length != 2)
    {alert("Pogrešno upisana godina datuma - "+godina);
    //obj.focus();
    return false;}
  if (godina.length == 2)
    {godina="20"+godina;}
  brojac=parseInt(dan);
  if (mjesec=="04" || mjesec=="06" || mjesec=="09" || mjesec=="11")
    {
    if (brojac > 30)
       {alert("Pogrešno upisan broj dana - "+dan);
       //obj.focus();
       return false;}
    }
  else if (mjesec=="01" || mjesec=="03" || mjesec=="05" || mjesec=="07" || mjesec=="08" || mjesec=="10" || mjesec=="12")
    {
    if (brojac > 31)
       {alert("Pogrešno upisan broj dana - "+dan);
       //obj.focus();
       return false;}
    }  
  else if (mjesec="02")
    {
    if ((parseInt(godina))%4 == 0)
      {
      if (brojac > 29)
        {alert("Pogrešno upisan broj dana - "+dan);
        //obj.focus();
        return false;}
      }
    else
      {
      if (brojac > 28)
        {alert("Pogrešno upisan broj dana - "+dan);
        //obj.focus();
        return false;}
      }  
    }
  obj.value=dan + "." + mjesec +"."+godina;
 }
 // za broj
 function broj_onfocusout(obj,br_dec,for_tis)
  {
  var cstr = new String();
  integer:duz = 0;
  integer:allow_empty=0
  if (obj.name.substr(4,4)=="none"){allow_empty=1;}
  cstr = obj.value.toString();
  duz = cstr.length;
  if (duz == 0) 
    {if(allow_empty==1)
      {alert("Polje nesmije biti prazno");
      obj.value=Try1NumberFormat(obj,br_dec,allow_empty);
      }
    else
      {obj.value=Try1NumberFormat(obj,br_dec,allow_empty);
      } 
    }
  else
    {obj.value=Try1NumberFormat(obj,br_dec,allow_empty);
    }
if (for_tis!=null )    
	{if (for_tis==true )
		{
			var cCijeliDio;
			var cDecimalniDio;
			cCijeliDio='';
			var apolje = obj.value.toString().split(DecZnak());
			for (i=0;i<apolje[0].length;i++)
				{if (apolje[0].substr(i,1)!=TisZnak())
					{cCijeliDio=cCijeliDio+apolje[0].substr(i,1);}
				}
			apolje[0]=cCijeliDio;
			duz=0;
			cCijeliDio='';
			for (i=apolje[0].length;i>0;i--)
			{
				cCijeliDio=apolje[0].substr(i-1,1) + cCijeliDio;
				duz++;
				if (duz==3){cCijeliDio=TisZnak()+cCijeliDio;duz=0;}
			}
			if (cCijeliDio.substr(0,1)==TisZnak())
			{cCijeliDio=cCijeliDio.substr(1)}
			obj.value=cCijeliDio+DecZnak()+apolje[1];
		}
	}
}
function Try1NumberFormat(obj,br_dec,aempty)
{
	integer:nDecPoz = obj.value.toString().indexOf(DecZnak());
	var cCijeliDio;
	var cDecimalniDio;
	// ako je polje prazno - vraca 0
	if (obj.value.toString().length == 0)
	{
		cCijeliDio='0';
		cDecimalniDio='';
		if (br_dec > 0)
		{
			cCijeliDio='0'+DecZnak();
			for (i=0;i<br_dec;i++)
				{
				cDecimalniDio=cDecimalniDio+'0';
				}
		}
		return cCijeliDio+cDecimalniDio;				
	}
	// ako polje nije prazno i broj decimala je 0, vraca samu vrijednost
	if (br_dec == 0){return obj.value;}
	// ako nema decimalnog znaka, a broj decimala je veci od 0
	if (nDecPoz==-1 && br_dec > 0)
	{
		cCijeliDio=obj.value.toString()+DecZnak();
		cDecimalniDio='';
		for (i=0;i<br_dec;i++)
			{
			cDecimalniDio=cDecimalniDio+'0';
			}
		return cCijeliDio+cDecimalniDio;				
	}
	// ako je decimalni znak na prcom mjestu
	if (nDecPoz==0 && br_dec > 0)
		{
		cCijeliDio='0';
		cDecimalniDio=obj.value.toString();
		return cCijeliDio+DecZnak()+cDecimalniDio.substr(1);
		} 
	// upisani je decimalni znak i broj decimala > 0		
	if (nDecPoz>0 && br_dec > 0)
		{
		var apolje = obj.value.toString().split(DecZnak());
		cCijeliDio=apolje[0];
		cDecimalniDio=apolje[1];
		// ako nakon decimalnog znaka nema nista upisano
		if (cDecimalniDio.length==0)
			{	
			cCijeliDio=cCijeliDio+DecZnak();
			cDecimalniDio='';
			for (i=0;i<br_dec;i++)
				{
				cDecimalniDio=cDecimalniDio+'0';
				}
			return cCijeliDio+cDecimalniDio;				
			}
		else if (cDecimalniDio.length<br_dec)
			{
			cCijeliDio=cCijeliDio+DecZnak();
			for (i=cDecimalniDio.length;i<br_dec;i++)
				{
				cDecimalniDio=cDecimalniDio+'0';
				}
			return cCijeliDio+cDecimalniDio;				
			}
		else if (cDecimalniDio.length>br_dec)
			{
			cCijeliDio=cCijeliDio+DecZnak();
			cDecimalniDio=cDecimalniDio.substr(0,br_dec);
			return cCijeliDio+cDecimalniDio;				
			}
		}
	return obj.value.toString();		
}

function k_range_onfocusout(input,min,max)
  {
  if (input.value < min)
	if (confirm("Polje mora biti vee od " + min.toString()+ " - NASTAVAK"))
		{
		input.focus();
		input.select();}
	else history.back();
  else if (input.value > max) 
	if (confirm("Polje mora biti manje od " + max.toString()+ " - NASTAVAK"))
		{
		input.focus();
		input.select();}
	else history.back();
}

function Trim(MojString)	
		{
		var len;
		len = MojString.length;
		while(MojString.substring(0,1) == ' ')
			{
			MojString = MojString.substring(1,len);
			len = MojString.length ;
			}
		while(MojString.substring(len-1,len) == ' ')
			{
			MojString=MojString.substring(0,len-1);
			len = MojString.length;
			}
	
		return MojString;
		}
