var cache = new Array;
cache.push('events');
cache.events = new Array;

String.prototype.parseUrl = function()
{
	var matches = this.match(arguments.callee.re);

	if ( ! matches ) {
		return null;
	}

	var result = {
		'scheme': matches[1] || '',
		'subscheme': matches[2] || '',
		'user': matches[3] || '',
		'pass': matches[4] || '',
		'host': matches[5],
		'port': matches[6] || '',
		'path': matches[7] || '',
		'query': matches[8] || '',
		'fragment': matches[9] || ''};

	return result;
};

String.prototype.parseUrl.re = /^(?:([a-z]+):(?:([a-z]*):)?\/\/)?(?:([^:@]*)(?::([^:@]*))?@)?((?:[a-z0-9_-]+\.)+[a-z]{2,}|localhost|(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])))(?::(\d+))?(?:([^:\?\#]+))?(?:\?([^\#]+))?(?:\#([^\s]+))?$/i;


/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Andrew Stromnov (stromnov@gmail.com). */
jQuery(function($){
	$.datepicker.regional['ru'] = {
		closeText: 'Закрыть',
		prevText: '&#x3c;Пред',
		nextText: 'След&#x3e;',
		currentText: 'Сегодня',
		monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
		'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
		monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
		'Июл','Авг','Сен','Окт','Ноя','Дек'],
		dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
		dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
		dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
		weekHeader: 'Не',
		dateFormat: 'dd.mm.yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};

});

/* Ukrainian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Maxim Drogobitskiy (maxdao@gmail.com). */
jQuery(function($){
        $.datepicker.regional['uk'] = {
                closeText: 'Закрити',
                prevText: '&#x3c;',
                nextText: '&#x3e;',
                currentText: 'Сьогодні',
                monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень',
                'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'],
                monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер',
                'Лип','Сер','Вер','Жов','Лис','Гру'],
                dayNames: ['неділя','понеділок','вівторок','середа','четвер','пятниця','суббота'],
                dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'],
                dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'],
                dateFormat: 'dd.mm.yy', firstDay: 1,
                isRTL: false};
});
function news_tabs_start (name)
{
	$(name).tabs({ fx:{opacity: "toggle"}}).tabs("rotate", 8000, true);
}
function news_tabs_stop ()
{
	$("#news_tabs_container div").tabs("rotate", 0);
}


function display_events(data)
{
	$('#calendar_events div').html('<ul></ul>');
	$(data).each(function(){
		if(this.html!="")
		{
			$('#calendar_events div#events'+this.category+' ul').append(this.html);
		}
	});
	$("#calendar_events").ready(function(){ 
		//calendar_events_scroll_start ("div#calendar_events div ul");
	var active_tab;
	active_tab=$("#calendar_events ul li.ui-state-active a").attr('anchor');
	calendar_events_scroll_start ("div#calendar_events div"+active_tab+" ul");
	});

	
}

function calendar_onSelect (dateText) 
{
	if(!cache.events.hasOwnProperty(dateText))
	{
		$.get('/ajax-cal', {'action': 'GetEventsByDate', 'date': dateText, 'lang': lang_name}, function(data) 
				{ 
					cache.events[dateText] =data.events; 
					display_events(data.events); 
				}, 'json');
	}	
	else
	{
		display_events(cache.events[dateText]);
	}
}


function calendar2_onSelect (dateText) 
{
	window.location=real_url+"?date="+dateText;
}
function calendar_beforeShowDay (date)
{
	var addclass='';
	//document.writeln(date);
	for(i=0;i<dates.length;i++)
	{
			var search_str=$.datepicker.formatDate('dd-mm-yy', date);
			var need=dates[i].toString();
			if(search_str==need) { addclass = 'has-events'; }
//			document.writeln("<br>"+search_str+"="+need);
	}
	return [true,addclass];
}


function calendar_events_scroll_start (name)
{
	$(name).ready(function(){
	if($(name+' li').size()>0)
	{
		$(name).jcarousel({		vertical: true, visible:2, scroll:1});
	}
	});
}

$(function() { 
	$.datepicker.setDefaults($.datepicker.regional[lang_name2]);
	// news slider tabs
	$("#slider").tabs();
	
	// news slider
	$("ul#news_tabs a").click(function(){
			tabs_name = $(this).attr('href');
			news_tabs_stop ();
			news_tabs_start (tabs_name);		
	});
	news_tabs_start ('#news_tabs_container .t-item:first-child');

	// calendar tabs
	$("#calendar_events").tabs();
	
	$("ul#calendar_tabs a").click(function(){
			tabs_name = $(this).attr('anchor');
			calendar_events_scroll_start(tabs_name);	
	});
	
	
	
	// calendar
	$('#calendar').datepicker({
			showButtonPanel: true,
			onSelect: calendar_onSelect,
			beforeShowDay: calendar_beforeShowDay
		});
	calendar_events_scroll_start ("div#calendar_events div:eq(0) ul");
	
	//top10
	$(".mainpage #top10_container").tabs();
	
	var first_html = $('.top10_list ul li:first-child').html();
	$('#top10_selected').html('<div class="top10_wrapper">'+first_html+'</div>');	
	var orig_img1  = $(this).find(".image img").attr('big');	
	$('#top10_selected .image img').attr('src',orig_img1);	
	$('#top10_selected .image img').attr('width','245');
	$('#top10_selected .image img').removeAttr('height');
			   

	$('.top10_list ul li').hover(function(){
		var hover_html=$(this).html();
		var orig_img  = $(this).find(".image img").attr('big');
		$('#top10_selected').html('<div class="top10_wrapper">'+hover_html+'</div>');						   
		$('#top10_selected .image img').attr('src',orig_img);
		$('#top10_selected .image img').attr('width','245');
		$('#top10_selected .image img').removeAttr('height');
	});
	
	// ii 
	$(".item_info3").tabs();
	
	// list events page
	$('.calendar_s').datepicker({
			showButtonPanel: true,
			onSelect: calendar2_onSelect,
			beforeShowDay: calendar_beforeShowDay
			
		});
	$(".tpl_center_item .ci4 .list_items_more a").attr('rel','prettyPhoto[iframe]');
	$(".tpl_center_item .ci4 .list_items_more a").attr('href',function() {return this.href + '&amp;iframe=true&amp;width=500&amp;height=500'});
	$("a[rel^='prettyPhoto']").prettyPhoto();
	
	   $("a[ href ^= '#' ]").each(function() {
        $(this).attr('anchor',$(this).attr('href',href));
        var href = window.location + $(this).attr('href').replace('/#.*/i','');
        $(this).attr('href',href);
    });
    
    // pagination short
    $('.pagination2').each(function(){
    
   	   	$(this).find('.ditto_page').hide();
   		$(this).find('.ditto_currentpage').next().show().next().show();
   		$(this).find('.ditto_currentpage').prev().show().prev().show();
   		$(this).find('.ditto_page:last').show();
	   	$(this).find('.ditto_page:first').show();
    
    });
	


});


// Функция для отображения результата геокодирования на карте
// Параметр value - адрес объекта для поиска
function YMshowAddress (value) {
    // Удаляет результат предыдущего поиска
    map.removeOverlay(geoResult);

    // Запускает процесс геокодирования
    var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});

    // Создает обработчик успешного завершения геокодирования
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
        // Если объект найден, добавляет его на карту
        // и устанавливает центр карты в центр области показа объекта
        if (this.length()) {
            geoResult = this.get(0);
            map.addOverlay(geoResult);
            map.setBounds(geoResult.getBounds());
        }else {
            alert("Адрес не найден")
        }
    });

    // Процесс геокодирования завершен с ошибкой
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (gc, error) {
        alert("Произошла ошибка: " + error);
    })
}
