var URL = getURL();

$(function() {
    $('#chatLink a').click(function() {
        return pop($(this).attr('href'), {w:550, h:450, resize:1, scroll:1});
    });
    $('#chatForm').submit(function() {
        sendMessage();
        return false;
    }).keypress(function(e){
        ctrlEnter(e, $(this));
    });

    $('#invest').hover(
        function(){$(this).addClass('investr');},
        function(){$(this).removeClass();}
    );


// select
    var plansSelected;
    var sizeSelected;
    var sectionSelected;
    var sizesData = {};
    var sectionsData = {};


    $('#size option').each(function(i){
        if (i > 0) sizesData[i] = {value: $(this).val(), title: $(this).html()};
    });
    $('#section option').each(function(i){
        if (i > 0) sectionsData[$(this).val()] = $(this).html();
    });

    plansSelected = $('#plans option:selected').val();
    sizeSelected = $('#size option:selected').val();
    sectionSelected = $('#section option:selected').val();

    if (plansSelected > '') {
        var sizeHTML = '<option value="">' + $('#size option:eq(0)').html() + '</option>';
        var sectionHTML = '<option value="">' + $('#section option:eq(0)').html() + '</option>';
        for (var i in plansData[plansSelected].sizes)
            sizeHTML += '<option value="' + sizesData[plansData[plansSelected].sizes[i]].value + '"' + (sizeSelected == sizesData[plansData[plansSelected].sizes[i]].value ? ' selected="selected"' : '') + '>' + sizesData[plansData[plansSelected].sizes[i]].title + '</option>';
        for (var i in plansData[plansSelected].sections)
            sectionHTML += '<option value="' + plansData[plansSelected].sections[i] + '"' + (sectionSelected == plansData[plansSelected].sections[i] ? ' selected="selected"' : '') + '>' + sectionsData[plansData[plansSelected].sections[i]] + '</option>';
//alert(sizeHTML);
//alert(sectionHTML);
        $('#size').html(sizeHTML);
        $('#section').html(sectionHTML);
    }

    if (sizeSelected > '') {
//        var plansHTML = '<option value="">' + $('#plans option:eq(0)').html() + '</option>';
        var sectionHTML = '<option value="">' + $('#section option:eq(0)').html() + '</option>';
        var sectionsPresent = {};
        for (var i in plansData) {
            for (var j in plansData[i].sizes) {
                if (sizesData[plansData[i].sizes[j]].value == sizeSelected) {
//                    plansHTML += '<option value="' + i + '"' + (plansSelected == i ? ' selected="selected"' : '') + '>' + plansData[i].title + '</option>';
                    for (var k in plansData[i].sections) {
                        if (!sectionsPresent[plansData[i].sections[k]] && plansSelected == i) {
                            sectionHTML += '<option value="' + plansData[i].sections[k] + '"' + (sectionSelected == plansData[i].sections[k] ? ' selected="selected"' : '') + '>' + sectionsData[plansData[i].sections[k]] + '</option>';
                            sectionsPresent[plansData[i].sections[k]] = true;
                        }

                    }
                }
            }
        }
//alert(plansHTML);
//alert(sectionHTML);
//        $('#plans').html(plansHTML);
//        $('#section').html(sectionHTML);
    }

    if (sectionSelected > '') {
//        var plansHTML = '<option value="">' + $('#plans option:eq(0)').html() + '</option>';
        var sizeHTML = '<option value="">' + $('#size option:eq(0)').html() + '</option>';
        var sizesPresent = {};
        for (var i in plansData) {
            for (var j in plansData[i].sections) {
                if (plansData[i].sections[j] == sectionSelected) {
//                    plansHTML += '<option value="' + i + '"' + (plansSelected == i ? ' selected="selected"' : '') + '>' + plansData[i].title + '</option>';
                    for (var k in plansData[i].sizes) {
                        if (!sizesPresent[plansData[i].sizes[k]] && plansSelected == i) {
                            sizeHTML += '<option value="' + sizesData[plansData[i].sizes[k]].value + '"' + (sizeSelected == sizesData[plansData[i].sizes[k]].value ? ' selected="selected"' : '') + '>' + sizesData[plansData[i].sizes[k]].title + '</option>';
                            sizesPresent[plansData[i].sizes[k]] = true;
                        }

                    }
                }
            }
        }
//alert(plansHTML);
//alert(sizeHTML);
//        $('#plans').html(plansHTML);
        $('#size').html(sizeHTML);
    }

    $('#plans').change(function(){
        plansSelected = $('#plans option:selected').val();
        var sizeHTML = '<option value="">' + $('#size option:eq(0)').html() + '</option>';
        var sectionHTML = '<option value="">' + $('#section option:eq(0)').html() + '</option>';

        if (plansSelected == '') {
            for (var i in sizesData)
                sizeHTML += '<option value="' + sizesData[i].value + '"' + (sizeSelected == sizesData[i].value ? ' selected="selected"' : '') + '>' + sizesData[i].title + '</option>';
            for (var i in sectionsData)
                sectionHTML += '<option value="' + i + '"' + (sectionSelected == i ? ' selected="selected"' : '') + '>' + sectionsData[i] + '</option>';
        } else {
            for (var i in plansData[plansSelected].sizes)
                sizeHTML += '<option value="' + sizesData[plansData[plansSelected].sizes[i]].value + '"' + (sizeSelected == sizesData[plansData[plansSelected].sizes[i]].value ? ' selected="selected"' : '') + '>' + sizesData[plansData[plansSelected].sizes[i]].title + '</option>';
            for (var i in plansData[plansSelected].sections)
                sectionHTML += '<option value="' + plansData[plansSelected].sections[i] + '"' + (sectionSelected == plansData[plansSelected].sections[i] ? ' selected="selected"' : '') + '>' + sectionsData[plansData[plansSelected].sections[i]] + '</option>';
        }
//alert(sizeHTML);
//alert(sectionHTML);
        $('#size').html(sizeHTML);
        $('#section').html(sectionHTML);
    });

    $('#size').change(function(){
        sizeSelected = $('#size option:selected').val();
//        var plansHTML = '<option value="">' + $('#plans option:eq(0)').html() + '</option>';
        var sectionHTML = '<option value="">' + $('#section option:eq(0)').html() + '</option>';

        if (sizeSelected == '') {
//            for (var i in plansData)
//                plansHTML += '<option value="' + i + '"' + (plansSelected == i ? ' selected="selected"' : '') + '>' + plansData[i].title + '</option>';
            for (var i in sectionsData)
                sectionHTML += '<option value="' + i + '"' + (sectionSelected == i ? ' selected="selected"' : '') + '>' + sectionsData[i] + '</option>';
        } else {
            var sectionsPresent = {};
            for (var i in plansData) {
                for (var j in plansData[i].sizes) {
                    if (sizesData[plansData[i].sizes[j]].value == sizeSelected) {
//                        plansHTML += '<option value="' + i + '"' + (plansSelected == i ? ' selected="selected"' : '') + '>' + plansData[i].title + '</option>';
                        for (var k in plansData[i].sections) {
                            if (!sectionsPresent[plansData[i].sections[k]] && plansSelected == i) {
                                sectionHTML += '<option value="' + plansData[i].sections[k] + '"' + (sectionSelected == plansData[i].sections[k] ? ' selected="selected"' : '') + '>' + sectionsData[plansData[i].sections[k]] + '</option>';
                                sectionsPresent[plansData[i].sections[k]] = true;
                            }

                        }
                    }
                }
            }
        }
//alert(plansHTML);
//alert(sectionHTML);
//        $('#plans').html(plansHTML);
        $('#section').html(sectionHTML);
    });

    $('#section').change(function(){
        sectionSelected = $('#section option:selected').val();
//        var plansHTML = '<option value="">' + $('#plans option:eq(0)').html() + '</option>';
        var sizeHTML = '<option value="">' + $('#size option:eq(0)').html() + '</option>';

        if (sectionSelected == '') {
//            for (var i in plansData)
//                plansHTML += '<option value="' + i + '"' + (plansSelected == i ? ' selected="selected"' : '') + '>' + plansData[i].title + '</option>';
            for (var i in sizesData)
                sizeHTML += '<option value="' + sizesData[i].value + '"' + (sizeSelected == sizesData[i].value ? ' selected="selected"' : '') + '>' + sizesData[i].title + '</option>';
        } else {
            var sizesPresent = {};
            for (var i in plansData) {
                for (var j in plansData[i].sections) {
                    if (plansData[i].sections[j] == sectionSelected) {
//                        plansHTML += '<option value="' + i + '"' + (plansSelected == i ? ' selected="selected"' : '') + '>' + plansData[i].title + '</option>';
                        for (var k in plansData[i].sizes) {
                            if (!sizesPresent[plansData[i].sizes[k]] && plansSelected == i) {
                                sizeHTML += '<option value="' + sizesData[plansData[i].sizes[k]].value + '"' + (sizeSelected == sizesData[plansData[i].sizes[k]].value ? ' selected="selected"' : '') + '>' + sizesData[plansData[i].sizes[k]].title + '</option>';
                                sizesPresent[plansData[i].sizes[k]] = true;
                            }

                        }
                    }
                }
            }
        }
//alert(plansHTML);
//alert(sizeHTML);
//        $('#plans').html(plansHTML);
        $('#size').html(sizeHTML);
    });
});

function getURL() {
    var metas = document.getElementsByTagName('meta');
    var i;
    for (i = 0; i < metas.length; i++) if (metas[i].getAttribute('name') == 'url') break;
    var url = metas[i].getAttribute('content');
    return url;
}

function openLiveChat(){
	window.open(URL + "livechat",'livechat','height=900,width=1000');
}


function pop(a, p) {
    var url = typeof a  == 'string' ? a : a.href;
    var name = 'pop';
    var params = new Array();
    var win;
    if (typeof p != 'undefined') {
        if (p.fs == 1) {fs(a); return false;}
        if (typeof p.w == 'number') params.push('width='+p.w);
        if (typeof p.h == 'number') params.push('height='+p.h);
        if (typeof p.l == 'number') params.push('left='+p.l);
        if (typeof p.t == 'number') params.push('top='+p.t);
        if (p.resize == 1) params.push('resizable');
        if (p.scroll == 1) params.push('scrollbars');
        if (p.title == 1) params.push('titlebar');
        if (p.menu == 1) params.push('menubar');
        if (p.tools == 1) params.push('toolbar');
        if (p.location == 1) params.push('location');
        if (p.status == 1) params.push('status');
        if (p.dirs == 1) params.push('directories');
        var specs = params.toString();
        win = window.open(url, name, specs);
    } else {
        win = window.open(url, name);
    }
    win.focus();
    return false;
}

function fs(a) {
    var url = typeof(a) == 'string' ? a : a.href;
    var name = 'fullscreen';
    var ie = navigator.userAgent.indexOf('MSIE') != -1;
    var specs = ie ? 'channelmode' : 'resizable,scrollbars,left=0,top=0,width='+screen.width+',height='+screen.height;
    var win;
    win = window.open(url, name, specs);
    win.focus();
    return false;
}




function sendMessage(){
    var message = escape($('#message').val());
    var user_id = escape($('#user_id').val());
    var operator_id = escape($('#operator_id').val());
    var user_name = escape($('#user_name').val());
    if (message == '') {
        $('#message').focus();
        return false;
    }
    $.ajax({
        type: 'post',
        url: URL+'modules/livechat/ajax/public.livechat.php',
        dataType: 'text',
        data: 'message='+ message + '&user_id=' + user_id + '&operator_id=' + operator_id + '&Message_type=1&User_name=' + user_name,
        success: function() {},
        error: function() {},
        beforeSend: function() {$('#loading').fadeIn('fast');},
        complete: function(responseObj) {
            document.getElementById('message').value = '';
            $('#loading').fadeOut('fast');
            var messages = eval('(' + responseObj.responseText + ')');
            for (var i = 0; i < messages.messages.length; i++) {
                $('#history').append('<div class="message"><div class="lt"><div class="rt"><div class="rb"><div class="lb"><div class="time">' + currentTime() + '</div><div class="txt">' + unescape(messages.messages[i].Message) + '</div></div></div></div></div></div>').scrollTop(30000);
            }
        }
    });
    return false;
}

function checkMessages() {
    var user_id = escape($('#user_id').val());
    var operator_id = escape($('#operator_id').val());
    $.ajax({
        type: 'post',
        url: URL+'modules/livechat/ajax/public.livechat.php',
        dataType: 'json',
        data: 'user_id=' + user_id + '&operator_id=' + operator_id + '&Message_type=2&action=getnew',
        success: function(msg) {},
        error: function() {},
        beforeSend: function() {},
        complete: function(responseObj) {
            var messages = eval('(' + responseObj.responseText + ')');
            for (var i = 0; i < messages.messages.length; i++) {
                if (messages.messages[i].Command == 'go_offline') {
                    $('#chatForm').html('<a href="' + URL + 'livechat/">Подключиться снова</a>');
                    cancelCheck();
                }
                if (messages.messages[i].Command == 'refresh') {
                    var t=setTimeout("window.location = location.href",5000);
                }
                $('#history').append('<div class="message op"><div class="lt"><div class="rt"><div class="rb"><div class="lb"><div class="time">' + currentTime() + '</div><div class="txt">' + unescape(messages.messages[i].Message) + '</div></div></div></div></div></div>').scrollTop(30000);
            }
        }
    });
}

function checkOperatorOnline(){
	var operator_id = escape($('#operator_id').val());
	var user_id = escape($('#user_id').val());
	$.ajax({
	   type: "POST",
	   url: URL+'modules/livechat/ajax/public.livechat.php',
	   dataType: "json",
	   data: "user_id=" + user_id + "&operator_id=" + operator_id + "&action=checkOperatorOnline", 
	   success: function(){},
	   error: function(){},
	   beforeSend: function(){},
	   complete: function(){}} );
}

function cancelCheck() {
    var cancelCheck = clearInterval(messageCheck);
}

function operatorCheck() {
    $.ajax({
        type: 'post',
        url: URL+'modules/livechat/ajax/public.livechat.php',
        dataType: 'json',
        data: 'action=operatorCheck',
        success: function(msg) {},
        error: function() {},
        beforeSend: function() {},
        complete: function(responseObj) {
            var message = eval('(' + responseObj.responseText + ')');
            if (message.Online == '1') window.location = URL + 'livechat/';
        }
    })
}

function sendOfflineMessage(){
	
	var message = escape(document.getElementById('message').value);	
	var email = escape(document.getElementById('email').value);	
	var name = escape(document.getElementById('name').value);	
	if(message == ''){
		return false;
	}
	$.ajax({
	   type: "POST",
	   url: URL+'modules/livechat/ajax/public.livechat.php',
	   dataType: "text",
	   data: "message="+ message + "&email=" + email + "&name=" + name + "&Message_type=2&action=send_offline",
	   	
	   
	   
	    
	   success: function(){},
	   error: function(){},
	   beforeSend: function(){},
	   complete: function(){
	   		$('#form_area').html('Ваше сообщение отправлено.');
	   		var t=setTimeout("window.location = location.href",3000);
	   }}
	 );
	 
	 return false;
}

function currentTime() {
    var currentTime = new Date();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    if (minutes < 10) {
        minutes = '0' + minutes;
    }
    return hours + ':' + minutes;
}

function ctrlEnter(e, form) {
    if((e.ctrlKey) && ((e.keyCode == 0xA)||(e.keyCode == 0xD))) {
        sendMessage();
    }
}

// highslide
hs.graphicsDir = URL+'img/hs/';
hs.outlineType = 'rounded-white';
hs.showCredits = false;
hs.align = 'center';
hs.registerOverlay({
    overlayId: 'closebutton',
    position: 'top right'
});
hs.transitions = ['fade'];
hs.expandCursor = '';
hs.restoreCursor = '';
hs.allowMultipleInstances = false;
hs.lang = {
   loadingText :     'Загружается...',
   loadingTitle :    'Нажмите для отмены',
   focusTitle :      'Нажмите чтобы поместить на передний план',
   fullExpandTitle : 'Развернуть до оригинального размера',
   fullExpandText :  'Оригинальный размер',
   creditsText :     'Использует <i>Highslide JS</i>',
   creditsTitle :    'Перейти на домашнюю страницу Highslide JS',
   previousText :    'Предыдущее',
   previousTitle :   'Предыдущее (стрелка влево)',
   nextText :        'Следующее',
   nextTitle :       'Следующее (стрелка вправо)',
   moveTitle :       'Переместить',
   moveText :        'Переместить',
   closeText :       'Закрыть',
   closeTitle :      'Закрыть (esc)',
   resizeTitle :     'Изменить размер',
   playText :        'Слайдшоу',
   playTitle :       'Начать слайдшоу (пробел)',
   pauseText :       'Пауза',
   pauseTitle :      'Приостановить слайдшоу (пробел)',
   number :          'Изображение %1 из %2',
   restoreTitle :    'Нажмите чтобы закрыть изображение'
};