var modeltype = null;
var engine = null;
var model = null; // model to nazwa modelu i silnika np. gs450h
var version = null;
//var packages = null;
//var colors = null;
var selected = new Array();
var sessionSelectedSet = false;

var versionInfoIndex = null;

var carEngine = null;
var carTransmission = null;

var bodyColor = 1;
var carRim = 1;
var carPhoto = 1;
var colorCode = '077';
var bodyColorName = '';
var interiorColorCode = '';
var interiorColorName = '';
var bName = navigator.appName;
var thumbFolder;
var linki = {"ct200h":"http://www.akcesoria.lexus-polska.pl/?WT.ac=HPspotlight_external_Akcesoria#/CT200H/id-49",
"is200d":"http://www.akcesoria.lexus-polska.pl/#/IS200/id-3",
"is220d":"http://www.akcesoria.lexus-polska.pl/#/IS220D/id-50",
"is250c":"http://www.akcesoria.lexus-polska.pl/#/IS250C/id-11",
"gs450h":"http://www.akcesoria.lexus-polska.pl/#/GS450H/id-23",
"ls460":"http://www.akcesoria.lexus-polska.pl/#/LS460/id-45",
"ls460awd":"http://www.akcesoria.lexus-polska.pl/#/LS460AWD/id-46",
"ls600h":"http://www.akcesoria.lexus-polska.pl/#/LS600H/id-47",
"rx350":"http://www.akcesoria.lexus-polska.pl/#/RX350/id-40",
"rx450h2wd":"http://www.akcesoria.lexus-polska.pl/#/RX450H/id-41",
"rx450h4wd":"http://www.akcesoria.lexus-polska.pl/#/RX450H/id-41",
"isf":"http://www.akcesoria.lexus-polska.pl/#/ISF/id-8"};

$(document).ready(function(){
    
    $('.photoMask').css('opacity', 0);
    
    $('#carNavigation a').live('click', function(){
        $('#carNavigation a').removeClass('active');
        $(this).addClass('active');
        carPhoto = $('#carNavigation a').index(this)+1;
        changeMainPhoto();
    });
    
    $('a').live('focus', function(){
        $(this).blur();
    });

    
    $('.steps a').click(function(){
        if($(".versionData").css('visibility') == 'visible') {
            closeData(".versionData");
        }
        if($(".interiorPopup").css('visibility') == 'visible') {
            closeData(".interiorPopup");
        }
        if($(".additionData").css('visibility') == 'visible') {
            closeData(".additionData");
        }
        
        if($(".bar").css('display') == 'none') {
            $('.pdf').hide();
            $('.bar').show();
        }
        
        $(this).parent().prev().find('img').fadeOut(500);
        $(this).next('img').fadeOut(500);
        
        if($(this).hasClass('disabled'))
            return false;
        $('.steps a').removeClass('active');
        
        $('.stepInfo img').attr('src', '/assets/step' + ($('.steps a').index(this)+1) + '.png');
        
        $(this).addClass('active');
        $(this).removeClass('disabled');
        httpReq = $(this).attr('href');
        
        if(httpReq == '/index/get-engine' || httpReq == '/index/get-model')
            var parameters = {modeltype: modeltype}
        else
            var parameters = {model: model, version: version}
            
        if(httpReq == '/index/get-laststep') {
            var params = {bodyColorCode: colorCode, interiorColorCode: interiorColorCode, interiorColorName: interiorColorName, bodyColorName: bodyColorName}
            $.get('/index/set-session', params);
        }
        
        var progressWidth = ($('.steps a').index(this) ? $('.steps a').index(this)*20 : 2);
        $('.bar').css('width', progressWidth + '%' );
        
        $.get(httpReq, parameters, function(data){
            $('#content').html(data);
            
            switch(httpReq){
                case '/index/get-model':
                    if(modeltype)
                         $('#content ul li a[rel='+modeltype+']').addClass('selected');
                         
                    //$('#version').text('');
                        //$('#content ul li a').find(":contains('" + modeltype + "')").addClass('selected');
                    break;
                case '/index/get-engine':
                        $('#content ul li a[href='+engine+']').addClass('selected');
                        if($('.carEngines li').length == 1 && model != $('.carEngines li a').attr('rel')) { $('.carEngines li:eq(0) a').click(); }
                    break;
                case '/index/get-version':
                        if($('.carVersions li').length == 1) $('.carVersions li:eq(0) a').click();
                        $('#content ul li').find(":contains('" + version + "')").addClass('selected');
                    break;
                default: break;
            }
            
            if(httpReq == '/index/get-packages') {
                $('.kolor').removeClass('disabled');
                $('.kolor').next().fadeIn(500);
                $('.kolor').parent().nextAll().find('img').fadeOut(500);
                $('.kolor').parent().nextAll().find('a').addClass('disabled');
                setListWidth(".carAdditions","normal");
                //selectMe(".carAdditions");
                $('.tablesClipper').jScrollPane({
                    verticalDragMaxHeight: 30
                });
                
                sessionSelectedSet = true;
                superScrollerUD(".equipmentClipper", ".equipmentClipper ul");
                superScrollerLR(".additionsClipper", ".additionsClipper ul", ".circleScrollLeft", ".circleScrollRight");
            }
            if(httpReq == '/index/get-colors'){
                //$.get("/index/get-colors", {model: model}, function(data){
                //    });
                setListWidth(".carBody .colors","fullWidth");
                superScrollerLR(".bodyColorsClipper", ".bodyColorsClipper ul", "#carBodyLArrow", "#carBodyRArrow");
                
                setListWidth(".carInterior .colors","fullWidth");
                superScrollerLR(".interiorColorsClipper", ".interiorColorsClipper ul", "#carInteriorLArrow", "#carInteriorRArrow");
                
                colorSelect("#bodyColors");     
                colorSelect("#interiorColors");
                
                $('img[alt='+colorCode+']').parent().addClass('selected');
                $('img[alt='+interiorColorCode+']').parent().addClass('selected');
                //selectOnlyMe(".carRims");
                //colorCode = $('#bodyColors img').eq(0).attr('alt');
            }
            if(httpReq == '/index/get-laststep'){
                loadCalculator();
                
                $('.banners .second').attr('href', linki[model]);
                $('.pdf').show();
                $('.bar').hide();
            }
        });
        return false;
    });
    
    $('.box').live("click", function(){
        if($(this).hasClass('package')){
            if(!$(this).hasClass('shadow')){
                if($(this).hasClass('selected'))
                    $(this).removeClass('selected');
                else
                    $(this).addClass('selected');
            }
            $('.shadow').removeClass('selected');
        }
        else {
            $('.box').removeClass('selected');
            $(this).addClass('selected');
        }
    });
    
    $('.model').live("click", function(){
        $('#version').text('');
        $('#equipment').text('');
        $('#body-color').text('');
        $('#inside-color').text('');
        
        engine = null;
        version = null;
        if(sessionSelectedSet) { 
            $.get('/index/reset-packages');
            sessionSelectedSet = false;
        }
        selected = new Array();
        //colorCode = '077';

        $('.silnik').removeClass('disabled');
        $('.silnik').next().fadeIn(500);
        $('.silnik').parent().nextAll().find('img').fadeOut(500);
        $('.silnik').parent().nextAll().find('a').addClass('disabled');
        modeltype = $(this).text();
        model = null;
        $('#startContent').hide();
        $('#mainContent').show();
        $('#model').text(modeltype);
        colorCode = '077';
        //alert(modeltype)
        if(modeltype == 'IS C' || modeltype == 'CT' || modeltype == 'RX')
            colorCode = '1G1';
        if(modeltype == 'LS')
            colorCode = '1F2';
        changeMainPhoto();
        
        $('#price').text(' od ' + $(this).find('img').attr('alt') + 'zł');
        //$('#mainModel img').attr('src', '/assets/models/'+modeltype.toLowerCase()+'/'+modeltype.toLowerCase()+'1.png');
    });
    
    $('.engine').live("click", function(){
        carEngine = $(this).find('.desc span:eq(0)').text();
        carTransmission = $(this).find('.desc span:eq(2)').text();
        
        $('#version').text('');
        $('#equipment').text('');
        $('#body-color').text('');
        $('#inside-color').text('');
        version = null;
        if(sessionSelectedSet) { 
            $.get('/index/reset-packages');
            sessionSelectedSet = false;
        }
        selected = new Array();
        
        $('.wersja').removeClass('disabled');
        $('.wersja').next().fadeIn(500);
        $('.wersja').parent().nextAll().find('img').fadeOut(500);
        $('.wersja').parent().nextAll().find('a').addClass('disabled');
        model = $(this).attr('rel');
        engine = $(this).attr('href');
        changeMainPhoto();
        $('#model').text($(this).find('.name').text());//(modeltype + ' ' + $(this).attr('href'));
        return false;
    });
    
    $('.version').live("click", function(){
        $('#equipment').text('');
        $('#body-color').text('');
        $('#inside-color').text('');
        if(sessionSelectedSet) { 
            $.get('/index/reset-packages');
            sessionSelectedSet = false;
        }
        selected = new Array();
        
        $('.dodatkowo').removeClass('disabled');
        $('.dodatkowo').next().fadeIn(500);
        $('.dodatkowo').parent().nextAll().find('img').fadeOut(500);
        $('.dodatkowo').parent().nextAll().find('a').addClass('disabled');
        //alert('wersja');
        version = $(this).find('.name').text();
        $('#version').text(version);
        $('#price').text($('input[name=price['+version+']]').val() + 'zł');
        closeData('.versionData');
    });
    
    $('.package').live("click", function(){
        $('#body-color').text('');
        $('#inside-color').text('');
        interiorColorCode = null;
        colorCode = null;
        
        var left = $('.carAdditions').css('left');
        
        
        
        if($(this).attr('rel') && !$(this).hasClass('shadow')) {
            var relation = $(this).attr('rel');
            if($(this).hasClass('selected'))
                $('.carAdditions input[value='+relation+']').parent().addClass('selected');
            else {
                $('.carAdditions input[value='+relation+']').parent().removeClass('selected');
            }
        }
        
        selected = new Array();
        $('.carAdditions .selected').each(function(i){
            selected.push($(this).find('input[name=packageId]').val());
            //$('#equipment').append('<li>' + $(this).find('.name').text() + '</li>');
            //selected.push(parseInt($('.package').index(this))+1);
        });
        
        $.get("/index/get-packages", {model: model, version: version, selected: selected.toString()}, function(data){
            $('#content').html(data);
            $('#price').text($('input[name=totalPrice]').val() + 'zł');
            
            setListWidth(".carAdditions","normal");
            //selectMe(".carAdditions");
            $('.tablesClipper').jScrollPane({
                verticalDragMaxHeight: 30
            });
            superScrollerUD(".equipmentClipper", ".equipmentClipper ul");
            superScrollerLR(".additionsClipper", ".additionsClipper ul", ".circleScrollLeft", ".circleScrollRight");
            superScrollerLR(".bodyColorsClipper", ".bodyColorsClipper ul", "#carBodyLArrow", "#carBodyRArrow");
            
            $('#equipment').empty();
            $('.selected').each(function(i){
                //selected.push($(this).find('input[name=packageId]').val());
                $('#equipment').append('<li>' + $(this).find('.name').text() + '</li>');
            });
            $('.carAdditions').css('left', left);
            superScrollerLR(".additionsClipper", ".additionsClipper ul", ".circleScrollLeft", ".circleScrollRight");
        });
        
        sessionSelectedSet = true;
        return false;
    });
    
    $('#techDataLink').click(function(){
        if(!model) return false;
        $.get("/index/get-technical", {model: model}, function(data){
            $(document.body).find('.techData').html(data);
            $('.modelName').text('Lexus ' + $('#model').text());
            $('.tablesClipper').jScrollPane({
                verticalDragMaxHeight: 30
            });
            setOverlaySize(".overlay");
            setPopupPosition(".overlay");
            showTechData(".overlay");
        });
        return false;
    });
    
    $('#showSession').click(function(){
        $.get("/index/show-session", function(data){
            alert(data);
        });
    });
    /*
    $('#pdfExport').click(function(){
        
    });
    */
    //alert('asdasda');
    //alert(Base64.encode('Ale jaja'));
    //alert(Base64.decode('aHR0cDovL2xleHVzL2Fzc2V0cy9jYXJzL2lzIDIgMS90aHVtYnMvM1IxLnBuZw=='));
    
    $('.first').live('click', function(){
        /*
        var hostfiles = window.location.protocol + "//" + window.location.host;
        var iframe = 'http://kalkulator.creativesocialapps.com/web';
        iframe += '/model/' + $('#model').text();
        iframe += '/version/' + $('#version').text();
        iframe += '/engine/' + carEngine;
        iframe += '/transmission/' + carTransmission;
        iframe += '/body/' + $('#body-color').text();
        iframe += '/interior/' + $('#inside-color').text();
        iframe += '/img1/' + Base64.encode(hostfiles + $('#mainModel .car').attr('src'));
        iframe += '/img2/' + Base64.encode(hostfiles + $('#carNavigation li:eq(1) a img').attr('src'));
        iframe += '/img3/' + Base64.encode(hostfiles + $('#carNavigation li:eq(2) a img').attr('src'));
        iframe += '/price/' + parseInt($('#price').text().replace(/ /gi, ''));
        $('#iframeCalculator').attr('src', iframe);
        */
       
        $('.overlayCalculator').css('visibility','visible');
        setOverlaySize(".overlayCalculator", ".popupCalculatorData");
        setPopupPosition(".overlayCalculator", ".popupCalculatorData");
        $(".popupCalculatorData").css('top', '10px');
        return false;
    });

    
    $('.third').live('click', function(){
        $('.overlayDiler').css('visibility','visible');
        setOverlaySize(".overlayDiler", ".popupDilerData");
        setPopupPosition(".overlayDiler", ".popupDilerData");
        return false;
    });

    $(".versionInfo").live('click', function(){
        if(versionInfoIndex == $(".versionInfo").index(this) && $('.versionData').css('visibility') == 'visible') {
            closeData('.versionData');
        }
        else{
            var currentPopup = $(this);
            var ver = $(this).attr('title');
            $.get("/index/get-equipment", {model:model, version: ver}, function(data){
                if(data){
                    $('.versionData .tablesClipper').html(data);
                    showPopupData($(currentPopup),".versionData");
                    $('.tablesClipper').jScrollPane({
                        verticalDragMaxHeight: 30
                    });
                }
            });
        }
        
        versionInfoIndex = $(".versionInfo").index(this);
    });
    
    $(".packetInfo").live('mouseover', function(){
        var currentPopup = $(this);
        var packageId = $(this).parent().find('input[name=packageId]').val();
        $.get("/index/get-package-elements", {model:model, version: version, packageId: packageId}, function(data){
            
            if(data) {
                $('.additionData .atablesClipper').html(data);
                showPopupData($(currentPopup),".additionData");
            }
        });
    });
    
    $(".packetInfo").live('mouseout', function(){
        setTimeout(function(){
            closeData(".additionData");
        }, 250); 
    });
    
    $('#bodyColors a').live('click', function(){
        bodyColor = $('#bodyColors a').index(this)+1;
        colorCode = $(this).find('img').attr('alt');
        bodyColorName = $(this).find('img').attr('title');
        $('#body-color').text(ucfirst(bodyColorName));
        changeMainPhoto();
        //var currentPrice = parseInt($('#price').text().replace(/ /gi, ''));
        //alert(currentPrice);
        $('#price').text($(this).next().val() + 'zł');
        $.get("/index/check-body-package", {model:model, color:colorCode});
        //alert($('#equipment').index($('#equipment li:contains("Lakier")')))
            //alert($('#equipment li:contains("Lakier")').length);
            //
        if($(this).find('img').attr('alt') == '212' && $('#equipment li:contains("Lakier")').length) {
            $('#equipment li:contains("Lakier")').remove();
        } 
        else if($(this).find('img').attr('alt') != '212' && !$('#equipment li:contains("Lakier")').length) {
            $('#equipment').append('<li>Lakier niestandardowy</li>');
        }
    });

    
    $('ul#interiorColors li a').live('click', function(){
        var code = $(this).find('img').attr('alt');
        interiorColorCode = code;
        interiorColorName = $(this).attr('title');
        $('.carInterior .colorDescription span').text($(this).attr('title'));
        $('#inside-color').text(interiorColorName);
        
        modelFolder = model;
        if(model=='rx450h2wd' || model=='rx450h4wd') {
            modelFolder = 'rx450h';
        }
        
        //$('.interiorPopup img').attr('src', '/assets/interiors/' + modelFolder + '/material/' + code + '.jpg');
        
        if($(this).attr('rel') == 'start') {
            sendToActionScript('/assets/interiors/' + modelFolder + '/' + code + '.flv');
            buttonId = $(this).attr('id');
            showInterior(buttonId,".interiorPopup");
        }
        
        //alert('/assets/interiors/' + modelFolder + '/' + code + '.flv');
        $('.carInterior .colorDescription span').text(interiorColorName);
    });
    //$("#interiorColors a img").live('mouseout', function(){
    //        closeData($(".interiorPopup"));
    //});

    $('#bodyColors a, #interiorColors a').live("click", function(){
        if($('#bodyColors a.selected').hasClass('selected') && $('#interiorColors a.selected').hasClass('selected')) {
            $('.koniec').removeClass('disabled');
            $('.koniec').next().fadeIn(500);
            $('.koniec').parent().nextAll().find('img').fadeOut(500);
            
        } else {
            $('.koniec').addClass('disabled');
        }
        //if($('.koniec').hasClass('disabled')) 
        //    $('.koniec').removeClass('disabled');
    });
    /*
    $('.rimList a').live('click', function() {
        carRim = $('.rimList a').index(this)+1;
        changeMainPhoto();
    });
    */

    $('#mainModel img').load(function(){
        //alert('jest');
        //$(document).pngFix();
        //$('#mainModel img').fadeIn(300);
        $('.photoMask').animate({opacity: 0}, 300);
        if(thumbFolder) {
            //$(this).animate({opacity: 1}, 300);
            var thumbs = $('#carNavigation li a img');
            tmpName = thumbFolder+' 1 '+carRim;
            var filename = (colorCode) ? colorCode : '077';
            $(thumbs).eq(0).attr('src', '/assets/cars/'+tmpName+'/thumbs/' + filename + '.png');
            tmpName = thumbFolder+' 2 '+carRim;
            $(thumbs).eq(1).attr('src', '/assets/cars/'+tmpName+'/thumbs/' + filename + '.png');
            tmpName = thumbFolder+' 3 '+carRim;
            $(thumbs).eq(2).attr('src', '/assets/cars/'+tmpName+'/thumbs/' + filename + '.png');
        }
    });
    
    //iframeCalculator.document.onload = alert('this');
    //$('#iframeCalculator').load(function() {
    //    alert('' + $('#iframeCalculator').contents().find('#calculator') );
        //alert( $('#iframeCalculator').contents().find('#calculator') );
    //});
    $('#iframeSwitcher2').click(function(){
        //$('#iframeCalculator').attr('src', 'http://kalkulator.creativesocialapps.com/calculator/lowPercent');
        $('#iframeCalculator').load(function() {
            $('#iframeCalculator').attr('height', '405');
        });
    });
    $('#iframeSwitcher1').click(function(){
        //$('#iframeCalculator').attr('height', '615');
        //$('#iframeCalculator').attr('src', 'http://kalkulator.creativesocialapps.com/web/index');
        $('#iframeCalculator').load(function() {
            $('#iframeCalculator').attr('height', '615');
        });
    });
});

function changeMainPhoto() {
    //model
    var tmpName = modeltype.toLowerCase()+' '+carPhoto+' '+carRim;
    thumbFolder = modeltype.toLowerCase();
    if(!model) {
        if(modeltype == 'LS') {
            tmpName = 'ls460 ' + carPhoto + ' ' + carRim;
            thumbFolder = 'ls460';
        }
        if(modeltype == 'IS F') {
            tmpName = 'isf ' + carPhoto + ' ' + carRim;
            thumbFolder = 'isf';
        }
        if(modeltype == 'IS C') {
            tmpName = 'isc ' + carPhoto + ' ' + carRim;
            thumbFolder = 'isc';
        }
        if(modeltype == 'RX') {
            tmpName = 'rx350 ' + carPhoto + ' ' + carRim;
            thumbFolder = 'rx350';
        }
    } 
    else
    {
        //tmpName = model + ' ' + carPhoto + ' ' + carRim;
        //thumbFolder = model;
        if(model == 'is250' || model == 'ls460awd' || model == 'ls460' || model=='ls600hl' || model=='ls600h' || model=='rx350') {
            tmpName = model + ' ' + carPhoto + ' ' + carRim;
            thumbFolder = model;
        }
        if(model=='rx450h2wd' || model=='rx450h4wd') {
            tmpName = 'rx450h' + ' ' + carPhoto + ' ' + carRim;
            thumbFolder = 'rx450h';
        }
        if(model=='is250c'){
            tmpName = 'isc' + ' ' + carPhoto + ' ' + carRim;
            thumbFolder = 'isc';
        }
        if(modeltype=='IS F') {
            tmpName = 'isf ' + carPhoto + ' ' + carRim;
            thumbFolder = 'isf';
        }
    }
    //alert(modeltype);
    var filename = (colorCode) ? colorCode : '077';
    var imgSrc = '/assets/cars/'+tmpName+'/' + filename + '.png';
    
    if(imgSrc == $('#mainModel img.car').attr('src')) return;   
    //$('#mainModel img').css('display', 'block');
    //$('#mainModel img').animate({display: 'none'}, 200, function() {
    //$('#mainModel img').fadeOut(200);
    
    $('.photoMask').animate({opacity: 1}, 200, function() {
        $('#mainModel img.car').attr('src', imgSrc);
    });
    // setTimeout(function(){
        // $('#mainModel img.car').attr('src', imgSrc);
    // }, 200);
    //});
}

function loadCalculator() {
    var hostfiles = window.location.protocol + "//" + window.location.host;
    var iframe = 'http://kalkulator.creativesocialapps.com/web';
    iframe += '/model/' + $('#model').text();
    iframe += '/version/' + $('#version').text();
    iframe += '/engine/' + carEngine;
    iframe += '/transmission/' + carTransmission;
    iframe += '/body/' + $('#body-color').text();
    iframe += '/interior/' + $('#inside-color').text();
    iframe += '/img1/' + Base64.encode(hostfiles + $('#mainModel .car').attr('src'));
    iframe += '/img2/' + Base64.encode(hostfiles + $('#carNavigation li:eq(1) a img').attr('src'));
    iframe += '/img3/' + Base64.encode(hostfiles + $('#carNavigation li:eq(2) a img').attr('src'));
    iframe += '/price/' + parseInt($('#price').text().replace(/ /gi, ''));
    $('#iframeCalculator').attr('src', iframe);
}

//$('#iframeCalculator').load(function() {
//    alert('');
    //alert($('#iframeCalculator #calculator #step1').height());
//});
//$('#iframeCalculator').attr('height', 405);

