$.url = function(url) {
  return $('base').readAttribute('href')+url.substr(1);
}

function funkyHome () {
	if (window.opener) {
		window.opener.focus();
		window.close();
	} else {
		location.href = '/';
	}

}

function init() {
	if ($('film').getValue() && $('city').getValue() && $('venue').getValue()) {
		$('city'+'_td').className = 'selector_sel';
		$('venue'+'_td').className = 'selector_sel';
		$('date'+'_td').className = 'selector_right_sel';
	}
	//Observe change events on dropdown lists
	Event.observe($('film'),'change',filmChange);
	Event.observe($('city'),'change',cityChange);
	Event.observe($('venue'),'change',screeningChange);

	
	//Observe change on affiliation radio buttons
	//Event.observe($('affiliation_academy'),'change',updateAffiliationStatus);
	//Event.observe($('affiliation_guild'),'change',updateAffiliationStatus);
}

function filmChange(e) {
	//Update city dropdown with list of all cities for chosen film via AJAX
	new Ajax.Updater('city',$.url('/screenings/find_localities/'+$('film').value));
	//Set background image to selected
	$('city'+'_td').className = 'selector_sel';
	//Reset other dropdowns in case they had been previously selected
	$('venue'+'_td').className = 'selector';
	$('date'+'_td').className = 'selector_right';
	$('venue').innerHTML = '';
	$('date').innerHTML = '';
	var opt = document.createElement('option'); //IE sucks
	opt.innerHTML = '-Select-';
	opt.value = '';
	$('venue').appendChild(opt);
	opt = document.createElement('option');
	opt.innerHTML = '-Select-';
	opt.value = '';
	$('date').appendChild(opt);
}

function cityChange(e) {
	//Update venue dropdown with list off all venues for chosen film and city via AJAX
	new Ajax.Updater('venue',$.url('/screenings/find_venues/'+$('film').value+'/'+$('city').value));
	//Update background
	$('venue'+'_td').className = 'selector_sel';
	//Reset date dropdown in case it was previously selected
	$('date'+'_td').className = 'selector_right';
	$('date').innerHTML = '';
	var opt = document.createElement('option');
	opt.innerHTML = '-Select-';
	opt.value = '';
	$('date').appendChild(opt);
}

function screeningChange(e) {
	//Update date dropdown with a list of all venues for chosen film, city, and venue via AJAX
	new Ajax.Updater('date',$.url('/screenings/find_dates/'+$('film').value+'/'+$('venue').value));
	//Update background
	$('date'+'_td').className = 'selector_right_sel';
}

function updateAffiliationStatus(e) {
	if(!$('affiliation_academy').checked) {
		$('InviteeAffiliationIdAcademy').disable();
		$('InviteeAffiliationIdGuild').enable();
	}
	if(!$('affiliation_guild').checked) {
		$('InviteeAffiliationIdGuild').disable();
		$('InviteeAffiliationIdAcademy').enable();
	}
}

//Call initialization function on page load
Event.observe(window,'load',init);

function phoneChange(to) {
	if(to == 'international') {
		document.getElementById('phone_international').disabled = false;
		document.getElementById('phone_1').disabled = true;
		document.getElementById('phone_2').disabled = true;
		document.getElementById('phone_3').disabled = true;
	} else {
		document.getElementById('phone_international').disabled = true;
		document.getElementById('phone_1').disabled = false;
		document.getElementById('phone_2').disabled = false;
		document.getElementById('phone_3').disabled = false;
	}
}

function guestChange(to) {
	if(to == 'no') {
		document.getElementById('guest_first_name').disabled = true;
		document.getElementById('guest_last_name').disabled = true;
	} else {
		document.getElementById('guest_first_name').disabled = false;
		document.getElementById('guest_last_name').disabled = false;
	}
}