var oneWayFares = "false";
var graphText = "return";
function updateForm(title) {
if (title == "North America") {
$("input#region").val("NOA");
} else if (title == "Latin America and Caribbean") {
$("input#region").val("SOA");
} else if (title == "Europe, UK and Ireland") {
$("input#region").val("EUK");
} else if (title == "Middle East") {
$("input#region").val("MDE");
} else if (title == "South Asia") {
$("input#region").val("SAS");
} else if (title == "Far East and Australia") {
$("input#region").val("FEA");
} else if (title == "Africa") {
$("input#region").val("AFR");
}
}
function setNavImage(reg) {
$("#nav-regions ul li").removeClass("selected");
$("#nav-regions ul li." + reg).addClass("selected");
$("#nav-regions ul li img.NOA").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_NOA.jpg");
$("#nav-regions ul li img.SOA").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_SOA.jpg");
$("#nav-regions ul li img.EUK").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_EUK.jpg");
$("#nav-regions ul li img.MDE").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_MDE.jpg");
$("#nav-regions ul li img.SAS").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_SAS.jpg");
$("#nav-regions ul li img.FEA").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_FEA.jpg");
$("#nav-regions ul li img.AFR").attr("src", "/cms/global/assets/images/applications/dealFinder/nav_AFR.jpg");
$("#nav-regions ul li.selected img." + reg).attr("src", "/cms/global/assets/images/applications/dealFinder/selected_nav_" + reg + ".jpg");
}
function tableStyle() {
$("#fares-summary table thead th:first").css("border-left-width", "0px");

$("#faresList").tablesorter();

$("#faresList").bind("sortStart",function() {
$("tr.lpbmGraphHolder").remove();
$(".lpbmDestAndPrice.active").removeClass("active");
});
}
$(document).ready(function(){

if ($("#oneWayRadio:checked").length>0) {
oneWayFares = "true";
graphText="one-way";
}


$("#nav-regions ul li").bind("click", function(e) {
updateForm($(this).attr("title"));
reg = $("input#region").val();
setNavImage(reg);
$("#oneway").val('');
$("#dealFinderList").submit();
});

$("#cabin").change( function () {
setOneWay();
});

$("input.fareType").click( function () {
setOneWay();
});

tableStyle();

$(".bookingAccordionDetail").hide();

$(".lpbmDestAndPrice.clickable").click(function(){
$(this).toggleClass("active");
var cityCode = $(this).attr("id");

if ($(this).attr("class").indexOf("active")!=-1) {
getPrices(cityCode);
} else {
$("#graph-"+cityCode+" .graphSlider").slideUp("slow", function() {
$("#graph-"+cityCode).hide();
});
}
});
$(".lpbmDestAndPrice").click(function(){
return false;
});

$('.lpbmDestAndPrice.clickable').click(function(){
trackingInfo["interaction"] = this.id;
document.getElementById("t-tracking-fragment").innerHTML = vsDoTracking();
});

$.ajaxSetup({
"error":function(XMLHttpRequest, textStatus) {

cancelLoading();
}
});


$("#faresList .lpbmDestAndPrice.clickable:eq(0)").click();

setTimeout(function(){
$("#faresList .lpbmDestAndPrice.clickable:eq(1)").click();
}, 400);
});
function cancelLoading() {
$(".lpbmPrice").removeClass("loading");
$("tr.lpbmDestAndPrice.active+tr.lpbmDestAndPrice").prev().toggleClass("active");
resetSession();
}
function setOneWay() {
if ($("#oneWayRadio:checked").length>0) {
$("#oneway").val('true');
} else {
$("#oneway").val('false');
}
$("#dealFinderList").submit();
}
function getPrices(destination) {

$("#"+destination+" .lpbmPrice").addClass("loading");
var cabin = $('#cabin :selected').val();

var loc = window.location;
$("#code_"+destination).empty();
var div_data='<tr class="lpbmGraphHolder" id="graph-'+destination+'"><td colspan="2"><div class="graphSlider"><table class="fareGraph" summary="price summary" cellspacing="0"><tbody><tr>';

$.getJSON('/travel/low-price-finder/public/en_gb/itemid-json?eId=113021&origin=LON&destination=' + destination + '&cabin=' + cabin + '&source=home&woffers=lpbm_ow&oneway='+oneWayFares,{},function(data)	{
var currSymbol = data.Response.CurrencySymbol;
var $count = 0;
$.each(data.Response.FareData.Fare, function(i,data){
if ($count<12) {

if(data.Amount == 'error'){
div_data +="<td class=\"destination\"><div class=\"noFare\"><div class=\"msg\">No price available</div><div class=\"month\">"+data.DateDisplay.substr(0,3)+"<br/>"+data.Date.substr(2,4)+"</div></td>"
} else	{

div_data +="<td class=\"destination\"><div class=\"wrap\"><div class=\"price\">"+currSymbol+"<span class=\"amount\">"+data.Amount+"</span><br/>"+graphText+"</div><div class=\"month\"><span>"+data.DateDisplay.substr(0,3)+"<br/>"+data.Date.substr(2,4)+"</span><div class=\"button primary\"><a class=\"arrow modalClick\" href=\"/travel/fx/public/en_gb/travel/fx?eId=111009&from=LON&to="+data.ArrivalAirport+"&depDate="+data.FXDepartureDate+"&retDate="+data.FXReturnDate+"&restrictionType=LOWEST&cabin="+ data.Cabin +"&source=LowPriceFinderGraph\">Find</a></div></div></div></td>"
}
}
$count++;
});
div_data+='</tr></tbody></table></div></td></tr>';

$(div_data).insertAfter("tr#"+destination);
doGraphBars();

$("#graph-"+destination).show();
$("#graph-"+destination+" .graphSlider").hide();
$("#graph-"+destination+" .graphSlider").slideDown("slow", function() {
$("#"+destination+" .lpbmPrice").removeClass("loading");
});

$('.modalClick').click(function(event)
{
event.preventDefault();
scroll(0, 0);
initLightbox('modalBox2');
if ($('#oneWayRadio').is(':checked'))
{
$("#oneway").val('true');
$("#typeoneway").attr("checked",true);
}
$("#ad,#ch,#inf").css("visibility","visible");
$("#modalUrl").attr("href", $(this).attr("href"));
});

resetSession();
});

}
function modalSubmit()
{

var modalURLString = $("#modalUrl").attr("href") + "&ad=" + $("#ad").val() + "&ch=" + $("#ch").val() + "&inf=" + $("#inf").val();

if($('#typeoneway').is(':checked') == true) {
retDateindex = modalURLString.indexOf("retDate=");
retrictionTypeindex = modalURLString.indexOf("&restrictionType=");
var modalURLStringtemp = modalURLString.substring(0,retDateindex) + "return=false" + modalURLString.substring(retrictionTypeindex);
modalURLString = modalURLStringtemp;
}

if(($('#typereturn').is(':checked') == true) && ($("#oneway").val() == 'true')) {
retDateindex = modalURLString.indexOf("retDate=");
retrictionTypeindex = modalURLString.indexOf("&restrictionType=");
var s=modalURLString;
var dep_date=s.substring(s.indexOf("depDate=") + 8,s.indexOf("&retDate"));
var modalURLStringtemp = modalURLString.substring(0,retDateindex) + "retDate=" + dep_date + modalURLString.substring(retrictionTypeindex);
modalURLString = modalURLStringtemp;
}
$("#modalUrl").attr("href",modalURLString);
}
var iMaxFare = 0;
var iMinFare = 100000;
function doGraphBars() {

var maxFareDisplay = 290;
var mediumFareDisplay = 200;
var minFareDisplay = 115;
var smallRangeMin = 3;
var smallRangeDivider = 10;
var largeRangeDivider = 2;
var increment = 1;
var count = 0;
var tallestBar = 0;
var topMargin = "";
$("table.fareGraph td .price .amount").each(function (i) {
var iThisFare = $(this).html();
getMaxFare(Math.round(iThisFare));
getMinFare(Math.round(iThisFare));
});
var iFareRange = iMaxFare - iMinFare;
if (iFareRange > 0) {
var fareRangePercentage = iFareRange / iMaxFare * 100;
var fareRangeDisplay = maxFareDisplay - minFareDisplay;
if (fareRangePercentage > smallRangeMin) {
increment = fareRangeDisplay / iFareRange / largeRangeDivider;
} else {
increment = fareRangeDisplay / iFareRange / smallRangeDivider;
minFareDisplay = mediumFareDisplay;
}
} else {
minFareDisplay = mediumFareDisplay;
}
$("table#faresList td  .price .amount").each(function (i) {
var iThisFare = $(this).html();
var sBestFare = Math.round((iThisFare - iMinFare) * increment) + minFareDisplay;
if (sBestFare > tallestBar) {
tallestBar = sBestFare;
}
sBestFare = sBestFare + "px";
$(this).parents("div.wrap").css("height", sBestFare);
count++;
});
topMargin = maxFareDisplay - tallestBar + "px";

}
function getMaxFare(iThisFare) {
if (iThisFare > iMaxFare) {
iMaxFare = iThisFare;
}
}
function getMinFare(iThisFare) {
if (iThisFare < iMinFare) {
iMinFare = iThisFare;
}
}
function resetSession () {
var d = new Date();
var param = d.getTime();
$.get("/travel/ba18.jsp/low-price-finder/public/en_gb/itemid-zzall/?eId=113021&stamp=" + param, function(data){

});
}

