document.write("<TITLE>Javna objava</TITLE>");


// Title: Lots of various stuff...
// Version: 1.0.0
// Date: 10-05-2005 (dd.mm.yyyy)
// Author: Arminio <Arminio_Grgic@yahoo.com>
// Notes: Permission given to use this script in any kind of applications if
//    header lines are left unchanged. Feel free to contact the author
//    for feature requests and/or donations



// Za Ranka jednostavnija varijanta
function handleEnterSimple (x, event) {
	if(event.keyCode==13) event.keyCode=9;
	return true;
}

function nemozeminus(x,y)
{
	if (x.value.indexOf('-')==0 && x.value.length==1) {if (y!=0) {alert('AOP '+y+':\n\nUpisali ste samo negativan predznak a niste upisali broj!')}; x.value=''; x.focus(); return false;};
	return true;
}

function handleEnterSimple2 (x, event, tip, celija, vp) {
//	if (!nemozeminus(x,1)) {return false};
	if (tip)
	{
		//alert(vp);
		// 777
		if (vp == '777')
		{
			if (event.keyCode==13 && !event.shiftKey) window.scrollBy(0,celija+3); //-7
			if (event.keyCode==13 && event.shiftKey) window.scrollBy(0,-celija-3);   //+7
		}
		else
		{
		// ostalo
			if (event.keyCode==13 && !event.shiftKey) window.scrollBy(0,celija+10); //-7
			if (event.keyCode==13 && event.shiftKey) window.scrollBy(0,-celija-10);   //+7
		}
	}
	if(event.keyCode==13) event.keyCode=9;
	return true;
}




// procesiranje zadnjeg elementa u formi
// ako tu snisnemo enter, skace se na prvi element.
function handleEnterNA_PRVI (x, event, f) {
	if(event.keyCode==13 && !event.shiftKey) 
	{	event.keyCode = 0;
		x.focus();
		return false;
	}
	else
	 return handleEnter(f, event);
}
// procesiranje prvog elementa u formi
// ako tu snisnemo shift+enter, skace se na zadnji element.
function handleEnterNA_ZADNJI (x, event, f) {
	if(event.keyCode==13 && event.shiftKey) 
	{	event.keyCode = 0;
		x.focus();
		return false;
	} else
	 return handleEnter(f, event);
}


/***********************************************
* ENTER handler
* Based on -| Disable "Enter" key in Form script |- By Nurul Fadilah(nurul@REMOVETHISvolmedia.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

// heavily modified by A.G.

function handleEnter (field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    
    if (keyCode == 13) {
      var i;

      if (!event.shiftKey) // dolje
      {
          for (i = 0; i < field.form.elements.length; i++)
            if (field == field.form.elements[i])
            {
                field.form.elements[i].value = field.form.elements[i].value;
                break;
            }
          i = (i + 1) % field.form.elements.length;
            while (field.form.elements[i].type == "checkbox")
                i = i + 1;
       }
       else
       {                    // gore
          for (i = field.form.elements.length; i > 0; i--)
            if (field == field.form.elements[i])
              break;
          i = (i - 1) % field.form.elements.length;
          if (i<0) i=field.form.elements.length-1;
            while (field.form.elements[i].type == "checkbox")
                i = i - 1;
          if (i<0) i=field.form.elements.length-1;
      };
      field.form.elements[i].focus();
      if ((field.form.elements[i].type != "select-one") && (field.form.elements[i].className != 'dbText') && (field.form.elements[i].className != 'crveniDBText')) field.form.elements[i].select();
      return false;
    }
    return true;
  };


/*
* by A.G.
*/
function Preskok(field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (!event.shiftKey) { // dolje
      var i;
      for (i = 0; i < field.form.elements.length; i++)
        if (field == field.form.elements[i])
          break;
      i = (i + 1) % field.form.elements.length;
            while (field.form.elements[i].type == "checkbox")
                i = i + 1;
      field.form.elements[i].focus();
      field.form.elements[i].select(); // added by A.G.
      return false;
    } 
    else
    if (event.shiftKey) { // gore
      var i;
      for (i = field.form.elements.length; i > 0; i--)
        if (field == field.form.elements[i])
          break;
      i = (i - 1) % field.form.elements.length;
            while (field.form.elements[i].type == "checkbox")
                i = i - 1;
      field.form.elements[i].focus();
      if (field.form.elements[i].type != "select-one") field.form.elements[i].select();
      return false;
    } 
    return true;
  };


function Brojke(field, event, tocka) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	//alert(keyCode);
	// 46 = .
	// 45 = -
	if (keyCode == 44) { event.keyCode = 46; keyCode=46};
	if (((keyCode>47) && (keyCode<58) )  || (keyCode==8) || keyCode == 13 || event.ShiftKey || keyCode == tocka) { return true; }
	else return false;
};


function ne_znakovi(field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
//	alert(keyCode);
	// 46 = .
	// 45 = -
	if (keyCode == 37 || keyCode == 39) { return false}
	else return true;
};



function pad(number,length) {
    var str = '' + number;
    while (str.length < length)
        str = ' ' + str;
    return str;
}

function BrojkeAOP(field, event, tocka) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	//alert(keyCode);
	// 46 = .
	// 45 = -

	//field.value = pad (field.value, 12);
	//if (pos('-', field.value) >= 0)
	
	if (((keyCode>47) && (keyCode<58) )  || (keyCode==8) || keyCode == 13 || event.ShiftKey || ((keyCode == tocka) && (field.value.indexOf('-')<0) )) { return true; }
	else return false;
};

function BrojkeAOPminus(field, event, tocka, aop) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	//alert(keyCode);
	// 46 = .
	// 45 = -

	//field.value = pad (field.value, 12);
	//if (pos('-', field.value) >= 0)
//	if (keyCode == tocka)
	{
		if (field.value.indexOf('-')>=1)
			{ //field.value = field.value.substring(0,field.value.indexOf('-'))+field.value.substring(field.value.indexOf('-')+1,field.value.length);
				alert('AOP '+aop+':\n\nOznaka negativnog predznaka mora biti na početku broja!');
				field.value='';
				return false;
			}
	}
	return true;
};

// boja trenutno polje u zuto sa plavim rubom a sva ostala vrati "u normalnu"
// -- sporo radi kad ima puno elemenata na formi a sluzi za kompletno ciscenje (kod npr. klika na "OBRAZAC ISRAVAN U CIJELOSTI")!
function OznaciPolje(field)
{

  var i;
      for (i = 0; i < field.form.elements.length; i++)
      {
          if (field.form.elements[i].className == 'fuText')  field.form.elements[i].className = 'ruText';
          if (field.form.elements[i].className == 'crveniText2')  field.form.elements[i].className = 'crveniText';
//          if ((field == field.form.elements[i]) && (field.form.elements[i].className == 'ruText'))  field.form.elements[i].className = 'fuText';
          if (field == field.form.elements[i])
          {
            if (field.form.elements[i].className == 'ruText') field.form.elements[i].className = 'fuText';
            if (field.form.elements[i].className == 'crveniText') field.form.elements[i].className = 'crveniText2';
          }
      }
    return false;
};

// brza varijanta: boja trenutno polje u zuto sa plavim rubom
function BojajPolje(field)
{
	if (field.className == 'ruText') field.className = 'fuText';
    if (field.className == 'crveniText') field.className = 'crveniText2';
};
// brza varijanta: vrati boju na normalnu
function NormalPolje(field)
{
	if (field.className == 'fuText') field.className = 'ruText';
    if (field.className == 'crveniText2') field.className = 'crveniText';
};



/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= ".";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr,txt){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear

	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1 || dtStr.length!=10){
		alert(txt+": Datum mora biti u formatu DD.MM.GGGG !")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert(txt+": Unesite ispravan mjesec!")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert(txt+": Unesite ispravan dan!")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert(txt+": Neispravna godina (dozvoljen raspon godina od "+minYear+" do "+maxYear+")!")
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert(txt+": Neispravan datum!")
		return false
	}
return true
}

/*
function ValidateForm(txt){
	var dt=document.frmSample.txtDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }
*/


var submitcount=0;

function kolikoClickova()
   {
   if (submitcount == 0)
      {
      submitcount++;
      return true;
      }
   else 
      {
      //alert("Obrada je u tijeku...\n\nNe šaljite zahtjeve ponovo!");
      return false;
      }
   }

function saljimail(adr, txt)
	{
		if (adr=='')
		{
			alert(txt);
			return 1;
		} else
		{
			window.open('mailto:'+adr);
			return 0;
		}
	}
   
function navodnik (field,neznak)
{
	{
		nz = "'";
		if (neznak==1) {nz= '"';};
		if (field.value.indexOf(nz)>=0)
			{ 
				alert('Nije dozvoljeno korištenje znaka '+nz+' !');
			//field.value = field.value.replace('/"/gi','x');
				ss = '';
				for (var i = 0; i <= field.value.length-1; i++)
				{
					if (field.value.substring(i,i+1) == nz)
					{
						ss = ss+ '???';
					}
					else
					{
						ss = ss+field.value.substring(i,i+1);
					}
				}
//				field.value=ss;
				//document.write(ss);
				return false;
			}
	}
	return true;
}

function leftTrim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	return sString;
}

function rightTrim(sString)
{
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function trimAll(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function trimAllPlus (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function testRadio(forma, txt) {
		tRet = true;
		odabran = -1;
		if (forma.length==null) 
		{
				if (forma.checked) {
				odabran = 0;}
		}				
		else
		{
		 		for (i=forma.length-1; i > -1; i--) {
				if (forma[i].checked) {
				odabran = i;
				}
			   }
		}
		if (odabran==-1) {tRet=false;alert(txt);};
		return tRet;
}

function getRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function IsNum(PossibleNumber)
{
	var PNum = new String(PossibleNumber);
	var regex = /[^0-9]/;
	return !regex.test(PNum);
}

function IsNumeric(sText,extrachar)

{
   var ValidChars = "0123456789"+extrachar;
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
