/*
 * media_relation.js
 * 
 * contains script to work with media relation
 */
 
var lookupAccountUrl = '?dirs=lookups&page=lookUpAccounts&functionCallBack=on_select_media_relation&filter=';
var locationAjaxUrl = 'ajax/citiesList.php';
var relationType = 0;

function initMedia(lpUrl, locationUrl)
{
	lookupAccountUrl = lpUrl;
	locationAjaxUrl = locationUrl;
}
			
function media_relation_click(relationID)
{
	relationType = relationID;
	var rtSelect = $('media_relations[' + relationID + '][related_to_type_id]');
	var rtSelected = rtSelect.options[rtSelect.selectedIndex].text;

	if ( rtSelected.indexOf('Lodging') != -1 )
	{
		createWindow(lookupAccountUrl + "lodging", "parentSelectWindow", "resizeable,scrollbars", 650, 400);
	}
	else if (rtSelected == 'Attraction')
	{
		createWindow(lookupAccountUrl + "attractions", "parentSelectWindow", "resizeable,scrollbars", 650, 400);
	}
	else if (rtSelected == 'Restaurant')
	{
		createWindow(lookupAccountUrl + "restaurants", "parentSelectWindow", "resizeable,scrollbars", 650, 400);
	}
}

function media_relation_select(relationID)
{
	relationType = relationID;
	var rtSelect = $('media_relations[' + relationID + '][related_to_type_id]');
	var rtSelected = rtSelect.options[rtSelect.selectedIndex].text;

	$('media_relations[' + relationID + '][related_to_text]').value = '';
	$('media_relations[' + relationID + '][related_to_id]').value = '';

	if ($('is_destination[' + relationID + ']'))
	{
		$('is_destination[' + relationID + ']').value = 0;
	}
	
	$('media_relation_travel_experts_span[' + relationID + ']').style.display = 'none';
		
	if ( rtSelected.indexOf('General') != -1 )
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'none';
		$('lookup_img_' + relationID).style.display='none';
	}
	else if ( rtSelected.indexOf('Lodging') != -1 )
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'inline';
		$('media_relations[' + relationID + '][related_to_text]').className = 'lookup-in-table';
		$('media_relations[' + relationID + '][related_to_text]').readOnly = true;
		$('lookup_img_' + relationID).style.display='inline';
		if ($('is_destination[' + relationID + ']'))
		{
			$('is_destination[' + relationID + ']').value = 1;
		}
		createWindow(lookupAccountUrl + "lodging", "parentSelectWindow", "resizeable,scrollbars", 650, 400);
	}
	else if (rtSelected == 'Attraction')
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'inline';
		$('media_relations[' + relationID + '][related_to_text]').className = 'lookup-in-table';
		$('media_relations[' + relationID + '][related_to_text]').readOnly = true;
		$('lookup_img_' + relationID).style.display='inline';
		if ($('is_destination[' + relationID + ']'))
		{
			$('is_destination[' + relationID + ']').value = 1;
		}
		createWindow(lookupAccountUrl + "attractions", "parentSelectWindow", "resizeable,scrollbars", 650, 400);
	}
	else if (rtSelected == 'Restaurant')
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'inline';
		$('media_relations[' + relationID + '][related_to_text]').className = 'lookup-in-table';
		$('media_relations[' + relationID + '][related_to_text]').readOnly = true;
		$('lookup_img_' + relationID).style.display='inline';
		if ($('is_destination[' + relationID + ']'))
		{
			$('is_destination[' + relationID + ']').value = 1;
		}
		createWindow(lookupAccountUrl + "restaurants", "parentSelectWindow", "resizeable,scrollbars", 650, 400);
	}
	else if (rtSelected == 'Destination')
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'inline';
		$('media_relations[' + relationID + '][related_to_text]').className = '';
		$('media_relations[' + relationID + '][related_to_text]').readOnly = false;
		$('lookup_img_' + relationID).style.display='none';
		
		if ($('is_destination[' + relationID + ']'))
		{
			$('is_destination[' + relationID + ']').value = 1;
		}
	}
	else if (rtSelected.indexOf('Expert') != -1 )
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'none';
		$('lookup_img_' + relationID).style.display='none';
		$('media_relation_travel_experts_span[' + relationID + ']').style.display = '';
		$('media_relations[' + relationID + '][related_to_id]').value = $('travel_experts_value[' + relationID + ']').value;
	}
	else
	{
		$('media_relations[' + relationID + '][related_to_text]').style.display = 'none';
		$('lookup_img_' + relationID).style.display='none';
	}
}

function travel_expert_select(relationID){
	$('media_relations[' + relationID + '][related_to_id]').value = $('travel_experts_value[' + relationID + ']').value;
}

function onCitySelect(name, ID)
{
	var ids = ID.id.split('|');
	cityID = ids[0];
	relationID = ids[1];
	
	$('media_relations[' + relationID + '][related_to_id]').value = cityID;
}

function assignCompleter(relationID)
{
	var url = locationAjaxUrl;
	
	if ( ! $('media_relations[' + relationID + '][related_to_text]') )
	{
		relationID = relationID.substr(3);
	}
	
	if ( ! $('media_relations[' + relationID + '][related_to_text]') )
	{
		return;
	}

	new Ajax.Autocompleter('media_relations[' + relationID + '][related_to_text]',
			'destinationList[' + relationID + ']', url, 
	{
		paramName: "name", 
		minChars: 2, 
		frequency: .25,
		parameters: 'related_to_id=' + relationID,
		afterUpdateElement: onCitySelect
	});
}

function addRelation()
{
	var rowID = addRowFromHidden('media_relations','add_row_media_relations');
	displayRelationImage();
	assignCompleter(rowID);
}

function on_select_media_relation(ID, name)
{
	$('media_relations[' + relationType + '][related_to_text]').value = name;
	$('media_relations[' + relationType + '][related_to_id]').value = ID;
}

function displayRelationImage()
{
	var images = $$('#media_relations img[name="deleteLink"]');
	for(i = 0; i < images.length; i++)
	{
		images[i].style.display=''
	}
}