﻿function alertAndBack(obavijest){
		alert (obavijest)
		history.back(-1)
}
function convertCommaToDot(value){
 	s=String(value)
	ret=s.replace(",",".")
	if(ret=="null") return 0
	else return(ret)
}
function convertStringToDate(value) {
	value=String(value)
	if(value.length==(value.lastIndexOf(".")+1)) value=value.substr(0,value.length-1)
	tmpString=String(value)
	polje=tmpString.split(".")
	retVal=new Date(polje[2],polje[1]-1,polje[0])
	return retVal
}
//vraća polje koje sadrži sve elemente na stranici koji su zadane klase
//slično kao ugrađena funkcija "getElementsById"
//
document.getElementsByClassName=function(cl){
	var retnode=[];
	var myclass=new RegExp('\\b'+cl+'\\b');
	var elem=this.getElementsByTagName('*');
	for (var i=0; i<elem.length; i++){
		var classes=elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}
// Formatira primljenu "FLOAT" vrijednost bez ozbira da li je s zarezom ili točkom
// u oblik sa željenim brojem decimala. Vraća "FLOAT" vrijednost s zarezom.
function formatFloatValue(value,decimalPlaces) {
	value=String(value)
	value=value.replace(",",".")
	value=Math.round(value*Math.pow(10,decimalPlaces))/Math.pow(10,decimalPlaces)
	valueString=String(value)
	valueString=valueString.replace(".",",")
	if (valueString.indexOf(",")<0) {
		valueString=valueString+","
		num=decimalPlaces
	} else {
		splitString=valueString.split(",")
		num=decimalPlaces-splitString[1].length
	}
	for (in1=0;in1<num;in1++) {
		valueString=valueString+"0"
	}
	return valueString
}
//funkcija format value, 
 //pretara broj u željeni prikaz znači dali da stavlj točku svake tri decimale i slično
 //value - broj koji obradujemo
 //decimalPlaces - (int) dali želimo je cijeli broj ili sa decimalama
 //tocke - (boolean) dali želimo tisucice odvajati sa točkom
 //decimalnaOznaka - decimalna mjesta cijelog broja odvajamo sa definiranim znakom
 //    - baza treba od integera odvajati decimale sa tockom
function fFV(value,decimalPlaces,tocke,decimalnaOznaka){
	tocke=getBoolean(tocke)
	value=String(value)
	value=value.replace(",",".")
	value=Math.round(value*Math.pow(10,decimalPlaces))/Math.pow(10,decimalPlaces)
	valueString=String(value)
	valueString=valueString.replace(".",",")
	if(parseInt10(decimalPlaces)>0){
		if(valueString.indexOf(",")<0){
			valueString=valueString+","
			num=decimalPlaces
		}else{
			splitString=valueString.split(",")
			num=decimalPlaces-splitString[1].length
		}
		for(n1=0;n1<num;n1++){
			valueString=valueString+"0"
		}
	}
	if(tocke){
		//pomak - ukoliko postoji zarez na vrijednosti oduzima se 1 mjesto kada se parsira svaka tri mjesta i dodaje tocka
		if(parseInt10(decimalPlaces)>0) pomak=1
		else pomak=0
		firstStr=valueString.substr(0,valueString.length-decimalPlaces-pomak)
		commonStr=""
		restStr=valueString.substr(valueString.length-decimalPlaces-pomak,decimalPlaces+pomak)
		for(n1=0;n1<firstStr.length;n1++){
			commonStr=commonStr+firstStr.charAt(n1)
			if((mod(firstStr.length-n1,3)==1)&&((n1+1)!=firstStr.length)) commonStr=commonStr+"."
		}
		valueString=commonStr+restStr
	}
	if(decimalnaOznaka=="."){
		valueString=valueString.replace(".","YYY")
		valueString=valueString.replace(",",".")
		valueString=valueString.replace("YYY",",")
	}
	return valueString
}
function getBoolean(value) {
	value=trim(value)
	if ((value=="True")||(value=="true")||(value=="1")) return true
	else return false
}
// Vraća različite oblike datuma i vremena
// Opisi varijabli:
// value	- datum oblika DATE (ako je string konvertirat sa funk convertStringToDate("27.03.2004"))
// format	- jedan od razlih oblika u koji želimo pretvoriti
// days		- apsolutni broj dana za koji želimo uvećati datum npr ako je ulazni datum
//					"27.03.2004", a vrijednost varijable days="5" rezultat će biti "04.04.2004"
function getDate(value,format,days) {
	if(trim(value)=="") return ""
	if(value=="TODAY") d=new Date()
	else d=new Date(value)
	if(days!=null) d.setDate(parseInt10(d.getDate())+parseInt10(days))
	day=String(parseInt10(d.getDate()))
	if(day.length==1) day="0"+day
	month=String(parseInt10(d.getMonth())+1)
	if(month.length==1) month="0"+month
	year=String(d.getFullYear())
	syear=year.substr(2,2)
	hour=String(parseInt10(d.getHours()))
	if(hour.length==1) hour="0"+hour
	minute=String(parseInt10(d.getMinutes()))
	if(minute.length==1) minute="0"+minute
	second=String(parseInt10(d.getSeconds()))
	if(second.length==1) second="0"+second		
	switch (format) {
		case "00/00" :
			return month+"/"+syear
		break
		case "DD.MM.YYYY" :
			return day+"."+month+"."+year
		break
		case "DD.MM.YYYY HH:MM:SS" :
			return day+"."+month+"."+year+" "+hour+":"+minute+":"+second
		break
		case "HH:MM" :
			return hour+":"+minute
		break
		case "YYYYMMDD" :
			return year+month+day
		break
		case "MM.DD.YYYY" :
			return month+"."+day+"."+year
		break
		case "DD.MM" :
			return day+"."+month
		break
		case "DD" :
			return day
		break
		case "MM" :
			return month
		break
		case "YYYY" :
			return year
		case "YY" :
			return syear
		break
	}
}
//function hideSD(){
//	aler("hide fc_webMapa.js")
//	try{
//		document.getElementById("searchDialog").style.visibility='hidden'
//		if(opener) {
//			opener.document.getElementById("searchDialog").style.visibility='hidden'
//			//if(opener.document.all.s3) {
//			//	opener.document.all.s3.style.visibility='visible'
//			//}
//		}
//	}catch(e){}
//}

function isDate(val){
	val=trim(val);
	if(val.length==(val.lastIndexOf(".")+1)) val=val.substr(0,val.length-1)
	var sep1=parseInt(val.indexOf("."))
	var sep2=parseInt10(val.indexOf(".",sep1+1))
	var len=parseInt10(val.length)
	var dd=val.substr(0,sep1)
	var mm=val.substr(sep1+1,sep2-sep1-1)
	var yy=val.substr(sep2+1,len-sep2-1)
	if((dd.length<1) || (dd.length>2)) return false
	if((mm.length<1) || (mm.length>2)) return false
	if((yy.length<1) || (yy.length>4)) return false
	if(yy.length<4){
		if(yy<50) yy=parseInt10(yy)+2000
		else yy=parseInt10(yy)+1900
	}
	if((yy<1900) || (yy>2050)) return false
	var leap=((yy==(parseInt10(yy/4) * 4)) && !(yy==(parseInt10(yy/100) * 100)))
	if(dd<=0) return false
	if(!((mm>=1) && (mm<=12))) return false
	if((mm==2) && (leap)) dom=29
	if((mm==2) && !(leap)) dom=28
	if((mm==1) || (mm==3) || (mm==5) || (mm==7) || (mm==8) || (mm==10) || (mm==12)) dom=31
	if((mm==4) || (mm==6) || (mm==9) || (mm==11)) dom=30
	if(dd>dom) return false
	return true
}
function isEnabled(objectName) {
	if(document.all[objectName].disabled) return false
	return true
}
//Provjerava da li je vrijednost tipa FLOAT (samo pozitivne vrijednosti)
function isFloat(value){
	if((value==",")||(value.indexOf(",")!=value.lastIndexOf(","))) return false
	for(var i = 0; i < value.length; i++) {
		var c = value.charAt(i)
		if((!((c >= "0") && (c <= "9")))&&(c!=",")) return false
	}
	return true
}
function isInteger(value) {
	for (var i = 0; i < value.length; i++) {
		var c = value.charAt(i)
		if(!((c >= "0") && (c <= "9"))) return false
	}
	return true
}
function isJMBG(value) {
	var pond=2;
	var n1=0,n2=0
	var suma=0;
	valueStr=String(value)
	if(valueStr.length==12) valueStr="0"+valueStr
	if(valueStr.length<13) return false
	else {
		for (n1=11;n1>=0;n1--) {
			n2=parseInt(valueStr.charAt(n1))
			suma=suma+n2*pond
			pond++
			if(pond==8) pond=2
		}
		if(mod(suma,11)==1) return false
		else {
			n1=11-mod(suma,11)
			n2=mod(n1,11)
			if(n2!=valueStr.charAt(12)) return false			
			else return true
		}
	}
}
function keyMessage(type,event,sAlert) {
		switch (type) {
		case "KEY_NOT_ALLOWED":
			if(sAlert && event.keyCode==10)  alert ('Gumb "CTRL+Enter" nije dozvoljen!')
			else if(sAlert) alert ('Znak "'+String.fromCharCode(event.keyCode)+'" nije dozvoljen!')
			event.returnValue = false
		break
		case "KEY_ENTER_NOT_ALLOWED":
			if(sAlert) alert ('Gumb "Enter" nije dozvoljen!')
			event.returnValue = false
		break
		}
}
function mod(x,y) {
	return Math.round(x-(Math.floor(x/y)*y));
}
function parseInt10(value) {
	return parseInt(value,10)
}
function rowClick(id){
	try{
		document.all.T1.rows[currSel].className=oldClassName;
	}catch(e){}
	oldClassName=document.all.T1.rows[id].className;
	document.all.T1.rows[id].className="T1ItemOver";
	currSel=id
	jsRecID=document.all.T1.rows[currSel].cells(0).innerText
	//ako nema ove dole linije onda se ne selektira red nakon action=REFRESH
	//document.all.T1.rows(currSel).scrollIntoView(false)	
	try{
		if(window.event.keyCode!=0) document.all.T1.rows[currSel].scrollIntoView(false)
	}catch(e){
		document.all.T1.rows[currSel].scrollIntoView(false)
	}
}
function rowKeyDown(keyCode){
	try{
		if(keyCode=="38" && currSel>1 && currSel!="undefined") rowClick(currSel-1,document.all.T1.rows[currSel-1].cells[0].innerText)
		if(keyCode=="40" && currSel<(document.all.T1.rows.length-2)) rowClick(parseInt(currSel)+1,document.all.T1.rows[currSel+1].cells[0].innerText)
		window.event.returnValue = false
	}catch(e){}
}
function showSD() {
	try{
		document.all["searchDialog"].style.zIndex=1
		document.all["searchDialog"].style.visibility='visible'
	}catch(e){}
}
// Radi trimming stringa. Ukoliko je vrijednost NULL vraća prazan string
function trim(str) {
	//alert("trim ")
	var bl, ret
	s=String(str)
	bl=/(^\s*)|(\s*$)/g
	ret=s.replace(bl,"")
	if(ret=="null") return ""
	else return(ret)
}
// Radi trimming stringa. Ukoliko je vrijednost NULL, "undefined" ili prazan string 
// vraća "&nbsp;"
function trimNBSP(str) {
	ret=trim(str)
	ret=Server.HTMLEncode(ret)
	if((ret=="null")||(ret=="")||(ret=="undefined")) return "&nbsp;"
	else return(ret)
}
function trimUndefined(str) {
	//alert("trimUndefined 1")
	ret=trim(str)
	//ret=Server.HTMLEncode(ret) 
	if(ret=="undefined") return ""
	else return(ret)
}
function windowClose(name) {
		var windowHandle=window.open("",name,"left=2001,top=2001,width=1,height=1")
		windowHandle.close()
}
function windowOpen(page,name){
	wH=screen.height-87
	wW=screen.width-12
	window.open(page,name,"left=0,top=0,width="+wW+",height="+wH+",toolbar=no,location=no,status=yes,menubar=no,scrollbars=no,resizable=yes")
}
