var buttonHover = function (elem, imgpath)
{
	if(imgpath == null)
	imgpath = '';
	if(elem.className == 'button')
	{
		elem.firstChild.src = imgpath+'images/button_start_hover.gif';
		elem.className = 'buttonHover';
		elem.lastChild.src = imgpath+'images/button_end_hover.gif';
	}
	else if(elem.className == 'buttonHover')
	{
		elem.firstChild.src = imgpath+'images/button_start.gif';
		elem.className = 'button';
		elem.lastChild.src = imgpath+'images/button_end.gif';
	}
}

function blendImage(imagefile)
{
    //make new image
    document.getElementById('newsimage').src = 'imageClipper.php?'+imagefile;
}

// dpf functions ///

function submitOnEnter(input, e)
{
	var keycode;
	if (window.event)
		keycode = window.event.keyCode;
	else if (e)
		keycode = e.which;
	else
		return true;

	if (keycode == 13)
	{
	   input.form.submit();
	   return false;
	}
	else
	{
		return true;
	}
}

function requestOnEnter(form, div, e)
{
	var keycode;
	if (window.event)
		keycode = window.event.keyCode;
	else if (e)
		keycode = e.which;
	else
		return true;

	if (keycode == 13)
	{
	   radarlogin(form, div);
	   return false;
	}
	else
	{
		return true;
	}
}

function radarlogin (form, div)
{
	new Ajax.Request('dpf_ajax.php?section=radarlayout', {
		parameters: $(form).serialize(true),
		onSuccess: function(transport){
    		var response = transport.responseText.evalJSON();
     		$(div).innerHTML = response.msg;
     		if (response.loggedin)
     		{
     			calculatePrice();
			}
		}
	});
}

function saveUserConfig(form)
{
	$('response').innerHTML = '<img src="radar/loading.gif" border="0" />';
	new Ajax.Request('dpf_ajax.php?section=saveuserconfig', {
		parameters: $(form).serialize(true),
		onSuccess: function(transport){
    		var response = transport.responseText.evalJSON(true);
     		$('response').innerHTML = response.msg;
     		if (response.highlight)
     		{
     			for (var i = 0; i < response.highlight.length; i++)
     			{
	      			new Effect.Highlight(response.highlight[i], {
						startcolor: '#8a0917',
						duration: 2.0
					});
				}
			}
		}
	});
}
var selectedCalText = '';

function saveForgotPassword(form)
{
	$('response').innerHTML = '<img src="radar/loading.gif" border="0" />';
	new Ajax.Request('dpf_ajax.php?section=forgot_password', {
		parameters: $(form).serialize(true),
		onSuccess: function(transport){
    		var response = transport.responseText.evalJSON(true);
     		$('response').innerHTML = response.msg;
     		if (response.highlight)
     		{
     			for (var i = 0; i < response.highlight.length; i++)
     			{
	      			new Effect.Highlight(response.highlight[i], {
						startcolor: '#8a0917',
						duration: 2.0
					});
				}
			}
		}
	});
}

function getRadarLayout(div)
{
	selectedCalText = '';
	new Ajax.Request('dpf_ajax.php?section=radarlayout', {
		parameters: {'from': globeAirBases[currentAirBase][2]},
		onSuccess: function(transport){
    		var response = transport.responseText.evalJSON();
     		$(div).innerHTML = response.msg;
     		if (response.loggedin)
     		{
     			// cannot call calculatePrice or we create an endless loop
     			var oneway = 'false';
				if($('oneway').checked)
					oneway = true;
				new Ajax.Updater(
					'calculate',
					'radar/aj_getFlightData.php?start='+globeAirBases[currentAirBase][2]+'&stop='+stopApts[currentStopApt][2]+'&price=true&acft='+getCurrentAircraft()+'&pax='+$('slider_pax').value+'&lmDist='+lastmileDistance+'&lmDur='+lastmileDuration+'&lmLoc='+$('city').value+'&oneway='+oneway
				);
			}
		}
	});
}

function calMonth(monthVal, yearVal)
{
	$('dpf_calendar').innerHTML = '<img src="radar/loading.gif" border="0" />';
	new Ajax.Updater('dpf_calendar', 'dpf_ajax.php?section=calendar', {
  		parameters: { 'month': monthVal, 'year': yearVal, 'from': globeAirBases[currentAirBase][2] }
	});
}

function hoverCal(msg_date, msg_status, msg_msg)
{
	$('dpf_cal_msg_message').innerHTML = msg_msg;
	$('dpf_cal_msg_date').innerHTML = msg_date;
	$('dpf_cal_msg_status').innerHTML = msg_status;
}

function clickCal(msg, link, date)
{
/*	if ($('oneway').checked)
	{
		alertCurrentlyNotAvailable( 'oneway' );
		return;
	}
	if ($('aircraftGrobSpn').checked)
	{
		alertCurrentlyNotAvailable( 'aircraft' );
		return;
	}
*/
	var selectedDate = date;
	$('dpf_cal_msg_message').innerHTML = '';
	$('dpf_cal_msg_date').innerHTML = selectedCalText;
	$('dpf_cal_msg_status').innerHTML = '';
	selectedCalText = msg;

	var url = 'dpf_ajax.php?section=request&from='+globeAirBases[currentAirBase][2]+'&to='+stopApts[currentStopApt][2]+'&acft='+getCurrentAircraft()+'&pax='+$('slider_pax').value+'&date='+selectedDate;
	if (link == 'shared')
	{
		url = 'dpf_ajax.php?section=shared';
	}

	new Ajax.Updater('dpf_flight', url, {
		evalScripts: true,
		onComplete: function(){
			$('inp_from').value = globeAirBases[currentAirBase][2];
			$('inp_to').value = stopApts[currentStopApt][2];
			$('inp_acft').value = getCurrentAircraft();
			$('inp_pax').value = $('slider_pax').value;
			$('inp_date').value = selectedDate;
			updateTime('de_');
			updateTime('re_');
		}
	});
}

function unhoverCal()
{
	$('dpf_cal_msg_message').innerHTML = '';
	$('dpf_cal_msg_date').innerHTML = selectedCalText;
	$('dpf_cal_msg_status').innerHTML = '';
}

function sendFlightRequest(form)
{
	var button = $('buttonwrapper').innerHTML;
	$('buttonwrapper').innerHTML = '<img src="radar/loading.gif" border="0" />';
	new Ajax.Request('dpf_ajax.php?section=saverequest', {
		parameters: $(form).serialize(true),
		onSuccess: function(transport){
    		var response = transport.responseText.evalJSON(true);

     		if (response.isError)	// error
     		{
	     		if (response.highlight)
	     		{
	     			for (var i = 0; i < response.highlight.length; i++)
	     			{
		      			new Effect.Highlight(response.highlight[i], {
							startcolor: '#8a0917',
							duration: 2.0
						});
					}
				}
				$('buttonwrapper').innerHTML = button;
				$('response').innerHTML = '<div>' + response.msg + '</div>';
			}
			else		// success
			{
				$('dpf_flight').innerHTML = response.msg;
			}
		}
	});
}

function updateTime(direction)
{
	var type = $RF(direction + 'type');
	var duration = 60.0 * flightDuration;
	var hour = $(direction + 'hour').value;
	var min = $(direction + 'minute').value;
	var add_text = '';

	if (type == 'arrival')
	{
		if (duration > 60)
		{
			hour -= Math.floor(duration/60);
			min -= (duration % 60 );
		}
		else
		{
			min -= duration;
		}
		if (min < 0)
		{
			hour--;
			min += 60;
		}
		if (hour < 0)
		{
			hour = hour*1 + 24;
			add_text = ' (-1)';
		}
		else if (hour > 24)
		{
			hour = hour*1 - 24;
			add_text = ' (+1)';
		}

		if (min < 10)
		{
			min = '0'+(min*1);
		}
		if (hour < 10)
		{
			hour = '0'+(hour*1);
		}

		$(direction + 'departure_time').innerHTML = hour + ':' + min + add_text;

		$(direction + 'arrival').style.display = 'none';
		$(direction + 'departure').style.display = 'inline';
	}
	else
	{
		if (duration > 60)
		{
			hour = (hour*1 + Math.floor(duration/60));
			min = (min*1 + (duration % 60 ));
		}
		else
		{
			min = (min*1 + duration);
		}
		if (min > 60)
		{
			hour = hour*1 + 1;
			min -= 60;
		}
		if (hour > 24)
		{
			hour = hour*1 - 24;
			add_text = ' (+1)';
		}
		else if (hour > 24)
		{
			hour = hour*1 - 24;
			add_text = ' (+1)';
		}

		if (min < 10)
		{
			min = '0'+(min*1);
		}
		if (hour < 10)
		{
			hour = '0'+(hour*1);
		}

		$(direction + 'arrival_time').innerHTML = hour + ':' + min + add_text;

		$(direction + 'arrival').style.display = 'inline';
		$(direction + 'departure').style.display = 'none';
	}
}


function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }

    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}