// Initiate Shadowbox
var shadowBoxOptions = { 
	loadingImage: 	base_url+'public/images/rooms/shadowbox_loading.gif',
	overlayColor: 	'#000',
	overlayOpacity:	0.75,
	displayNav: 	false,
	players: 		["iframe"]
}

Shadowbox.init(shadowBoxOptions);

$(document).ready(function() { 

	$('#card_type').change(function() {
		
		var type = $(this).attr('value');
		
		if(type == 'MC' || type == 'VISA') {
			$('.total_payable .debit').hide();
			$('.total_payable .credit').show();
		}
		else {
			$('.total_payable .debit').show();
			$('.total_payable .credit').hide();
		}

	});

	$('#bargains_list li').css({cursor : 'pointer'}).hover(
		function() { $(this).children('a').css({textDecoration : 'underline'}); },
		function() { $(this).children('a').css({textDecoration : 'none'}); }
	);
	
	$('#bargains_list li').click(function() {
		getbargain($(this).attr('rel'));
		return false;
	});
	
	$('#bargains_pagination a').click(function() {
		
		if($(this).parent().hasClass('more')) { 
			window.location.href = $(this).attr('href'); 
			return false;
		}

		var pageNumber = Number($(this).attr('href'));
		var startRow = (pageNumber * 3) - 2;
		
		$('#bargains_list li').hide();
		
		for (i = startRow; i <= (startRow + 2); i ++) {
			$('#offerRow'+i).show();
		}

		return false;
	});


	// Popup up date seletor (calendar)
	var dateSelectorOptions = {
		minDate: 1, 
		maxDate: 730,
		dateFormat: "dd/mm/yy",
    	showOn: "both", 
		speed: 'fast', 
		buttonImage: base_url+"public/images/calendars/white.png", 
    	buttonImageOnly: true
	}
	
	if($.browser.msie && ($.browser.version == 6.0)) { 
		if(selectedController == 'fly') dateSelectorOptions.buttonImage = base_url+"public/images/calendars/white-on-purple.jpg"; 

	}
	
	$(".addDateSelectorFly").datepicker(dateSelectorOptions);
	
	// IE fix of search form styling
	if($.browser.msie && ($.browser.version < 8.0)) { 
		$('#search_form .skinned-select').each(function() {
			var $parentTag = $(this).parent();
			if($parentTag.is('li')) {
				$parentTag.css({marginBottom : '7px'});
			}
		});
	}


	// Submit form
	$('#search_form .footer a').click(function() { 
		$(this).prev().click();
		return false;
	});
	

	$('#f_cb_single').click(function() { 
		$('#fly_night_dropdown').hide();
	});


	$('#f_cb_return').click(function() { 
		$('#fly_night_dropdown').show();
	});	
	
	
	/*
     * Updating Destination dropdown based on what country has been selected 
	 */
	$('#f_country').change(function() {
		
		var country = $(this).attr('value');
		$('#f_destination').html('<option value="">Updating...</option>').prev().html($('#f_destination option:first').html()); 		

		$.post(site_url + 'fly/destinations/', { 'country' : country }, function(data) { 
		
			var options = "<option value=''>Please select...";
		
			for(var i = 0; i < data.length; i++ ) {
				
				if(data[i]['source'] == 'JTA') {
					var code = "JTA";	
				}
				else {
					var code = data[i]['code'];	
				}
				
				
				options += '<option value="' + code + '">' + 
				data[i]['name'] + '</option>';
			}
						
			$('#f_destination').html(options).prev().html($('#f_destination option:first').html()); 
		}, 'json');									
	});
	
	
	/*
	 * Check on destination to see if a person has selected an airport / route that is for JTA
	 */
	$('#f_destination, #fly_departure_airport').change(function () {
		var destination = $(this).attr('value');						  

		if(destination == 'JTA') {
			location.href = site_url + "fly/jta";
		}
	});

});


function fly_sorting() {
	var selected = $('#room_sort_options').val();

	$.get(site_url + "fly/sortby/" + selected, function(data){
		document.getElementById('fly_results_area').innerHTML = data;  
	});
}


function fly_paging(url) {	  
   	$('html, body').animate({scrollTop:0}, 'normal'); 
	
	$.get(url, function(data){

		document.getElementById('fly_results_area').innerHTML = data;  

	});	
}

function validate_fly_payments() {

	var validationStatus = true;

	$('#fly_payment_step4 .error').removeClass('error');

	notEmptySelectors = new Array('#card_holder_name', '#card_number', '#card_postcode');

	if(empty($('#card_type').attr('value'))) {
		var $addErrorTo = $('#card_type').parent().parent().parent();
		$addErrorTo.addClass('error');
	}
		
	if(empty($('#expiry_date_mm').attr('value')) || empty($('#expiry_date_yyyy').attr('value'))) {
		var $addErrorTo = $('#expiry_date_mm').parent().parent().parent();
		$addErrorTo.addClass('error');
	}
		
	if(empty($('#cv2_number').attr('value'))) {
		var $addErrorTo = $('#cv2_number').parent();
		$addErrorTo.addClass('error');
	}

	if(checkValuesEntered != null) checkValuesEntered(notEmptySelectors);


	$('#fly_payment_step4 .error').each(function() {
		if($(this).length) validationStatus = false;
	});
	
	if (validationStatus == true) { 
		$('#fly_payment_step4').submit();
	}
	
	else { 
		return false;	 
	}
	
}

function printSpecial(divID)
{
    if (document.getElementById != null)
    {
		var gAutoPrint = true;
		
        var html = '<HTML>\n<HEAD>\n';

        if (document.getElementsByTagName != null)
        {
            var headTags = document.getElementsByTagName("head");
            if (headTags.length > 0)
                html += headTags[0].innerHTML;
        }
       
        html += '\n</HE' + 'AD>\n<BODY>\n';
       
        var printReadyElem = document.getElementById(divID);
       
        if (printReadyElem != null)
        {
                html += printReadyElem.innerHTML;
        }
        else
        {
            alert("Could not find the printReady section in the HTML");
            return;
        }
           
        html += '\n</BO' + 'DY>\n</HT' + 'ML>';
       
        var printWin = window.open("","printSpecial");
        printWin.document.open();
        printWin.document.write(html);
        printWin.document.close();
        if (gAutoPrint)
            printWin.print();
            printWin.close();
    }
    else
    {
        alert("Sorry, the print ready feature is only available in modern browsers.");
    }
}


function empty( mixed_var ) {  
       
    if (mixed_var === ""   
        || mixed_var === 0     
        || mixed_var === "0"  
        || mixed_var === null    
        || mixed_var === false  
        || mixed_var === undefined      
        || ((typeof mixed_var == 'array' || typeof mixed_var == 'object') && mixed_var.length === 0) ){  
        return true;  
    }  
      
	return false;  
}

function checkValuesEntered(jquery) {	
	for (selector in jquery)
	{
		if(empty($(jquery[selector]).attr('value'))) {
			var $addErrorTo = $(jquery[selector]).parent();
			$addErrorTo.addClass('error');
		}
	}
}

//
// Hotel Details Popup
//
function terms_popup(url) {
	Shadowbox.open({ 
			player:		'iframe',
			content:	url,
			height:		500,
			width: 		780
		});
		return false;
}

function getbargain(bargainId)
{
	removebargain();
	
	var title = $('#bargains_list li[rel='+bargainId+'] .title').html()+'<br/>'+$('#bargains_list li[rel='+bargainId+'] .price').html()+'<br/>'+$('#bargains_list li[rel='+bargainId+'] .dates').html()+'<br/>'+$('#bargains_list li[rel='+bargainId+'] .nights').html();
	var description = $('#bargains_list li[rel='+bargainId+'] .description').html();
	
	$('#bargains_list, #bargains_pagination').hide();
	
	$('#bargains_list').before('<div id="bargainDescriptionPanel" class="customScrollerDark"><div class="scroller"><h5>'+title+'</h5>'+description+'</div></div>').after('<a href="#" id="bargainBackButton" onclick="removebargain(); return false;">Return</a>');
	
	var height = 0;
	$('#bargainDescriptionPanel div *').each(function() { height += Number($(this).height()); });
	
	if(height > 255) { $('#bargainDescriptionPanel .scroller').jScrollPane({showArrows:true, scrollbarWidth: 30, arrowSize: 12}); }
	else { $('#bargainDescriptionPanel .scroller').css({overflow: 'hidden'}); }
}

function removebargain() 
{
	$('#bargainDescriptionPanel, #bargainBackButton').remove();
	$('#bargains_list, #bargains_pagination').show();
}