var locnikDatuma= ".";
var currentDate= new Date();

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 isCorrectDate(dtStr,minLeto,maksLeto,relative){
		if ((minLeto == null ) || (maksLeto == ''))
		{ minYear = 1900; }
		else
		{ minYear = minLeto; }
		
		if ((maksLeto == null) || (maksLeto == ''))
		{ maxYear = 9999; }
		else
		{ maxYear = maksLeto; }

		if ( relative == 1  && ((minLeto != null ) || (maksLeto != '')) )
		{
			if (minLeto != null)
			{ minYear = parseInt(currentDate.getFullYear()) + parseInt(minLeto); }
			else
			{ minYear = 1900; }
			
			if (maksLeto != null )
			{ maxYear = parseInt(currentDate.getFullYear()) + parseInt(maksLeto); }
			else 
			{ maxYear = 9999; }
		}

	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(locnikDatuma)
	var pos2=dtStr.indexOf(locnikDatuma,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){
		//alert("Datum mora biti v obliki : dd.mm.llll")
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Prosim vpišite veljaven mesec.")
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Prosim vpišite veljaven dan.")
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Prosim vpišite veljavno leto med "+minYear+" in "+maxYear)
		return false;
	}
	if (dtStr.indexOf(locnikDatuma,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, locnikDatuma))==false){
		//alert("Prosim vpišite veljaven datum")
		return false;
	}
return true;
}


	var key_tab = 9;
	var basic = true;

	function openWindow(theURL,winName,features) {
		if (winName.window) winName.focus;
		popupWin = window.open(theURL,winName,features)
		popupWin.focus;
	}
	function deleteConfirm(what,formName,theURL) {
		if (confirm("Are you sure you want to delete "+ what +"? ")) {
			if (formName != null) {
				formName.submit()
			} else {
				window.location.href = theURL
			}
		}
	}

	function isValidDate(dateString,minLeto,maksLeto)
	{
		var dt=dateString;
		if ((minLeto != null) && (maksLeto != null))
		{
			if (isCorrectDate(dt.value,minLeto,maksLeto)==false)
			{
				dt.focus()
				return false
			}
			return true;
		}
		else if ((minLeto == null) && (maksLeto != null))
		{
			var dmin = new Date();
			var veljavno_leto_zavarovanja = parseInt(dmin.getFullYear());
			var minLeto=veljavno_leto_zavarovanja;

			if (isCorrectDate(dt.value,minLeto,maksLeto)==false)
			{
				dt.focus()
				return false
			}
			return true;
		}
		else if ((minLeto != null) && (maksLeto == null))
		{
			var dmax = new Date();
			var veljavno_leto_zavarovanja = parseInt(dmax.getFullYear());
			var maksLeto=veljavno_leto_zavarovanja+11;

			if (isCorrectDate(dt.value,minLeto,maksLeto)==false)
			{
				dt.focus()
				return false
			}
			return true;
		}
		else if ((minLeto == null) && (maksLeto == null))
		{
			var d = new Date();
			var veljavno_leto_zavarovanja = parseInt(d.getFullYear());
			var maksLeto=veljavno_leto_zavarovanja+11;
			var minLeto=veljavno_leto_zavarovanja-85;
			if (isCorrectDate(dt.value,minLeto,maksLeto)==false)
			{
				dt.focus()
				return false
			}
			return true;
		}
	}	

    function isDate(dateString)
    {
        dateString = dateString.replace('.','/').replace('.','/');
        if (dateString.length != 10) return false;
        if(isNaN(Date.parse(dateString))) return false;
        dateString = dateString.replace(/(\/|,| )0([1-9])/g,'$1$2');
        var date = new Date(dateString).getDate();
        var reg = RegExp("(/" + date + "/)|([, ]" + date + "[, ])|^(" + date + "[, ])|([, ]" + date + ")$");
        return dateString.match(reg) != null;
    }

	function processTab() {
		if (window.event.keyCode == key_tab) 
		{
		var s = document.selection;
		var tr = s.createRange();
		if ( tr != null ) 
			tr.text = "\t";
			window.event.returnValue=false;
		}
	}

	_editor_url = "htmlarea/";
	var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
	if (navigator.userAgent.indexOf('Mac')        >= 0) { win_ie_ver = 0; }
	if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
	if (navigator.userAgent.indexOf('Opera')      >= 0) { win_ie_ver = 0; }
	if (win_ie_ver >= 5.5) {
		document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"');
		document.write(' language="Javascript1.2"></scr' + 'ipt>');  
	} else {document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>');}
	
	
	function ieupdatekil(content) 
	{ 
		document.write(content);
	} 

    function sendEmail(sData, mailserver, recipient_name, recipient_address, sender_name, sender_address, subject, reply_to) {
      var xmlHttpReq = false;
      var self = this;      
      // Mozilla/Safari
      if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
      }
      // IE      
      else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }                
      self.xmlHttpReq.open('POST', 'email/sendEmail.asp?mailserver=' + mailserver + '&recipient_name=' + recipient_name + '&recipient_address=' + recipient_address + '&sender_name=' + sender_name + '&sender_address=' + sender_address + '&subject=' + subject + '&reply_to=' + reply_to, true);
      self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      self.xmlHttpReq.send(sData); 
    } 


function NumberFormat (pValue, pFormatIn, pFormatOut, pReturnCeil) {
  strResult = '';
  strResultCeil = '';
  strResultFract = '';
  strValueJS = '';
  
  if (!pFormatIn) pFormatIn = 'SLO';
  if (!pFormatOut) pFormatOut = 'JS';
  
  switch (pFormatIn) {
    case 'SLO':
      strValueJS = new String(pValue);
      strValueJS = strValueJS.replace(/\./g, '').replace(/,/g, '.');
      break;
    case 'JS':
      strValueJS = new String(pValue);
      break;
  }
  
  if (pReturnCeil) {
    if (strValueJS.indexOf('.') > 0) {
      strResultFract = strValueJS.substr(strValueJS.indexOf('.') + 1);
      strResultFract = strResultFract.substr(0, 2);
      if ((strResultFract) - ((strResultFract.length == 2)?50:5) >= 0) {
        strValueJS = new String(((strValueJS.substr(0, strValueJS.indexOf('.'))) - 0) + 1);
      } else {
        strValueJS = strValueJS.substr(0, strValueJS.indexOf('.'));
      }
    }
  }
  
  switch (pFormatOut) {
    case 'SLO':
      if (strValueJS.indexOf('.') > 0) {
        if (strValueJS.substr(strValueJS.indexOf('.') + 1).length > 2) {
          if ((strValueJS.substr(strValueJS.indexOf('.') + 3, 1)) - 0 > 4) {
            strValueJS = (strValueJS - 0) + 0.01;
            strValueJS = new String(strValueJS);
          }
        } 

        strResultFract = ',' + strValueJS.substr(strValueJS.indexOf('.') + 1);
        strResultFract = strResultFract.substr(0, 3);
        strResultCeil = new String(strValueJS.substr(0, strValueJS.indexOf('.')));
      } else {
        strResultFract = ',00';
        strResultCeil = strValueJS;
      }
      strResultFract += (strResultFract.length == 2)?'0':'';
      for (var i = 0; i < (Math.floor(strResultCeil.length / 3)); i++) {
        strResult = '.' + strResultCeil.substr(strResultCeil.length - (i + 1) * 3, 3) + strResult
      }
      strResult = strResultCeil.substr(0, strResultCeil.length - Math.floor(strResultCeil.length / 3) * 3) + strResult
      strResult += strResultFract;
      if (strResult.indexOf('.') == 0) strResult = strResult.substr(1);
      break;
    case 'JS':
      strResult = strValueJS;
      break;
  }
  return strResult;
}

var ExtraPressed = 0;

function ExtraCheck(e)
{
   var KeyID = (window.event) ? event.keyCode : e.keyCode;
   ExtraPressed = 0;
   //alert(KeyID);
   switch(KeyID)
   {
      //TAB
      case 9:
         ExtraPressed = 1;
      break; 
	  //Enter
	  case 13:
         ExtraPressed = 1;
      break; 
      //Del
      case 46:
         ExtraPressed = 1;
      break; 
      //PageUp
      case 33:
         ExtraPressed = 1;
      break; 
      //PageDown
      case 34:
         ExtraPressed = 1;
      break; 
      //End
      case 35:
         ExtraPressed = 1;
      break; 
      //Home
      case 36:
         ExtraPressed = 1;
      break; 
      //LeftArrow
      case 37:
         ExtraPressed = 1;
      break; 
      //RightArrow
      case 39:
         ExtraPressed = 1;
      break; 
   }
}

 function formatDateOnly(item,e)
	{
      var o = document.getElementById(item);
		var ns = (navigator.appName == "Netscape");

		if(ns) var key_index = e.which;
		else var key_index = window.event.keyCode;
		sValue = o.value;
						
		if (ExtraPressed == 1)
			return true;
					
		if (key_index == 8)
			{
			    o.value = sValue.slice(0,sValue.lastIndexOf());
			} else {
		        if (sValue.length == 1 && key_index == 46)
		        {
		            o.value = '0' + sValue + '.';
		        }
		        if (sValue.length == 4 && key_index == 46)
		        {
		            o.value = sValue.slice(0,3) + '0' + sValue.slice(3) + '.';
		        }			
		        if (sValue.length == 12 && key_index == 58)
		        {
		            o.value = sValue.slice(0,11) + '0' + sValue.slice(11) + ':';
		        }			
		        if (sValue.length == 15 && key_index == 58)
		        {
		            o.value = sValue.slice(0,14) + '0' + sValue.slice(14) + ':';
		        }
        					
		        if (sValue.length == 2 && key_index != 46)
		        {
		            o.value = sValue + '.';
		        }
		        if (sValue.length == 5 && key_index != 46)
		        {
		            o.value = sValue + '.';
		        }
		    }    
		
		// only allow numbers and backspace
		if (((key_index>46 && key_index<58) || key_index==9 || key_index==0 || (key_index==46 && (sValue.length == 2 || sValue.length == 5)) || (key_index==58 && (sValue.length == 13 || sValue.length == 16)) ) && sValue.length < 10)
		    return true;
		else
		    return false;
	}

	
