﻿function GetStrAsNumber(str) {    
    return parseFloat(CurrToNumber(str).replace(",", "."));    
}

function GetNumberAsString(num) {
    return NumToCurrency(num.toString().replace(".", ","), 2);
}

function convert_date(field1) {
    var fLength = field1.value.length; // Length of supplied field in characters.
    var divider_values = new Array('-', '.', '/', ' ', ':', '_', ','); // Array to hold permitted date seperators.  Add in '\' value
    var array_elements = 7; // Number of elements in the array - divider_values.
    var day1 = new String(null); // day value holder
    var month1 = new String(null); // month value holder
    var year1 = new String(null); // year value holder
    var divider1 = null; // divider holder
    var outdate1 = null; // formatted date to send back to calling field holder
    var counter1 = 0; // counter for divider looping 
    var divider_holder = new Array('0', '0', '0'); // array to hold positions of dividers in dates
    var s = String(field1.value); // supplied date value variable

    //If field is empty do nothing
    if (fLength == 0) {
        return true;
    }

    // Deal with today or now
    if (field1.value.toUpperCase() == 'NOW' || field1.value.toUpperCase() == 'TODAY') {

        var newDate1 = new Date();

        if (navigator.appName == "Netscape") {
            var myYear1 = newDate1.getYear() + 1900;
        }
        else {
            var myYear1 = newDate1.getYear();
        }

        var myMonth1 = newDate1.getMonth() + 1;
        var myDay1 = newDate1.getDate();
        field1.value = myDay1 + "/" + myMonth1 + "/" + myYear1;
        fLength = field1.value.length; //re-evaluate string length.
        s = String(field1.value)//re-evaluate the string value.
    }

    //Check the date is the required length
    if (fLength != 0 && (fLength < 6 || fLength > 11)) {
        invalid_date(field1);
        return false;
    }

    // Find position and type of divider in the date
    for (var i = 0; i < 3; i++) {
        for (var x = 0; x < array_elements; x++) {
            if (s.indexOf(divider_values[x], counter1) != -1) {
                divider1 = divider_values[x];
                divider_holder[i] = s.indexOf(divider_values[x], counter1);
                counter1 = divider_holder[i] + 1;
                break;
            }
        }
    }

    // if element 2 is not 0 then more than 2 dividers have been found so date is invalid.
    if (divider_holder[2] != 0) {
        invalid_date(field1);
        return false;
    }

    // See if no dividers are present in the date string.
    if (divider_holder[0] == 0 && divider_holder[1] == 0) {

        //continue processing
        if (fLength == 6) {//ddmmyy
            day1 = field1.value.substring(0, 2);
            month1 = field1.value.substring(2, 4);
            year1 = field1.value.substring(4, 6);
            if ((year1 = validate_year(year1)) == false) {
                invalid_date(field1);
                return false;
            }
        }

        else if (fLength == 7) {//ddmmmy
            day1 = field1.value.substring(0, 2);
            month1 = field1.value.substring(2, 5);
            year1 = field1.value.substring(5, 7);
            if ((month1 = convert_month(month1)) == false) {
                invalid_date(field1);
                return false;
            }
            if ((year1 = validate_year(year1)) == false) {
                invalid_date(field1);
                return false;
            }
        }
        else if (fLength == 8) {//ddmmyyyy
            day1 = field1.value.substring(0, 2);
            month1 = field1.value.substring(2, 4);
            year1 = field1.value.substring(4, 8);
        }
        else if (fLength == 9) {//ddmmmyyyy
            day1 = field1.value.substring(0, 2);
            month1 = field1.value.substring(2, 5);
            year1 = field1.value.substring(5, 9);
            if ((month1 = convert_month(month1)) == false) {
                invalid_date(field1);
                return false;
            }
        }

        if ((outdate1 = validate_date(day1, month1, year1)) == false) {
            alert("Vrednost " + field1.value + " ni veljaven datum.\n\r" +
			"Prosim vnesite veljaven datum v formatu dd.mm.yyyy");
            field1.focus();
            field1.select();
            return false;
        }

        field1.value = outdate1;
        return true; // All OK
    }

    // 2 dividers are present so continue to process	
    if (divider_holder[0] != 0 && divider_holder[1] != 0) {
        day1 = field1.value.substring(0, divider_holder[0]);
        month1 = field1.value.substring(divider_holder[0] + 1, divider_holder[1]);
        year1 = field1.value.substring(divider_holder[1] + 1, field1.value.length);
    }

    if (isNaN(day1) && isNaN(year1)) { // Check day and year are numeric
        invalid_date(field1);
        return false;
    }

    if (day1.length == 1) { //Make d day dd
        day1 = '0' + day1;
    }

    if (month1.length == 1) {//Make m month mm
        month1 = '0' + month1;
    }

    if (year1.length == 2) {//Make yy year yyyy
        if ((year1 = validate_year(year1)) == false) {
            invalid_date(field1);
            return false;
        }
    }

    if (month1.length == 3 || month1.length == 4) {//Make mmm month mm
        if ((month1 = convert_month(month1)) == false) {
            invalid_date(field1);
            return false;
        }
    }

    // Date components are OK
    if ((day1.length == 2 || month1.length == 2 || year1.length == 4) == false) {
        invalid_date(field1);
        return false;
    }

    //Validate the date
    if ((outdate1 = validate_date(day1, month1, year1)) == false) {
        alert("Vrednost " + field1.value + " ni veljaven datum.\n\r" +
	  "Prosim vnesite veljaven datum v formatu dd.mm.yyyy");
        field1.focus();
        field1.select();
        return false;
    }

    // Redisplay the date in dd/mm/yyyy format
    field1.value = outdate1;
    return true; //All is well

}
function convert_month(monthIn) {

    var month_values = new Array("JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC");

    monthIn = monthIn.toUpperCase();

    if (monthIn.length == 3) {
        for (var i = 0; i < 12; i++) {
            if (monthIn == month_values[i]) {
                monthIn = i + 1;
                if (i != 10 && i != 11 && i != 12) {
                    monthIn = '0' + monthIn;
                }
                return monthIn;
            }
        }
    }

    else if (monthIn.length == 4 && monthIn == 'SEPT') {
        monthIn = '09';
        return monthIn;
    }

    else {
        return false;
    }
}

function invalid_date(inField) {
    alert("Vrednost " + inField.value + " ni veljaven datum.\n\r" +
	 "Prosim vnesite veljaven datum v formatu dd.mm.yyyy");
    inField.focus();
    inField.select();
    return true
}

function validate_date(day2, month2, year2) {
    var DayArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var MonthArray = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
    var inpDate = day2 + month2 + year2;
    var filter = /^[0-9]{2}[0-9]{2}[0-9]{4}$/;

    //Check ddmmyyyy date supplied
    if (!filter.test(inpDate)) {
        return false;
    }
    /* Check Valid Month */
    filter = /01|02|03|04|05|06|07|08|09|10|11|12/;
    if (!filter.test(month2)) {
        return false;
    }
    /* Check For Leap Year */
    var N = Number(year2);
    if ((N % 4 == 0 && N % 100 != 0) || (N % 400 == 0)) {
        DayArray[1] = 29;
    }
    /* Check for valid days for month */
    for (var ctr = 0; ctr <= 11; ctr++) {
        if (MonthArray[ctr] == month2) {
            if (day2 <= DayArray[ctr] && day2 > 0) {
                inpDate = day2 + '.' + month2 + '.' + year2;
                return inpDate;
            }
            else {
                return false;
            }
        }
    }
}

function validate_year(inYear) {
    if (inYear < 10) {
        inYear = "20" + inYear;
        return inYear;
    }
    else if (inYear >= 10) {
        inYear = "19" + inYear;
        return inYear;
    }
    else {
        return false;
    }
}
function CurrToNumber(sCurrency) 
{
    var Temp = new String();
	Temp=sCurrency;
    return Temp.replace(/[/.]/ig,'');
}

function CheckLeadingZeros(num)
{                   
    for(var i=0;i<num.length;i++)
    {                    
        if (num.charAt(i) != "0")
        {                          
            return i;                       
        }
    }    
    return num.substring(0, a);
}

function NumToCurrency(sNumber,nDec) {  
  if (sNumber!=null && sNumber!='')
  {

  var Temp = new String();
  var Top, Bottom, Num; 
	Temp = sNumber;
	Temp = Temp.replace(/[.]/ig,'');
	Temp = Temp.replace(/[,]/ig,'.');
	Num = parseFloat(Temp.replace(/[^\d\.]/ig,''));	
	if (isNaN(Num)) return '';
	else {
	    if (nDec == -1)
        {
            if (sNumber.substring(0,1)=="0")            
            {                                                
                return sNumber.substring(0, CheckLeadingZeros(sNumber)) + Num.toString();
            }
            else
	            return Math.round(Num);
        }
	        
  	  Top = Math.floor(Num);
	  Bottom = Math.round((Num - Math.floor(Num)) * Math.pow(10,nDec));	  
	  Bottom = Bottom.toString();
	  if (Bottom==100) {Bottom='00'; Top=Top+1}
	  Top = Top.toString();
	  Temp='';
	  while (Bottom.length<nDec) {
 	    Bottom = '0' + Bottom;
	  }
	  while (Top.length>3) {
	    Temp = '.' + Top.slice(Top.length-3) + Temp;
	    Top = Top.substr(0,Top.length-3);
	  }	
	  if (nDec>0) 
		{Temp= Top + Temp + "," + Bottom;
		}
	  else
	    {Temp= Top + Temp}
	  if (sNumber.substring(0,1) == '-')
	  {
	  Temp='-'+Temp
	  }
	  return Temp;
	}
	
	}
	else
	{
	return ''
	}
}

function Popup(url, w, h)
{
    wleft = (screen.width - w) / 2;
    wtop = (screen.height - h) / 2;
    window.open(url, "popPrint", "dependent,modal,center=yes;resizable=yes,toolbar=no,scrollbars=yes,menubar=no,status=yes,directories=no,width=" + w + ",height=" + h + ",top=" + wtop + ",left=" + wleft);
}

var tags = new Array( 'span', 'div','td','tr','p','b','table','strong','emphasis','a','h1','h2','h3','pre','sub','sup','i','th','cp','ul','ol','li','dt','dd');
var pixelArray =  new Array('9','11','13','15','24','30','40');
var emArray =  new Array('0.6','0.9','1.0','1.5','2.0','2.5','3');
var initSize = 1;
var incSize = 1;

function FontSizer(inc, unit) {
	
	if (!document.getElementById) 
		return;
			
    incSize += inc;    
    if (incSize <0)
        incSize=0;    
    
    inc = incSize;    
	var sizeTitle = 20;
	var size = initSize;
		size = inc;
		
		if (inc > 1)
			sizeTitle +=inc;
		
	if (size < 0 ) {
		size = 0;
        }
	        if (size > 6 ) {
		        size = 6;
        }
        initSize = size;
        getBody = document.getElementById('content');				
	for (i = 0 ; i < tags.length ; i++ ) {
		getallTags = getBody.getElementsByTagName(tags[i]);
	for (k = 0 ; k < getallTags.length ; k++) 		
		{
		//if (getallTags[k].style.fontSize != undefined) alert(getallTags[k].style.fontSize)		
		
		if (getallTags[k].className == "tabTitle")		
			{
			getallTags[k].style.fontSize = sizeTitle+'px';						
			}
		else if (getallTags[k].tagName == "H1")		
			{
			getallTags[k].style.fontSize = sizeTitle+'px';						
			}			
		else
			getallTags[k].style.fontSize = (unit=='px') ? pixelArray[size]+unit: emArray[size]+unit;			
		}
	}
}

var lineH=1;
function LineHeightInc()
{
    lineH +=0.5;
    $('div#content').css("lineHeight", lineH);
}

function BoxExpandToggle(element, isWide) {
    if ($(element).parent().css("width").replace("px", "") < 100) {
        $(element).parent().animate({ width: isWide ? "802px":"586px" }, 1000);
        $(element).addClass("expanded");
    }
    else {
        $(element).parent().animate({ width: "22px" }, 1000);
        $(element).removeClass("expanded");
    }
}

function FadingBannerFade() {
    SlidingBannerMove('next');
    window.setTimeout(function() { FadingBannerFade() }, 10000);
}

function SlidingBannerMove(direction) { 
    if ($("#bannerMainContent").is(":animated"))
        return;

    var el = $("#bannerMainContentLst .show");
    el.removeClass("show");

    if (direction == 'next') {
        if (el.next().length)
            el = el.next();
        else
            el = $("#bannerMainContentLst li:first");
    }
    else {
        if (el.prev().length)
            el = el.prev();
        else
            el = $("#bannerMainContentLst li:last");
    }
    el.addClass("show");
    
    $(".bannerMain .boxOuter .boxInner a").attr("href", el.children(":last").find("a").attr("href"));    
    $(".bannerMain .boxOuter .boxInner .title h1").fadeOut(1000, function() { $(this).html(el.children(":first").html()).fadeIn(500); });
    $(".bannerMain .boxOuter .boxInner .text span").fadeOut(1000, function() { $(this).html(el.children(":eq(1)").html()).fadeIn(500); });
    $("#bannerMainContent").fadeOut(1000, function() { $(this).html(el.children(":eq(2)").html()).fadeIn(1000) });
}

function ToggleSpLogo(element) {
    if ($(element).next().css("display") == "none")
        $(element).attr("src", $(element).attr("src").replace(".gif", "C.gif"));
    else
        $(element).attr("src", $(element).attr("src").replace("C.gif", ".gif"));

    $(element).next().toggle("slow");
}

function ToggleNewsArticle(element) {
    var div = element.parent().parent().next();
    div.toggle("slow");

    if (element.attr("src").indexOf("News.gif") > 0)
        element.attr("src", element.attr("src").replace(".gif", "Exp.gif"));
    else
        element.attr("src", element.attr("src").replace("Exp.gif", ".gif"));
}

function MenuLink(url) 
{
    window.location = url;    
}

function SlidingTableCollapse(elem)
{
    if($(elem).parent().next().css('display')!='block')
        $(elem).removeClass('sliderDown').addClass('sliderUp');
    else
        $(elem).removeClass('sliderUp').addClass('sliderDown');

    $(elem).parent().next().slideToggle();
}

function SlidingTextCollapse(elem, upTxt, downTxt)
{
    if($(elem).parent().prev().css('display')!='block')
    {
        $(elem).removeClass('sliderDown').addClass('sliderUp');
        $(elem).html(" &nbsp; &nbsp; &nbsp; " + downTxt);
    }
    else
    {
        $(elem).removeClass('sliderUp').addClass('sliderDown');
        $(elem).html(" &nbsp; &nbsp; &nbsp; " + upTxt);
    }

    $(elem).parent().prev().slideToggle();
}

function AddBookmark() {
    if (window.sidebar)
        window.sidebar.addPanel(document.title, location.href, "");
    else if (window.external)
        window.external.AddFavorite(location.href, document.title);
    else if (window.opera && window.print)
        return true;
}

$.fn.ModalDialogHide = function($params) {
    var element = $(this);
    $(document).unbind('keyup');
    element.hide();
    $("#ModalPopupOuter").hide();
    $("#btnCloseWrapper", element).remove();
}

$.fn.ModalDialogShow = function($params) {
    var element = $(this);
    var $defaults = {        
        closeButton: true,
        onFade: function(element){}        
    };
    var $p = $.extend($defaults, $params);
    
    ShowPopup();
    
    function ShowPopup() {
        if ($("#ModalPopupOuter").length == 0)        
            $("#top").before("<div id='ModalPopupOuter'></div>");                                                            
                
        $(document).keyup(function(e) {if (e.keyCode == 27) {element.ModalDialogHide()}}); 
        if ($p.closeButton)
        {
            element.append("<div id='btnCloseWrapper' class='clear padBottom10'><div class='btnCloseDialog'><input type='button' id='btnCloseMP' class='btnRed' value='Zapri'/></div></div>");
            $("#btnCloseMP", element).click(function(){element.ModalDialogHide()});
        }
        
        var maskHeight = $(window).height();
        var maskWidth = $(window).width();
        
//        if ($.browser.msie)
//            maskWidth = $("#outer").width();
//                alert(maskWidth)
        $("#ModalPopupOuter").css({'width': maskWidth, 'height': maskHeight });
        $("#ModalPopupOuter").fadeTo("fast", 0.7);
        $("#ModalPopupOuter").fadeIn(500);

        var winH = $(window).height();
        var winW = $(window).width();      
        
        element.css('top', winH / 2 - element.height() / 2 + $(window).scrollTop());
        element.css('left', winW / 2 - element.width() / 2);
        element.fadeIn(500, function(){$p.onFade($(this))});
    }
};

