jQuery(document).ready(function(){

	$('#UserEmail').formNotifier();
	$('#UserPassword').formNotifier();
	// $('#SearchQuery').formNotifier();
	$('#ChannelQuery').formNotifier();
	
	$('.time_online').jclock();

	$('#trylink').click(function(){
		
		$('.loginError').hide();
		$(".login_form").show();

		return false;
	})
	
	$('#CommentAddSubmit').click(function(){
		$('#CommentAddForm').submit();
		return false;
	});

	$('#UserRegisterSubmit').click(function(){
		$('#UserRegisterForm').submit();
		return false;
	});

	$('#ContactMailSubmit').click(function(){
		$('#ContactMailForm').submit();
		return false;
	});
	
	$(".search input:text").focus(function(){
		$(this).val('');
	});
	$(".form input:text").focus(function(){
		$(this).val('');
	});
	
	// $(".select").selectbox();
	
	var cast_links = $('.broadcast span.castlinks');

	var fav_links = $('.tv_popup div.favlink a');
	var tv_links = $('.tv_popup div.tvlink a');
	var fav_channels = $('.favChannelIcon');

	var star_add = 'добавить в любимые';
	var star_delete = 'убрать из любимых';
	
	var print_add = 'добавить в печать';
	var print_delete = 'убрать из печати';
	
	$('#allprint').click(function(){

		cast_link = $(this);
		ajax_url = cast_link.attr('rel');
		
		// cast_links.css('background-image', 'url(/img/print_active.png)');
		cast_links.attr('title', print_delete);
		cast_links.addClass('active');

		$.ajax({
			type: "get",
			url: ajax_url,
			success: function(response, status) {

			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {

			}
		});
		
		updatePrintNum();

		return false;		
	});

	cast_links.click(function(){
		
		
		cast_link = $(this);
		ajax_url = cast_link.attr('rel');
		title = cast_link.attr('title');

		if (title == star_add) {
			cast_link.attr('title', star_delete);
			cast_link.css('background-image', 'url(/img/star_active.gif)');
		}
		if (title == star_delete) {
			cast_link.attr('title', star_add);
			cast_link.css('background-image', 'url(/img/star_passive.gif)');
		}
		if (title == print_add) {
			cast_link.attr('title', print_delete);
			// cast_link.css('background-image', 'url(/img/print_active.png)');
			cast_link.addClass('active');
		}
		if (title == print_delete) {
			cast_link.attr('title', print_add);
			// cast_link.css('background-image', 'url(/img/print_passive.png)');
			cast_link.removeClass('active');
		}
		
		$.ajax({
			type: "get",
			url: ajax_url,
			success: function(response, status) {

			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {

			}
		});
		
		updatePrintNum();
		
		return false;
	})
	
	function updatePrintNum(init) {
		// Params
		var holder = $('span.printNum');			// holder
		var start  = holder.attr('rel');			// starting Point
		var result = start * 1;						// result
		var active = $('.broadcast span.active');	// active skeds

		// Caclulation
		if (init) {
			result = result - active.size() * 1;
			// Output
			holder.attr('rel', result);
		} else {
			result = result + active.size() * 1;
			// Output
			holder.text(result);
		}
	}
	
	$('ul#j input').click(function(){
		$('#addAllCover').show()
	})

	// FIX holder.attr('rel') ON startup
	updatePrintNum(true);
	
	fav_links.click(function(){
		
		fav_link = $(this);
		ajax_url = fav_link.attr('href');
		title = fav_link.text();
		parent = fav_link.parent();

		$.ajax({
			type: "get",
			url: ajax_url,
			success: function(response, status) {
				if (title == star_add) {
					parent.css('background-position', '0 top');
					fav_link.text('убрать из любимых');
				}
				if (title == star_delete) {
					parent.css('background-position', '0 bottom');
					fav_link.text('добавить в любимые');
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {

			}
		});
		
		return false;
	})
	
	tv_links.click(function(){
		
		
		tv_link = $(this);
		ajax_url = tv_link.attr('href');
		title = tv_link.text();
		parent = tv_link.parent();

		$.ajax({
			type: "get",
			url: ajax_url,
			success: function(response, status) {
				if (title == star_add) {
					// parent.css('background-position', '0 top');
					tv_link.text('убрать из любимых');
				}
				if (title == star_delete) {
					// parent.css('background-position', '0 bottom');
					tv_link.text('добавить в любимые');
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {

			}
		});
		
		return false;
	})
	
	fav_channels.click(function(){
		fav_link = $(this);
		ajax_url = '/ajax/favorit?type=fc&id=' + fav_link.attr('rel');
		title = fav_link.attr('title');

		$.ajax({
			type: "get",
			url: ajax_url,
			success: function(response, status) {
				if (title == star_add) {
					fav_link.css('background-position', '0 top');
					fav_link.attr('title', star_delete);
				}
				if (title == star_delete) {
					fav_link.css('background-position', '0 bottom');
					fav_link.attr('title', star_add);
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {

			}
		});
		
		return false;
	})
	
	
	$('#logoutLink').click(function(){

		// $(".welcome_text").text('Успешно вышли из системы!');
		// $(".welcome .links").destroy();
		
		$.ajax({
			type: "post",
			url: "/ajax/logout/"
		});
		
		return false;
	})
	
	// var week_days = $('.week_days');
	// var genres = $('.genres');
	// var interval = $('.interval');
	// 
	// $('.genres input').click(function(){
	// 	week_days.slideToggle(500);
	// 	interval.slideToggle(500);
	// })
	// 
	// $('.week_days a').click(function(){
	// 	genres.slideToggle(500);
	// })
	// 
	// $('.interval .slider_range').click(function(){
	// 	genres.slideToggle(500);
	// })
	
	$('#all_channels .item').hover(function(){
		$(this).css('background-color', '#FFFCE6');
	}, function(){
		$(this).css('background-color', '#FFFFFF');
	})
	
	
	$('#UserLoginFormButton').click(function(){
		$('#UserLoginForm').submit();
	});
	
	$('#UserLoginForm').bind('submit', function(){
		login();
		return false;
	})
	
	/**
	 * Fire an AJAX call to login the user
	 */
	function login() {
		var data = $("#UserLoginForm").serialize();

		$.ajax({
			type: "post",
			url: "/ajax/login/",
			data: data,
			dataType: "json",
			success: function(response, status) {
				handleCallback(response, status);
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
				handleError(XMLHttpRequest, textStatus, errorThrown);
			}
		});

		return false;
	}



	/**
	 * Handle the AJAX callbacks
	 */
	function handleCallback(response, status) {
		// Response was a success
		if (response.success === true) {

			$(".login_form").hide();

			$(".welcome").fadeIn("slow");

		// Response contains errors
		} else {

			$(".login_form").hide();
			$('.loginError').fadeIn("slow");

		}

		return false;
	}

	/**
	 * Handle an AJAX failure
	 */
	function handleError(XMLHttpRequest, textStatus, errorThrown) {
		var error = "<li>An unexpected error has occurred.</li>";
		$("#responseError").html(error).slideDown();
	}
	
	/**
	 * Channels Genres
	 */

	var channelGenres = $('#j input')
	var channelIndex = $('#all_channels .list div')
	
	channelGenres.click(function(){
		filterChannels();
	})
	
	function filterChannels() {
		visible = getVisibleChannels($('#j input:checked'));
		channelIndex.hide()
		visible.show()
	}
	function getVisibleChannels(channels) {
		var genres = [];
		channels.each(function(i){
			genres[i] = '.list .item' + $(this).val();
		})
		selector = genres.join(", ")
		
		if (selector != '') visible = $(selector)
		else visible = channelIndex
		
	 	return visible;
	}
	
	if (channelIndex) filterChannels()	// on load run
	
	
	
});
