﻿var OldValue="0,00";
var MoneyType = 1;
function bkMoneyGetType(v)
{
	var exp1 = /^(?:\d{1,3}(?:([.])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\0)[,]\d{2})?$/;
	var exp2 = /^(?:\d{1,3}(?:([,])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\0)[.]\d{2})?$/;
	var exp3 = /^(?:\d{1,3}(?:([ ])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\0)[,]\d{2})?$/;
	var exp4 = /^(?:\d{1,3}(?:([ ])\d{3})?(?:\1\d{3})*|(?:\d+))((?!\0)[.]\d{2})?$/;
	var exp5 = /^[0-9]\d{0,12}(\,\d{1,2})?%?$/;
	/*
	if(v.match(exp1))
	{
		return 1;
	}
	else if(v.match(exp2))
	{
		return 2;
	}
	else if(v.match(exp3))
	{
		return 3;
	}
	else if(v.match(exp4))
	{
		return 4;
	}
	*/
	if(v.match(exp5))
	{
		return 5;
	}
	return -1;
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-')  + num + ',' + cents);
}

function formatCurrencyOnObj(obj) {
num = bkConvertMoneyToNo(obj.value);
//alert(num);
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
 obj.value = (((sign)?'':'-')  + num + ',' + cents);
}

function fmtMoney( n, c, d, t ) {
	
	
	var m = ( c = Math.abs( c ) + 1 ? c : 2, d = d || ",", t = t || ".", /(\d+)(?:(\.\d+)|)/.exec( n + "" ) ), x = m[1].length % 3;
	return ( x ? m[1].substr( 0, x ) + t : "" ) + m[1].substr( x ).replace( /(\d{3})(?=\d)/g, "$1" + t ) + ( c ? d + ( +m[2] ).toFixed( c ).substr( 2 ) : "" );
};




function bkConvertNoToMoney(No,Typ)
{
	var RV = No.toString();
	var Dec = ",";
	var BDec = "";
	/*
	if(Typ==1)
	{
		Dec = ",";
		BDec=".";
	}
	else if(Typ==2)
	{
		Dec = ".";
		BDec=",";
	}
	else if(Typ==3)
	{
		Dec = ",";
		BDec=" ";
	}
	else if(Typ==4)
	{
		Dec = ".";
		BDec=" ";
	}
	*/
	if(Typ == 5)
	{
		Dec = ",";
		BDec=".";
	}
	var SN = RV.split('.');
	var T2 = "";
	if(SN.length == 2)
	{
		if(SN[1].length == 1)
		{
			T2 = SN[1].substr(0,1)+"0";
		}
		else
		{
			T2 = SN[1].substr(0,2);
		}
	}
	else
	{
		T2 = "00";
	}
	var T1 = SN[0];
	var T11 = T1;
	if(Typ != 5)
	{
		/*NE RADI DOBRO */
		var C = T1.length%3;
		if(C==0)
			C = 3;
		var z1 = 0;
		var T11="";
		for(z=3;z<T1.length;z=z+3)
		{
			T11 += T1.substr(z1,C)+BDec;
			if(z1 == 0)
				z1 = C;
			else
				z1 += 3;
		}
		T11 += T1.substr((T1.length-3),3);
		
	}
	if(parseFloat(RV) == 0 || RV=="")
	{
		RV = bkMoneyNull(Typ);
	}
	else
	{
		RV = T11+Dec+T2;
	}
	return RV;
}

function bkMoneyNull(T)
{
	var RV = "0,00";
	if(T==2 || T == 4)
	{
		RV = "0.00";
	}
	return RV;
}

function bkSumTXT(SuID)
{
	var ob = event.srcElement;
	if(ob.value == "")
		ob.value = bkConvertNoToMoney(0,MoneyType);
	var T = bkMoneyGetType(ob.value);
	if(T != -1)
	{
		MoneyType = T;
		var SuOB;
		var SUM;
		var ObV;
		var SValue;
		var NewV = bkConvertMoneyToNo(ob.value);
		//alert(NewV);
		var OldV = bkConvertMoneyToNo(OldValue);
		var SuIDes = SuID.split(",");
		for(i=0;i<SuIDes.length;i++)
		{
			SuOB = document.getElementById(SuIDes[i]);
			if(SuOB != null)
			{
				ObV = bkConvertMoneyToNo(SuOB.value);
				SUM = (ObV - OldV) + NewV;
				//alert(SUM);
				SValue = bkConvertNoToMoney(SUM,MoneyType);
				SuOB.value = SValue;
			}
		}
		//alert(ob.value);
		ob.value = bkConvertNoToMoney(NewV,MoneyType);
		//alert(ob.value);
	}
	else
	{
		ob.select();
	}
			
}

function bkTXTFocus(v)
{
	if(bkMoneyGetType(v)!=-1)
	{
		OldValue = v;
	}
}

function bkConvertMoneyToNo(v)
{
	var RV = v;
	/*
	var L = v.length;
	if(v.indexOf(" ")!=-1)
	{
		RV = bkReturnSV(v," ");
	}
	else if(v.lastIndexOf(",")>(L-4))
	{
		RV = bkReturnSV(v,".");
	}
	else if(v.lastIndexOf(".")>(L-4))
	{
		RV = bkReturnSV(v,",");
	}
	else if(v.indexOf(".")!=-1)
	{
		RV = bkReturnSV(v,".");
	}
	else if(v.indexOf(",")!=-1)
	{
		RV = bkReturnSV(v,",");
	}
	*/
	//alert(RV);
	RV = RV.replace(".","").replace(".","").replace(",",".");
	//alert(RV);
	return parseFloat(RV);
}

function bkReturnSV(v,sv)
{
	var RV="";
	var SV = v.split(sv);
	for(zz=0;zz<SV.length;zz++)
	{
		RV += SV[zz];
	}
	return RV;
}


// Provjera datuma
function isDate(str)
{
	var r = new RegExp("^([0-9]{1,2})[.]{1}([0-9]{1,2})[.]{1}([0-9]{4,})[.]{0,1}$");
	if(r.test(str))
	{
		var f = str.split(".");
		var day = f[0];
		var month = f[1];
		var year = f[2];
		if(isDateForDate(year, month, day)) 
		{
			return true;
		}
	}
	return false;
}

function getYear(d) 
{
	return (d < 1000) ? d + 1900 : d;
}

function isDateForDate(year, month, day) 
{
	// month argument must be in the range 1 - 12
	month = month - 1; // javascript month range : 0- 11
	var tempDate = new Date(year,month,day);
	if ( (getYear(tempDate.getYear()) == year) && (month == tempDate.getMonth()) && (day == tempDate.getDate()) )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function CheckAlertDate(v)
{
	if( (v == ""))
		return true; 
	if(!isDate(v))
	{
		alert('Krivi format datuma završetka rada (primjer 15.01.2008)!');
		return false;
	}
	return true;
	
}




