﻿/**
 * Checkroom of online RPG APEHA.ru
 * Special for zarctvo.ru (Царство Небесное)
 * 
 * Copyright (c) 2009 FINTER
 * email: blinovsv@gmail.com
 *
 * Date: 20-10-2009 
 * City: Moscow
 */

var dialog_titles = {
	"helm"    : "Выберите шлем",
	"amulet"  : "Выберите амулет",
	"armor"   : "Выберите броню",
	"belt"    : "Выберите пояс",
    "braces"  : "Выберите наручи",
	"gloves"  : "Выберите перчатки",
	"weapon"  : "Выберите оружие",
	"ring"    : "Выберите кольцо",
	"boots"   : "Выберите поножи",
	"pancu"   : "Выберите штаны"	
};

function create_dialog_items (dialog) {
	dialog.dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 800,
		height: 700,
		buttons: {
			Cancel: function(){
				$(this).dialog('close');
			}
		}
	});
}

function changer() {
	$("#dialog_items > div:not(:first)")
		.hide()
		.filter(function(){
			var value = $(".search > input:first").val().replace(new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"), "\\$&");
			return $(this).children("span").html().match(new RegExp(".*" + value +".*","ig"));
		})
		.filter(function(){
			var key = $(".search > select").val().replace(new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"), "\\$&");
			var value = $(".search > input:last").val().replace(new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"), "\\$&");
			if (key == "") return true;
			return $(this).children(".description").children("ul").html()
				.match(new RegExp(".*" + key +"[:][^0-9]*" + value + ".*","ig"));
		})
		.show();
}

function search_div () {
	var search_input = $('<input />')
		.addClass("ui-widget")
		.addClass("ui-state-default")
		.addClass("ui-corner-all")
		.attr('type', 'text')
		.attr('maxlength', '255')
		.hover(
			function(){	$(this).addClass("ui-state-hover"); }, 
			function(){ $(this).removeClass("ui-state-hover"); })
		.keyup(function(){ search_input.change(); })
		.change(changer);
		
	var filter = $('<select/>')
		.addClass("ui-widget")
		.addClass("ui-state-default")
		.addClass("ui-corner-all")
		.hover(
			function(){	$(this).addClass("ui-state-hover"); }, 
			function(){ $(this).removeClass("ui-state-hover"); })
		//.keyup(function(){ filter_input.change(); })
		.change(changer)
		.html('<option value="">(Не учитывать)</option>');
		
	for (var i in params) {
		if (i == "ldmg"  || 
			i == "hp"    || 
			i == "mp"    || 
			i == "rate"  ||
			i == "afist" ||
			i == "adef"  ||
			i == "aweap" ||
			i == "aacc"  ) continue;
		if (i == "rdmg") {
			filter.append('<option value="Урон">Урон</option>');
			continue;
		}
		filter.append('<option value="' + params[i][0] + '">' + params[i][0] + '</option>');
	}
	
	var filter_input = $('<input />')
		.addClass("ui-widget")
		.addClass("ui-state-default")
		.addClass("ui-corner-all")
		.attr('type', 'text')
		.attr('maxlength', '7')
		.hover(
			function(){	$(this).addClass("ui-state-hover"); }, 
			function(){ $(this).removeClass("ui-state-hover"); })
		.keyup(function(){ filter_input.change(); })
		.change(changer);

	return $('<div></div>').addClass("search")
		.html("Быстрый поиск: ").append(search_input)
		.append("&nbsp;&nbsp;&nbsp;")
		.append("Фильтровать по: ").append(filter).append("=")
		.append(filter_input);
}

function open_dialog_items () {
	whom = $(this).parent().parent().attr('id');
	slot = $(this).attr("class");
	item_type = get_item_type(slot);
	
	var dialog = $("#dialog_items"); 
	
	dialog.dialog('option', 'title', dialog_titles[item_type])
	dialog.dialog('open');
	dialog.html(search_div());
	
	for (var i in items[item_type]) {
		dialog.append(get_select_html(item_type, i));
	}
	
	$('.item')
		.click(function (){
			add_item(whom, slot, $(this).attr('id') - 1 + 1);
			$("#dialog_items").dialog('close');
		})
		.tooltip({
			track: true,
			bodyHandler: function () { return $(this).children('.description').html(); },
			extraClass: "stats"
		});
}

function create_dialog_gems (dialog) {
	dialog.dialog({
		autoOpen: false,
		bgiframe: true,
		modal: true,
		width: 800,
		height: 700,
		buttons: {
			Cancel: function(){
				$(this).dialog('close');
			}
		}
	});
	
	dialog.find("tr:even").addClass("even");
	dialog.find("tr:odd").addClass("odd");
	
	dialog.find("tr")
		.append($("<td> +5</td>").addClass("gem_plus"))
		.append($("<td> +7</td>").addClass("gem_plus"))
		.append($("<td> +9</td>").addClass("gem_plus"))
		.append($("<td>+11</td>").addClass("gem_plus"))
		.append($("<td>+15</td>").addClass("gem_plus"))
		.append($("<td>+19</td>").addClass("gem_plus"))
        .append($("<td>+23</td>").addClass("gem_plus"));
		
	$('.gem_plus').click(function (){
		add_gem(whom, slot, $(this).parent().attr('id'), $(this).html());
		$("#dialog_gems").dialog('close');
	});
}

function open_dialog_gems () {
	whom = $(this).parent().parent().attr('id');
	slot = $(this).attr("class");

	$('#dialog_gems').dialog('open');
}

