

var ajaxPage = "/AjaxServlet";

function clone(myObj)
{
    if(myObj == null || typeof(myObj) != 'object'){
        return myObj;
    }

    if(myObj.constructor == Array) {

        var temp = [];

        for(var i = 0; i < myObj.length; i++) {

            temp.push(clone(myObj[i]));

        }

        return temp;

    }


    var myNewObj = {};


    for(var x in myObj){
        myNewObj[x] = clone(myObj[x]);
    }

    return myNewObj;
};

function areEqual(obj1, obj2)
{
    if(obj1 == null && obj2 == null){
        return true;
    }

    if(obj1 == null || obj2 == null){
        return false;
    }

    if(typeof(obj1) != typeof(obj2)){
        return false;
    }

    if(typeof(obj1) != 'object'){
        return (obj1 == obj2);
    }

    if(obj1.constructor == Array && obj2.constructor == Array){
        if(obj1.length != obj2.length){
            return false;
        }

        var i = obj1.length - 1;
        for( ; i >= 0; i-- ){
            if(!areEqual(obj1[i], obj2[i])){
                break;
            }
        }

        if(i < 0){
            return true;
        }
        else{
            return false;
        }
    }

    var ret = true;
    for(var x in obj1){
        if(!areEqual(obj1[x], obj2[x])){
            ret = false;
            break;
        }
    }

    return ret;
};

var compareBasket = [];


function refreshBasket (basket) {
    basket = basket || [];
    compareBasket = basket;

    var ret = '';
    var cnt = 0;
    for (var i = 0; i < basket.length; i++) {
        var list = '';
        var items = basket[i].items;
        var j;
        for (j = 0; j < items.length; j++) {
            list +=
                '<td class="compare-item">' +
                    '<div class="compare-image" style="background-image: url(\'' + items[j].image + '\')"></div>' +
                    '<div class="compare-name">' + items[j].name + '</div>' +
                    '<div class="compare-remove"><a href="javascript:;" onclick="removeFromBasket(' + items[j].id + ');"><img src="/images/common/compare/cikar.png" /></a></div>' +
                '</td>'
            ;
            cnt++;
        }
        if (! list)
            continue;

        for ( ; j < 5; j++) {
            list +=
                '<td class="compare-item">' +
                    '<div class="compare-image"></div>' +
                '</td>'
            ;
        }

        list =
            '<div class="compare-list">' +
                '<div class="compare-list-header">' +
                    '<table>' +
                        '<tr>' +
                            '<td class="compare-list-title">Kategori: ' + basket[i].name + '</td>' +
                            '<td>(En fazla 5 ürün)</td>' +
                        '</tr>' +
                    '</table>' +
                '</div>' +
                '<div class="compare-list-body">' +
                    '<table>' +
                        '<tr>' +
                            list +
                            '<td class="compare-control" colspan="3">' +
                                (items.length > 1 ? '<div><a href="javascript:;" onclick="compareBasketList(' + basket[i].id + ');"><img src="/images/common/compare/karsilastir-buton.png" /></a></div>' : '') +
                                (false && items.length > 1 ? '<div><a href="javascript:;" onclick="saveBasketList(' + basket[i].id + ');"><img src="/images/common/compare/kaydet-buton.png" /></a></div>' : '') +
                                '<div><a href="javascript:;" onclick="removeBasketList(' + basket[i].id + ');"><img src="/images/common/compare/sil-buton.png" /></a></div>' +
                            '</td>' +
                        '</tr>' +
                    '</table>' +
                '</div>' +
            '</div>'

        ret += list

    }


    if (! ret) {
        ret =
            '<div class="compare-empty-message">' +
                'Listenizde hiçbir ürün bulunmuyor.' +
                '<br />' +
                'Listenize ürün eklemek için, ürünlerin yanındaki <span>"Karşılaştırma listeme ekle"</span> bağlantısını kullanabilirsiniz.' +
            '</div>'
        ;

        $('#compare-basket-button').addClass('empty');
    }
    else
        $('#compare-basket-button').removeClass('empty');
    $('#compare-basket-size').text(cnt);


    $('#compare-lists').html(ret);


}

function addToBasket (id, callback, arg1, arg2) {
    $.ajax({
        url: '/karsilastir',
        data: {op: 'addToBasket', id: id},
        type: 'post',
        dataType: 'json',
        success: function (basket) {
            refreshBasket(basket);
            if (typeof callback == 'function') {
                callback(id, arg1, arg2);
            }
        },
        error: function () {}
    });
}

function removeFromBasket (id) {
    $.ajax({
        url: '/karsilastir',
        data: {op: 'removeFromBasket', id: id},
        type: 'post',
        dataType: 'json',
        success: function (basket) {
            refreshBasket(basket);
        },
        error: function () {}
    });
}

function removeBasketList (id) {
    $.ajax({
        url: '/karsilastir',
        data: {op: 'removeBasketList', id: id},
        type: 'post',
        dataType: 'json',
        success: function (basket) {
            refreshBasket(basket);
        },
        error: function () {}
    });
}

function compareBasketList (id) {
    var basket = compareBasket = compareBasket || [];
    for (var i = 0; i < compareBasket.length; i++) {
        if (basket[i].id != id)
            continue;

        var items = basket[i].items;

        var url = '';
        var j;

        for (j = 0; j < items.length; j++) {
            url += '/' + items[j].id;
        }

        if (j > 0)
            window.location = '/karsilastir' + url;


    }
}

function saveBasketList (id) {

}

function toggleBasket() {
    $('#compare-basket-container').toggleClass('open');
}



function openFeedbackBox() {
    var fbox = $('#feedback-box-container').remove();

    fbox = createFeedbackBox();

    $.openDOMWindow({
        loader:1,
        loaderImagePath:'/images/common/efiyat-loader.gif',
        loaderHeight:16,
        loaderWidth:17,
        borderSize:5,
        width:630,
        height:650,
        borderColor:'#cecece',
        overlayOpacity: 50,
        windowSourceID:'#feedback-box-container'
    });

}

function createFeedbackBox() {

    $(document.body).append(
        '<div id="feedback-box-container" style="display: none;">' +
            '<table style="height: 100%; width: 100%;">' +
                '<tr>' +
                    '<td style="text-align: center; vertical-align: middle;">' +
                            '<img src="/images/jet/preloader.gif" alt="Yükleniyor..." />' +
                    '</td>' +
                '</tr>' +
            '</table>' +
        '</div>'
    );


    $.ajax({
        url: '/geribildirim/?op=sorular',
        data: {op: 'sorular'},
        dataType: 'json',
        type: 'post',
        success: function(questions) {

            var html = '<div class="feedback-close"><a href="javascript:;" onclick="$.closeDOMWindow();"><img src="/images/feedback/kapat-buton.png" alt="Kapat" /></a></div>';

            html +=
                '<div class="feed-title"><img src="/images/jet/sizi-dinliyoruz.png" alt="Sizi dinliyoruz...:)" /></div>'

            for (var i = 0, si = questions.length; i < si; i++) {
                var fq = questions[i];
                var answers = fq.answers;

                var tmp = '';

                for (var j = 0, sj = answers.length; j < sj; j++) {
                    var fa = answers[j];
                    tmp +=
                        '<span>' +
                            '<input type="radio" name="radio-' + fq.id + '" id="r-' + fa.id + '" />' +
                            '<label for="r-' + fa.id + '">' + fa.text + '</label>' +
                        '</span>'
                    ;
                }

                if (fq.comment) {
                    tmp +=
                        '<div class="feedback-comment">' +
                            '<textarea id="c-' + fq.id + '"></textarea>' +
                        '</div>'
                    ;
                }

                if (i) {
                    html +=
                        '<div class="feedback-splitter"></div>'
                    ;
                }

                html +=
                    '<div class="feedback-question">' + (i + 1) + '- ' + fq.text + '</div>' +
                    '<div class="feedback-answers">' + tmp + '</div>'
                ;

            }

            if (questions.length) {
                html +=
                    '<div class="feedback-submit">' +
                        '<a href="javascript:;" onclick="submitFeedback();">' +
                            '<img src="/images/feedback/gonder-button.png" alt="Fikirlerimi Gönder" />' +
                        '</a>' +
                    '</div>'
                ;
            }

            html = '<div id="feedback-box">' + html + '</div>';

            //$('#feedback-box-container').html(html);
            $('#DOMWindow').html(html);

        }
    });

}


function submitFeedback() {
    var params = {op: 'bildir'};
    var len = 0;

    $('#feedback-box input:checked').each(function(i, inp){
        inp = $(inp);
        params[inp.attr('id')] = 1;
        len++;
    });


    $('#feedback-box textarea').each(function(i, com){
        com = $(com);
        var str = $.trim(com.val());
        if (str) {
            params[com.attr('id')] = str;
            len++;
        }
    });


    if (len) {

        $.ajax({
            url: '/geribildirim/',
            data: params,
            type: 'post',
            success: function() {
                $('#DOMWindow').html(
                    '<table style="height: 100%; width: 100%;">' +
                        '<tr>' +
                            '<td style="text-align: left; vertical-align: middle; font-size: 12px; font-weitgh: bold; padding-left:150px;">' +
                                '<span><img src="/images/jet/efiyat_logo_jet.png" alt="eFiyat.com" /></span>' +
                                '<br />' +
                                '<br />' +
                                '<span>Fikirlerinizi bizimle paylaştığınız için teşekkür ederiz...</span>' +
                                '<br />' +
                                '<br />' +
                                '<span class="bottom-social">' +
                                    '<a target="_blank" href="http://www.facebook.com/pages/eFiyatcom-En-Ucuzunu-Bulur/103618299685565"><img src="/images/jet/facebook-jet-icon.png" alt="Facebook" /></a>' +
                                    '<a target="_blank" href="http://www.twitter.com/efiyatcom"><img src="/images/jet/twitter-jet-icon.png" alt="Twitter" /></a>' +
                                '</span>' +
                                '<br />' +
                                '<br />' +
                                '<span>' +
                                    '<iframe src="http://www.facebook.com/plugins/like.php?href=www.efiyat.com&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>' +
                                '</span>' +
                            '</td>' +
                        '</tr>' +
                    '</table>'
                );
                setTimeout(function(){$.closeDOMWindow()}, 5000);
            },
            error: function() {
                $('#DOMWindow').html(
                    '<table style="height: 100%; width: 100%;">' +
                        '<tr>' +
                            '<td style="text-align: center; vertical-align: middle;">' +
                                'İşlem sırasında beklenmeyen bir hata oluştu.<br/>' +
                                'Lütfen daha sonra tekrar deneyiniz.' +
                            '</td>' +
                        '</tr>' +
                    '</table>'
                );
            }
        });


        $('#DOMWindow').html(
            '<table style="height: 100%; width: 100%;">' +
                '<tr>' +
                    '<td style="text-align: center; vertical-align: middle;">' +
                        '<img src="/asd.jpg" alt="Yükleniyor..." />' +
                    '</td>' +
                '</tr>' +
            '</table>'
        );

    }

}


function focusQuery() {
    if(! window.location.hash)
        $('#query-in').focus();
}

function submitDynamicForm(path, params, method) {
    method = method || "post"; // Set method to post by default, if not specified.

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);

    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);    // Not entirely sure if this is necessary
    form.submit();

}


var userId = null;

(function() {
    $(document).ready(function () {
        if (! userId) {
            $('.login-onclick').click(function () {
                submitDynamicForm(window.location, {'login-required-access': true}, 'post');
            }).each(function () {
                this.onclick = null;
            });
            $('.login-onfocus').focus(function () {
                submitDynamicForm(window.location, {'login-required-access': true}, 'post');
            }).each(function () {
                this.onfocus = null;
            });
        }
    });
})();

