window.addEvent('domready', function()
{
	if($('RegPosFilter'))
	{
		if($('DepartmentID'))
		{
			$('DepartmentID').addEvents({
				'focus': function(){
					aDepartmentID = this.get('value');					
					FilterPositionMultiSelect(aDepartmentID);
				},
				'change': function(){
					aDepartmentID = this.get('value');
					FilterPositionMultiSelect(aDepartmentID);
				}
			});
		}
	}
	
	if($('CurrentLocationHolder') && $('CurrentLocationHolder').children.length > 0)
	{
		LoadCurrentCountrySelect();
		
		$each($('CurrentLocationHolder').children, function(item, key){
			// item.setStyle('display', 'none');
			item.style.display = 'none';
		});
	}
	
	if($('advanced'))
	{
		var URL = unescape(window.document.location);

		var aAdvancedFormToSlide = new Fx.Slide('advanced');
		if (URL.indexOf("advancedsearch=1") < 0) aAdvancedFormToSlide.hide(); // Only hide if advanced search link hasn't been clicked

		$('advanced').getParent().setStyle('width','100%');
		$('advanced').style.display = 'block';

		$('advancedsearchlink').style.cursor = 'pointer';
		$('advancedsearchlink').style.color = '#A00';
		$('advancedsearchlink').style.textDecoration = 'underline';
		$('advancedsearchlink').addEvent('click', function(e){
			e.stop();
			aAdvancedFormToSlide.toggle();
		});
	}
	
	// Candidate Department>Position>Skill/Quall dropdown 
	if($('PositionsHolder') && $('preferencesform') && !$('editworkthistory'))
	{
		if($('QualificationSelections')) $('QualificationSelections').style.display = "none";
		if($('SkillSelections')) $('SkillSelections').style.display = "none";
		$('PositionsHolder').style.display = "none";
		
		aDepartmentSelect = $('preferencesform').getElement('select[name=DepartmentID]');
		
		if(aDepartmentSelect)
		{
			aDepartmentSelect.addEvents({
				'focus': function(){
				},
				'change': function(){
					
					if(this.selectedIndex == 0)
					{
						$('PositionsHolder').setStyle('display', 'none');
						$('QualiSkillsHolder').setStyle('display', 'none');
					}
					else
					{
						if($('preferencesform'))
						{
							aCandPositionID = $('preferencesform').getElement('input[name=candpositionid]').get('value');
							aCandidateID = $('preferencesform').getElement('input[name=CandidateID]').get('value');
						} else aCandidateID = '';
						
						aSelectedDepartmentID = aDepartmentSelect.get('value');
						CandidateLoadDepartmentPositions(aSelectedDepartmentID, aCandidateID, aCandPositionID, 'candidate');
						
						$('QualiSkillsHolder').setStyle('display', 'none');
					}
				}
			});
		}
				
		if($('Positions') && $('preferencesform'))
		{
			$('Positions').addEvents({
				'focus': function(){
				},
				'change': function(){
					if(this.selectedIndex == 0)
					{
						$('QualiSkillsHolder').setStyle('display', 'none');
					}
					else
					{
						aDepartmentSelect = $('preferencesform').getElement('select[name=DepartmentID]');
						
						aSelectedDepartmentID = aDepartmentSelect.get('value');
						aSelectedPositionID = this.get('value');
						
						if($('preferencesform'))
						{
							aCandPositionID = $('preferencesform').getElement('input[name=candpositionid]').get('value');
							aCandidateID = $('preferencesform').getElement('input[name=CandidateID]').get('value');
						} else aCandidateID = '';
						
						CandidateLoadPositionSkillsQualifications(aSelectedDepartmentID, aSelectedPositionID, aCandidateID, aCandPositionID, 'candidate');
					}
				}
			});
		}
		
		if($('preferencesform'))
		{
			$('PositionsHolder').setStyle('display', 'block');
			aDepartmentSelect = $('preferencesform').getElement('select[name=DepartmentID]');
			aDepartmentSelect.fireEvent('change');
			$('Positions').fireEvent('change');
		}
	}
	
	if($('refrenceformholder'))
	{
		$$('#refrenceformholder form').setStyle('display','none');
		
		$('ReferenceType').addEvent('change', function(e){
			aCurrentSelection = this.get('value');
			
			switch(aCurrentSelection)
			{
				case '0':
					$$('#refrenceformholder form').setStyle('display','none');
				break
				
				case '1':
					$$('#refrenceformholder form').setStyle('display','none');
					$$('#refrence_existingwh form').setStyle('display','block');
					
					var aHiddenInput = new Element('input', {'type': 'hidden', 'name':'ReferenceType', 'value': aCurrentSelection});
					aHiddenInput.injectInside('existing_wh_ref');
					
 				break
				
				case '2':
					$$('#refrenceformholder form').setStyle('display','none');
					$$('#refrence_standard form').setStyle('display','block');
					
					var aHiddenInput = new Element('input', {'type': 'hidden', 'name':'ReferenceType', 'value': aCurrentSelection});
					aHiddenInput.injectInside('full_wh_ref');
				break
				
				default:
					$$('#refrenceformholder form').setStyle('display','none');
			}
		});
		
		$('ReferenceType').fireEvent('change');
	}
	
});

function FilterPositionMultiSelect(aDepartmentID)
{
	new Request.HTML({
		url: "../manage/admin/ajax.php",
		update: $('PositionID'),
		onSuccess: function(response)
		{}
	}).post({'DepartmentID': aDepartmentID, 'type': 'filterpositionmulti'});
}

// Candidate
function CandidateLoadDepartmentPositions(aDepartmentID, aCandidateID, aCandPositionID)
{
	new Request.HTML({
		url: "../manage/admin/ajax.php",
		update: $('Positions'),
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript)
		{			
			if(responseHTML.clean() != '<option value="">No positions bookings</option>')
			{
				$('PositionsHolder').style.display = 'block';
			}
		}
	}).post({'DepartmentID': aDepartmentID, 'CandidateID': aCandidateID,  'CandPositionID': aCandPositionID, 'type': 'loadcandidatedeptpositions'});
}

function CandidateLoadPositionSkillsQualifications(aDepartmentID, aPositionID, aCandidateID, aCandPositionID)
{
	new Request.HTML({
		url: "../manage/admin/ajax.php",
		update: $('QualiSkillsHolder'),
		onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript)
		{
			if(responseHTML.clean() != '')
			{
				//$('QualificationSelections').setStyle('visibility', 'visible');
				$('QualiSkillsHolder').setStyle('display', 'block');
				$$('.nojsdescription').setStyle('display', 'none');
				$$('.checkboxdiv').setStyle('display', 'block');
			}
		}
	}).post({'PositionID': aPositionID, 'DepartmentID': aDepartmentID, 'CandidateID': aCandidateID, 'CandPositionID': aCandPositionID, 'type': 'loadcandidatepositionskillsqualls'});
}

function LoadWorkRefrenceData(aWorkHistoryID)
{
	var aLoadWorkRef = new Request.JSON({
		url: "../manage/admin/ajax.php",
		onSuccess: function(response) {
			aRefForm = $('existing_wh_ref');
			aRefForm.getElements('input[name=CompanyName]').set('value', response.CompanyName);
			aRefForm.getElements('input[name=FinalSalary]').set('value', response.FinalSalary);
			aRefForm.getElements('select[name=VesselType]').set('value', response.VesselType);
			aRefForm.getElements('select[name=VesselSizeID]').set('value', response.VesselSizeID);
			aRefForm.getElements('select[name=PositionVessel]').set('value', response.PositionVessel);			
			aRefForm.getElements('select[name=DepartmentID]').set('value', response.DepartmentID);
			aRefForm.getElements('select[name=PositionID]').set('value', response.PositionID);
			aRefForm.getElements('input[name=ReferenceEmail]').set('value', response.ReferenceEmail);
			aRefForm.getElements('select[name=RefContactOption]').set('value', response.RefContactOption);
		},
		onFailure: function() {				
		}
	});

	aLoadWorkRef.post({'WorkHistoryID': aWorkHistoryID, 'type': 'loadworkref'});
}

function LoadCurrentCountrySelect()
{
	aCurrentLocation = $('CurrLoc').get('html').toInt();
	
	new Request.HTML({
		url: "../manage/admin/ajax.php",
		update: $('CurrentCountrySelectsDiv'),
		onSuccess: function(response)
		{
			$('CurrentCountrySelectsDiv').setStyle('display','block');
			$('CurrentCountrySelect').addEvent('change', function(){
				aCurrentCountryID = this.get('value');
				LoadCurrentCountryLocationsSelect(aCurrentCountryID);
			});
			
			if(aCurrentLocation > 0)
			{
				$('CurrentCountrySelect').fireEvent('change');
			}
		}
		
	}).post({'CurrentLocation': aCurrentLocation, 'type': 'loadcountriesselect'});
}

function LoadCurrentCountryLocationsSelect(aSelectedCountry)
{
	aCurrentLocation = $('CurrLoc').get('html').toInt();
	
	new Request.HTML({
		url: "../manage/admin/ajax.php",
		update: $('CurrentCountryLocationSelectsDiv'),
		onSuccess: function(response)
		{
			$('CurrentCountryLocationSelectsDiv').setStyle('display','block');
		}
	}).post({'CurrentLocation': aCurrentLocation, 'CurrCountryID': aSelectedCountry, 'type': 'loadcountrylocationsselect'});
}
