//painting = true;

tabberOptions = {
    'manualStartup':false,

    'onLoad': function(argsObj) {

        args = json_parse(params, parsingFilter);

        argsObj.tabber.tabShow(args.tab - 1);

        if(args.tab > 1 && args.tab < 4)
            paintTab();
    //      while(painting);
    //      painting = true;

    },

    'onClick': function(argsObj) {

        var t = argsObj.tabber; /* Tabber object */
        var id = t.id; /* ID of the main tabber DIV */
        var i = argsObj.index; /* Which tab was clicked (0 is the first tab) */
        var e = argsObj.event; /* Event object */
        args.tab = i + 1;

        paintTab();
    //      while(painting);
    //      painting = true;
    },

    'addLinkId': false
};


function girisYap(){
    //TBAlert(100, 250, "please login!");
    var temp = window.location.toString().split("/");
    var currentPage = temp[temp.length - 1];
    currentPage = '/' + currentPage.replace("?", "%3f").replace("&", "%26").replace("#", "%23");
    window.location = "/member/index.jsp?r=" + currentPage;
};

//function hataliIstek(){
//    TBAlert(100, 250, "invalid argument!");
//};

function baglantiHatasi(){
    TBAlert(100, 250, "page not found!");
};

//function kayitBulunamadi(){
//    TBAlert(100, 250, "no such record");
//};

//function gecersizEPosta(){
//    TBAlert(100, 250, "Invalid e-mail!");
//};

//function ePostaBasarisiz(){
//    TBAlert(100, 250, "The e-mail could not be sent");
//};

var page = '/urun_ajax.jsp';
var tMethod = 'post';
var pageError = '404';


var ocbgMap = {};

function urunuListemeEkle(a, urun){
    if(userId == 'null'){
        girisYap();
    }
    else{
        var parentDiv = urunuListemeEkleIlklendir(a);
        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: "u_listem",
                product: urun
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        urunuListemeEkleBasarili(parentDiv, urun);
                        break;
                    case 2:
                        girisYap();
                        break;
                    //                    case 3:
                    //                        hataliIstek();
                    //                        break;
                    case 4:
                        urunuListemeEkleZatenEklenmis(parentDiv, urun);
                        break;
                    default:
                        urunuListemeEkleBasarisiz(parentDiv, urun);
                        break;
                }
            },
            onLoading: function(){
                urunuListemeEkleIsleniyor(parentDiv, urun);
            },
            onFailure: function(){
                urunuListemeEkleBasarisiz(parentDiv, urun);
            }
        });
    }
};

function urunuListemeEkleIlklendir(a){
    return a.parentNode.parentNode.parentNode.parentNode;
};

function urunuListemeEkleBasarili(div, urun){
    urunuListemeEkleCoverDiv(div, 'success-cover', urun, "Listenize eklendi");
};

function urunuListemeEkleIsleniyor(div, urun){
    urunuListemeEkleCoverDiv(div, 'loading-cover', urun, "Listenize ekleniyor");
};

function urunuListemeEkleBasarisiz(div, urun){
    urunuListemeEkleCoverDiv(div, 'error-cover', urun, "Listenize eklenemedi");
};

function urunuListemeEkleZatenEklenmis(div, urun){
    urunuListemeEkleCoverDiv(div, 'already-registered-cover', urun, "Listenizde mevcut");
};

function urunuListemeEkleCoverDiv(div, templateId, urun, context){
    var newDiv = addToFeedback(document.getElementById(templateId), 'le-' + templateId + '-' + urun);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].innerHTML = "Listelerime git";
        aArray[0].setAttribute('href', '/member/account/index.jsp?tabIndex=' + 2);
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgkey', 'le-' + urun);

        removeFromFeedback(document.getElementById('le-loading-cover-' + urun));
        ocbgMap['le-' + urun] = true;
    }
    else{
        if(ocbgMap['le-' + urun]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};



function urunuFavorilerimeEkle(a, urun){
    if(userId == 'null'){
        girisYap();
    }
    else{
        var parentDiv = urunuFavorilerimeEkleIlklendir(a);
        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: "u_favorim",
                product: urun
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        urunuFavorilerimeEkleBasarili(parentDiv, urun);
                        break;
                    case 2:
                        girisYap();
                        break;
                    //                    case 3:
                    //                        hataliIstek();
                    //                        break;
                    case 4:
                        urunuFavorilerimeEkleZatenEklenmis(parentDiv, urun);
                        break;
                    default:
                        urunuFavorilerimeEkleBasarisiz(parentDiv, urun);
                        break;
                }

            },
            onLoading: function(){
                urunuFavorilerimeEkleIsleniyor(parentDiv, urun);
            },
            onFailure: function(){
                urunuFavorilerimeEkleBasarisiz(parentDiv, urun);
            }
        });
    }
};

function urunuFavorilerimeEkleIlklendir(a){
    return a.parentNode.parentNode.parentNode.parentNode;
};

function urunuFavorilerimeEkleBasarili(div, urun){
    urunuFavorilerimeEkleCoverDiv(div, 'success-cover', urun, "Favorilerinize eklendi");
};

function urunuFavorilerimeEkleIsleniyor(div, urun){
    urunuFavorilerimeEkleCoverDiv(div, 'loading-cover', urun, "Favorilerinize ekleniyor");
};

function urunuFavorilerimeEkleBasarisiz(div, urun){
    urunuFavorilerimeEkleCoverDiv(div, 'error-cover', urun, "Favorilerinize eklenemedi");
};

function urunuFavorilerimeEkleZatenEklenmis(div, urun){
    urunuFavorilerimeEkleCoverDiv(div, 'already-registered-cover', urun, "Favorilerinizde mevcut");
};

function urunuFavorilerimeEkleCoverDiv(div, templateId, urun, context){
    var newDiv = addToFeedback(document.getElementById(templateId), 'fe-' + templateId + '-' + urun);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].innerHTML = "Favorilerime git";
        aArray[0].setAttribute('href', '/member/account/index.jsp?tabIndex=' + 4);
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'fe-' + urun);

        removeFromFeedback(document.getElementById('fe-loading-cover-' + urun));
        ocbgMap['fe-' + urun] = true;
    }
    else{
        if(ocbgMap['fe-' + urun]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};








function urunuTavsiyeEt(a, urun){
    urunuTavsiyeEtIlklendir(a, urun);
};

function urunuTavsiyeEtGonder(parentDiv, mailHash){

    // mailHash = {sender: 'senderName', to: 'toAddress', subject: 'mailSubject', context: 'mailContext', type: 'urun', id: 'productId'}
    mailHash.op = "tavsiye";
    var urun = mailHash.id;
    new Ajax.Request(page,
    {
        method:tMethod,
        parameters: mailHash,
        onSuccess: function(transport){
            var response = transport.responseText || pageError;
            response = trim(response);
            var result = parseInt(response);

            switch (result) {
                case 1:
                    urunuTavsiyeEtBasarili(parentDiv, urun);
                    break;
                case 2:
                    girisYap();
                    break;
                //                case 3:
                //                    hataliIstek();
                //                    break;
                case 4:
                    urunuTavsiyeEtZatenEklenmis(parentDiv, urun);
                    break;
                //                case 5:
                //                    gecersizEPosta();
                //                case 6:
                //                    ePostaBasarisiz();
                default:
                    urunuTavsiyeEtBasarisiz(parentDiv, urun);
                    break;
            }
        },
        onLoading: function(){
            urunuTavsiyeEtIsleniyor(parentDiv, urun);
        },
        onFailure: function(){
            urunuTavsiyeEtBasarisiz(parentDiv, urun);
        }
    });
};

function urunuTavsiyeEtIlklendir(a, urun){
    var parentDiv = a.parentNode.parentNode.parentNode.parentNode;
    mailGonderArgs = {
        d: parentDiv,
        f: urunuTavsiyeEtGonder,
        t: 'urun',
        i: urun
    };
    coverMail(parentDiv);
};

function urunuTavsiyeEtBasarili(div, urun){
    urunuTavsiyeEtCoverDiv(div, 'success-cover', urun, "Tavsiye e-postanız gönderildi");
};

function urunuTavsiyeEtIsleniyor(div, urun){
    urunuTavsiyeEtCoverDiv(div, 'loading-cover', urun, "Tavsiye e-postanız gönderiliyor");
};

function urunuTavsiyeEtBasarisiz(div, urun){
    urunuTavsiyeEtCoverDiv(div, 'error-cover', urun, "Tavsiye e-postanız gönderilemedi");
};


function urunuTavsiyeEtCoverDiv(div, templateId, urun, context){

    var newDiv = addToFeedback(document.getElementById(templateId), 'ute-' + templateId + '-' + urun);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].style.display = 'none';
        newDiv.getElementsByTagName('img')[1].style.display = 'none';
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'ute-' + urun);


        removeFromFeedback(document.getElementById('ute-loading-cover-' + urun));
        ocbgMap['ute-' + urun] = true;
    }
    else{
        if(ocbgMap['ute-' + urun]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};




function fiyatAlarmiEkle(a, urun){
    if(userId == 'null'){
        girisYap();
    }
//    else{
//        var arguments = fiyatAlarmiEkleIlklendir(a);
//        // arguments = {limit: 'alarm üretilecek meblağ'}
//        arguments = {limit: '31.68'};
//
//        arguments.op = "f_alarm";
//        arguments.product = urun;
//
//        new Ajax.Request(page,
//        {
//            method:tMethod,
//            parameters: arguments,
//            onSuccess: function(transport){
//                var response = transport.responseText || pageError;
//                response = trim(response);
//                var result = parseInt(response);
//                var success = false;
//
//                switch (result) {
//                    case 1:
//                        fiyatAlarmiEkleBasarili();
//                        success = true;
//                        break;
//                    case 2:
//                        girisYap();
//                        break;
//                    case 3:
//                        hataliIstek();
//                        break;
//                    case 4:
//                        zatenEklenmis();
//                        break;
//                    default:
//                        baglantiHatasi();
//                        break;
//                }
//
//                if(!success)
//                    fiyatAlarmiEkleBasarisiz();
//            },
//            onLoading: function(){ fiyatAlarmiEkleIsleniyor(); },
//            onFailure: function(){ baglantiHatasi(); }
//        });
//    }
};

//
//function fiyatAlarmiEkleIlklendir(a){
//    return a.parentNode.parentNode.parentNode.parentNode;
//};
//
//function fiyatAlarmiEkleBasarili(){
//    TBAlert(100, 250, "successful!");
//};
//
//function fiyatAlarmiEkleIsleniyor(){
//    TBAlert(100, 250, "loading... :P");
//};
//
//function fiyatAlarmiEkleBasarisiz(){
//    TBAlert(100, 250, "unsuccessful!");
//};
//


function degerlendirmeAlarmiEkle(a, urun){
    if(userId == 'null'){
        girisYap();
    }
    else{
        var parentDiv = degerlendirmeAlarmiEkleIlklendir(a);

        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: "d_alarm",
                product: urun
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        degerlendirmeAlarmiEkleBasarili(parentDiv, urun);
                        break;
                    case 2:
                        girisYap();
                        break;
                    //                    case 3:
                    //                        hataliIstek();
                    //                        break;
                    case 4:
                        degerlendirmeAlarmiEkleZatenEklenmis(parentDiv, urun);
                        break;
                    default:
                        degerlendirmeAlarmiEkleBasarisiz(parentDiv, urun);
                        break;
                }
            },
            onLoading: function(){
                degerlendirmeAlarmiEkleIsleniyor(parentDiv, urun);
            },
            onFailure: function(){
                degerlendirmeAlarmiEkleBasarisiz(parentDiv, urun);
            }
        });
    }
};

function degerlendirmeAlarmiEkleIlklendir(a){
    return a.parentNode.parentNode.parentNode.parentNode;
};

function degerlendirmeAlarmiEkleBasarili(div, urun){
    degerlendirmeAlarmiEkleCoverDiv(div, 'success-cover', urun, "Alarmlarınıza eklendi");
};

function degerlendirmeAlarmiEkleIsleniyor(div, urun){
    degerlendirmeAlarmiEkleCoverDiv(div, 'loading-cover', urun, "Alarmlarınıza ekleniyor");
};

function degerlendirmeAlarmiEkleBasarisiz(div, urun){
    degerlendirmeAlarmiEkleCoverDiv(div, 'error-cover', urun, "Alarmlarınıza eklenemedi");
};

function degerlendirmeAlarmiEkleZatenEklenmis(div, urun){
    degerlendirmeAlarmiEkleCoverDiv(div, 'already-registered-cover', urun, "Alarmlarınızda mevcut");
};

function degerlendirmeAlarmiEkleCoverDiv(div, templateId, urun, context){

    var newDiv = addToFeedback(document.getElementById(templateId), 'dae-' + templateId + '-' + urun);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].innerHTML = "Listelerime git";
        aArray[0].setAttribute('href', '/member/account/index.jsp?tabIndex=' + 2);
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'dae-' + urun);

        removeFromFeedback(document.getElementById('dae-loading-cover-' + urun));
        ocbgMap['dae-' + urun] = true;
    }
    else{
        if(ocbgMap['dae-' + urun]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};




function buUrunBendeVar(cb, urun){
    if(cb.tagName.toLowerCase() != 'input') {
        cb = cb.parentNode.getElementsByTagName('input')[0];
        cb.checked = ! cb.checked;
    }
    if(userId == 'null'){
        girisYap();
    }
    else{
        var temp = buUrunBendeVarIlklendir(cb);
        var isChecked = temp.c;
        var parentDiv = temp.p;

        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: 'bendeVar',
                pro: urun,
                has: (isChecked ? 1 : 0)
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        buUrunBendeVarBasarili(parentDiv, urun);
                        break;
                    case 2:
                        girisYap();
                        break;
                    case 3:
                        buUrunBendeVarBasarisiz(parentDiv, urun);
                        break;
                    case 4:
                        buUrunBendeVarZatenEklenmis(parentDiv, urun);
                        break;
                    case 5:
                        buUrunBendeVarKayitBulunamadi(parentDiv, urun);
                        break;
                    default:
                        buUrunBendeVarBasarisiz(parentDiv, urun);
                        break;
                }

            },
            onLoading: function(){
                buUrunBendeVarIsleniyor(parentDiv, urun);
            },
            onFailure: function(){
                buUrunBendeVarBasarisiz(parentDiv, urun);
            }
        });
    }
};

function buUrunBendeVarIlklendir(cb){
    var x = cb.checked;
    var y = cb.parentNode.parentNode;
    //cb.blur();
    return {
        c: x,
        p: y
    };
};

function buUrunBendeVarBasarili(div, urun){
    buUrunBendeVarCoverDiv(div, 'success-cover', urun, "Eklendi");
    checkAll(urun, true, div);
};

function buUrunBendeVarIsleniyor(div, urun){
    buUrunBendeVarCoverDiv(div, 'loading-cover-white', urun, "Ekleniyor");
};

function buUrunBendeVarBasarisiz(div, urun){
    buUrunBendeVarCoverDiv(div, 'error-cover', urun, "Eklenemedi");
    checkAll(urun, false, div);
};

function buUrunBendeVarKayitBulunamadi(div, urun){
    buUrunBendeVarCoverDiv(div, 'already-registered-cover', urun, "Zaten işaretli");
    checkAll(urun, false);
};

function buUrunBendeVarZatenEklenmis(div, urun){
    buUrunBendeVarCoverDiv(div, 'already-registered-cover', urun, "Zaten işaretsiz");
    checkAll(urun, true);
};

function checkAll(urun, value, div){
    var boxes = getElementsByClassName('bubv' + urun);
    var i;

    if(div == null){
        if(value == null)
            for(i = boxes.length - 1; i >= 0; i--)
                boxes[i].checked = !(boxes[i].checked);
        else {
            for(i = boxes.length - 1; i >= 0; i--)
                boxes[i].checked = value;
        }
    }
    else{
        var x = div.getElementsByTagName("input")[0].checked;
        if(!value)
            x = !x;
        for(i = boxes.length - 1; i >= 0; i--)
            boxes[i].checked = x;
    }
};

function buUrunBendeVarCoverDiv(div, templateId, urun, context){
    var newDiv = addToFeedback(document.getElementById(templateId), 'iht-' + templateId + '-' + urun);

    newDiv.style.background = 'white';
    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].innerHTML = "Listelerime git";
        aArray[0].setAttribute('href', '/member/account/index.jsp?tabIndex=' + 2);
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'iht-' + urun);

        removeFromFeedback(document.getElementById('iht-loading-cover-white-' + urun));
        ocbgMap['iht-' + urun] = true;
    }
    else{
        if(ocbgMap['iht-' + urun]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};








function degerlendirmeyiPuanla(a, deg, puan){
    if(userId == 'null'){
        girisYap();
    }
    else{
        var parentDiv  = degerlendirmeyiPuanlaIlklendir(a);
        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: 'puanla',
                review: deg,
                grade: puan
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        degerlendirmeyiPuanlaBasarili(parentDiv, deg , puan);
                        break;
                    case 2:
                        girisYap();
                        break;
                    //                    case 3:
                    //                        hataliIstek();
                    //                        break;
                    default:
                        degerlendirmeyiPuanlaBasarisiz(parentDiv, deg);
                        break;
                }

            },
            onLoading: function(){
                degerlendirmeyiPuanlaIsleniyor(parentDiv, deg);
            },
            onFailure: function(){
                degerlendirmeyiPuanlaBasarisiz(parentDiv, deg);
            }
        });
    }
};

function degerlendirmeyiPuanlaIlklendir(a){
    return a.parentNode.parentNode;
};

function degerlendirmeyiPuanlaBasarili(div, deg, puan){
    //degerlendirmeyiPuanlaCoverDiv(div, 'rating-success', deg);

    var oldTd, newTd = getElementsByClassName('rate-' + puan, 'td', div)[0];

    var img = document.getElementById('reply-grade-ok-' + deg);

    if(img == null){
        img = document.createElement('img');
        img.id = 'reply-grade-ok-' + deg;
        img.src = '/resimler/ortak/tick-orange.gif';
    }
    else{
        oldTd = img.parentNode;
        oldTd.style.cssText = '';
        oldTd.firstChild.style.display = 'block';
    }

    newTd.style.backgroundColor = "#ffae00";
    newTd.firstChild.style.display = 'none';
    newTd.appendChild(img);

    var loadingShit = document.getElementById('dp-rating-loading-' + deg);

    if(loadingShit == null)
        ocbgMap['dp-' + deg] = true;
    else {
        removeFromFeedback(loadingShit);
    }
};

function degerlendirmeyiPuanlaIsleniyor(div, deg){
    degerlendirmeyiPuanlaCoverDiv(div, 'rating-loading', deg);
};

function degerlendirmeyiPuanlaBasarisiz(div, deg){
    degerlendirmeyiPuanlaCoverDiv(div, 'rating-error', deg);
};

function degerlendirmeyiPuanlaCoverDiv(div, templateId, deg){
    var newDiv = addToFeedback(document.getElementById(templateId), 'dp-' + templateId + '-' + deg);

    if(templateId != 'rating-loading'){
        removeFromFeedback(document.getElementById('dp-rating-loading-' + deg));
        ocbgMap['dp-' + deg] = true;

        var img = div.newDiv.getElementsByTagName('img')[1];
        img.setAttribute('ocbgKey', 'dp-' + deg);
        img.onclick = function(){
            removeFromFeedbackHandler(img)
        };
    }
    else{
        if(ocbgMap['dp-' + deg]){
            removeFromFeedback(newDiv);
            ocbgMap['dp-' + deg] = false;
            return;
        }
    }

    coverDiv(div, newDiv);
};




function degerlendirmeyiFavorilerimeEkle(a, deg){
    if(userId == 'null'){
        girisYap();
    }
    else{
        var parentDiv = degerlendirmeyiFavorilerimeEkleIlklendir(a);
        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: "d_favorim",
                review: deg
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        degerlendirmeyiFavorilerimeEkleBasarili(parentDiv, deg);
                        break;
                    case 2:
                        girisYap();
                        break;
                    //                    case 3:
                    //                        hataliIstek();
                    //                        break;
                    case 4:
                        degerlendirmeyiFavorilerimeEkleZatenEklenmis(parentDiv, deg);
                        break;
                    default:
                        degerlendirmeyiFavorilerimeEkleBasarisiz(parentDiv, deg);
                        break;
                }
            },
            onLoading: function(){
                degerlendirmeyiFavorilerimeEkleIsleniyor(parentDiv, deg);
            },
            onFailure: function(){
                degerlendirmeyiFavorilerimeEkleBasarisiz(parentDiv, deg);
            }
        });
    }
};

function degerlendirmeyiFavorilerimeEkleIlklendir(a){
    return a.parentNode.parentNode.parentNode.parentNode;
};

function degerlendirmeyiFavorilerimeEkleBasarili(div, deg){
    degerlendirmeyiFavorilerimeEkleCoverDiv(div, 'success-cover', deg, "Favorilerinize eklendi");
};

function degerlendirmeyiFavorilerimeEkleIsleniyor(div, deg){
    degerlendirmeyiFavorilerimeEkleCoverDiv(div, 'loading-cover', deg, "Favorilerinize ekleniyor");
};

function degerlendirmeyiFavorilerimeEkleZatenEklenmis(div, deg){
    degerlendirmeyiFavorilerimeEkleCoverDiv(div, 'already-registered-cover', deg, "Favorilerinizde mevcut");
};

function degerlendirmeyiFavorilerimeEkleBasarisiz(div, deg){
    degerlendirmeyiFavorilerimeEkleCoverDiv(div, 'error-cover', deg, "Favorilerinize eklenemedi");
};

function degerlendirmeyiFavorilerimeEkleCoverDiv(div, templateId, deg, context){
    var newDiv = addToFeedback(document.getElementById(templateId), 'dfe-' + templateId + '-' + deg);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].innerHTML = "Favorilerime git";
        aArray[0].setAttribute('href', '/member/account/index.jsp?tabIndex=' + 2);
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'dfe-' + deg);

        removeFromFeedback(document.getElementById('dfe-loading-cover-' + deg));
        ocbgMap['dfe-' + deg] = true;
    }
    else{
        if(ocbgMap['dfe-' + deg]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};




function guvendigimKisilereEkle(a, ahbap){
    if(userId == 'null'){
        girisYap();
    }
    else{
        var parentDiv = guvendigimKisilereEkleIlklendir(a);
        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: "guvendiklerim",
                buddy: ahbap
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                switch (result) {
                    case 1:
                        guvendigimKisilereEkleBasarili(parentDiv, ahbap);
                        break;
                    case 2:
                        girisYap();
                        break;
                    //                    case 3:
                    //                        hataliIstek();
                    //                        break;
                    case 4:
                        guvendigimKisilereEkleZatenEklenmis(parentDiv, ahbap);
                        break;
                    default:
                        guvendigimKisilereEkleBasarisiz(parentDiv, ahbap);
                        break;
                }
            },
            onLoading: function(){
                guvendigimKisilereEkleIsleniyor(parentDiv, ahbap);
            },
            onFailure: function(){
                guvendigimKisilereEkleBasarisiz(parentDiv, ahbap);
            }
        });
    }
};

function guvendigimKisilereEkleIlklendir(a){
    return a.parentNode.parentNode.parentNode.parentNode;
};

function guvendigimKisilereEkleBasarili(div, ahbap){
    guvendigimKisilereEkleCoverDiv(div, 'success-cover', ahbap, "Listenize eklendi");
};

function guvendigimKisilereEkleIsleniyor(div, ahbap){
    guvendigimKisilereEkleCoverDiv(div, 'loading-cover', ahbap, "Listenize ekleniyor");
};

function guvendigimKisilereEkleZatenEklenmis(div, ahbap){
    guvendigimKisilereEkleCoverDiv(div, 'already-registered-cover', ahbap, "Listenizde mevcut");
};

function guvendigimKisilereEkleBasarisiz(div, ahbap){
    guvendigimKisilereEkleCoverDiv(div, 'error-cover', ahbap, "Listenize eklenemedi");
};

function guvendigimKisilereEkleCoverDiv(div, templateId, ahbap, context){
    var newDiv = addToFeedback(document.getElementById(templateId), 'gke-' + templateId + '-' + ahbap);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].innerHTML = "Güven zinciri";
        aArray[0].setAttribute('href', '/member/account/index.jsp?tabIndex=' + 5);
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'gke-' + ahbap);

        removeFromFeedback(document.getElementById('gke-loading-cover-' + ahbap));
        ocbgMap['gke-' + ahbap] = true;
    }
    else{
        if(ocbgMap['gke-' + ahbap]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};





function degerlendirmeyeYorumEkle(a, deg){
    if(userId == 'null'){
        girisYap();
    }
    else{
        degerlendirmeyeYorumEkleIlklendir(a, deg);
    }
};

function degerlendirmeyeYorumEkleGonder(parentDiv, mailHash){


    // mailHash = {context: 'context', type: 'soru|cevap', id: 'productId|parentId'}
    mailHash.op = "yorum";
    var deg = mailHash.id;
    var soru = (mailHash.type == 'soru' ? true : false);
    new Ajax.Request(page,
    {
        method:tMethod,
        parameters: mailHash,
        onSuccess: function(transport){
            var response = transport.responseText || pageError;
            response = trim(response);
            var result = parseInt(response);

            switch (result) {
                case 1:
                    degerlendirmeyeYorumEkleBasarili(parentDiv, deg, soru);
                    break;
                case 2:
                    girisYap();
                    break;
                //                case 3:
                //                    hataliIstek();
                //                    break;
                default:
                    degerlendirmeyeYorumEkleBasarisiz(parentDiv, deg, soru);
                    break;
            }
        },
        onLoading: function(){
            degerlendirmeyeYorumEkleIsleniyor(parentDiv, deg, soru);
        },
        onFailure: function(){
            degerlendirmeyeYorumEkleBasarisiz(parentDiv, deg, soru);
        }
    });

};

function degerlendirmeyeYorumEkleIlklendir(a, deg){
    var parentDiv = a.parentNode;

    if(a.className == 'new-comment-link'){
        commentGonderArgs = {
            d: coverComment(parentDiv, 'Değerlendirme ile ilgili yorumunuzu yazınız'),
            f: degerlendirmeyeYorumEkleGonder,
            t: 'soru',
            i: deg
        };
    }
    else{
        commentGonderArgs = {
            d: coverComment(parentDiv, 'Yorum ile ilgili cevabınızı yazınız'),
            f: degerlendirmeyeYorumEkleGonder,
            t: 'cevap',
            i: deg
        }
    }
};

function degerlendirmeyeYorumEkleBasarili(div, deg, soru){
    removeFromFeedback(degerlendirmeyeYorumEkleCoverDiv(div, 'success-cover', deg, (soru ? 'Yorumunuz' : 'Cevabınız' ) + " gönderildi"));

    document.getElementById('tab4').innerHTML = '';
    args.tab = 4;
    paintTab();

    if(document.getElementById('comment-header').innerHTML.charAt(0) == 'D')
        commentFocus = {
            i: deg,
            t: 'deg'
        };
    else {
        commentFocus = {
            i: deg,
            t: 'yorum'
        };
    }

    document.getElementById('comment-cover').style.display = 'none';
};

function degerlendirmeyeYorumEkleIsleniyor(div, deg, soru){
    degerlendirmeyeYorumEkleCoverDiv(div, 'loading-cover', deg, (soru ? 'Yorumunuz' : 'Cevabınız' ) + " gönderiliyor");
};

function degerlendirmeyeYorumEkleBasarisiz(div, deg, soru){
    degerlendirmeyeYorumEkleCoverDiv(div, 'error-cover', deg, (soru ? 'Yorumunuz' : 'Cevabınız' ) + " gönderilemedi");
};

function degerlendirmeyeYorumEkleCoverDiv(div, templateId, deg, context){
    var yafta = (context.charAt(0) == 'Y' ? 'dye-' : 'dce-');

    var newDiv = addToFeedback(document.getElementById(templateId), yafta + templateId + '-' + deg);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].style.display = 'none';
        newDiv.getElementsByTagName('img')[1].style.display = 'none';
        aArray[1].onclick = function()
        {
            document.getElementById('comment-cover').style.display = 'none';
            removeFromFeedbackHandler(aArray[1]);
        };
        aArray[1].setAttribute('ocbgKey', yafta + deg);


        removeFromFeedback(document.getElementById(yafta + 'loading-cover-' + deg));
        ocbgMap[yafta + deg] = true;
    }
    else{
        if(ocbgMap[yafta + deg]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
    newDiv.style.width  = getWidth(newDiv, true, false) + 4;
    newDiv.style.height = getHeight(newDiv, true, false) + 4;
    return newDiv;
};





function degerlendirmeyiRaporla(a, deg){
    degerlendirmeyiRaporlaIlklendir(a, deg);
};

function degerlendirmeyiRaporlaGonder(parentDiv, mailHash){


    // mailHash = {context: 'context', reason: '1|2|3|4' type: 'soru|cevap', id: 'reviewId|commentId'}
    mailHash.op = "d_raporla";
    var deg = mailHash.id;
    var soru = (mailHash.type == 'soru' ? true : false);
    new Ajax.Request(page,
    {
        method:tMethod,
        parameters: mailHash,
        onSuccess: function(transport){
            var response = transport.responseText || pageError;
            response = trim(response);
            var result = parseInt(response);

            switch (result) {
                case 1:
                    degerlendirmeyiRaporlaBasarili(parentDiv, deg, soru);
                    break;
                case 2:
                    girisYap();
                    break;
                //                case 3:
                //                    hataliIstek();
                //                    break;
                default:
                    degerlendirmeyiRaporlaBasarisiz(parentDiv, deg, soru);
                    break;
            }
        },
        onLoading: function(){
            degerlendirmeyiRaporlaIsleniyor(parentDiv, deg, soru);
        },
        onFailure: function(){
            degerlendirmeyiRaporlaBasarisiz(parentDiv, deg, soru);
        }
    });

};

function degerlendirmeyiRaporlaIlklendir(a, deg){
    var parentDiv = a.parentNode;

    if(a.className == 'new-report-link'){
        reportGonderArgs = {
            d: coverReport(parentDiv),
            f: degerlendirmeyiRaporlaGonder,
            t: 'soru',
            i: deg
        };
    }
    else{

        reportGonderArgs = {
            d: coverReport(parentDiv),
            f: degerlendirmeyiRaporlaGonder,
            t: 'cevap',
            i: deg
        }
    }
};
function degerlendirmeyiRaporlaBasarili(div, deg, soru){
    removeFromFeedback(degerlendirmeyiRaporlaCoverDiv(div, 'success-cover', deg, "Gönderildi", soru));
    document.getElementById('report-cover').style.display = 'none';
};

function degerlendirmeyiRaporlaIsleniyor(div, deg, soru){
    degerlendirmeyiRaporlaCoverDiv(div, 'loading-cover', deg, "Gönderiliyor", soru);
};

function degerlendirmeyiRaporlaBasarisiz(div, deg, soru){
    degerlendirmeyiRaporlaCoverDiv(div, 'error-cover', deg, "Gönderilemedi", soru);
};

function degerlendirmeyiRaporlaCoverDiv(div, templateId, deg, context, soru){
    var yafta = (soru ? 'dkr-' : 'dyr-');

    var newDiv = addToFeedback(document.getElementById(templateId), yafta + templateId + '-' + deg);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].style.display = 'none';
        newDiv.getElementsByTagName('img')[1].style.display = 'none';
        aArray[1].onclick = function()
        {
            document.getElementById('report-cover').style.display = 'none';
            removeFromFeedbackHandler(aArray[1]);
        };
        aArray[1].setAttribute('ocbgKey', yafta + deg);


        removeFromFeedback(document.getElementById(yafta + 'loading-cover-' + deg));
        ocbgMap[yafta + deg] = true;
    }
    else{
        if(ocbgMap[yafta + deg]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
    newDiv.style.width  = getWidth(newDiv, true, false) + 4;
    newDiv.style.height = getHeight(newDiv, true, false) + 4;
    return newDiv;
};







function degerlendirmeyiTavsiyeEt(a, deg){
    degerlendirmeyiTavsiyeEtIlklendir(a, deg);
};

function degerlendirmeyiTavsiyeEtGonder(parentDiv, mailHash){

    // mailHash = {sender: 'senderName', to: 'toAddress', subject: 'mailSubject', context: 'mailContext', type: 'deg', id: 'reviewId'}
    mailHash.op = "tavsiye";
    var deg = mailHash.id;
    new Ajax.Request(page,
    {
        method:tMethod,
        parameters: mailHash,
        onSuccess: function(transport){
            var response = transport.responseText || pageError;
            response = trim(response);
            var result = parseInt(response);

            switch (result) {
                case 1:
                    degerlendirmeyiTavsiyeEtBasarili(parentDiv, deg);
                    break;
                case 2:
                    girisYap();
                    break;
                //                case 3:
                //                    hataliIstek();
                //                    break;
                case 4:
                    degerlendirmeyiTavsiyeEtZatenEklenmis(parentDiv, deg);
                    break;
                //                case 5:
                //                    gecersizEPosta();
                //                case 6:
                //                    ePostaBasarisiz();
                default:
                    degerlendirmeyiTavsiyeEtBasarisiz(parentDiv, deg);
                    break;
            }
        },
        onLoading: function(){
            degerlendirmeyiTavsiyeEtIsleniyor(parentDiv, deg);
        },
        onFailure: function(){
            degerlendirmeyiTavsiyeEtBasarisiz(parentDiv, deg);
        }
    });
};

function degerlendirmeyiTavsiyeEtIlklendir(a, deg){
    var parentDiv = a.parentNode.parentNode.parentNode.parentNode;
    mailGonderArgs = {
        d: parentDiv,
        f: degerlendirmeyiTavsiyeEtGonder,
        t: 'deg',
        i: deg
    };
    coverMail(parentDiv);
};

function degerlendirmeyiTavsiyeEtBasarili(div, deg){
    degerlendirmeyiTavsiyeEtCoverDiv(div, 'success-cover', deg, "Tavsiye e-postanız gönderildi");
};

function degerlendirmeyiTavsiyeEtIsleniyor(div, deg){
    degerlendirmeyiTavsiyeEtCoverDiv(div, 'loading-cover', deg, "Tavsiye e-postanız gönderiliyor");
};

function degerlendirmeyiTavsiyeEtBasarisiz(div, deg){
    degerlendirmeyiTavsiyeEtCoverDiv(div, 'error-cover', deg, "Tavsiye e-postanız gönderilemedi");
};

function degerlendirmeyiTavsiyeEtCoverDiv(div, templateId, deg, context){

    var newDiv = addToFeedback(document.getElementById(templateId), 'dte-' + templateId + '-' + deg);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].style.display = 'none';
        newDiv.getElementsByTagName('img')[1].style.display = 'none';
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', 'dte-' + deg);

        removeFromFeedback(document.getElementById('dte-loading-cover-' + deg));
        ocbgMap['dte-' + deg] = true;
    }
    else{
        if(ocbgMap['dte-' + deg]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
};





function FTRepaint(columnIndex, desc){
    var ID = ["sponsor", "notSponsor"];
    for(var i = 0; i < ID.length; i++){
        var j, k, l;

        var t = document.getElementById(ID[i]);
        var rows = t.getElementsByClassName('sponsor-magaza', 'tr');
        var tempRow;
        var store_m = new AdvancedMatrice();

        for(j = 0; j < rows.length ; j++){
            tempRow = {};
            tempRow.i = j;
            tempRow.v = [];

            var columns = rows[j].getElementsByTagName("td");

            for(k = 0; k < columns.length; k++){
                tempRow.v[k] = {};
                tempRow.v[k].i = k;
                tempRow.v[k].v = {};
                tempRow.v[k].v.v = clone(columns[k].innerHTML);

                var sortReference = columns[k].getAttribute("sortReference");
                if(sortReference != null || sortReference.length > 0)
                    tempRow.v[k].v.s = parseFloat(sortReference);
            }

            store_m.addRow(tempRow, -1);
        }

        if(desc){
            store_m.sortRowsByColumnDesc(columnIndex);
        }
        else{
            store_m.sortRowsByColumn(columnIndex);
        }

        var sort = document.getElementById("fk" + columnIndex);

        sort.onclick = function(){
            beforeSelect(this); FTRepaint(columnIndex, !desc);
        };
        //sort.setAttribute("onclick", "FTRepaint(" + columnIndex + ", " + !desc + ");");

        var tempTr = [], tempTd;
        var n = store_m.getRowDimension();
        var m = store_m.getColumnDimension();

        for(j = 0; j < n; j++){
            tempRow = store_m.getRow(j);
            tempTr[j] = document.createElement("tr");

            tempTr[j].className = rows[j].className;
            tempTr[j].style.cssText = rows[j].style.cssText;

            columns = rows[j].getElementsByTagName("td");
            for(k = 0; k < m; k++){
                tempTd = document.createElement("td");

                tempTd.className = columns[k].className;
                tempTd.style.cssText = columns[k].style.cssText;

                if(tempRow.v[k].v.s != null)
                    tempTd.setAttribute("sortReference", tempRow.v[k].v.s);
                else {
                    tempTd.setAttribute("sortReference", "");
                }

                tempTd.innerHTML = clone(tempRow.v[k].v.v);
                tempTr[j].appendChild(tempTd);
            }
        }

        for(j = t.childNodes.length - 1; j >= 0; j--)
            t.removeChild(t.childNodes[j]);

        var newTbody = document.createElement('tbody');

        var tmpAyrac, tmpAyracChild;
        for(j = 0; j < n - 1; j++){
            newTbody.appendChild(tempTr[j]);

            tmpAyrac = document.createElement('tr');
            tmpAyracChild = document.createElement('td');
            tmpAyracChild.setAttribute("colspan", '5');
            tmpAyracChild.innerHTML = '<div class="urun-ayrac"></div>';

            tmpAyrac.appendChild(tmpAyracChild);
            newTbody.appendChild(tmpAyrac);
        }
        newTbody.appendChild(tempTr[j]);

        t.appendChild(newTbody);

    }
};




function paintTab(){

    var tabNo = parseInt(args.tab);

    paintTabIlklendir(args.tab);

    var tabDom = document.getElementById("tab" + tabNo);

    if(tabDom.innerHTML.length == 0){
        new Ajax.Request("/urun_tabs.jsp",
        {
            method:tMethod,
            parameters: args,
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var errorCode = parseInt(response);

                if(isNaN(errorCode)){
                    switch(tabNo){
                        case 2:
                            paintUrunKarsilastirTab(response);
                            break;
                        case 3:
                            paintUrunBilgileriTab(response);
                            break;
                        case 4:
                            paintDegerlendirmelerTab(response);
                            openFirstReview();
                            break;
                        case 5:
                            paintUrunSoruCevapTab(response);
                            break;
                        default:
                            tabDom.innerHTML = clone(response);
                            break;
                    }
                //painting = false;
                }
                else {
                    baglantiHatasi();
                }

            },
            onLoading: function(){
                paintTabIsleniyor();
            },
            onFailure: function(){
                baglantiHatasi();
            }
        });
    }
};

function paintTabIlklendir(tabIdS){
    return false;
};

function paintTabBasarili(){
// TBAlert(100, 250, "successful!");
};

function paintTabIsleniyor(){
//  TBAlert(100, 250, "loading... :P");
};

function paintTabBasarisiz(){
//  TBAlert(100, 250, "unsuccessful!");
};



// may be required to parse date object from JSON
// not needed yet!
function dateFilter(key, value) {
    var a;
    if (typeof value === 'string') {
        a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
        if (a) {
            return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
                +a[5], +a[6]));
        }
    }
    return value;
};


// our default filter to parse JSONObject's
function parsingFilter(key, value){
    return value;
};


function paintUrunKarsilastirTab(text){

    ukMatrice = new AdvancedMatrice();

    var t = ukMatrice;

    var data = json_parse(text);
    var sponsor = data.sponsor;
    var temp = data.urun;
    for(var i = 0; i < temp.length; i++)
        ukMatrice.addColumn(temp[i], -1);


    document.getElementById("tab2").innerHTML =

    '<div class="kust">' +
        '<table id="kust-table">' +
            '<tr>' +
                '<td id="karsilastirma-sponsor-magaza">' +
                (
                    sponsor ?
                    '<div>' +
                        '<p>Sponsor</p>' +
                        '<a target="_blank" href="' + sponsor.url + '">' +
                            '<img src="' + sponsor.img + '" />' +
                        '</a>' +
                    '</div>'
                    :
                    ''
                ) +
                '</td>' +
                '<td id="karsilastirma-benzer-urunler-listesi">' +
                    '<div class="urun-yeni-baslik">Karşılaştırma listenize eklemek istediğiniz ürünlerin üzerine tıklayınız.</div>' +
                    '<div>' +
                        '<table style="margin:auto;">' +
                            '<tr>' +
                                '<td class="kyon"><img onclick="slideLeft();" src="/resimler/ortak/urun/JSolOk.gif" /></td>' +
                                '<td id="karsilastirma-benzer-urunler-tablosu">' +
                                    '<table >' +
                                    '</table>' +
                                '</td>' +
                                '<td class="kyon"><img onclick="slideRight();" src="/resimler/ortak/urun/JSagOk.gif" /></td>' +
                            '</tr>' +
                        '</table>' +
                    '</div>' +
                '</td>' +
            '</tr>' +
        '</table>' +
    '</div>' +

    '<div class="clear"></div>' +
    //' </div>' +

    '<div class="icerik" id="ukicerik"></div>' +

    '<div class="alt"></div>';


    compareCriterName = null;

    paintUrunKarsilastirIcerik();

    ukAyniOlanlar();
};


function beforeSelect(a) {
    var td = a.parentNode;
    var tds = td.parentNode.parentNode.getElementsByTagName("td");

    for(var i = 1; i < tds.length; i++) {
        tds[i].className = "sf";
    }

    td.className = "sfs";
};

function paintUrunKarsilastirIcerik(){
    var j, k;
    var m = ukMatrice.getRowDimension();
    var n = ukMatrice.getColumnDimension();
    var tempRow;

    var proIds = ukMatrice.getColumnIds();

    var ret = '';

    ret += "<div>" +
    "<table class=\"ss-t-r\" border=\"0\" style=\"float:left;\" cellspacing=\"3\">" +
    "<tr>" +
    "<td style=\"color:#ababab;background:url(/resimler/ortak/urun/isaretle-icon.gif) center left no-repeat;padding-left:25px;\">İşaretle: </td>" +
    "<td class=\"sfs\"><a onclick=\"beforeSelect(this);ukHicbiri();\">Hiçbiri</a></td>" +
    "<td> | </td>" +
    "<td class=\"sf\"><a onclick=\"beforeSelect(this);ukAyniOlanlar();\">Aynı Olanları</a></td>" +
    "<td> | </td>" +
    "<td class=\"sf\"><a onclick=\"beforeSelect(this);ukFarkliOlanlar();\">Farklı Olanları</a></td>" +
    "</tr>" +
    "</table>" +

//    "<div style=\"float:right;padding:4px;background-color:#f7f7de;\">" +
//    "<span style='font:bold 14px arial;'>&nbsp;</span>" +
//    "<a style='color:#848452;' href=\"/karsilastir.jsp?U=" + proIds + "\">" +
//    "Daha fazla ürün karşılaştırması için tıklayın " +
//    "<img src=\"/resimler/ortak/arama/f-l.gif\" />" +
//    "</a>" +
//    "</div>" +
    "<div style=\"clear:both;height:20px;\"></div>" +
    "</div>";

    ret += '<table id="urun-karsilastir" cellpadding="0" cellspacing="0"><thead>';

        // sıralama kriteri mesajı şeysi

    if(compareCriterName){
        ret +=
            '<tr>' +
                '<td style="width:120px;border:none;"></td>' +
                '<td style="border:none;padding:0;" colspan="' + n + '">' +
                    '<div class="compare-message">' +
                        'Karşılaştırma listenizdeki ürünler <span class="cmc-name">"' + compareCriterName + '"</span> kriterine göre sıralandı.' +
                    '</div>' +
                '</td>' +
            '</tr>' ;

        compareCriterName = null;
    }


    ret += '<tr><td style="width:120px;"></td>';

    for(k = 0; k < n; k++)
        ret += '<td' + (k == n - 1 ? ' style="border-right:0;border-top:1px solid #e7e7e7;"' : ' style="border-top:1px solid #e7e7e7;"') + '><div></div>' +
        (k == 0 ? '' : '<a onclick="karsilastirmadaOneGetir(' + proIds[k] + ')">' +
            '<img style="vertical-align: middle;" src="/resimler/ortak/urun/ok1.gif"/>Öne Taşı&nbsp;&nbsp;&nbsp;&nbsp;</a>') +
        '<a onclick="karsilastirmadanUrunCikar(' + proIds[k] + ')">' +
        '<img style="vertical-align: middle;" src="/resimler/ortak/urun/carpi1.gif"/>Listeden Çıkar</a></td>';

    j = 0;


    var rowIds, reviewDetailIds = [], productDetailIds = [];
    rowIds = ukMatrice.getRowIds();

    for(k = 0; k < rowIds.length; k++)
        if(typeof rowIds[k] == 'object' && rowIds[k].n == 'dd')
            reviewDetailIds[reviewDetailIds.length]   = rowIds[k];
        else
            productDetailIds[productDetailIds.length] = rowIds[k];

    // ürün ismi
    tempRow = ukMatrice.getRowById(productDetailIds[j++]);
    var productNames = [];

    ret += '</tr></thead><tbody><tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td class="karsilastirma-ozellik" style="text-align:left;"><a onclick="compareSort(this);">' + tempRow.n + '</a></td>';

    for(k = 0; k < n; k++){
        ret +=
            '<td' + (k == n - 1 ? ' style="border-right:0"' : '') + '>' +
                '<div>' +
                    '<a class="mavi-kucuk" href="/urun.jsp?U=' + tempRow.v[k].i + '">' + tempRow.v[k].v.n + '</a>' +
                '</div>' +
                '<div>' +
                    '<img src="/resimler/ortak/degerlendirme/yildiz/sari/14px/' + Math.round(tempRow.v[k].v.v) + '.gif"/>' +
                '</div>' +
            '</td>';

        productNames[k] = tempRow.v[k].v;
    }

    // ürün resmi
    tempRow = ukMatrice.getRowById(productDetailIds[j++]);

    ret += '</tr><tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td class="karsilastirma-ozellik" style="text-align:left;">' + tempRow.n + '</td>';

    for(k = 0; k < n; k++)
        ret += '<td' + (k == n - 1 ? ' style="border-right:0"' : '') + '><a href="/urun.jsp?U=' + tempRow.v[k].i + '"><img src="' + tempRow.v[k].v + '"/></a></td>';


    // fiyat
    tempRow = ukMatrice.getRowById(productDetailIds[j++]);

    ret += '</tr><tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td class="karsilastirma-ozellik" style="text-align:left;"><a onclick="compareSort(this, true);">' + tempRow.n + '</a></td>';

    var min, s_id, intP, decP, buyUrl;
    for(k = 0; k < n; k++){
        min = tempRow.v[k].v.v;
        s_id = tempRow.v[k].v.i;


        buyUrl = (s_id ? '/yonlendir-magaza.jsp?M=' + s_id + "&U=" + tempRow.v[k].i + '" target="_blank' : '/urun.jsp?U=' + tempRow.v[k].i);

        ret += '<td style="' + (k == n - 1 ? 'border-right:0pt; "' : '') + 'padding:0;">' +
        '<div class="karsilastirma-fiyat" >' + min.format('0,0').replace(',', '.') + '<sup> TL</sup></div>' +
        '<div class="satin-al">' +
        '<a href="' + buyUrl + '">' +
        '<img src="/resimler/ortak/urun/MagazayaGidinButon.gif"/></a></div>' +
        '</td>';
    }



    // hit-list
    tempRow = ukMatrice.getRowById(productDetailIds[j++]);

    ret += '</tr><tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td class="karsilastirma-ozellik" style="width: 120px;text-align:left;"><a onclick="compareSort(this, true);">' + tempRow.n + '</a></td>';

    similarProducts = [];
    var similarList = [];
    for(k = 0; k < n; k++){
        similarProducts[k] = tempRow.v[k].v.sim;
        similarList = similarList.concat(similarProducts[k]);
        ret += '<td style="padding:0;' + (k == n - 1 ? ' border-right:0;"' : '') + '" >' +
        '<div style="border:none;">' + tempRow.v[k].v.cat + ' #' + tempRow.v[k].v.v + '</div>'
        ;
    }


//    // değerlendirmeler
//    tempRow = ukMatrice.getRowById(productDetailIds[j++]);
//
//    ret += '</tr><tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td class="karsilastirma-ozellik" style="text-align:left;">' + tempRow.n + '</td>';
//
//    var grade, rounded, count;
//
//    for(k = 0; k < n; k++){
//        grade = tempRow.v[k].v.v;
//        rounded = Math.round(grade);
//        count = tempRow.v[k].v.sayi;
//
//        ret += '<td' + (k == n - 1 ? ' style="border-right:0"' : '') + ' class="karsilastirma-degerlendirme">' +
//        '<img src="/resimler/ortak/degerlendirme/yildiz/sari/18px/' + rounded + '.gif"/>' +
//        (count > 0 ?
//            ('<p><a href="/urun.jsp?U=' + tempRow.v[k].i + '&tab=4">Değerlendirmeleri okuyun (' + count + ')</a></p>') :
//            ('<p><a href="degerlendirme.jsp?U=' + tempRow.v[k].i + '">Değerlendirme yazın</a></p>')) +
//        '</td>';
//    }



    // değerlendirme detayları

    var scaledValue, stringifiedValue, ri = 0;

    while(ri < reviewDetailIds.length){
        tempRow = ukMatrice.getRowById(reviewDetailIds[ri++]);

        //        if(typeof tempRow.i != 'object')
        //            break;

        ret += '</tr><tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td class="karsilastirma-ozellik" style="text-align:left;"><a onclick="compareSort(this);">' + tempRow.n + '</a></td>';

        for(k = 0; k < n; k++){
            scaledValue = Math.floor(tempRow.v[k].v) / 10;
            if(tempRow.v[k].v == null)
                ret += '<td>-</td>';
            else{
                stringifiedValue = '' + scaledValue;
                if(stringifiedValue.indexOf('.') == -1)
                    stringifiedValue += '.0';
                ret +=
                '<td>' +
                '<div style="width:100px;margin:auto;">' +
                '<img src="/resimler/ortak/degerlendirme/slide/10px/' + Math.round(scaledValue) + '.gif" style="vertical-align:center;">' +
                '<span style="font-weight:bold;padding-left:10px;">' +
                stringifiedValue +
                '</span>' +
                //'<div style="clear:left;"></div>' +
                '</div>' +
                '</td>';
            }
        //            ret += '<td' + (k == n - 1 ? ' style="border-right:0"' : '') + ' class="karsilastirma-degerlendirme">' +
        //                '<img src="/resimler/ortak/degerlendirme/yildiz/sari/18px/' + rounded + '.gif"/>' +
        //                (count > 0 ?
        //                ('<p><a href="/urun.jsp?U=' + tempRow.v[k].i + '&tab=4">Değerlendirmeleri okuyun (' + count + ')</a></p>') :
        //                ('<p><a href="degerlendirme.jsp?U=' + tempRow.v[k].i + '">Değerlendirme yazın</a></p>')) +
        //                '</td>';
        }
    }


    // diğer kriterler
    while(j < productDetailIds.length){
        tempRow = ukMatrice.getRowById(productDetailIds[j++]);

        if(j < productDetailIds.length){
            ret += '<tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td style="width: 120px;text-align:left;" class="karsilastirma-ozellik">' +
            '<a onclick="compareSort(this);">' + tempRow.n.n + '</a></td>';

            for(k = 0; k < n; k++)
                ret += '<td' + (k == n - 1 ? ' style="border-right:0"' : '') + '>' + (tempRow.v[k].v != null ? tempRow.v[k].v.v : "-") + '</td>';
        }
        else{
            ret += '<tr rowindex="' + ukMatrice.getRowIndexById(tempRow.i) + '"><td style="border-bottom: 0pt none; width: 120px; padding-bottom: 0pt;text-align:left;" class="karsilastirma-ozellik">' +
            '<a onclick="compareSort(this);">' + tempRow.n.n + '</a></td>';

            for(k = 0; k < n; k++)
                ret += '<td style="' + (k == n - 1 ? 'border-right: 0pt none; ' : '') + 'border-bottom: 0pt none; padding-bottom: 0pt;">' + (tempRow.v[k].v != null ? tempRow.v[k].v.v : "-") + '</td>';
        }

        ret += '</tr>';
    }

    ret += '</tbody></table>';



    similarList.sort(function(a, b){
        if(a.i > b.i)
            return 1;
        if(a.i < b.i)
            return -1;
        return 0;
    });

    var lastId = -1;

    j=0;k=0;

    for(; k < similarList.length; k++){
        if(similarList[k].i != lastId){
            lastId = similarList[k].i;
            if(!ukMatrice.hasColumnId(lastId))
                similarList[j++] = similarList[k];
        }
    }

    similarList.length = j;

    window.similarList = similarList;

    document.getElementById("ukicerik").innerHTML = ret;



    resizetable('urun-karsilastir');


    startIndex = 0;
    slideRepaint(0);
};

function getV(value) {
    //(tempRow.v[k].v != null ? tempRow.v[k].v.v : "-")

    if(value == null)
        return "-";

    if(typeof value == 'object')
        return getV(value.v);

    if(typeof value == 'string'){
        if(value.toLowerCase() == 'var')
            value += '&nbsp;<img src="/resimler/ortak/urun/var-ikon.gif" />';
        if(value.toLowerCase() == 'yok')
            value += '&nbsp;<img src="/resimler/ortak/urun/yok-ikon.gif" />';
    }

    return value;
};

function slideLeft(){
    slideRepaint(-1);
};

function slideRight(){
    slideRepaint(+1);
};

function slideRepaint(diff){
    var slideSize = 6;
    var ret = '<tr>';

    startIndex += diff;
    startIndex = Math.min(startIndex, similarList.length - slideSize);

    if(startIndex < 0)
        startIndex = 0;


    var n = Math.min(startIndex + slideSize, similarList.length);
    for(var j = startIndex; j < n; j++){
        ret +=
            '<td class="u" onclick="karsilastirmayaUrunEkle(' + similarList[j].i + ');" >' +
                '<p class="uresim"><img src="' + similarList[j].v + '" /></p>' +
                '<p class="uisim"><a>' + similarList[j].n + '</a></p>' +
                '<p class="ufiyat"><a>' + similarList[j].min.format('0,0').replace(',', '.') + ' ~ ' + similarList[j].max.format('0,0').replace(',', '.') + ' <sup>TL</sup></a></p>' +
            '</td>'
        ;
        if(j < n - 1) {
            ret +=
                '<td style="width:5px;"></td>';
        }
    }

    ret += '</tr>';

    var tempOk;
/*
    tempOk = document.getElementById('benzer-urunler-slide-sol');
    if(startIndex > 0){
        tempOk.disabled = false;
        tempOk.onclick = slideLeft;
        tempOk.style.cursor = 'pointer';
    }
    else{
        tempOk.disabled = true;
        tempOk.onclick = null;
        tempOk.style.cursor = 'default';
    }

    tempOk = document.getElementById('benzer-urunler-slide-sag');
    if(n < similarList.length){
        tempOk.disabled = false;
        tempOk.onclick = slideRight;
        tempOk.style.cursor = 'pointer';
    }
    else{
        tempOk.disabled = true;
        tempOk.onclick = null;
        tempOk.style.cursor = 'default';
    }
    */

    //TBAlert(100, 250, "ok");
    //document.getElementById('karsilastirma-benzer-urunler-tablosu').innerHTML = ret;
    document.getElementById('karsilastirma-benzer-urunler-tablosu').innerHTML = '<table>' + ret + '</table>';

};



function compareSort(node, asc){
    var index = parseInt(node.parentNode.parentNode.getAttribute("rowindex"));

    if(asc)
        ukMatrice.sortColumnsByRow(index);
    else
        ukMatrice.sortColumnsByRowDesc(index);

    if(index == 0)
        compareCriterName = 'Puan';
    else if(index == 2)
        compareCriterName = 'Fiyat';
    else
        compareCriterName = node.innerHTML;

    paintUrunKarsilastirIcerik();

    markRows([index]);
};




function karsilastirmayaUrunEkle(p_id){

    if(karsilastirmayaUrunEkleIlklendir(p_id))
        new Ajax.Request(page,
        {
            method:tMethod,
            parameters: {
                op: "u_ekle",
                id: p_id
            },
            onSuccess: function(transport){
                var response = transport.responseText || pageError;
                response = trim(response);
                var result = parseInt(response);

                response = trim(response);
                var errorCode = parseInt(response);

                if(isNaN(errorCode)){
                    var column = json_parse(response, parsingFilter);
                    ukMatrice.addColumn(column);

                    while(ukMatrice.getColumnDimension() > 4){
                        ukMatrice.dropColumn(4);
                    }

                    paintUrunKarsilastirIcerik();
                    paintBorderShit(fuckingShit);
                }
                else{
                    switch (result) {
                        /*       case 1:
                                                karsilastirmayaUrunEkleBasarili();
                                                success = true;
                                                break;
                                            case 2:
                                                girisYap();
                                                break;*/
                        //                        case 3:
                        //                            hataliIstek();
                        //                            break;
                        default:
                            baglantiHatasi();
                            break;
                    }
                }
            },
            onLoading: function(){
                karsilastirmayaUrunEkleIsleniyor();
            },
            onFailure: function(){
                baglantiHatasi();
            }
        });

};

function karsilastirmayaUrunEkleIlklendir(id){
    if(ukMatrice.hasColumnId(id)){
        TBAlert(100, 250, "Ürün zaten var");
        return false;
    }
    return true;
};

function karsilastirmayaUrunEkleBasarili(){
    TBAlert(100, 250, "Başarılı");
};

function karsilastirmayaUrunEkleIsleniyor(){
//TBAlert(100, 250, "loading... :P");
};

function karsilastirmayaUrunEkleBasarisiz(){
    TBAlert(100, 250, "Ürün eklenemedi");
};



function karsilastirmadanUrunCikar(p_id){
    if(ukMatrice.getColumnDimension() > 2){
        if(ukMatrice.hasColumnId(p_id)){
            ukMatrice.dropColumnById(p_id);
            paintUrunKarsilastirIcerik();
        }
        else{
            TBAlert(100, 250, "Karşılaştırmada böyle bir ürün yok!");
        }
    }
    else{
        TBAlert(100, 250, "Karşılaştırmada 2'den az ürün olamaz");
    }
};

function karsilastirmadaOneGetir(p_id){
    if(ukMatrice.hasColumnId(p_id)){
        ukMatrice.moveColumnToById(p_id);
        paintUrunKarsilastirIcerik();
        paintBorderShit({
            count: 0,
            total: 1,
            header: "Öne taşınan ürün"
        });
    }
    else{
        TBAlert(100, 250, "Karşılaştırmada bu ürün yok");
    }
};



function paintUrunSoruCevapTab(text){

    var sorular = json_parse(text);

    var ret =
    '<div class="ust">' +
    '<table cellpadding="0" cellspacing="0">' +
    '<tr>' +
    '<td><h2 class="urun-ismi">Bu ürün ile ilgili ' + sorular.length + ' soru var</h2></td>' +
    '<td style="width: 30px;">&nbsp;</td>' +
    '<td style="width: 200px;"><a id="new-question-button" onclick="yeniSoruSor(this, ' + args.U + ');"><img src="/resimler/ortak/yeni-soru-sorun-buton.gif" /></a></td>' +
    '</tr>' +
    '</table>' +
    '</div>' +

    '<div class="icerik">' +
    '<div class="soru-cevaplar">' +
    '<ul style="list-style-type:none;margin:0;">';


    if(sorular.length > 0)
        ret += getQuestion(sorular[0]);


    for(var k = 1; k < sorular.length; k++)
        ret += '</ul><div class="seperator"></div><ul style="list-style-type:none;margin:0;">' + getQuestion(sorular[k]);

    ret +=
    '</ul>' +
    '</div>' +
    '</div>' +

    '<div class="alt"></div>';

    document.getElementById("tab5").innerHTML = ret;
};


function getQuestion(soru){
    var ret =
    '<li>' +
    '<div class="soru-cevap">' +
    '<table cellpadding="0" cellspacing="0" border="0">' +
    '<tr>' +
    '<td rowspan="3" class="user-pic"><img src="' + soru.user.pic + '" /></td>' +
    '<td class="spacer" colspan="2"></td>' +
    '</tr>' +
    '<tr>' +
    '<td class="kusak"><img src="/resimler/ortak/kusak/22px/sari.gif" /></td>' +
    '<td>' +
    '<a href="/member/center/member.jsp?U=' + soru.user.id + '" class="mavi-kucuk">' + soru.user.name + '</a> (' + soru.date + ') ' +
    '<a class="mavi-kucuk" onclick="yeniSoruSor(this, ' + soru.id + ');">Cevapla</a> | ' +
    '<a class="mavi-kucuk" onclick="soruyuRaporla(this, ' + soru.id + ')">Raporla</a></td>' +
    '</tr>' +
    '<tr>' +
    '<td class="metin" colspan="2">' + soru.text + '</td>' +
    '</tr>' +
    '</table>' +
    '</div>';

    if(soru.replies != null){
        for(var k = 0; k < soru.replies.length; k++)
            ret +=
            '<ul>' +
            getQuestion(soru.replies[k]) +
            '</ul>';
    }

    ret += '</li>';

    return ret;
};





function yeniSoruSor(a, urun){
    if(userId == 'null'){
        girisYap();
    }
    else{
        yeniSoruSorIlklendir(a, urun);
    }
};

function yeniSoruSorGonder(parentDiv, mailHash){

    // mailHash = {context: 'context', type: 'soru|cevap', id: 'productId|parentId'}
    mailHash.op = "soru_ekle";
    var urun = mailHash.id;
    var soru = (mailHash.type == 'soru' ? true : false);
    new Ajax.Request(page,
    {
        method:tMethod,
        parameters: mailHash,
        onSuccess: function(transport){
            var response = transport.responseText || pageError;
            response = trim(response);
            var result = parseInt(response);

            switch (result) {
                case 1:
                    yeniSoruSorBasarili(parentDiv, urun, soru);
                    break;
                case 2:
                    girisYap();
                    break;
                //                case 3:
                //                    hataliIstek();
                //                    break;
                default:
                    yeniSoruSorBasarisiz(parentDiv, urun, soru);
                    break;
            }
        },
        onLoading: function(){
            yeniSoruSorIsleniyor(parentDiv, urun, soru);
        },
        onFailure: function(){
            yeniSoruSorBasarisiz(parentDiv, urun, soru);
        }
    });

};

function yeniSoruSorIlklendir(a, urun){
    var parentDiv = a.parentNode;

    if(a.id == 'new-question-button'){
        commentGonderArgs = {
            d: coverComment(parentDiv, 'Ürün ile ilgili sorunuzu yazınız'),
            f: yeniSoruSorGonder,
            t: 'soru',
            i: urun
        };
    }
    else{

        commentGonderArgs = {
            d: coverComment(parentDiv, 'Soru ile ilgili cevabınızı yazınız'),
            f: yeniSoruSorGonder,
            t: 'cevap',
            i: urun
        }
    }
};

function yeniSoruSorBasarili(div, urun, soru){
    removeFromFeedback(yeniSoruSorCoverDiv(div, 'success-cover', urun, (soru ? 'Sorunuz' : 'Cevabınız' ) + " gönderildi"));
    document.getElementById('comment-cover').style.display = 'none';
    document.getElementById("tab5").innerHTML = '';
    args.tab = 5;
    paintTab();
};

function yeniSoruSorIsleniyor(div, urun, soru){
    yeniSoruSorCoverDiv(div, 'loading-cover', urun, (soru ? 'Sorunuz' : 'Cevabınız' ) + " gönderiliyor");
};

function yeniSoruSorBasarisiz(div, urun, soru){
    yeniSoruSorCoverDiv(div, 'error-cover', urun, (soru ? 'Sorunuz' : 'Cevabınız' ) + " gönderilemedi");
};

function yeniSoruSorCoverDiv(div, templateId, urun, context){
    var yafta = (context.charAt(0) == 'S' ? 'yss-' : 'ycv-');

    var newDiv = addToFeedback(document.getElementById(templateId), yafta + templateId + '-' + urun);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].style.display = 'none';
        newDiv.getElementsByTagName('img')[1].style.display = 'none';
        aArray[1].onclick = function(){
            removeFromFeedbackHandler(aArray[1])
        };
        aArray[1].setAttribute('ocbgKey', yafta + urun);


        removeFromFeedback(document.getElementById(yafta + 'loading-cover-' + urun));
        ocbgMap[yafta + urun] = true;
    }
    else{
        if(ocbgMap[yafta + urun]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
    newDiv.style.width  = getWidth(newDiv, true, false) + 4;
    newDiv.style.height = getHeight(newDiv, true, false) + 4;
    return newDiv;
};






function soruyuRaporla(a, deg){
    soruyuRaporlaIlklendir(a, deg);
};

function soruyuRaporlaGonder(parentDiv, mailHash){


    // mailHash = {context: 'context', reason: '1|2|3|0' type: 'soru|cevap', id: 'productId|parentId'}
    mailHash.op = "s_raporla";
    var deg = mailHash.id;
    //var soru = (mailHash.type == 'soru' ? true : false);
    new Ajax.Request(page,
    {
        method:tMethod,
        parameters: mailHash,
        onSuccess: function(transport){
            var response = transport.responseText || pageError;
            response = trim(response);
            var result = parseInt(response);

            switch (result) {
                case 1:
                    soruyuRaporlaBasarili(parentDiv, deg);
                    break;
                case 2:
                    girisYap();
                    break;
                //                case 3:
                //                    hataliIstek();
                //                    break;
                default:
                    soruyuRaporlaBasarisiz(parentDiv, deg);
                    break;
            }
        },
        onLoading: function(){
            soruyuRaporlaIsleniyor(parentDiv, deg);
        },
        onFailure: function(){
            soruyuRaporlaBasarisiz(parentDiv, deg);
        }
    });

};

function soruyuRaporlaIlklendir(a, deg){
    var parentDiv = a.parentNode;

    reportGonderArgs = {
        d: coverReport(parentDiv),
        f: soruyuRaporlaGonder,
        t: 'soru',
        i: deg
    };
};

function soruyuRaporlaBasarili(div, deg){
    removeFromFeedback(soruyuRaporlaCoverDiv(div, 'success-cover', deg, "Gönderildi"));
    document.getElementById('report-cover').style.display = 'none';
};

function soruyuRaporlaIsleniyor(div, deg){
    soruyuRaporlaCoverDiv(div, 'loading-cover', deg, "Gönderiliyor");
};

function soruyuRaporlaBasarisiz(div, deg){
    soruyuRaporlaCoverDiv(div, 'error-cover', deg, "Gönderilemedi");
};

function soruyuRaporlaCoverDiv(div, templateId, deg, context){
    var yafta = 'usr';

    var newDiv = addToFeedback(document.getElementById(templateId), yafta + templateId + '-' + deg);

    newDiv.getElementsByTagName('span')[0].innerHTML = context;
    var aArray = newDiv.getElementsByTagName('a');

    if(aArray[0] != null){
        aArray[0].style.display = 'none';
        newDiv.getElementsByTagName('img')[1].style.display = 'none';
        aArray[1].onclick = function()
        {
            document.getElementById('report-cover').style.display = 'none';
            removeFromFeedbackHandler(aArray[1]);
        };
        aArray[1].setAttribute('ocbgKey', yafta + deg);


        removeFromFeedback(document.getElementById(yafta + 'loading-cover-' + deg));
        ocbgMap[yafta + deg] = true;
    }
    else{
        if(ocbgMap[yafta + deg]){
            removeFromFeedback(newDiv);
            return;
        }
    }

    coverDiv(div, newDiv);
    newDiv.style.width  = getWidth(newDiv, true, false) + 4;
    newDiv.style.height = getHeight(newDiv, true, false) + 4;
    return newDiv;
};














function paintUrunBilgileriTab(text){

    var urun = json_parse(text, parsingFilter);
    var ret = getProductInfo();
        /*
    '<div class="ust"><span class="urun-yeni-baslik">' + urun.n.n + ' Ürün Bilgisi</span></div>' +

    '<div class="icerik">' +
    '<p class="ozellik-text">' + urun.n.sum + '</p>' +
    '<table cellpadding="0" cellspacing="0" class="urun-ozellikleri" style="width:965px;">';

    var rows = urun.v;
    var n = rows.length;

    for(var j = 0; j < n; j++)
        ret +=
        '<tr>' +
        '<td class="ozellik">' +
        rows[j].n.n +
        '</td>' +
        '<td class="deger">' + rows[j].v + '</td>' +
        '</tr>';

    ret += '</table>';*/

    ret += '<div class="urun-ayrac" style="margin:7px 13px;"></div><div>';

    if(resimler && resimler.length > 0){
        ret += '<div class="ust"><span class="urun-yeni-baslik">' + urun.n.n + ' yüksek çözünürlüklü resimler</span></div>' +
            '<table class="yuksek-resim">';

        var imgpath = "/resimler/urun/" + Math.round(Math.floor(proId / 1000)) + "/" + proId + "/400/";
        for(var i = 0; i < resimler.length; i += 2)
            ret +=
                '<tr>' +
                    '<td><img alt="' + urun.n.n + " ürün resmi " + i + '" src="' + imgpath + resimler[i] + '.jpg" /></td>'+
                    '<td>' +
                        (i + 1 < resimler.length ?
                        '<img alt="' + urun.n.n + " ürün resmi " + (i+1) + '" src="' + imgpath + resimler[i + 1] + '.jpg" /></td>'
                        : '') +
                '</tr>';
        ret += '</table>'
    }


    ret += '</div>' +

    '<div class="alt"></div>';

    document.getElementById("tab3").innerHTML = ret;
};



function showTab(no){
    args.tab = no;
    var utab = document.getElementById("utab");
    utab.tabber.tabShow(no - 1);
    paintTab();

    window.location = '#utab';
};

var boLastCover = {};
function coverDiv(node, cover){

    if(node.id == 'bana-ozel-genel-div'){
        var proid = cover.id.replace(/[^0-9]*/, '');

        if(node.style.display == 'none' || node.getAttribute('proid') != proid){
            removeFromFeedback(cover);
            boLastCover[proid] = null;
            return;
        }
        else{
            boLastCover[proid] = cover;
        }
    }



    cover.style.left = getX(node) + "px";
    cover.style.top  = getY(node) + "px";
    cover.style.width  = getWidth(node, true, false) + "px";
    cover.style.height = getHeight(node, true, false) + "px";

    cover.style.display = "block";
};

function uncoverDiv(cover){
    cover.style.display = "none";
};

function paintLoading(node, context){
    if(loadingCover == null)
        loadingCover = document.getElementById("loading-cover");

    loadingCover.getElementsByTagName("span")[0].innerHTML= context;

    coverDiv(node, loadingCover);
};

function paintSuccess(node, context1, context2){
    if(mailSuccessCover == null){
        mailSuccessCover = document.createElement('div');
        mailSuccessCover = document.getElementById("success-cover");
    }
    mailSuccessCover.getElementsByTagName("span")[0].innerHTML= context1;
    mailSuccessCover.getElementsByTagName("a")[0].innerHTML= context2;

    coverDiv(node, mailSuccessCover);
    uncoverDiv(loadingCover);
};

function paintAlreadyRegistered(node, context1, context2){
    if(alreadyRegisteredCover == null)
        alreadyRegisteredCover = document.getElementById("already-registered-cover");

    alreadyRegisteredCover.getElementsByTagName("div")[0].getElementsByTagName("span")[0].innerHTML= context1;
    alreadyRegisteredCover.getElementsByTagName("div")[0].getElementsByTagName("a")[0].innerHTML= context2;

    coverDiv(node, alreadyRegisteredCover);
    uncoverDiv(loadingCover);
};

function paintError(node, context1, context2){
    if(errorCover == null)
        errorCover = document.getElementById("error-cover");

    errorCover.getElementsByTagName("span")[0].innerHTML= context1;
    errorCover.getElementsByTagName("a")[0].innerHTML= context2;

    coverDiv(node, errorCover);
    uncoverDiv(loadingCover);
    setTimeout("uncoverDiv(errorCover);", waitInterval);
};

function coverMail(node){
    if(mailCover == null)
        mailCover = document.getElementById("mail-cover");

    mailCover.style.left = getX(node) + "px";
    mailCover.style.top  = getY(node) + "px";

    mailCover.style.display = "block";
};

function coverComment(node, title){
    if(commentCover == null)
        commentCover = document.getElementById("comment-cover");

    document.getElementById('comment-header').innerHTML = title;
    commentCover.style.left = getX(node) + "px";
    commentCover.style.top  = getY(node) + "px";

    commentCover.style.display = "block";
    return document.getElementById('comment-button-container');
};

function coverReport(node){
    if(reportCover == null)
        reportCover = document.getElementById("report-cover");

    reportCover.style.left = getX(node) + "px";
    reportCover.style.top  = getY(node) + "px";

    reportCover.style.display = "block";
    return document.getElementById('report-button-container');
};








var successCover, loadingCover, alreadyRegisteredCover, errorCover, mailCover, commentCover, reportCover, loadingCoverWhite, boGenelDiv, boGenelCover, feedback;
var waitInterval = 2000;
var commentFocus = null;



function mailGonder(img){
    img.parentNode.parentNode.parentNode.style.display='none';
    // mailHash = {sender: 'senderName', to: 'toAddress', subject: 'mailSubject', context: 'mailContext'}
    mailGonderArgs.f(mailGonderArgs.d, {
        sender: document.getElementById("sender").value,
        to: document.getElementById("mail-address").value,
        subject: document.getElementById("mail-subject").value,
        context: document.getElementById("mail-body").value,
        type: mailGonderArgs.t,
        id: mailGonderArgs.i
    }
    );


};

function commentGonder(img){

    // mailHash = {sender: 'senderName', to: 'toAddress', subject: 'mailSubject', context: 'mailContext'}
    commentGonderArgs.f(commentGonderArgs.d, {
        context: document.getElementById("comment-input").value,
        type: commentGonderArgs.t,
        id: commentGonderArgs.i
    }
    );

//img.parentNode.parentNode.parentNode.style.display='none';
};

function reportGonder(img){

    var radios = getElementsByClassName('report-radio', 'input', reportCover);
    var temp, i=0;
    for(temp = radios[i]; i < radios.length; temp = radios[++i])
        if(temp.checked)
            break;

    // mailHash = {sender: 'senderName', to: 'toAddress', subject: 'mailSubject', context: 'mailContext'}
    reportGonderArgs.f(reportGonderArgs.d, {
        context: document.getElementById("report-input").value,
        reason: temp.value,
        type: reportGonderArgs.t,
        id: reportGonderArgs.i
    }
    );


//img.parentNode.parentNode.parentNode.style.display='none';
};


function addToFeedback(template, id){

    if(feedback == null)
        feedback = document.getElementById("feedback");

    var tmp = document.getElementById(id);

    if(tmp != null)
        return tmp;

    var newDiv = document.createElement('div');
    newDiv.setAttribute('id', id);
    newDiv.style.cssText = template.style.cssText;
    newDiv.innerHTML = template.innerHTML;


    feedback.appendChild(newDiv);

    return newDiv;
};

function removeFromFeedbackHandler(sourceNode){
    ocbgMap[sourceNode.getAttribute('ocbgKey')] = false;
    removeFromFeedback(sourceNode);
};

function removeFromFeedback(node){
    if(feedback == null)
        feedback = document.getElementById("feedback");

    if(node == null)
        return;


    while(node.parentNode.id != 'feedback'){
        node = node.parentNode;
    }
    feedback.removeChild(node);
};

function benzerUrunler(div, k) {

    var d = document.getElementById("benzer-urunler-container");
    d.style.display = 'none';
    var simTable = document.getElementById('kemal');
    var simTableContainer = document.getElementById('mustafa');

    //    if(simTable)
    //        simTableContainer.removeChild(simTable);



    simTableContainer.innerHTML = '';



    d.onmouseout = function(e) {
        var d = document.getElementById("benzer-urunler-container");

        var mx;
        var my;

        var px = getX(d);
        var py = getY(d);
        var w = getWidth(d, true, true);
        var h_ = getHeight(d, true, true);

        if(document.all) {
            mx = event.clientX + document.body.scrollLeft;
            my = event.clientY + document.body.scrollTop;
        } else {
            mx = e.pageX;
            my = e.pageY;
        }

        //TBAlert(100, 250, "MX: " + mx + " MY: " + my + " PX: " + px + " PY: " + py + " W: " + w + " H: " + h_);

        if(px <= mx && mx <= px + w && py <= my && my <= py + h_) {
            return;
        }

        d.style.display = "none";

    };

    var newRow, newSep, newTd, newNode, inList;





    if(similarProducts[k].length == 0){
        newNode = document.createElement('span');
        newNode.innerHTML = 'Benzer ürün bulunmamaktadır';
        simTableContainer.appendChild(newNode);
    }
    else{
        simTable = document.createElement('tbody');




        for(var j = similarProducts[k].length - 1; j >= 0; j--){
            newRow = document.createElement('tr');

            inList = ukMatrice.hasColumnId(similarProducts[k][j].i);


            newTd = document.createElement('td');
            newTd.className = 'checkbox';

            newNode = document.createElement('input');
            newNode.setAttribute('type', 'checkbox');
            newNode.setAttribute('name', 'bisey');
            newNode.className = 'urun-ekle-check';
            newNode.id = 'urun-ekle-check-' + similarProducts[k][j].i;
            newNode.disabled = inList;
            newNode.checked = inList;

            newTd.appendChild(newNode);
            newRow.appendChild(newTd);






            newTd = document.createElement('td');
            newTd.className = 'product-img';

            newNode = document.createElement('img');
            newNode.src = similarProducts[k][j].v;
            if(!inList){
                newNode.onclick = checkBenzer;
                newNode.style.cssText = "cursor: pointer";
            }

            newTd.appendChild(newNode);
            newRow.appendChild(newTd);







            newTd = document.createElement('td');
            newTd.className = 'product-name';


            newNode = document.createElement('span');
            if(!inList){
                newNode.onclick = checkBenzer;
                newNode.style.cssText = "cursor: pointer";
                newNode.innerHTML = '&nbsp;&nbsp;&nbsp;' + similarProducts[k][j].n;
            }
            else {
                newNode.innerHTML = '&nbsp;&nbsp;&nbsp;' + similarProducts[k][j].n + '<font color=red>(Listenizde)</font>';
            }

            newTd.appendChild(newNode);
            newRow.appendChild(newTd);
            newRow.disabled = inList;
            simTable.appendChild(newRow);

            //TBAlert(100, 250, newRow.innerHTML);

            if(j > 0){
                newRow  = document.createElement('tr');
                newTd   = document.createElement('td');
                newNode = document.createElement('div');

                newNode.className = 'seperator';
                newTd.appendChild(newNode);

                newTd.setAttribute('colspan', '3');
                newRow.appendChild(newTd);

                simTable.appendChild(newRow);
            }
        }

        var abcd = document.createElement('table');
        abcd.id = 'kemal';

        abcd.appendChild(simTable);
        simTableContainer.appendChild(abcd);
    }



    var x = getX(div);
    var y = getY(div);
    var h = getHeight(div, true, true);

    d.style.left = x + 'px';
    d.style.top = (y + h) + 'px';

    d.style.display = "block";
};

function checkBenzer(e){
    var sourceNode;
    if(document.all){
        e = window.event;
        sourceNode = e.srcElement;
    }
    else{
        sourceNode = e.target;
    }

    var cb = sourceNode.parentNode.parentNode.getElementsByTagName('input')[0];
    cb.checked = !cb.checked;
};

function benzerUrunlerEkle(){

    var checkArray = getElementsByClassName('urun-ekle-check');
    var count = 0;
    var ids = [];

    if(checkArray.length > 0){
        for(var j = 0; j < checkArray.length; j++){
            if(!checkArray[j].disabled){
                if(checkArray[j].checked){
                    ids[count++] = parseInt(checkArray[j].id.replace('urun-ekle-check-', ''));
                }
            }
        }
    }

    for(j = 0; j < count; j++){
        karsilastirmayaUrunEkle(ids[j]);
    }

    document.getElementById('benzer-urunler-container').style.display = 'none';

    fuckingShit = {
        count: 0,
        total: count,
        header: "Yeni eklenen ürün"
    };
};
fuckingShit = {
    count: 0,
    total: 1,
    header: "Yeni eklenen ürün"
};

function evaluateTask(e){
    var sourceNode;
    if(document.all){
        e = window.event;
        sourceNode = e.srcElement;
    }
    else{
        sourceNode = e.target;
    }

    var komut = sourceNode.getAttribute('func') + '(sourceNode, ' + sourceNode.getAttribute('ocbg') + ');';
    eval(komut);
};

function banaOzel(div, id, name){
    var boDiv = document.getElementById("user-actions-tmp");

    if(boGenelDiv == null){
        boGenelDiv = document.createElement('div');
        boGenelDiv.id = 'bana-ozel-genel-div';
        boGenelDiv.className = boDiv.className;
        boGenelDiv.style.cssText = boDiv.style.cssText;
        document.body.appendChild(boGenelDiv);
    }

    boGenelDiv.setAttribute('proid', '' + id);
    boGenelDiv.style.display = 'none';
    boGenelDiv.innerHTML = boDiv.innerHTML;

    var aArray = boGenelDiv.getElementsByTagName('a');

    var tmp;
    //var idS = '' + id;

    for(var i = aArray.length - 1; i >= 0; i--){
        tmp = aArray[i].getAttribute('onclick');

        if(aArray[i].className == 'asdf')
            aArray[i].setAttribute('productid', '' + id);
        else{
            if(tmp != null){
                aArray[i].onclick = evaluateTask;
                aArray[i].setAttribute('ocbg', '' + id);
            }
            else{
                tmp = aArray[i].getAttribute('href');

                aArray[i].setAttribute('href', tmp.toString().replace('__urun__', id.toString()).replace('__name__', name));
            //            if(aArray[i].className == 'thickbox')
            //                tb_init($(aArray[i]));
            }
        }
    }


    boGenelDiv.onmouseout = function(e) {
        var d = boGenelDiv;

        var mx;
        var my;

        var px = getX(d);
        var py = getY(d);
        var w = getWidth(d, true, true);
        var h_ = getHeight(d, true, true);

        if(document.all) {
            mx = event.clientX + document.body.scrollLeft;
            my = event.clientY + document.body.scrollTop;
        } else {
            mx = e.pageX;
            my = e.pageY;
        }

        //TBAlert(100, 250, "MX: " + mx + " MY: " + my + " PX: " + px + " PY: " + py + " W: " + w + " H: " + h_);

        if(px <= mx && mx <= px + w && py <= my && my <= py + h_) {
            return;
        }

        d.style.display = "none";
        var proid = boGenelDiv.getAttribute('proid');
        removeFromFeedback(boLastCover[proid]);
        boLastCover[proid] = null;
    };

    var x = getX(div);
    var y = getY(div);
    var h = getHeight(div, true, true);

    boGenelDiv.style.left = x + 'px';
    boGenelDiv.style.top = (y + h - 1) + 'px';

    boGenelDiv.style.display = "block";


};






function changeLPic(id, pic){
    var path = '/resimler/urun/' + Math.floor(proId / 1000) + '/' + proId +
    '/200/' + pic + '.jpg';

    document.getElementById(id).src = path;
};



function paintDegerlendirmelerTab(text){
    var reviewTab = document.getElementById("tab4");

    reviewTab.innerHTML = text;

    var reviews = getElementsByClassName('degerlendirme', 'div', reviewTab);

    var id;

    if(reviews.length == 1){

        id = reviews[0].id.replace('degerlendirme-', '');

        detayGosterGizle2(id, true);
        if(args.f == 'comments')
            window.location = '#d-replies-' + id;
        else if(args.d){
            window.location = '#degerlendirme-' + id;
        }
    }


    if(commentFocus != null){

        if(commentFocus.t == 'deg')
            id = commentFocus.i;
        else{
            var temp = document.getElementById('d-comment-cevap-' + commentFocus.i);
            while(temp.className != 'd-replies')
                temp = temp.parentNode;
            id = parseInt(temp.id.replace('d-replies-', ''));
        }
        /*collapseReviews();
        detayGosterGizle2(id, true);*/

        window.location = '#d-replies-' + id;
    }


    commentFocus = null;


};



function paintBorderShit(o){
    //{count: count, header: "Öne taşınan ürün"}

    var kTable = document.getElementById('urun-karsilastir');
    var j, k;
    var tds = kTable.firstChild.firstChild.getElementsByTagName('td');

    if(o.total > o.count){
        o.count++;

        for(k = 1; k <= o.count; k++){
            tds[k].firstChild.innerHTML = o.header;
            tds[k].style.borderRight = '1px solid #def8ff';
            tds[k].style.background = '#def8ff';
        }

        var trs = kTable.lastChild.getElementsByTagName('tr');

        for(j = trs.length - 1; j >= 0; j--){
            tds = trs[j].getElementsByTagName('td');

            tds[o.count].style.borderRight = '1px solid #b2deea';
        }
    }

    if(o.total <= o.count){
        o.count = 0;
        o.total = 1;
    }
};


function ukAyniOlanlar(){
    var ayni = ukMatrice.getRowSimilarity(true);

    markRows(ayni);
};

function ukFarkliOlanlar(){
    var ayni = ukMatrice.getRowSimilarity(false);

    markRows(ayni);
};

function ukHicbiri(){
    var rows = document.getElementById('urun-karsilastir').lastChild.getElementsByTagName('tr');
    var tds;

    for(var j = rows.length - 1; j >= 0; j--){
        tds = rows[j].getElementsByTagName('td');

        for(var k = tds.length - 1; k > 0; k--)
            tds[k].style.background = "#ffffff";
    }
};

function markRows(rowIndices){
    ukHicbiri();
    //var rows = document.getElementById('urun-karsilastir').lastChild.getElementsByTagName('tr');
    var children = document.getElementById('urun-karsilastir').lastChild.childNodes;

    var rows = {};
    for(var i = children.length - 1; i >= 0; i--){
        rows[children[i].getAttribute('rowindex')] = children[i];
    }

    var tds;
    for(var j = rowIndices.length - 1; j >= 0; j--){
        tds = rows["" + rowIndices[j]].getElementsByTagName('td');

        for(var k = tds.length - 1; k > 0; k--)
            tds[k].style.background = "#dedede";
    }

};

function resizetable(id) {
    var thetable = document.getElementById(id);

    var numberOfcolumns = thetable.firstChild.lastChild.childNodes.length;

    var actualwidth = 965;//thetable.scrollwidth;

    var totalBorder = 0;//thetable.border;

    var totalSpacing = thetable.cellSpacing * (numberOfcolumns + 1);

    var thetablewidth = actualwidth - totalSpacing - totalBorder;

    var x = 120;

    thetablewidth -= x;

    var tableCellwidth = Math.floor(thetablewidth / (numberOfcolumns - 1));

    for(var i = 1;i < numberOfcolumns; i++){
        thetable.firstChild.lastChild.childNodes[i].style.width = tableCellwidth + "px";

    }

    var allrows = thetable.lastChild.getElementsByTagName('tr');
    var allcolumns;

    for(var j = 0; j < allrows.length; j++){
        allcolumns = allrows[j].getElementsByTagName('td');
        for(var k = 1; k < allcolumns.length; k++)
            allcolumns[k].style.width = tableCellwidth + "px";
    }
};

function TBAlert(h, w, m) {
    var errDivId = 'comparisonError';
    var errP = document.getElementById(errDivId).getElementsByTagName("p")[0];
    errP.innerHTML = m;

    tb_show('Hata', '#TB_inline?height=' + h + '&width=' + w + '&inlineId=' + errDivId, false);
};


function thickBoxBiseysi(a){
    tb_show('Fiyat alarmı ekle', '/member/account/lists/addPriceAlarm.jsp?listId=' + a.getAttribute('listid') + '&productId=' + a.getAttribute('productid') + '&keepThis=true&TB_iframe=true&height=450&width=700', false);
};


function testInputLimit(field,maxLimit) {
    if(field.value.length > maxLimit){
        field.value = field.value.substring(0,maxLimit);
    }
};





/// sayfa altındaki resimler

function changePictureAtBottom(isLeft, no){
    var tds = document.getElementById("urslide").getElementsByTagName('td');
    var i;
    if(isLeft){
        if(tds[0].className == 'ursv')
            return;

        i = 0;
        for(; i <= tds.length; i++){
            if(tds[i].className == 'ursv'){
                tds[i - 1].className = 'ursv';
                tds[i - 2].className = 'ursv';
                break;
            }
        }

        i = i + 2 * (no - 1);
        if(tds[i]){
            tds[i].className = 'ursn';
            tds[i - 1].className = 'ursn';
        }
    }
    else{
        if(tds[tds.length - 1].className == 'ursv')
            return;

        i = tds.length - 1;
        for(; i >= 0; i--){
            if(tds[i].className == 'ursv'){
                tds[i + 1].className = 'ursv';
                tds[i + 2].className = 'ursv';
                break;
            }
        }

        i = i - 2 * (no - 1);
        if(i >= 0){
            tds[i].className = 'ursn';
            tds[i + 1].className = 'ursn';
        }
    }
};

function banaOzelAcKapa() {
    var bo = document.getElementById('bana-ozel-box').parentNode;

    if(bo.style.display == 'none')
        bo.style.display = 'block';
    else
        bo.style.display = 'none';
};


// onun altındaki ürün bilgileri

function getProductInfo(){

    var urun = productInfo;
    var ret =
    '<div class="ust"><span class="urun-yeni-baslik">' + urun.n.n + ' Ürün Bilgisi</span></div>' +

    '<div class="icerik">' +
    '<p class="ozellik-text">' + urun.n.sum + '</p>' +
    '<table cellpadding="0" cellspacing="0" class="urun-ozellikleri" >';

    var rows = urun.v;
    var n = rows.length;
    var limit = n / 2;

    for(var j = 0; j < limit; j++){
        ret +=
            '<tr>' +
            '<td class="ozellik">' +
            rows[2 * j].n.n +
            '</td>' +
            '<td class="deger">' + getV(rows[2 * j].v) + '</td>';

        ret += '<td class="bostd"></td>';

        if(2 * j + 1 < n){
            ret +=
            '<td class="ozellik">' +
            rows[2 * j + 1].n.n +
            '</td>' +
            '<td class="deger">' + getV(rows[2 * j + 1].v) + '</td>';
        }
        else
            ret += '<td></td><td></td>';

        ret += '</tr>';
    }

    ret += '</table></div>';

    return ret;

};



