var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
var IE7 = false /*@cc_on || @_jscript_version == 5.7 @*/;  // exactly IE7
var gteIE7 = false /*@cc_on || @_jscript_version >= 5.7 @*/; // IE7+
var isMSIE = /*@cc_on!@*/false; // any IE

var minDate=new Date();
var startDate=new Date(minDate.getTime()+3600*24*7*1000); // +7  days from today
var backDate=new Date(minDate.getTime()+3600*24*14*1000); // +14 days from today
var maxDate=new Date(minDate.getTime()+3600*24*30*18*1000);// +18 month from today

var startCal=makeDateString(minDate);
var endCal=makeDateString(maxDate);

var lang='sw';

var mapScriptloaded=false;
var Glon='';
var Glat='';

function makeDateString(dt)
{
	var d=''+dt.getDate();
	var m=''+(dt.getMonth()+1);
	var y=''+dt.getFullYear();

	if (d.length == 1) d='0'+d;
	if (m.length == 1) m='0'+m;

  var res=d+'/'+m+'/'+y;
	return res;
}

function modifySelected(value)
{
	res=value.match(/^([^,]+),.+(\[.+\])/);
	if (res){
		if (res.length == 3){
			value=res[1]+' '+res[2];
		}
	}
	return value;
}

function setupCalendars()
{
	var dpout=$('#dpout').datePicker({createButton:false,startDate: startCal,endDate: endCal,showYearNavigation:false});

	dpout.bind('click',function(){
		$(this).dpDisplay();
		return false;
	});

	dpout.bind('dateSelected', function(e, selectedDate, $td, state){
		var mon=selectedDate.getMonth();
		if (mon != $('#monout').val){
			$('#dayout').html(makeDaysOptions(selectedDate));
			($('#monout')[0]).selectedIndex=calculateMonth(selectedDate);
		}
		$('#dayout').val(selectedDate.getDate());
	});

	var dpin=$('#dpin').datePicker({createButton:false, startDate:startCal, endDate:endCal, showYearNavigation:false});

	dpin.bind('click',function(){
		$(this).dpDisplay();
  	return false;
	});

	dpin.bind('dateSelected', function(e, selectedDate, $td, state){
		var mon=selectedDate.getMonth();
		if (mon != $('#monin').val){
			$('#dayin').html(makeDaysOptions(selectedDate));
			($('#monin')[0]).selectedIndex=calculateMonth(selectedDate);
		}
		$('#dayin').val(selectedDate.getDate());
  });
}

function calculateMonth(dt)
{
	var now=new Date();

  var yearadd=dt.getFullYear()-now.getFullYear();
	yearadd*=12;
  var sm=dt.getMonth()-now.getMonth()+yearadd;
	return sm;
}


function makeMonthOptions(dt,dtst,len)
{
	var y=dt.getFullYear()-2000;
	var m=dt.getMonth();
	var mon=['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec'];

  var mst=dtst.getMonth();
	var mstart=mst-m;

	var opts='';
  var j=0;
	for (var i=0;i<=len;i++){

		var j=i+m;
		var cm=j;
		var cy=y;
		if (j > 11){
			cm=j % 12;
			cy=y+1;
		}
		if (cy < 10) cy='0'+cy;
		if (i == mstart) opts+='<option value="'+i+'" selected="selected">'+ mon[cm] + " '" + cy+ '</option>';
		else opts+='<option value="'+i+'">'+ mon[cm] + " '" + cy+ '</option>';
	}
		return opts;
}

function makeDaysOptions(dt)
{

	var y=dt.getFullYear( );
	var leapYear=false;
	var m=dt.getMonth()+1;
	var currDay=dt.getDate();
	var days;

	if ( (y%4==0 && y%100!=0) || y%400==0 ) leapYear=true;

	if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) {

		days=31;

	} else if (m==4 || m==6 || m==9 || m==11) {

		days=30;

	} else {
			if (leapYear) days=29;
			else days=28;
	}

	var opts='';
	for (var i=1; i<=days; i++){

		if (i == currDay) opts+='<option selected="selected">'+i+'</option>';
		else opts+='<option>'+i+'</option>';
	}
	return opts;
}

//switches on and off the additional input for child ages
function AgesInput()
{
	var value=$('#childs').val();
	var elem=$('#li_ages');

	if (value > 0){

		if (! elem.html()){
			$('#ul_ages').append('<li id="li_ages"><label>Barnens &aring;lder: </label><input style="width:50px" name="child_ages"></input> </li>');
		}
	}
	else elem.remove();
}

// fill towns select
function fillTowns()
{
	var value=$('#country_sel').val();

	$.get('/engine/gettowns.php', {country:value},function(data){

		$('#town_sel').hide();
		$('#town_sel').html(data);
		$('#town_sel').show();
	});
}


function show_progress_bar()
{
	$('#result-area').html('<div style="padding: 25px 0 20px 440px"><img  src="/images/facebox/loading.gif"/></div>');
}

function loadGoogleMapScript() {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAWzLqAdFdrH2NPgigDJqJdxTS7dFZk0tLyVAvWAV5W3A6YZdcDhTm6sDG4RW9ZJyvGIutbQVUPw3tGw&async=2&callback=loadMap";
  document.body.appendChild(script);
}

function loadMap() {
  var map = new GMap2(document.getElementById("gmap"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GOverviewMapControl());
	map.addControl(new GMapTypeControl());
  map.setCenter(new GLatLng(Glat,Glon), 14);
  map.addOverlay(new GMarker(map.getCenter()));
}

function ShowMap(lat,lon)
{
	Glon=lon;	// set coordinates via global vars
	Glat=lat;
	$.facebox('<div id="gmap" style="width:800px;height:400px;"><img src="/images/facebox/loading.gif" /></div>');
	if (! mapScriptloaded){
		loadGoogleMapScript();
		mapScriptloaded=true;
	}
	else loadMap();
}

function show_comments()
{
	$('#hidden_comm').toggle();
	return false;
}
function show_hidden_comments()
{
	$('#hidden_comm').toggle();
	return false;
}
function show_comment_form()
{
	$('#cform').show();
	$('#comm_form a').hide();
	$('#cmform').ajaxForm({
		url:'/engine/newcomment.php',
		type:'POST',
		success: function(response){
			$('#comm_form').after(response);
			$('#comm_form a').show();
			$('#cform').hide();
			$('textarea').val('');
		}
	});
	return false;
}

$(document).ready(function()
{

/*
	// jquery sifr version
	$('#main-nav li.active span').sifr({path: 'swf/', font: 'din-medium', color: "#ff5300"});
	$('#main-nav #main-nav li span').sifr({path: 'swf/', font: 'din-medium', color: "#ffffff"});
	$('.main-nav-holder p').sifr({path: 'swf/', font: 'din-medium', color: "#127daf"});
	$('.head-orange-grad').sifr({path: 'swf/', font: 'cooper', color: "#df4f08"});
	$('.head-orange').sifr({path: 'swf/', font: 'din-medium', color: "#df4f08"});
	$('.head-grey').sifr({path: 'swf/', font: 'din-regular', color: "#afafaf"});
	$('.comments-block .blue-line span').sifr({path: 'swf/', font: 'din-bold', color: "#ffffff"});
*/

	$('#flightform').ajaxForm({
		beforeSubmit: show_progress_bar,
		target: '#result-area',
		success: function(){

	$('a.submit img').mouseover( function(){
		$(this).attr("src","images/button-result-submit-hover.png");
		}
	).mouseout( function(){
		$(this).attr("src","images/button-result-submit.png");
	}).mousedown( function(){
		$(this).attr("src","images/button-result-submit-active.png");
	});
	
	if (isMSIE){
		$('div.result').mouseover( function(){
			$(this).addClass('result-hover');
		}
		).mouseout( function(){
			$(this).removeClass('result-hover');
			}
		);
	}


			if (typeof sIFR == "function") {

				sIFR.replaceElement(named({
					sSelector: ".result .head h2",
					sFlashSrc: "swf/din-medium.swf",
					sColor: "#ffffff",
					sWmode: "transparent"
				}));

				sIFR.replaceElement(named({
					sSelector: ".result .sub-col-2 span.text-total",
					sFlashSrc: "swf/din-regular.swf",
					sColor: "#1882b3",
					sWmode: "transparent"
				}));

				sIFR.replaceElement(named({
					sSelector: ".result .sub-col-2 span.text-result",
					sFlashSrc: "swf/cooper.swf",
					sColor: "#df4f08",
					sWmode: "transparent"
				}));
/*
				sIFR.replaceElement(named({
					sSelector: ".result .zoom span",
					sFlashSrc: "swf/din-medium.swf",
					sColor: "#1882b3",
					sWmode: "transparent"
				}));
*/
			};
		}
	});

	$('#from_input').autocomplete('/engine/autocomplete.php',{maxItemsToShow:20,width:630});
	$('#to_input').autocomplete('/engine/autocomplete.php',{maxItemsToShow:20,width:630});

	$('#monout').html(makeMonthOptions(minDate,startDate,18));
	$('#dayout').html(makeDaysOptions(startDate));
  $('#monin').html(makeMonthOptions(minDate,backDate,18));
	$('#dayin').html(makeDaysOptions(backDate));


  if (! IE6){

		$('#monout').val(calculateMonth(startDate));
		$('#monin').val(calculateMonth(backDate));
		$('#dayout').val(startDate.getDate());
		$('#dayin').val(backDate.getDate());
	}

	$('#monout').change(function(){

		var dt=new Date();
		var resMon=dt.getMonth()+parseInt($('#monout').val());
		if (resMon < 12) dt.setMonth(resMon);
		else{
			resMon-=12;
			var resYear=dt.getYear()+1;
			dt.setMonth(resMon);
			dt.setYear(resYear);
		}
		$('#dayout').html(makeDaysOptions(dt));
		if (! IE6) $('#dayout').val(1);
  });

	$('#monin').change(function(){

		var dt=new Date();
		var resMon=dt.getMonth()+parseInt($('#monin').val());
		if (resMon < 12) dt.setMonth(resMon);
		else{
			resMon-=12;
			var resYear=dt.getYear()+1;
			dt.setMonth(resMon);
			dt.setYear(resYear);
		}
		$('#dayin').html(makeDaysOptions(dt));
		if (! IE6) $('#dayin').val(1);
  });

	setupCalendars();

	$('#childs').change(AgesInput);
	$('#country_sel').change(fillTowns);

	var curCountry=$('#country_sel').val();
	if (curCountry != 'country_0'){

		fillTowns();
	}

	$('.blue-line a').click(function(){  //does not work with sifr
		$('#hidden_comm').toggle();
		return false;
	});


});


