function HideShowElement (el, show)
{
	if ( ! el )
		return;
	if ( show )
	{
		el.style.visibility = "visible";
		el.style.display = "block";
	}
	else
	{
		el.style.visibility = "hidden";
		el.style.display = "none";
	}
}

function $ (elId)
{
	return document.getElementById(elId);
}

function SetRegionOption (clickEl)
{
	HideShowElement($("uk_zip_el"), clickEl.checked && (clickEl.value == 1));
	HideShowElement($("uk_region_el"), clickEl.checked && (clickEl.value == 1));
	HideShowElement($("rest_of_world_el"), clickEl.checked && (clickEl.value == 3));
}

function RegionClicked (event)
{
	var clickEl;
	if (event && event.currentTarget)
		clickEl = event.currentTarget;
	else
		clickEl = window.event.srcElement;
	
	SetRegionOption(clickEl);
}

function PremiumClicked (visible)
{
	HideShowElement($("premium_options"), visible);
}

function ValidateTandC(source, args)
{
	args.IsValid = $(g_termsBox).checked;
}

var languageSkills = new Array();
function LanguageSkillSelected (skillId, enable)
{
	var anyEnabled = false;
	languageSkills[skillId] = enable;
	for (var i in languageSkills)
	{
		if (languageSkills[i])
		{
			anyEnabled = true;
			break;
		}
	}
	
	HideShowElement($('lang_list'), anyEnabled);
	PremiumSkill(skillId, enable);
}

function LanguageSkillSelectedEl (event, skillId)
{
	var clickEl;
	if (event && event.currentTarget)
		clickEl = event.currentTarget;
	else
		clickEl = window.event.srcElement;
	
	LanguageSkillSelected(skillId, clickEl.checked);
}

function PremiumSkill (id, show)
{
	HideShowElement($('premskill_' + id), show);
}

function PremiumSector (id, show)
{
	HideShowElement($('premsector_' + id), show);
}

function EnableDisableNotifications (enabled)
{
	var searchNotif = document.getElementById('ReceiveSearchNotification_Yes').firstChild;
	var newNotif = document.getElementById('ReceiveNewNotification_Yes').firstChild;
	if ( ! enabled )
		searchNotif.checked = false;
	searchNotif.disabled = ! enabled;
	
	if ( ! enabled )
		newNotif.checked = false;
	newNotif.disabled = ! enabled;
}

function EnablePremium (enable, info)
{
	var countEl = $("prem_count");
	var costEl = $("prem_pricing");
	var count = parseInt(document.all ? countEl.innerText : countEl.textContent);
	var cost = parseFloat(document.all ? costEl.innerText : costEl.textContent);
	var idEl = $(info[5]);
	
	if ( idEl.currentCost )
	{
		cost -= idEl.currentCost;
		idEl.currentCost = null;
		--count;
	}
	if (enable != 0)
	{
		var costDelta = (enable == 1) ? info[3] : info[4];
		cost += costDelta;
		idEl.currentCost = costDelta;
		++count;
	}
	
	if ( document.all )
	{
		countEl.innerText = count;
		costEl.innerText = cost.toPrecision(Math.floor(cost).toString().length + 2);
	}
	else
	{
		countEl.textCountent = count;
		countEl.textContent = cost.toPrecision(3);
	}
	
	//EnableDisableNotifications(count > 0);
}

function PremiumChecked (event, info)
{
	var clickEl;
	if (event && event.currentTarget)
		clickEl = event.currentTarget;
	else
		clickEl = window.event.srcElement;
	
	EnablePremium(clickEl.value, info);	
}

function ListingTypeClicked (show)
{
	HideShowElement($('company_name'), show);
}

var g_langSkillUpdate = null;
var g_skills = null;
var g_sectors = null;

function IsSkillOrSectorEnabled (id1, id2)
{
	var el1 = $(id1);
	if ( ! el1 )
		return false;
	if (id2 != null)
	{
		var el2 = $(id2);
		if ( ! el2 )
			return false;
		
		return el1.checked || el2.checked;
	}
	else
		return el1.checked;
}

function UpdateValues ()
{
	for (var i in g_langSkillUpdate)
	{
		var cur = g_langSkillUpdate[i];
		LanguageSkillSelected(cur[2], IsSkillOrSectorEnabled(cur[0], cur[1]));
	}
	
	if ( g_skills != null )
	{
		for (var i in g_skills)
		{
			var cur = g_skills[i];
			PremiumSkill(cur[2], IsSkillOrSectorEnabled(cur[0], cur[1]));
			if ( $(cur[6]).checked )
				EnablePremium(1, cur);
			else if ( $(cur[7]).checked )
				EnablePremium(2, cur);
		}
	}
	
	if ( g_sectors != null )
	{
		for (var i in g_sectors)
		{
			var cur = g_sectors[i];
			PremiumSector(cur[2], IsSkillOrSectorEnabled(cur[0], cur[1]));
			if ( $(cur[6]).checked )
				EnablePremium(1, cur);
			if ( $(cur[7]).checked )
				EnablePremium(2, cur);
		}
	}
}