// Items section
var l2linkedSkillsLoaded = false;
var l2linkedRecipeLoaded = false;
var l2droplistLoaded = false;
var l2spoilLoaded = false;
var l2linkedQuestsLoaded = false;

// NPC section
var l2npcSpoilLoaded = false;
var l2npcMinionsLoaded = false;
var l2npcFactionLoaded = false;

// Skill section
var l2skillMobLoaded = false;
var l2skillWeaponLoaded = false;
var l2skillArmorLoaded = false;
var l2skillsNoHide = false;

$('tr.noPadding > td').live('click', function ()
{
	$('tr.noPadding > td').each(function()
	{
		$(this).css('border', '1px solid #000');
	});
	$(this).css('border', '0px');
});

function showLinkedObjects()
{
	hideLinkedObjects();
	$('#itemLinkedObjects').css('display', '');
}

function hideLinkedObjects()
{
	$('#itemStats > center > div').css('display', 'none');
}

function loadLinkedSkills(skillList, levelList)
{
	hideLinkedObjects();
	$('#linkedSkills').css('display', '');
	if (!l2linkedSkillsLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/linkedskills/id/' + skillList + '/levels/' + levelList, '#linkedSkills', '#cbLoading');
		l2linkedSkillsLoaded = true;
	}
}

function loadLinkedRecipe(itemId)
{
	hideLinkedObjects();
	$('#linkedRecipes').slideDown();
	if (!l2linkedRecipeLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/itemrec/id/' + itemId + '/', '#linkedRecipes', '#cbLoading');
		l2linkedRecipeLoaded = true;
	}
}

function loadLinkedDrop(itemId)
{
	hideLinkedObjects();
	$('#linkedDroplist').slideDown();
	if (!l2droplistLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/droplist/id/' + itemId, '#linkedDroplist', '#cbLoading');
		l2droplistLoaded = true;
	}
}

function loadLinkedSpoil(itemId)
{
	hideLinkedObjects();
	$('#linkedSpoil').slideDown();
	if (!l2spoilLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/spoillist/id/' + itemId, '#linkedSpoil', '#cbLoading');
		l2droplistLoaded = true;
	}
}

function loadNpcSpoil(npcId)
{
	hideLinkedObjects();
	$('#npcSpoil').slideDown();
	if (!l2npcSpoilLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/npcspoil/id/' + npcId, '#npcSpoil', '#cbLoading');
		l2npcSpoilLoaded = true;
	}
}

function loadNpcMinions(npcId)
{
	hideLinkedObjects();
	$('#npcMinions').slideDown();
	if (!l2npcMinionsLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/npcminions/id/' + npcId, '#npcMinions', '#cbLoading');
		l2npcMinionsLoaded = true;
	}
}

function loadNpcFaction(factionId)
{
	hideLinkedObjects();
	$('#npcFaction').slideDown();
	if (factionId != '')
		$('#npcFaction').html('Фракция отсутствует :(');
		
	if (!l2npcFactionLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/npcfaction/id/' + factionId, '#npcFaction', '#cbLoading');
		
	}
}

function loadRecipe(itemId, count, imgObj)
{
	$('#recitem' + itemId + count).slideToggle(500, function ()
	{
		if ($('#recitem' + itemId + count).css('display') == 'none')
			$(imgObj).attr('src', cbSystemRoot + 'var/uploads/images/l2/plus.gif');
		else
			$(imgObj).attr('src', cbSystemRoot + 'var/uploads/images/l2/minus.gif');
	});
}

function loadSkillClasses()
{
	hideLinkedObjects();
	$('#linkedSkillClasses').slideDown();
}

function loadSkillMobs(skillId, level)
{
	hideLinkedObjects();
	$('#linkedSkillMobs').slideDown();
	if (!l2skillMobLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/skillmobs/id/' + skillId + '/level/' + level + '/', '#linkedSkillMobs', '#cbLoading');
		l2skillMobLoaded = true;
	}
}

function loadSkillWeapon(skillId, level)
{
	hideLinkedObjects();
	$('#linkedSkillWeapon').slideDown();
	if (!l2skillWeaponLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/skillweapons/id/' + skillId + '/level/' + level + '/', '#linkedSkillWeapon', '#cbLoading');
		l2skillWeaponLoaded = true;
	}
}

function loadSkillArmor(skillId, level)
{
	hideLinkedObjects();
	$('#linkedSkillArmor').slideDown();
	if (!l2skillArmorLoaded)
	{
		cbAjax(cbSystemRoot + 'l2/skillarmors/id/' + skillId + '/level/' + level + '/', '#linkedSkillArmor', '#cbLoading');
		l2skillArmorLoaded = true;
	}
}

function spawn(npcId)
{
	if (npcId < 1)
		return false;
		
	cbCenter('.spawn');
	$('.spawn').html('Загрузка...');
	$('.spawn').slideDown();
	
	$.ajax({
	url: cbSystemRoot + 'l2/spawn/id/' + npcId,
	beforeSend: function(request)
	{
		request.setRequestHeader('AJAX', 1);
	},
	success: function(data)
	{
		$('.spawn').html(data);
		cbCenter('.spawn');
	}
	});
}

function loadNpcQuest(npcName)
{
	if (!npcName || npcName == '')
		return false;
		
	hideLinkedObjects();
	$('#npcQuest').slideDown();
		
	cbAjax(cbSystemRoot + 'l2/inquest/id/' + npcName + '/', '#npcQuest', '#cbLoading');
}

function loadClassSkills(classId, level, allSkills, noHide)
{
	if (!classId || classId < 1 || !level || level < 1)
		return false;
		
	if (allSkills == true)
	{
		$('.classSkillsButton').each(function ()
		{
			$(this).click();
		});
		for (var i = 0; i <= 100; i++)
			$('#skills' + i).show();
	}
	else
	{
		for (var i = 0; i <= 100; i++)
			$('#skills' + i).hide();
	}
	
	$.ajax({
	url: cbSystemRoot + 'l2/loadskills/id/' + classId + '/level/' + level + '/',
	beforeSend: function(request)
	{
		$('#skillsLoading' + level).show();
		request.setRequestHeader('AJAX', 1);
	},
	success: function(data)
	{
		$('#skillsLoading' + level).hide();
		$('#skills' + level).html(data);
		$('#skills' + level).show();
	}
	});
}

function showRaidMap()
{
	cbCenter('#raidMap');
	$('#raidMap').slideDown();
}
