var page = {man: 0, woman: 0, all: 0};
var watchedtotal = 0;
var pagetotal = 0;
var nametotal = 0;
var siteRootUrl = siteRoot + '/names/ajax';
var main_obj = $('.table_names_main_parent .table_names_main');
var wait_ajax = $('#wait_ajax_names');

if ( !sex ) var sex = 'all';
if ( !ethnic_id ) var ethnic_id=0;
if ( !letter_id ) var letter_id=0;
if ( !no_auto_load ) var no_auto_load=false;
if ( !reset_pager ) var reset_pager=false;
if ( !scale_size ) var scale_size=false;
if ( !action_buttons_disabled ) var action_buttons_disabled=false;
if ( !mychoise ) var mychoise= false;
if ( !randoms ) var randoms= 0;
if ( !description ) var description=false;

$(document).ready(function() {
	if ( !no_auto_load ) {
		LoadPageName(page[sex], false);
		change_show_information();
		if (page[sex] == 0) {
			page[sex]++;
		}
	}
});

function LoadPageName(pages, type) {
	Query.add(siteRootUrl, {action:"getAllNames", page: pages, sex: sex, letter_id: letter_id, ethnic_id: ethnic_id, random: randoms}, function(data) {
		if (!type) {
			main_obj.html('').append('<div class="name_page_item"></div>');
			main_obj.find('.name_page_item').html(data);
		} else {
			main_obj.find('.name_page_item').addClass('old_ver');
			if (type == 'next') {
				main_obj.append('<div class="name_page_item new_ver"></div>');
				main_obj.find('.new_ver').html(data);
				main_obj.animate({"left": "-690px"}, 500, function() {
					main_obj.find('.old_ver').remove();
					main_obj.css('left', 0);
					main_obj.find('.new_ver').removeClass('new_ver');
				});
			} else {
				main_obj.prepend('<div class="name_page_item new_ver"></div>');
				main_obj.css('left', "-690px");
				main_obj.find('.new_ver').html(data);
				main_obj.animate({"left": 0}, 500, function() {
					main_obj.find('.old_ver').remove();
					main_obj.find('.new_ver').removeClass('new_ver');
				});
			}
		}
		wait_ajax.hide();
		change_show_information();
	});
}

function nextPageLoad() {
	if (pagetotal != page[sex]) {
		page[sex]++;
		wait_ajax.show();
		LoadPageName(page[sex], 'next');
	}
}

function prevPageLoad() {
	if (page[sex] > 1) {
		page[sex]--;
		wait_ajax.show();
		LoadPageName(page[sex], 'prev');
	}
}

$('select[name=sex]').change(function() {
	wait_ajax.show();
	sex = $(this).val();
	if ( reset_pager ) page[sex] = 1;
	LoadPageName(page[sex], false);
});

$('select[name=ethnic_id]').change(function() {
	wait_ajax.show();
	ethnic_id = $(this).val();
	if ( reset_pager ) page[sex] = 1;
	LoadPageName(page[sex], false);
});

function change_buttons() {
	if (pagetotal == page[sex]) {
		$('#next_name_button > a').hide();
	} else {
		$('#next_name_button > a').show();
	}

	if (page[sex] == 1) {
		$('#prev_name_button > a').hide();
	} else {
		$('#prev_name_button > a').show();
	}
}

function change_show_information() {
	var inf_text;

	switch (sex) {
		case 'man':
			inf_text = ' имен мальчиков';
			break;
		case 'woman':
			inf_text = ' имен девочек';
			break;
		case 'all':
			inf_text = ' имени';
			break;
	}
	if (nametotal < watchedtotal) {
		watchedtotal = nametotal;
	}
	$('#name_count').html('<span class="color_green">' + nametotal + '</span>' + inf_text);
	$('#watchedtotal').html('<span class="color_green">' + watchedtotal + '</span>' + inf_text);
}

//manipulation block
var height_block_name = 20;
var move_animation_speed = 300;

if ( !action_buttons_disabled ) {
	$('#collection_dont_know').find('.names_heart_off_c').live('click', function () {
		sendAjax ( $(this).parent('li').find('.nm').attr('ids') , 1 );
		MoveObject( $(this), 'like');
	});
	$('#collection_dont_know').find('.names_stop_off_c').live('click', function () {
		sendAjax ( $(this).parent('li').find('.nm').attr('ids') , 2 );
		MoveObject($(this), 'not_like');
	});
	$('#collection_dont_know').find('.names_star_off_c').live('click', function () {
		sendAjax ( $(this).parent('li').find('.nm').attr('ids') , 4 );
		MoveObject( $(this), 'favorite');
	});
	$('#collection_like').find('.names_stop_off_c').live('click', function () {
		sendAjax ( $(this).parent('li').find('.nm').attr('ids') , 2 );
		MoveObject($(this), 'not_like');
	});
	$('#collection_like').find('.names_question_off_c').live('click', function () {
		sendAjax ( $(this).parent('li').find('.nm').attr('ids') , 3 );
		MoveObject($(this), 'dont_know');
	});
	$('#collection_like').find('.names_star_off_c').live('click', function () {
		sendAjax ( $(this).parent('li').find('.nm').attr('ids') , 4 );
		MoveObject( $(this), 'favorite');
	});
	$('#collection_not_like').find('.names_cross_off_c').live('click', function () {
		removeBlock($(this).parent());
		var ids = $(this).parent('li').find('.nm').attr('ids');
		sendAjax ( ids , 0 );
		var action_change_block = $('.table_names_main').find('#name_actions_' + ids);
		if (action_change_block) {
			changeActionButtonsTables(action_change_block.parent(), 'not_use');
		}
	});


	$('.table_names_main').find('.names_stop_off_c').live('click', function() {
		sendAjax ( getNameIdMainTable ( $(this) ), 2 );
		MoveObject(ConvertTableNameItemToAbsolute($(this)), 'not_like', true);
	});
	$('.table_names_main').find('.names_heart_off_c').live('click', function() {
		sendAjax ( getNameIdMainTable ( $(this) ), 1 );
		MoveObject(ConvertTableNameItemToAbsolute($(this)), 'like', true);
	});
	$('.table_names_main').find('.names_question_off_c').live('click', function() {
		sendAjax ( getNameIdMainTable ( $(this) ), 3 );
		MoveObject(ConvertTableNameItemToAbsolute($(this)), 'dont_know', true);
	});
}
function getNameIdMainTable( obj ) {
	var array_id  = obj.parents('.name_action_buttons').attr('id').split("_");
	return parseInt ( array_id[2] );
}

function sendAjax( id, status ) {
	Query.add( siteRoot + '/names/ajax/',
			   {action:"addRated", name_id: id, status: status}, function (callback) {}
			);
}

function ConvertTableNameItemToAbsolute(objct) {
	var obj = objct.parents('.names_item_gif').find('.name_title');
	var obj_name = obj.clone().find('.nm');
	if ( scale_size ) {
		obj.addClass('relative').append('<ul class="absolute" style="left:20px;top:0;font-size:' + scale_size + 'px" />').find('ul').append('<li></li>').find('li').append(obj_name);
	} else {
		obj.addClass('relative').append('<ul class="absolute" style="left:20px;top:0;" />').find('ul').append('<li></li>').find('li').append(obj_name);
	}
	return obj.find('.absolute');
}

function check_name_favorite( type ) {
	var item_by_name = $('.table_of_names').find('.names_item_gif').length;
	if ( !type && item_by_name >= 8 ) {
		$('.user_collection_block_main .names_star_off_c').hide();
	} else if ( type == 'show' ) {
		$('.user_collection_block_main .names_star_off_c').show();
	}
}

function check_name_count () {
	var item_by_name = $('.table_of_names').find('.names_item_gif').length;
	if ( item_by_name == 0 ) {
		$('#no_names_favorite_chosen').animate( {'height':22,'padding':10}, move_animation_speed );
	} else {
		$('#no_names_favorite_chosen').animate( {'height':0,'padding':0}, move_animation_speed );
		if ( item_by_name > 1 ) {
			$('#names_servey_button').animate( {'height':22}, move_animation_speed )
		} else {
			$('#names_servey_button').animate( {'height':0}, move_animation_speed )
		}
	}
}

function MoveObject(object, type, from_table) {
	from_table = from_table || false;

	var obj_block, obj, oldblock;

	switch (type) {
		case 'like':
			obj_block = $('#collection_like');
			if ( mychoise ) {check_name_favorite( 'show' )}
			break;
		case 'not_like':
			obj_block = $('#collection_not_like');
			if ( mychoise ) {check_name_favorite( 'show' )}
			break;
		case 'dont_know':
			obj_block = $('#collection_dont_know');
			if ( mychoise ) {check_name_favorite( 'show' )}
			break;
		case 'favorite':
			obj_block = $('ul.table_of_names');
			check_name_favorite();
			break;
	}

	var ids = object.parent('li').find('.nm').attr('ids');

	if (!from_table) {
		var action_change_block = $('.table_names_main').find('#name_actions_' + ids);
		if (action_change_block) {
			changeActionButtonsTables(action_change_block.parent(), type);
		}
	}

	if (!from_table) {
		obj = object.parent();
		oldblock = convertLiToAbsolute(obj);
	} else {
		obj = object.children();
		oldblock = obj.parent();
	}
	
	if (from_table) {
		changeActionButtonsTables(oldblock.parents('.names_item_gif'), type);
		if ( mychoise ) var removable_item = oldblock.parents('.names_item_gif');
	}

	obj_block.animate({'scrollTop': 0}, 200, function() {
		if ( type == 'favorite') {
			var newblock = addNewBlockToTable(obj_block);
			MoveObjtoObj(obj.parent(), newblock, oldblock, 'ul', removable_item, true);
		} else {
			var newblock = addNewBlock(obj_block);
			MoveObjtoObj(obj.parent(), newblock, oldblock, 'ul', removable_item, false);
		}

		addActionButtons(newblock, type, ids);


		if (!from_table) {
			removeBlock(oldblock);
		}

	});
}
function convertLiToAbsolute(obj) {
	var new_obj = obj.wrap('<li class="relative" />').wrap('<ul class="absolute" />').parents('li');
	obj.find('.ico_20x20_g').remove();
	return new_obj
}
function addNewBlock( obj ) {
		obj.find('ul').prepend('<li style="height:0"></li>');
		return obj.find('li:first').animate({height: height_block_name}, move_animation_speed);
}
function addNewBlockToTable( obj ) {
	obj.find('li:first').append('<div class="names_item_gif" style="height:0;width:0"></div>');
	return obj.find('.names_item_gif:last').animate({width: 211,height: 30}, move_animation_speed);
}

function removeBlock(obj) {
	obj.animate({"height": 0}, move_animation_speed, function () {
		$(this).remove()
	});
}
function MoveObjtoObj(obj_moveble, obj_to_move, oldblock, type, removable_item, to_table) {
	to_table = to_table || false;
	removable_item = removable_item || false;
	var obj_moveble_offset = obj_moveble.offset();
	var obj_to_move_offset = obj_to_move.offset();

	if ( to_table ) {
		obj_to_move_offset.top = obj_to_move_offset.top + 5;
		obj_to_move_offset.left = obj_to_move_offset.left +20;
	}

	$('body').append('<div id="temp_block_names" class="realtive"></div>');
	obj_moveble.css('top', obj_moveble_offset.top).css('left', obj_moveble_offset.left);
	var temp_block = $('#temp_block_names').append( obj_moveble );

	if ( scale_size ) {
		obj_moveble.animate({"top": obj_to_move_offset.top + "px", "left": obj_to_move_offset.left,"fontSize":12}, move_animation_speed, function() {
			pub_absolute_object()
		});
	} else {
		obj_moveble.animate({"top": obj_to_move_offset.top + "px", "left": obj_to_move_offset.left}, move_animation_speed, function() {
			pub_absolute_object()
		});
	}
	function pub_absolute_object() {
		switch (type) {
			case 'ul':
				if ( to_table ) {
					var z = obj_moveble.find('li').children();
					obj_to_move.append( '<div class="name_title"></div>' );
					var name_title = obj_to_move.find ('.name_title'); 
					if ( z.hasClass('pink_color') ) {
						name_title.prepend('<span class="face png_fix child_icon_4"></span>');
					} else {
						name_title.prepend('<span class="face png_fix child_icon_3"></span>');
					}
					name_title.append( z );
				} else {
					obj_to_move.append(obj_moveble.find('li').children());
				}
				break;
		}
		if ( removable_item ) {
			removeObjectAnimation ( removable_item );
		} else if ( mychoise ){
			check_name_count();
		}
		temp_block.remove();
	}
}

function removeObjectAnimation( obj ) {
	obj.css('overflow','hidden').animate({"width":0,"height":0},move_animation_speed,function() {
		$( this ).remove();
		check_name_count();
	});
}

function addActionButtons(obj, type, ids) {
	ids = ids || false;
	var x;
	switch (type) {
		case 'like':
			x = $('#tools_for_name #like_blank').clone();
			obj.append(x.find('a.ico_20x20_g'));
			break;
		case 'not_like':
			x = $('#tools_for_name #not_like').clone();
			obj.append(x.find('a.ico_20x20_g'));
			break;
		case 'dont_know':
			x = $('#tools_for_name #dont_know').clone();
			obj.append(x.find('a.ico_20x20_g'));
			break;
		case 'favorite':
			x = $('#tools_for_name #favorite_names').clone().find('div');
			x.attr('id', 'name_actions_' + ids );
			obj.append(x);
			break;
	}
}

function name_block_remove_all( block_number ) {
	Query.add( siteRoot + '/names/ajax/',
			   { action:"clearRated", status: block_number }, function (callback) {}
			);
	switch ( block_number ) {
		case 1:
			var obj_id = 'collection_like';
		break;
		case 2:
			var obj_id = 'collection_not_like';
		break;
		case 3:
			var obj_id = 'collection_dont_know';
		break;
	}
	$( '#'+ obj_id ).find('li').animate({"height": 0}, 500, function() {
		$( this ).remove();	
	});
	if ( !description ) LoadPageName(page[sex], false);
}

function changeActionButtonsTables(objt, type) {
	var obj = objt.find('.name_action_buttons');
	var heart = obj.find('.names_heart_off_c, .names_heart_on_c');
	var stop = obj.find('.names_stop_off_c, .names_stop_on_c');
	var question = obj.find('.names_question_off_c, .names_question_on_c');
	switch (type) {
		case 'like':
			heart.animate({"width": 14,"marginRight": 0}, move_animation_speed).removeClass('names_heart_off_c names_heart_on_c name_hide_button').addClass('names_heart_on_c');
			stop.animate({"width": 0, "marginRight": 0}, move_animation_speed).removeClass('names_stop_off_c names_stop_on_c name_hide_button').addClass('names_stop_off_c');
			question.animate({"width": 0, "marginRight": 0, "margin-left": 0}, move_animation_speed).removeClass('names_question_off_c name_hide_button').addClass('names_question_off_c');
			break;
		case 'not_like':
			heart.animate({"width": 0, "marginRight": 0}, move_animation_speed).removeClass('names_heart_off_c names_heart_on_c name_hide_button').addClass('names_heart_off_c');
			stop.animate({"width": 14, "marginRight": 0}, move_animation_speed).removeClass('names_stop_off_c names_stop_on_c name_hide_button').addClass('names_stop_on_c');
			question.animate({"width": 0, "marginRight": 0, "margin-left": 0}, move_animation_speed).removeClass('names_question_off_c name_hide_button').addClass('names_question_off_c');
			break;
		case 'dont_know':
			heart.animate({"width": 0, "marginRight": 0}, move_animation_speed).removeClass('names_heart_off_c names_heart_on_c name_hide_button').addClass('names_heart_off_c');
			stop.animate({"width": 0, "marginRight": 0}, move_animation_speed).removeClass('names_stop_off_c names_stop_on_c name_hide_button').addClass('names_stop_off_c');
			question.animate({"width": 8, "marginRight": 3, "margin-left": 0}, move_animation_speed).removeClass('names_question_off_c name_hide_button').addClass('names_question_on_c');
			break;
		case 'not_use':
			heart.animate({"width": 14, "marginRight": 3}, move_animation_speed).removeClass('names_heart_off_c names_heart_on_c name_hide_button').addClass('names_heart_off_c');
			stop.animate({"width": 14, "marginRight": 4}, move_animation_speed).removeClass('names_stop_off_c names_stop_on_c name_hide_button').addClass('names_stop_off_c');
			question.animate({"width": 8, "marginRight": 3}, move_animation_speed).removeClass('names_question_off_c name_hide_button').addClass('names_question_off_c');
			break;
		case 'my_favorite':
			heart.animate({"width": 0}, move_animation_speed);
			stop.animate({"width": 0}, move_animation_speed);
			question.animate({"width": 0}, move_animation_speed);
			break;
	}
}

function creat_servey_from_names() {
	var name_list = $('.table_names_main').find('.name_title > a');
	var form = $('#names_form_servey')
	name_list.each(function () {
		form.prepend('<input type="hidden" name="names[]" value="' + $(this).text() + '" />');
	});
	form.submit();
}
