jQuery(document).ready(function() {

    jQuery("#a-minus-value").click(function(event) {
        var loan_id = parseInt(jQuery("#hdnId").val());
        var reqAmount = parseInt(jQuery("#NeedTotal").html().replace(".","")) - 1000;
        var reqMonth = parseInt(jQuery("#Month").html());
        updateJQValues(reqAmount, reqMonth, loan_id, '#a-minus-value');
        return false;
    });
    jQuery("#a-plus-value").click(function(event) {
        var loan_id = parseInt(jQuery("#hdnId").val());
        var reqAmount = parseInt(jQuery("#NeedTotal").html().replace(" <b>TL</b>", "").replace(".","")) + 1000;
        var reqMonth = parseInt(jQuery("#Month").html().replace(" <b>AY</b>",""));
        updateJQValues(reqAmount, reqMonth, loan_id, '#a-plus-value');
        return false;
    });
    jQuery("#a-minus-month").click(function(event) {
        var loan_id = parseInt(jQuery("#hdnId").val());
        var reqAmount = parseInt(jQuery("#NeedTotal").html().replace(" <b>TL</b>", "").replace(".",""));
        var reqMonth = parseInt(jQuery("#Month").html()) - 1;
        updateJQValues(reqAmount, reqMonth, loan_id, '#a-minus-month');
        return false;
    });
    jQuery("#a-plus-month").click(function(event) {
        var loan_id = parseInt(jQuery("#hdnId").val());
        var reqAmount = parseInt(jQuery("#NeedTotal").html().replace(".",""));
        var reqMonth = parseInt(jQuery("#Month").html()) + 1;
        updateJQValues(reqAmount, reqMonth, loan_id, '#a-plus-month');
        return false;
    });
    jQuery("#logo").click(function(event) {
        jQuery(location).attr('href', "Default.aspx");
    });
    jQuery(".addFavourite").click(function(event) {
        var id = this.id.replace("favoriteimg-", "");
        //favorite loan
        ajxFavorite("ajax/Favorite.aspx?lid=" + id, this.id);

        return false;
    });
    jQuery(".delFavourite").click(function(event) {
        var id = this.id.replace("favoriteimg-", "");
        //favorite loan
        ajxFavorite("ajax/Favorite.aspx?lid=" + id, this.id);

        return false;
    });
    jQuery(".DeleteFav").click(function(event) {
        var id = this.id.replace("Delete-fav-", "");
        //favorite loan
        ajxDelFavorite("ajax/DeleteFavorite.aspx?lid=" + id, id);

        return false;
    });
    jQuery('#ctl00_ContentPlaceHolder1_ctlRequestLoan1_txtIdentityNumber').blur(function() {
    var identity = jQuery('#ctl00_ContentPlaceHolder1_ctlRequestLoan1_txtIdentityNumber').val();
        validateIdentity(identity);

    });
});

function onEnter() {
    var classNum = $('.current').attr("class").replace("mainTabItem mainTabsItem_", "").replace(" current", "");
    if (classNum == 4)
        getDefinedLoans();
    else
        getLoans(classNum);
}

function ajxCancelRequest(url, id) {
    url = url + '&rnd=' + Math.random();
    jQuery.get(url, function(responseData) {
        var res = evalResult(responseData);

        if (res.Success == 'True') {
            jQuery("#request-div-" + id).fadeOut();
        }
        else {
            alert(res.ErrorDesc);
        }
    });
}
function ajxDelFavorite(url, id) {
    url = url + '&rnd=' + Math.random();
    jQuery.get(url, function(responseData) {
        var res = evalResult(responseData);

        if (res.Success == 'True') {
            jQuery("#li-fav-" + id).fadeOut();
        }
        else {
            alert(res.ErrorDesc);
        }
    });
}

function validateIdentity(tcno) {
    var tckontrol, toplam;

    toplam = Number(tcno.substring(0, 1)) + Number(tcno.substring(1, 2)) + Number(tcno.substring(2, 3)) + Number(tcno.substring(3, 4)) + Number(tcno.substring(4, 5)) + Number(tcno.substring(5, 6)) + Number(tcno.substring(6, 7)) + Number(tcno.substring(7, 8)) + Number(tcno.substring(8, 9)) + Number(tcno.substring(9, 10));

    strtoplam = String(toplam);

    onunbirlerbas = strtoplam.substring(strtoplam.length, strtoplam.length - 1);

    if (onunbirlerbas == tcno.substring(10, 11)) {
        jQuery('#identityValidator').html('');
    }
    else {
        jQuery('#identityValidator').html('Lütfen geçerli bir kimlik numarası giriniz.');
        setTimeout("document.getElementById('ctl00_ContentPlaceHolder1_ctlRequestLoan1_txtIdentityNumber').focus()", 1);
        setTimeout("document.getElementById('ctl00_ContentPlaceHolder1_ctlRequestLoan1_txtIdentityNumber').select()", 1);
    }
}

function ajxFavorite(url, id) {
    url = url + '&rnd=' + Math.random();
    jQuery.get(url, function(responseData) {
        var res = evalResult(responseData);
        
        if (res.Success == 'True') {
            var image = jQuery("#" + id).attr("class");
            
            if (image == "addFavourite") {
                jQuery("#" + id).attr("class", "delFavourite");
            }
            else {
                jQuery("#" + id).attr("class", "addFavourite");
            }
        }
        else {
            alert('Bir hata oluştu.');}
    });
}


function evalResult(jsonStr) {
    eval('var result = ' + jsonStr);
    return result;

}



function getLoans(from) {
     
    if (from == 4) return;

    if ($('#uDiv_Results') == null)
        return false;
    $('#uDiv_Results').show();
    $('#arama_kriter').show();
    
    var kredi_tur = 'kredi_tur' + from;
    var kredi_miktari = 'kredi_miktari' + from;
    var vade = 'vade' + from;
    var deger = 'toplam_deger' + from;
    var deger_value = 0;
    
    if ($('#' + deger).html()!=null) {
        deger_value = $('#' + deger).val();       
        if (deger_value == null || deger_value == "") {        
            if (from == 3)
                deger_value = 40000;
            if (from == 1)
                deger_value = 100000;
        }
    }
    var _kredi_miktari = CheckValuesForDefault(from, 1, kredi_miktari);
    var _vade = CheckValuesForDefault(from, 2, vade);    
    
    //Do Validations    
    var errMsg = '';  
    if (!isFieldValid(_kredi_miktari))
        errMsg += 'İstenen kredi miktarı sayısal bir değer olmalıdır.\r\n';
        
    if (!isFieldValid(_vade))
        errMsg += 'İstenen vade sayısal bir değer olmalıdır.\r\n';
    
    
    if (!isFieldValid(deger_value))
        errMsg += 'Girilen değer sayısal bir değer olmalıdır.\r\n';
        
    if (from =="2" && !isFieldValid($('#taksit_miktari').val()))
    {
        errMsg += 'En fazla taksit sayısal bir değer olmalıdır.\r\n';
    }    
   
    
    if (errMsg != '')
    {
        $('#criteria').html('<p class=\"result infoRed\">' + errMsg + '</p>');
        return false;
    }
    
    //End Validations
    $('#uDiv_Results').html('<img class="loader" src="loading.gif" />');    
    
    var _url = 'gate.aspx?_id=Loans&ty=' + encodeURIComponent($('#' + kredi_tur + ' option:selected').val()) +
    '&ltstr=' + encodeURIComponent($('#' + kredi_tur + ' option:selected').html()) +
    '&nt=' + encodeURIComponent(ThousandSeperator($('#' + kredi_miktari).val())) +
    '&dr=' + encodeURIComponent($('#' + vade).val()) +    
    '&val=' + ThousandSeperator(deger_value) +
    '&sec=' + from +
    '&urltype=custom';    
    
    if (from == "2")
       _url = _url +  '&mi=' + encodeURIComponent($('#taksit_miktari').val().replace(".",""));    
   
    jQuery('#uDiv_Results').load(_url + '&nocache=' + Math.random());
    //new Request.HTML({ url: _url + '&nocache=' + Math.random(), update: $('uDiv_Results'), onComplete: function(response) { 

    _url = _url.replace('Loans', 'Criteria');
    
    loadCriteria(_url);
}

function isFieldValid(value)
{       
    if (value!=null && value.toString !='')
    {   
        return (!isNaN(value));
        }
    else
    {         
        return false;     
     }
}

function CheckValuesForDefault(sec, typ, objId) {

    var moneys = [50000, 5000, 20000];
    var months = [60, 12, 36];
    var retVal ;

    var cval = $(objId).val();

    if (cval == null || cval == '' || cval == '0') {
        if (typ == 1)
            retVal = moneys[sec - 1];
        else {
            retVal = months[sec - 1];
        }

        $(objId).val(retVal);
    }
    else {
        retVal = $(objId).val();
    }
    return retVal;
}


function clearFilter() {
    $('#uDiv_Results').fadeOut('fast');
    $('p.result').fadeOut('fast');
}

function getPage(clicker) {
    var _url = clicker.href;
    $('#uDiv_Results').html('<img class="loader" src="loading.gif" />');
    jQuery('#uDiv_Results').load(_url + '&nocache=' + Math.random());    
    return false;
}

function getDefinedLoans() {
    $('#uDiv_Results').show();
    $('#arama_kriter').show();
    $('#uDiv_Results').html('<img class="loader" src="loading.gif" />');
    var _url = 'gate.aspx?_id=Loans&dl=' + encodeURIComponent($('#txtDefinedLoans').val());
    jQuery('#uDiv_Results').load(_url + '&nocache=' + Math.random());            
}

function getExchangeRates() {
    $('#uDiv_Results').show();
    $('#arama_kriter').show();
    $('#uDiv_Results').html('<img class="loader" src="loading.gif" />');
    var _url = 'gate.aspx?_id=ExchangeRates';
    jQuery('#uDiv_Results').load(_url + '&nocache=' + Math.random());                
}

function setSelected()
{    
    var arrIds = jQuery('#loanIdList').val().split(",");      
    var obj;
    for (var i=0;i<arrIds.length;i++){
        
        if (arrIds[i]!=''){            
            var obj=jQuery('#chk-loan-' + arrIds[i]);
            if (obj) {
                obj.attr('checked', 'true');
                obj.parent().parent().parent().addClass("chosen");
            }
        }
    }
}

function chkCompareClicked(id) {
    var lidList = jQuery('#loanIdList').val();

    var idNo = id.replace("chk-loan-", "");
    var htmlValue = ""
    if (lidList.search(idNo) == -1) {
        htmlValue = lidList;
        if (lidList.split(",").length > 3)
        {
            alert("Karşılaştırma listesine en fazla 3 kredi eklenebilir.");
            return false;
        }
        $('#' + id).parent().parent().parent().addClass("chosen");
        jQuery('#loanIdList').val(htmlValue + idNo + ',');
    }
    else {
        $('#' + id).parent().parent().parent().removeClass("chosen");
        htmlValue = lidList.replace(idNo + ',', "");
        jQuery('#loanIdList').val(htmlValue);
    }    
    return true;
}


function compareLoansForTags(){
var id_list = jQuery('#loanIdList').val();
  var id_array = new Array();
    
    id_array = id_list.split(",");
      if (id_array.length < 3 || id_array.length > 4) {
        alert('Karsilastirmak için en az 2 kredi seçiniz.');
        return;
        }
        
        var _url = 'CompareLoans.aspx?loanlist=' + id_list + 'Loans&ty=-1&ltstr=Hepsi&nt=5000&dr=12&mi=0&val=0&sec=2&urltype=custom';
        jQuery(location).attr('href', _url);
}


function compareLoans() {
    var className = jQuery('a[class~=current]').attr('class');    
    var from = className.replace('mainTabItem mainTabsItem_', '').replace(' current', '');
    var kredi_tur = 'kredi_tur' + from;
    var kredi_miktari = 'kredi_miktari' + from;
    var vade = 'vade' + from;
    var deger = 'toplam_deger' + from;
    var deger_value = 0;
    var id_list = jQuery('#loanIdList').val();
    
    
    var id_array = new Array();
    id_array = id_list.split(",");
    if (id_array.length < 3 || id_array.length > 4) {
        alert('Karşılaştırmak için en az 2 kredi seçiniz.');
        return;
    }
    var mi = $('#taksit_miktari').val();
    if (mi == '' || mi == null || mi == "") {mi = 0; }
    //redirect
    var _url = 'CompareLoans.aspx?loanlist=' + id_list + 'Loans&ty=' + encodeURIComponent($('#' + kredi_tur).val()) +
    '&ltstr=' + encodeURIComponent($('#' + kredi_tur + ' :selected').text()) +
    '&nt=' + encodeURIComponent($('#' + kredi_miktari).val()) +
    '&dr=' + encodeURIComponent($('#' + vade).val()) +
    '&mi=' + encodeURIComponent(mi) +
    '&val=' + deger_value +
    '&sec=' + from +
    '&urltype=custom';
    jQuery(location).attr('href', _url);

}
function refreshLoans() {
    var className = jQuery('a[class~=current]').attr('class');
    var from = className.replace('mainTabItem mainTabsItem_', '').replace(' current', '');

    getLoans(from);
}
function loadCriteria(url) {
    var _url = url + '&cache=' + Math.random();
    jQuery('#criteria').load(_url);
}
function updateJQValues(amount, month, loan_id, callerObj) {


    if (month == 2) { 
        jQuery("#a-minus-month").addClass("opaq"); 
    }
    else if (month < 2) { 
        return false;    
    }
    else {
        jQuery("#a-minus-month").removeClass("opaq");     
    }
    
    if (amount == 1000) {    
        jQuery("#a-minus-value").addClass("opaq");     
    }
    else if (amount < 1000) {
        return false;
    }
    else { 
        jQuery("#a-minus-value").removeClass("opaq"); 
    }

    var url = 'ajax/calculate.aspx?loan_id=' + loan_id + '&amount=' + amount + '&month=' + month + '&nocache=' + Math.random();
    jQuery.get(url, function(responseData) {

        var result = evalResult(responseData);
        if (result.Success == 'True') {
            //Gerekli alanları update et...
            jQuery("#NeedTotal").html(ThousandSeperator(amount) + " <b>TL</b>");
            jQuery("#Month").html(month + " <b>AY</b>");
            jQuery("#LoanRate").html(' ' + result.LoanRate);
            jQuery("#MonthlyFee").html(ThousandSeperator(Math.round(parseFloat(result.MonthlyFee)))+" <b>TL</b>");
            jQuery("#TotalFee").html(ThousandSeperator(Math.round(parseFloat(result.TotalFee)))+" <b>TL</b>");
            jQuery("#TotalRate").html(Math.round(parseFloat(result.TotalRate)));

            if (result.LoanSection == "2") {
                jQuery("#kredi_miktari2").val(amount);
                jQuery("#vade2").val(month);
            }
            if (result.LoanSection == "1") {
                jQuery("#kredi_miktari1").val(amount);
                jQuery("#vade1").val(month);
            }
            if (result.LoanSection == "3") {
                jQuery("#kredi_miktari3").val(amount);
                jQuery("#vade3").val(month);
            }


        }
        else {
            showError(callerObj, result.ErrorDesc);
        }
    
    });
}
function ThousandSeperator(nStr) {
    nStr += '';
    var x = nStr.split('.');
    var x1 = x[0];
    var x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + '.' + '$2');
    }
    return x1 + x2;
}
function setCookie(c_name, value, expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + expiredays);  
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}
function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

function showError(callerObj, msg) {
    var str = new String(msg);            
    jQuery("#error").html("" + str.replace(";", "\r\n") + "");
    jQuery("#error").css("top", jQuery(callerObj).position().top + 3);
    jQuery("#error").css("left", jQuery(callerObj).position().left + 40);
    jQuery("#error").fadeIn("fast");
    setTimeout(function() { jQuery('#error').slideUp(); }, 1500);
}