﻿

var PreDefinedSearch = new function () {

	// Wait Message //
	this.GenerateWaitMessage = function () {

		var oWaitMessage = f.GetObject('divPreDefinedSearchWaitMessage');
		var oContainer = f.GetObject('divPreDefinedSearch');

		oContainer.appendChild(oWaitMessage);
		f.Show(oWaitMessage);

	}


	// update selected room
	this.UpdateRoom = function (iOnlineSearchID) {
		f.SetValue('hidOnlineSearchID', iOnlineSearchID);
	}


	// update selected flight
	this.UpdateFlight = function (iFlightSearchID) {
		f.SetValue('hidFlightSearchID', iFlightSearchID);
	}


	// Package Search //
	this.PackageSearchByReference = function (sPackageReference) {
		PreDefinedSearch.GenerateWaitMessage();
		ff.Call('Widgets.PreDefinedSearch.PackageSearchByReference', function (sHTML) { PreDefinedSearch.SearchComplete(sHTML) }, sPackageReference);
	}


	// Quote Search //
	this.QuoteSearchByReference = function (sQuoteReference) {
		PreDefinedSearch.GenerateWaitMessage();
		ff.Call('Widgets.PreDefinedSearch.QuoteSearchByReference', function (sHTML) { PreDefinedSearch.SearchComplete(sHTML) }, sQuoteReference);
	}


	this.SearchComplete = function (sHTML) {
		f.Hide('divPreDefinedSearchWaitMessage');
		f.SetHTML('divPreDefinedSearch', sHTML);
	}


	this.Book = function () {
		var iOnlineSearchID = f.GetValue('hidOnlineSearchID');
		var iFlightSearchID = f.GetValue('hidFlightSearchID');
		ff.Call('Widgets.PreDefinedSearch.Book', function (sResult) { PreDefinedSearch.BookComplete(sResult) }, iOnlineSearchID, iFlightSearchID);
	}


	this.BookComplete = function (sResult) {

		if (sResult != 'Failed') {
			window.location = 'bookingsummary.aspx';
		} else {
			FormHandler.ShowWarning('Sorry there was a problem booking this offer. Please try again or call us on 0844 482 2409');
			window.scrollTo(0, 0);
		}

	}


}
