﻿$(document).ready(function()
{
    /* functions */

    function fts(val)
    {
            if (isNaN(val))
                    return "0";

            var bc = splint(String(parseInt(val)),3).join(' ');
            var aca = String(val - parseInt(val)).split('.');
            return bc;
    }
    
    function stf(val)
    {
            return parseFloat(String(val).replace(/ /g,''));
    }
    
    function isNumeric(string)
    {
     var string = String(string);
     var ValidChars = "0123456789.-";
     var IsNumber = true;
     var Char;
     
     
     for (i = 0; i < string.length && IsNumber == true; i++)
     {
      Char = string.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
       IsNumber = false;
     };
     
     return IsNumber;
    };

    function splint(string, len)
    {
            var ret = Array();
            var j=0;

            for (var i=string.length-1; i>=0; i--)
            {
                    if (j % len == len-1)
                            ret.unshift(string.substr(i,len));
                    j++;
            }

            if (j % len != 0)
                    ret.unshift(string.substr(0, string.length % len));

            return ret;
    }
    
    function toSlider(obj)
    {
            var min = parseInt($(obj).attr('min'));
            var max = parseInt($(obj).attr('max'));
            var step = $(obj).attr('step') ? parseInt($(obj).attr('step')) : 1;
            var target = $("[name="+$(obj).attr('rel')+"]:last")[0];
            var unit = $(target).attr('unit') || "";            

            $(obj).parent('td').addClass($(obj).attr('class'));
            if (target)
            {
                    switch (target.nodeName)
                    {                            
                            case 'SELECT':
                                    var tooltips = new Array();
                                    if (target.options)
                                    for (var i=0; i<target.options.length; i++)
                                            tooltips[i+1] = target.options[i].innerHTML;

                                    $(target).css('display','none');
                                    $(target).parent().append("<span>"+target.options[0].innerHTML+"</span>");
                                    var slider = $(obj).slider({
                                            min: min,
                                            max: max,
                                            tooltips: tooltips,
                                            slide: function(event, ui)
                                            {
                                                    target.selectedIndex = ui.value - 1;
                                                    $(target).next().html($(target).val());
                                            },
                                            stop: function(event, ui)
                                            {
                                                    $(target).change();
                                            }
                                    });
                            break;

                            default:
                                    $(target).html(($(target).attr('rel') == 'singular' ? min : fts($(target).attr('val'))) + " " + unit);
                                    var slider = $(obj).slider({
                                            min: min,
                                            max: max,
                                            step: step,
                                            slide: function(event, ui)
                                            {
                                                var unit = $(target).attr('unit') || "";
                                                $(target).attr('val',ui.value);
                                                $(target).html(($(target).attr('rel') == 'singular' ? $(target).attr('val') : fts($(target).attr('val'))) + " " + unit);
                                            },
                                            change: function(event, ui)
                                            {
                                                var unit = $(target).attr('unit') || "";
                                                $(target).attr('val',ui.value);
                                                $(target).html(($(target).attr('rel') == 'singular' ? $(target).attr('val') : fts($(target).attr('val'))) + " " + unit);
                                            },
                                            stop: function(event, ui)
                                            {
                                                $(target).change();
                                            }
                                    });
                            break;
                    }

                    var handler = function()
                    {
                            $(this).attr('val', stf($(this).html()));

                            if (this.nodeName == 'SELECT')
                                $(slider).slider("value", this.selectedIndex + 1);
                            else
                                $(slider).slider("value", $(this).attr('val'));

                            if (parseFloat($(this).attr('val')) < min)
                            {
                                    $(this).attr('val',min);
                                    $(this).html($(this).attr('rel') == 'singular' ? $(this).attr('val') : fts($(this).attr('val')) + " " + unit);
                            }

                            if (parseFloat($(this).attr('val')) > max)
                            {
                                    $(this).attr('val',max);
                                    $(this).html($(this).attr('rel') == 'singular' ? $(this).attr('val') : fts($(this).attr('val')) + " " + unit);
                            }
                    }

                    $(target).unbind('change.sliding').bind('change.sliding', handler).change();
                    $(target).attr('val',min).addClass('slidered');
            }
    }

    /* object handlers */

    $("div.slider").each(function()
    {
    toSlider(this);
    });

    /*$("[name=typ_nieruchomosci]").change(function()
    {
        $("#pole_nieruchomosci_slider").remove();

        if ($(this).val() == 'dom')
            $("[name=pole_nieruchomosci]").after("<div id='pole_nieruchomosci_slider' class='slider' rel='pole_nieruchomosci' min='0' max='140'></div>");
        
        if ($(this).val() == 'mieszkanie')
            $("[name=pole_nieruchomosci]").after("<div id='pole_nieruchomosci_slider' class='slider' rel='pole_nieruchomosci' min='0' max='75'></div>");
        
        toSlider($("#pole_nieruchomosci_slider"));
        $("[name=pole_nieruchomosci]").change();
    }).change();

    $("[name=rodzina]").click(function()
    {
        $('#rodzina_container').slideToggle('slow');
    });

    $("[name=rodzina]").removeAttr('checked');

    $('#zdolnosc_kredytowa input').change(function()
    {
        $('[name=maksimum]').val('').attr('val','');
        $('[name=minimum]').val('').attr('val','');
    });*/

    $('#rata_kredytu input').change(function()
    {
        $('[name=najnizsza_rata]').html('').attr('val','');
        $('[name=najwyzsza_rata]').html('').attr('val','');
    });

    $('#wylicz_oprocentowania').click(function()
    {
        var waluta = $('[name=waluty]').val();
        var czas = parseInt($("[name=okres_trwania]").attr('val'));
        var dochod = parseInt($("[name=miesieczny_dochod]").attr('val'));
        var maks_udzial = parseInt($("[name=maksymalny_udzial]").attr('val'));
        var przyz_limity = parseInt($("[name=przyznane_limity]").attr('val'));
        var przyz_limity_proc = parseInt($("[name=przyznane_limity_procent]").val()) / 100;
        var wartosc_min = parseInt($("[name=wartosc_osob]").attr('min'));
        var wartosc_max = parseInt($("[name=wartosc_osob]").attr('max'));
        var l_osob_ub = parseInt($('[name=ilosc_osob]').attr('val'))*wartosc_min+(wartosc_max-wartosc_min);
        var koszt_un = parseInt($('[name=koszt_utrzymania_nieruchomosci]').val());
        var inne_zobowiazania = parseInt($('[name=inne_zobowiazania]').attr('val'));
        var tdr = 0;
/*

        for (var i in window.kryteria_tdr)
            if (dochod >= window.kryteria_tdr[i]['dochod_od'] && dochod < window.kryteria_tdr[i]['dochod_do'])
            {
                tdr = parseInt(window.kryteria_tdr[i]['tdr']) / 100;
                break;
            }
*/
	if (dochod >= 0 && dochod < 4000)
            {
                tdr = 0.37;
                
            }
	else if(dochod >= 4000 && dochod < 1000000000)
            {
                tdr = 0.45;
                
            }
        
        var limit_di = dochod - koszt_un - l_osob_ub - maks_udzial - przyz_limity_proc * przyz_limity - inne_zobowiazania;
        var limit_tdr = dochod*1.5129 * tdr - maks_udzial - przyz_limity_proc * przyz_limity;
        var wartosc = Math.min(limit_di, limit_tdr);
        
        if (wartosc > 0)
        $.getJSON('queries/oprocentowania.php?dochod='+wartosc+'&waluta='+waluta+'&czas='+czas, function(data)
        {
                $('[name=maksimum]').html(fts(data.max)+(" "+$('[name=maksimum]').attr('unit') || "")).attr('val',data.max);
		$('[name=tylko_do_konca_2011]').html("");
                $('[name=minimum]').html(fts(data.min)+(" "+$('[name=minimum]').attr('unit') || "")).attr('val',data.min);
		$('#najwyzszaZdolnosc').val(data.max);
		var zysk =  ((data.max * 100) / data.min) - 100;
		$('[name=zysk]').html(fts(zysk)+(""+$('[name=zysk]').attr('unit') + " więcej" || ""));

                if ($(".table_2").css('display') == 'none')
                    $(".table_2").show();
        });
        else
            $('[name=maksimum]').html("Brak zdolności kredytowej");
		$('[name=minimum]').html("");
		$('[name=zysk]').html("");

                if ($(".table_2").css('display') == 'none')
                    $(".table_2").show();
    });

    $("#wylicz_raty").click(function()
    {
        var ref = this;
        var waluta = $('[name=waluty_rata]').val();
        var wartosc = parseInt($("[name=szacowana]").attr('val'));
        var wklad = parseInt($("[name=wklad_wlasny]").attr('val'));
        var pole = $('[name=rodzina]').attr('checked') ? parseFloat($("[name=pole_nieruchomosci]").attr('val')) : 0;
        var typ = $('[name=typ_nieruchomosci]:checked').html();
        var czas = parseInt($("[name=okres_trwania_rata]").attr('val'));
        var kredyt = wartosc - wklad;

	var kurs_waluty = 1;
        for (var ii in window.kursy_walut)
            if (kursy_walut[ii]['code'] == waluta)
            {
                kurs_waluty = parseFloat(window.kursy_walut[ii]['averageRate']);
                break;
            }
	kredyt_w_pln = kredyt * kurs_waluty;

	var calculateRNS = parseInt($('#calculateRNS').val());

	var najwyzszaZdolnosc = parseInt($('#najwyzszaZdolnosc').val());

	if(kredyt <= 0){
		$('[name=najnizsza_rata]').html('Zwiększ wartość nieruchomości lub obniż wkład własny');
		$('[name=najwyzsza_rata]').html('');
		$('[name=oszczednosc]').html('');
		$('[name=rodzina_na_swoim]').html('');
            if ($(".table_3").css('display') == 'none')
                    $(".table_3").show();
	}

/*
	else if ((kredyt_w_pln > najwyzszaZdolnosc)) {
		$('[name=najnizsza_rata]').html('Zwiększ zdolność kredytową lub wkład własny');
		$('[name=najwyzsza_rata]').html('');
		$('[name=oszczednosc]').html('');
		$('[name=rodzina_na_swoim]').html('');
	}
*/
        else if ((wartosc > 0 && kredyt > 0) || (kredyt_w_pln > najwyzszaZdolnosc))
        $.getJSON('queries/raty.php?waluta='+waluta+'&wartosc='+wartosc+'&kredyt='+kredyt+'&pole='+pole+'&czas='+czas+'&typ='+typ, function(data)
        {
		//rodzina na swoim
		if(waluta == 'PLN' && calculateRNS == 1){
			var rataRodzinaNaSwoim = fts(data.rata_rns);
			$('[name=rodzina_na_swoim]').html("(Singiel / Rodzina na swoim: <b>" +fts(data.rata_rns)+(" "+$('[name=rodzina_na_swoim]').attr('unit') || "")+"</b>)");
		} else {
			$('[name=rodzina_na_swoim]').html("");
		}

		$("#rata_rns").val(rataRodzinaNaSwoim);

            $('[name=najwyzsza_rata]').html(fts(data.max)+(" "+$('[name=najwyzsza_rata]').attr('unit') || "")).attr('val',data.max);
            $('[name=najnizsza_rata]').html(fts(data.min)+(" "+$('[name=najnizsza_rata]').attr('unit') || "")).attr('val',data.min);

		var oszczednosc = (data.max - data.min) * 12 * czas;
		$('[name=oszczednosc]').html(fts(oszczednosc)+(" "+$('[name=oszczednosc]').attr('unit') || ""));

            if ($(".table_3").css('display') == 'none')
                    $(".table_3").show();
        });
        else
            $('[name=najnizsza_rata]').html('Zwiększ wartość nieruchomości lub obniż wkład własny');
		$('[name=najwyzsza_rata]').html('');
		$('[name=oszczednosc]').html('');
		$('[name=rodzina_na_swoim]').html('');
    });

    $('[name=panpani]').click(function()
    {
        var ref = this;
        $('[name=panpani]').each(function()
        {
            if (this != ref && this.checked)
                this.checked = false;
        })
    });

    $('#sprawdz').click(function()
    {
        var val = "";
        var error = 0;

    $('[name]').each(function()
        {
		if($(this).attr('omit')!='true'){
			if($(this).is(':checkbox')){
			//if($(this).attr('type','checkbox')){
				if($(this).is(':checked')){
					val += (val.length == 0 ? "" : "&") + $(this).attr('name') + "=" + ($(this).val() ? $(this).val() : $(this).html());
				}
			}
			else {
				val += (val.length == 0 ? "" : "&") + $(this).attr('name') + "=" + ($(this).val() ? $(this).val() : $(this).html());
			}
		}
        });
        
        $(".validatePhone").each(function()
        {
            if ($(this).next().hasClass('validate'))
                $(this).next().remove();
            if ($(this).val().length > 0 && isNumeric($(this).val()))
                $(this).after("<span class='validate correct'></span>");
            else
            {
                $(this).after("<span class='validate incorrect'></span>");
                error = 1;
            }
        });

	var manWomanError = 1;
	$(".validateManWoman").each(function()
        { 

		if ($("#validateManWomanTxt").next().hasClass('validate'))
            	    $("#validateManWomanTxt").next().remove();
        
          	if ($(this).is(':checked')) {
			manWomanError = 0;
	 	}
            	else
            	{
			if(manWomanError !=0){manWomanError = 1;}
            	}

		if(manWomanError == 0 && $(this).is("#manWomanSecond")){
			$("#validateManWomanTxt").after("<span class='validate correct'></span>");
		}
		else if (manWomanError == 1 && $(this).is("#manWomanSecond")) {
			$("#validateManWomanTxt").after("<span class='validate incorrect'></span>");
		}

        });
	if(manWomanError == 1) {error = 1;}

        
        $(".validatePostcode").each(function()
        {
            if ($(this).next().hasClass('validate'))
                $(this).next().remove();
        
            if ($(this).val().length > 0)
            {
                var word = $(this).val();
                for (var i=0; i<word.length; i++)
                    if (i==2)
                    {
                        if (word.charAt(i) != '-')
                        {
                            $(this).after("<span class='validate incorrect'></span>");
                            error = 1;
                            return;
                        }
                    }
                    else
                        if (isNaN(parseInt(word.charAt(i))))
                        {
                            $(this).after("<span class='validate incorrect'></span>");
                            error = 1;
                            return;
                        }
            
                $(this).after("<span class='validate correct'></span>");
            }
            else
            {
                $(this).after("<span class='validate incorrect'></span>");
                error = 1;
            }
        });

        if (error == 0)
	{
	if ($(".table_5").css('display') == 'none') {
		$(".table_5").show();
	}


	

        $.getJSON('queries/save.php?'+val, function(data)
        {
            if (data)
            if (data.error == 0)
            {
                $('.before_submit').hide();
                $('.after_submit').show();

		$("#record_id").val(data.record_id);
                
                $.ajax({
                    url: 'queries/konwersje.php',
                    success: function(data)
                    {
                        $(document.body).append(data);
                    }
                });
            }
            else
                window.alert("Nastąpił błąd: "+data.message);
        });
	}
    });




    $('#sendName').click(function()
    {
        var val = "";
        var error = 0;
        
        $("[name]").each(function()
        {
            val += (val.length == 0 ? "" : "&") + $(this).attr('name') + "=" + ($(this).val() ? $(this).val() : $(this).html());
        });
        
        $(".validateName").each(function()
        {
            if ($(this).next().hasClass('validate'))
                $(this).next().remove();
            if ($(this).val().length > 0)
                $(this).after("<span class='validate correct'></span>");
            else
            {
                $(this).after("<span class='validate incorrect'></span>");
                error = 1;
            }
        });

        if (error == 0)
	{

        $.getJSON('queries/names.php?'+val, function(data)
        {
            if (data)
            if (data.error == 0)
            {
                $('.before_sendName_submit').hide();
                $('.after_sendName_submit').show();
            }
            else
                window.alert("Nastąpił błąd: "+data.message);
        });
	}
    });




    $("select").val("PLN").change();


	$("[name=cel_kredytu]").click(function()
	{

		//window.location=$(this).attr('href');

			$("[name=cel_kredytu]").removeClass('active').attr('omit','true');
			$(this).addClass('active').removeAttr('omit');
        
			$(".table_2, .table_3, .table_5").hide();
			$('.slider').each(function()
			{
				$(this).slider("value", $(this).attr('min'));
			});
        
			$("[name=minimum], [name=maksimum], [name=najnizsza_rata], [name=najwyzsza_rata], [name=rodzina_na_swoim], [name=oszczednosc]").html('');
			//$("[name=panpani]").removeAttr('checked');
			$("[name=numer_telefonu], [name=email], [name=kod_pocztowy]").val('');
			//$("[name=tos], [name=newsletter]").attr('checked','checked');
			$("[name=tos]").attr('checked','checked');
			$("span.validate").remove();
			$("#calculateRNS").val($(this).attr('rns'));

			$('.after_submit , .after_sendName_submit').hide();
			

			setDefaultValues ();
			$('[name=zysk]').html("");

	}).css('color','blue');


	//zaznacza odpowiedni cel kredytu w zaleznosci od parametru $_GET google
	get_rk_value = $(document).getUrlParam("rk");
	if(get_rk_value == 'google1') { $("[name=cel_kredytu]:eq(0)").click(); }
	else if (get_rk_value == 'zakup_mieszkania') { $("[name=cel_kredytu]:eq(0)").click(); }
	else if (get_rk_value == 'budowa_domu') { $("[name=cel_kredytu]:eq(1)").click(); }
	else if (get_rk_value == 'rodzina') { $("[name=cel_kredytu]:eq(2)").click(); }
	else if (get_rk_value == 'refinansowanie') { $("[name=cel_kredytu]:eq(3)").click(); }
	else if (get_rk_value == 'konsolidacyjny') { $("[name=cel_kredytu]:eq(4)").click(); }
	else {$("[name=cel_kredytu]:first").click();}
    //$("[name=cel_kredytu]:first").click();


    
    $(".hoverbox").each(function()
    {
        var id = $(this).attr('settings');
        $(this).hoverbox({id: id});
    });
    
    $(".img_link").click(function(ev)
    {
        if(ev.preventDefault)
            ev.preventDefault();
        else
            ev.returnValue = false;
            
        $("[name=cel_kredytu]:first").click();
    })
})
