function GetTime() {
	var d = new Date();
	var cur_hour = d.getHours();
	var cur_min = d.getMinutes();

	var cur_sec = d.getSeconds();
	var cur_msec = d.getMilliseconds();
	
	return cur_hour+':'+cur_min+':'+cur_sec+'.'+cur_msec;
}

function showError(fieldName) {
	var node = document.getElementById(fieldName);
	if (node) {
		if (node.parentNode.className == 'iespan')
			$('#'+fieldName).parent().parent().addClass('error');
		else
			$('#'+fieldName).parent().addClass('error');
	}
}

function submitForm(params) {
	if (typeof(params) != "undefined") document.getElementById('bookingForm').action = params;
	document.getElementById('bookingForm').submit();
}

var
	frmBooking = new Object();

function UpdateCart() {
	$('#rel_info').load('fjordline/ajax.php?cart #rel_info > *',frmBooking);
}

function UpdateCabinList(direction, input, setindex) {
	var cabins = $('#cabin_'+direction);

	var packages   = cabins.find('.package');
	var inside     = cabins.find('.package.inside:not(.outside)');
	var outside    = cabins.find('.package.outside:not(.inside)');
	
	if (packages.length < 1) return;
	
	packages.show();
	if ( input.hasClass('inside') ) {
    outside.hide();
	}
	else if ( input.hasClass('outside') ) {
    inside.hide();
	}
	
	if (!isNaN(setindex)) {
		cabins.find('.package:visible input:eq('+setindex+')').click();
	} else if (!cabins.find('.package:visible input:checked').length) {
		cabins.find('.package:visible input:first').click();
	}
	
	var cntmax = 0;
	cabins.find('.package:visible').each(function() {
		if (cntmax++ >= 12) $(this).hide();
	});

	cabins.find('.cabincount').html(cabins.find('.package:visible').length);

	UpdateCabinPages(direction);
}

function UpdateCabinPages(direction) {
	var cabins = $('#cabin_'+direction);

	var alts = cabins.find('.bottom .navigation LI');
	var opts = cabins.find('.package:visible');
	
	var cnt = 1;
	var curindex = 0;
	opts.each(function() {
		if ($(this).find('INPUT:checked').length) curindex = cnt;
		cnt++;
	});
	var curpage = Math.ceil(curindex / 3);
	
	if (curpage) {
		var cnt = 1;
		opts.each(function() {
			if (Math.ceil(cnt/3) != curpage) $(this).hide();
			cnt++;
		});

		alts.hide();
		var cnt = 1;
		alts.each(function() {
			var alt = $(this);
			if (cnt == curpage) alt.addClass('active');
			else alt.removeClass('active');
			if (cnt <= Math.ceil(opts.length/3)) alt.show();
			cnt++;
		});
	}

	if (Math.ceil(opts.length/3) > 1) $('#cabin_'+direction+' .bottom').show();
	else $('#cabin_'+direction+' .bottom').hide();
}

$( function() {
	
// Front page

	$('#outbound').change(function() {
		$('#bookingForm').submit();
	});
	
	$('#outbound_month').change(function() {
		$('#bookingForm').submit();
	});
	
	$('#return').change(function() {
		$('#bookingForm').submit();
	});
	
	$('#return_month').change(function() {
		$('#bookingForm').submit();
	});

  $('#vehicle_type').change(function(){
		$('#bookingForm').submit();
  });
  
  $('#return_trip').click(function(){
		$('#bookingForm').submit();
  });
  	
  $('#single_trip').click(function(){
		$('#bookingForm').submit();
  });
  
  $('#cruise').change(function() {
  	$('#bookingForm').submit();
  });
  	

// Tilbud

	$('.tilbud_departure').click(function() {
		$('#tilbudform').submit();
	});

	$('.tilbud_type').click(function() {
		$('#tilbudform').submit();
	});
	
// Food

	$( function() {
	    $('.food .out .selectAll').click(function(){
	        $('.out input:checkbox').attr('checked','checked');
	        return false;
	    });
	
	    $('.food .out .selectNone').click(function(){
	        $('.out input:checkbox').attr('checked','');
	        return false;
	    });
	
	    $('.food .return .selectAll').click(function(){
	        $('.return input:checkbox').attr('checked','checked');
	        return false;
	    });
	
	    $('.food .return .selectNone').click(function(){
	        $('.return input:checkbox').attr('checked','');
	        return false;
	    });
	    
	    $('.food input:checkbox').click(function() {
	    });
	    
	    var largeChecked = 'images.php/original/761/checkbox.jpg';
	    var largeUnchecked = 'images.php/original/760/checkbox.jpg';
	    var yesChecked = 'images.php/original/759/checkbox.jpg';
	    var yesUnchecked = 'images.php/original/758/checkbox.jpg';
	    var noChecked = 'images.php/original/770/checkbox.jpg';
	    var noUnchecked = 'images.php/original/771/checkbox.jpg';
	    
	    $('.food img.checkbox').click(function() {
	    	$(this).toggleClass('checked');
	    	var id = this.id.split('_');
	    	var maincheck = $(this);
	    	if ($(this).hasClass('checked')) {
	    		$(this).attr('src', largeChecked);
	    		$('#meal_'+id[1]+'_'+id[2]+'_yes').attr('src', yesChecked);
	    		$('#meal_'+id[1]+'_'+id[2]+'_no').attr('src', noUnchecked);

	    		$('#meal_'+id[1]+'_'+id[2]+'_yes').addClass('checked');
	    		$('#meal_'+id[1]+'_'+id[2]+'_no').removeClass('checked');
	    		
	    		$('#moreinfo_'+id[1]+'_'+id[2]).show();
	    	} else {
	    		$(this).attr('src', largeUnchecked);
	    		$('#meal_'+id[1]+'_'+id[2]+'_yes').attr('src', yesUnchecked);
	    		$('#meal_'+id[1]+'_'+id[2]+'_no').attr('src', noChecked);

	    		$('#meal_'+id[1]+'_'+id[2]+'_yes').removeClass('checked');
	    		$('#meal_'+id[1]+'_'+id[2]+'_no').addClass('checked');

	    		$('#moreinfo_'+id[1]+'_'+id[2]).hide();
	    	}
    		$('.food input:checkbox[id^=passenger]').each( function (index,element) {
    			var tid = this.id.split('_');
    				if (tid[1] == id[1] && tid[2] == id[2]) this.checked = maincheck.hasClass('checked');
    		});
	    });
	    
	    $('.food img.smallcheckbox').click(function() {
	    	var id = this.id.split('_');
	    	$('#meal_'+id[1]+'_'+id[2]).click();
/*	    	
	    	$(this).toggleClass('checked');

	    	var changeid;
	    	var id = this.id.split('_');
	    	if (id[3] == 'yes') changeid = '_no';
	    	else changeid = '_yes';

				if ($(this).hasClass('checked')) {
	    		$('#meal_'+id[1]+'_'+id[2]+changeid).removeClass('checked');
	    	} else {
	    		$('#meal_'+id[1]+'_'+id[2]+changeid).addClass('checked');
	    	}*/
	    });
	});

// Passengers

	$('#pet_no').click(function() {
		$('#pet_info').hide();
		$('#pet_text').hide();
		$('#pet_agree').hide();
	});
	$('#pet_yes').click(function() {
		$('#pet_info').show();
		$('#pet_text').show();
		$('#pet_agree').show();
	});
	$('.pet_type').change(function() {
		petid = this.id.split('_');
		if (this.value == 'DOG') $('#petlocation_'+petid[1]).show();
		else $('#petlocation_'+petid[1]).hide();
	});
});

// Cabins

$( function() {
    var cart = $('.cart');

    // Find each group of cabins (outgoing or return)
    $('.cabin_block').each( function() {
        var cabins     = $(this);
        var packages   = cabins.find('.package');
        var filter     = cabins.find('.filter');
        var inside     = cabins.find('.inside');
        var outside    = cabins.find('.outside');
        var navigation = cabins.find('> .navigation');
        var menuItems  = navigation.find('li');
        
        if( cabins.hasClass('out') ) {
            var direction = 'out';
        } else if ( cabins.hasClass('return') ) {
            var direction = 'ret';
        }
        
        UpdateCabinList(direction,cabins.find('input.filter:checked'));

/*        menuItems.each( function() {
            var menuItem = $(this);
            var cabinClass;
            
            if( cabinClass = this.className.match(/cabins_\d+/) ) {
                cabinClass = cabinClass[0];
            }

            menuItem.find('a').click(function(){
            	submitForm();
                menuItems.removeClass('active');
                menuItem.addClass('active');
                if ( cabinClass ) {
                    cabins.find('.cabingroup').each( function() {
                        cabinGroup = $(this);
                        if ( cabinGroup.hasClass( cabinClass ) ) {
                            cabinGroup.show();
                            cabinGroup.find('input:visible:first').click();
                        } else {
                            cabinGroup.hide();
                        }
                    });
                }
                return false;
            })
        });*/
        
        cabins.find('.travel_method input').click( function() {
            submitForm();
        });
        
        cabins.find('.bottom .navigation a').click( function() {
	        UpdateCabinList(direction,cabins.find('#cabin_'+direction+'.filter input:checked'),parseInt($(this).text())*3-3);
					return false;        
				});
        
        /* Filter the cabin list by cabin type (All, Outside or Inside)
         * The class name of the radio button determines what ios shown or hidden 
         */
        filter.find('input.filter').click( function() {
        	UpdateCabinList(direction, $(this));
        });
        
        /* Loop through each package and add a click event that highlights the package
         * when the radio button is clicked.
         * 
         * Clicking the radio button will update the cart with the price for the selected package
         * 
         * The price is stored in a hidden defintion list in the format expected by the cart and is 
         * copied on click 
         */ 
        packages.each( function() {
            var pkg = $(this);
            pkg.find('input').click( function() {
                packages.removeClass('active');
                pkg.addClass('active');
                
                var inp = pkg.find('input')[0];
                
                frmBooking[inp.name] = inp.value;

								UpdateCart();
            });
        });
    });
});

var lightboxWait = new Lightbox('wait');

$( function() {
	
	$(".next input").click(function(){
		lightboxWait.show('fjordline/lightbox.php?GENERAL:PLEASEWAIT',$(this));
//		return false;
	});
});

// Enable lightboxes

/*

$( function() {
    var lightboxSmall = new Lightbox('small');
    var lightboxBig = new Lightbox('big');
    
    $("a.lightbox").click(function(){
        lightboxSmall.show( this.href, $(this) );
        return false;
    });

    $("a.lightboxbig").click(function(){
        lightboxBig.show( this.href );
        return false;
    });
});

*/

function makeweb_onload() {
	var _o = document.getElementsByTagName('OBJECT'); for (var _c=_o.length-1;_c>=0;_c--) if (_o[_c].outerHTML) _o[_c].outerHTML = _o[_c].cloneNode(true).outerHTML;
}

$( function() {
	makeweb_onload();
});	
