﻿var cashPrice = 0;
var carRef = '';
var imgVer = 0;
var sessionId = '';
var carFound = true;
var carDet = '';

function closeLargeImage()
{
    var divImgLarge = $get('divImgLarge');
    hide(divImgLarge);
}

function showLargeImage(id, imgVer)
{
    var imgLarge = $get('imgLarge');
    imgLarge.src = String.format("{0}used/cars/images/full/{1}_{2}.aspx?{3}", applicationPath, carRef, id, (imgVer == 0 ? "" : imgVer)); 
    imgLarge.alt = carDet;
    
    var divImgLarge = $get('divImgLarge');
    show(divImgLarge);
}

function selectImage(id, imgVer)
{
    var imgMain = $get('imgMain');
    var lnkImgLarge = $get('lnkImgLarge');
    var lnkImgLarge2 = $get('lnkImgLarge2');

    imgMain.src = String.format("{0}used/cars/images/large/{1}_{2}.aspx?{3}", applicationPath, carRef, id, (imgVer == 0 ? "" : imgVer));  
    imgMain.alt = carDet;
    lnkImgLarge.href = String.format("javascript:showLargeImage({0},{1})", id, imgVer);  
    lnkImgLarge2.href = String.format("javascript:showLargeImage({0},{1})", id, imgVer);  
}

function populateUsedCarImages()
{
    Carselect.Services.CarService.GetUsedCarImages(carRef, onCompletedUsedCarImages);
}

function populateSmallImage(obj, imgName, lnkName) {
    var id = 0;
    var imgVer = 0;

    var img = $get(imgName);
    img.alt = carDet;
    id = (obj != null ? obj.Id : 0);
    imgVer = (obj != null ? obj.ImageVersion : 0);

    img.src = String.format("{0}used/cars/images/small/{1}_{2}.aspx?{3}", applicationPath, carRef, id, (imgVer == 0 ? "" : imgVer));
    var lnk = $get(lnkName);
    lnk.href = String.format("javascript:selectImage({0},{1})", id, imgVer);         
}

function onCompletedUsedCarImages(results)
{                
    populateSmallImage(results.length > 0 ? results[0] : null, 'imgA', 'lnkA');
    populateSmallImage(results.length > 1 ? results[1] : null, 'imgB', 'lnkB');
    populateSmallImage(results.length > 2 ? results[2] : null, 'imgC', 'lnkC');
    populateSmallImage(results.length > 3 ? results[3] : null, 'imgD', 'lnkD');
    populateSmallImage(results.length > 4 ? results[4] : null, 'imgE', 'lnkE');
    populateSmallImage(results.length > 5 ? results[5] : null, 'imgF', 'lnkF');
    populateSmallImage(results.length > 6 ? results[6] : null, 'imgG', 'lnkG');
    populateSmallImage(results.length > 7 ? results[7] : null, 'imgH', 'lnkH');
    populateSmallImage(results.length > 8 ? results[8] : null, 'imgI', 'lnkI');
}

function showEmail()
{
    showTab('lnkEmail', 'divEmail');
    hideTab('lnkPhone', 'divPhone');
    hideTab('lnkVisit', 'divVisit');
    hideTab('lnkCallback','divCallback');
}

function showPhone()
{
    hideTab('lnkEmail', 'divEmail');
    showTab('lnkPhone', 'divPhone');
    hideTab('lnkVisit', 'divVisit');
    hideTab('lnkCallback','divCallback');
}

function showVisit()
{
    hideTab('lnkEmail', 'divEmail');
    hideTab('lnkPhone', 'divPhone');
    showTab('lnkVisit', 'divVisit');
    hideTab('lnkCallback','divCallback');
}

function showCallback()
{
    hideTab('lnkEmail', 'divEmail');
    hideTab('lnkPhone', 'divPhone');
    hideTab('lnkVisit', 'divVisit');
    showTab('lnkCallback','divCallback');
}

function saveNoQuote()
{
    Carselect.Services.CarService.SaveNoQuote(carRef, cashPrice, true); 
}

function setUpLinks()
{
    var imgMain = $get('imgMain');
    imgMain.alt = carDet;
    imgMain.src = String.format("{0}used/cars/images/large/{1}.aspx?{2}", applicationPath, carRef, (imgVer == 0 ? "" : imgVer));
    
    var lnkImgLarge = $get('lnkImgLarge');
    var lnkImgLarge2 = $get('lnkImgLarge2');
    lnkImgLarge.href = String.format("javascript:showLargeImage(0,{0})", imgVer);
    lnkImgLarge2.href = String.format("javascript:showLargeImage(0,{0})", imgVer);
}

function setUpInitialPage()
{
    var divNoCar = $get('divNoCar');
    var middleDetailContent = $get('middleDetailContent');
    var leftDetailContent = $get('leftDetailContent');
    if (carFound)
    {
        populateUsedCarImages();
        setUpLinks();
        saveNoQuote();
    }
    else
    {   
        show(divNoCar);
        hide(middleDetailContent);
        hide(leftDetailContent);
    }
}
