var smFragmentPath = '/templates/cdos/sm/en/';

function setupDatepicker() {
	altText = 'Kalend' + String.fromCharCode(225,345);
	try {
		var now = new Date();
		$("#datepicker").attr('value', zeroFill(now.getDate(), 2) + '.' + zeroFill(now.getMonth() + 1, 2) + '.' + now.getFullYear());
		$("#datepicker").datepicker({ showOn: 'button', buttonImage: '/images/cdos/cal.gif', buttonImageOnly: true, prevText: '', nextText: '', dateFormat: 'dd.mm.yy', firstDay: 1 });
	}
	catch (e) { }
}function condRedirect (optionSelect)
{
	var selection = optionSelect.options[optionSelect.selectedIndex].value;
	if (selection.indexOf('http') > -1) {
		window.location = selection;
	}
}

function sendOptions (smForm)
{

    option = $('#' + smForm.id).find('select[name=option]').val();

    var fname = '';
    var fvalue = '';
    switch (option) {
      case '11':
        fname = 'ld';
        fvalue = '1';
        break;
      case '12':
        fname = 'cn';
        fvalue = '1';
        break;
      case '13':
        fname = 'cy';
        fvalue = '1';
        break;
      case '14':
        fname = 'oc';
        fvalue = '1';
        break;
      case '30':
        fname = 'c';
        fvalue = '1';
        break;
      case '31':
        fname = 'c';
        fvalue = '2';
        break;
      case '51':
        fname = 'af';
        fvalue = '1';
        break;
    }
    $('<input />').attr('type', 'hidden')
      .attr('name', fname)
      .attr('value', fvalue)
      .appendTo($('#' + smForm.id));
    //$('#' + smForm.id).find('select[name=option]').remove();
    return true;
}


$(document).ready(function() {

    // jizdne a slevy
    $("div.jizdenka #tabs a").attr("href", "#");
    $("#tab1").removeClass("close");
    $("#tab1").addClass("open");
    $("input[name='odpr'][value='inland1']").attr("checked", "checked");
    $("#selFare").html($("#selinland1").html());
    $("div.jizdenka form").show();

    // ovladaci prvek pro vyber data - datepicker
    setupDatepicker();

    // ovladaci prvek pro zmenu casu
    setupTimeControl();

    // aktualizace data pomocí šipek
        $('#datenav-up').live('click', function() {
        var actDate = $('#datepicker').datepicker( "getDate" );
        actDate.setDate(actDate.getDate() + 1); 
        $('#datepicker').datepicker( "setDate" , actDate );
    });
    $('#datenav-down').live('click', function() {
        var actDate = $('#datepicker').datepicker( "getDate" );
        actDate.setDate(actDate.getDate() - 1); 
        $('#datepicker').datepicker( "setDate" , actDate );
    });
    // aktualizace data pomocí klávesových šipek
        $('#datepicker').live('keydown', function(event) {
          var actDate = $('#datepicker').datepicker( "getDate" );
          if (event.keyCode == 38) { 
            event.preventDefault();
            actDate.setDate(actDate.getDate() + 1); 
            $('#datepicker').datepicker( "setDate" , actDate );
          }
          if (event.keyCode == 40) { 
            event.preventDefault();
            actDate.setDate(actDate.getDate() - 1); 
            $('#datepicker').datepicker( "setDate" , actDate );
          }
    });

    // zalozky
    $('#tabcontents').hide();
var tabnumber=1;
if (document.getElementById('mt4') && document.getElementById('mt4').className=="over")tabnumber=4;
    $('#tabcontent').html($('#tab-'+tabnumber).html());

    // zalozky
    $('.contentboxgreygrad .boxextra .tabmenu a').click(function() {
        $('.contentboxgreygrad .boxextra .tabmenu a').removeClass("over");
        var idtab = $(this).attr('href');
        $('#tabcontent').html($(idtab).html());
        $(this).addClass("over");
		return false;
    });

    // jizdne a slevy
    $("div.jizdenka #tabs a").click(function() {
        var oCurTab = $("div.jizdenka a.open");
        var aSelTab = $("#" + this.id);
        if (oCurTab.attr("id") == this.id) return false;
        oCurTab.removeClass("open");
        oCurTab.addClass("close");
        aSelTab.removeClass("close");
        aSelTab.addClass("open");
        switch (this.id) {
            case "tab1":
                $("#radioBoxIntl").hide();
                $("#radioBoxInland").show();
                $("input[name='odpr'][value='inland1']").attr("checked", "checked");
                radioFareOnClick("inland1");
                break;
            case "tab2":
                $("#radioBoxInland").hide();
                $("#radioBoxIntl").show();
                $("input[name='odpr'][value='intl1']").attr("checked", "checked");
                radioFareOnClick("intl1");
                break;
        }
        return false;
    });

    // jizdne a slevy
    $("input[name='odpr']").click(function() {
        radioFareOnClick(this.value);
    });

    // jizdne a slevy
    $("#btnShowOffer").click(function() {
        window.location.href = $('#selFare').val();
    });

    // prihlasovani
    $("a.login").click(function() {
        if (typeof fillAZAKSourceApp != "undefined") {
            $('#loginbox').load(smFragmentPath + 'loginbox.htm div.subbox', fillAZAKSourceApp);
        } else {
            $('#loginbox').load(smFragmentPath + 'loginbox.htm div.subbox');
        }
        $('#loginbox').show();
    });


    // smart menu
    $("#smartmenuclose div.box a").click(function() {
        return smartMenuItemOnClick(this);
    });

    // smart menu - hlavni stranka
    $("div.smartmenuhome div.box div.icons a").click(function() {
        switch (this.id) {
            case "ic-1":
                $('#smFormBox').load(smFragmentPath + 'fhp1.htm #smFormhp', {}, function() {
                    setupIcons($('#ic-1')[0]);
                    setupDatepicker();
                    setupTimeControl();
                    InitAutocompleteSpoj('#smFormBox');
                });
                break;
            case "ic-2":
                $('#smFormBox').load(smFragmentPath + 'fhp2.htm #smFormhp', {}, function() {
                    setupIcons($('#ic-2')[0]);
                    setupDatepicker();
                    setupTimeControl();
                    InitAutocomplete('#smFormBox input[name=s]');   // razeni
                    $('a.helptip').cluetip({ splitTitle: '|', dropShadow: false, waitImage: false, width: 450, leftOffset: 10, topOffset: 10, delay: 50 });
                });
                break;
            case "ic-3":
                $('#smFormBox').load(smFragmentPath + 'fhp3.htm #smFormhp', {}, function() {
                    setupIcons($('#ic-3')[0]);
                    setupDatepicker();
                    setupTimeControl();
                    InitAutocompleteSpoj('#smFormBox');
                });
                break;
            case "ic-4":
                $('#smFormBox').load(smFragmentPath + 'fhp4.php #smFormhp', {}, function() {
                    setupIcons($('#ic-4')[0]);
                    setupDatepicker();
                    setupTimeControl();
                    $('a.helptip').cluetip({ splitTitle: '|', dropShadow: false, waitImage: false, width: 450, leftOffset: 10, topOffset: 10, delay: 50 });
                });
                break;
            case "ic-5":
                $('#smFormBox').load(smFragmentPath + 'fhp5.htm #smFormhp', {}, function() {
                    setupIcons($('#ic-5')[0]);
                    setupDatepicker();
                    setupTimeControl();
                    InitAutocompleteSpoj('#smFormBox');
                });
                break;
            case "ic-6":
                $('#smFormBox').load(smFragmentPath + 'fhp6.htm #smFormhp', {}, function() {
                    setupIcons($('#ic-6')[0]);
                    setupDatepicker();
                    setupTimeControl();
                    InitAutocomplete('#smFormBox input[name=hlprijmeni]');   // sluzby
                    $('a.helptip').cluetip({ splitTitle: '|', dropShadow: false, waitImage: false, width: 450, leftOffset: 10, topOffset: 10, delay: 50 });
                });
                break;
        }
        return false;
    });
    // na hlavni strance je formular pro spojeni ihned k dispozici, registrace naseptavace pro spojeni
    if ($('#smFormBox input[name=f]').length > 0){
        // pokud je k dispozici #smFormBox input name=f, je hlavni stranka s formularem pro spojeni ve smartmenu 
        InitAutocompleteSpoj('#smFormBox');
    }
});

// jizdne a slevy
function radioFareOnClick(val) {
    $("#selFare").html($("#sel" + val).html());
}

// prihlasovani
function closeLoginBox() {
    $('#loginbox').hide();
    return false;
}

// smart menu
function smartMenuItemOnClick(oItem) {
    switch (oItem.id) {
        case "ic-1":
        case "icf-1":
            $('#sm1').load(smFragmentPath + 'f1.htm #smForm', {}, function() {
               setupIcons2($('#icf-1')[0]);
               setupDatepicker();
                setupTimeControl();
                InitAutocompleteSpoj('#smFormhp');
            });
            break;
        case "ic-2":
        case "icf-2":
            $('#sm1').load(smFragmentPath + 'f2.htm #smForm', {}, function() {
               setupIcons2($('#icf-2')[0]);
                setupDatepicker();
                setupTimeControl();
                InitAutocomplete('#smFormhp input[name=s]');   // razeni
                $('a.helptip').cluetip({ splitTitle: '|', dropShadow: false, waitImage: false, width: 450, leftOffset: 10, topOffset: 10, delay: 50 });
            });
            break;
        case "ic-3":
        case "icf-3":
            $('#sm1').load(smFragmentPath + 'f3.htm #smForm', {}, function() {
               setupIcons2($('#icf-3')[0]);
                setupDatepicker();
                setupTimeControl();
                InitAutocompleteSpoj('#smFormhp');
            });
            break;
        case "ic-4":
        case "icf-4":
            $('#sm1').load(smFragmentPath + 'f4.php #smForm', {}, function() {
               setupIcons2($('#icf-4')[0]);
                setupDatepicker();
                setupTimeControl();
                $('a.helptip').cluetip({ splitTitle: '|', dropShadow: false, waitImage: false, width: 450, leftOffset: 10, topOffset: 10, delay: 50 });
            });
            break;
        case "ic-5":
        case "icf-5":
            $('#sm1').load(smFragmentPath + 'f5.htm #smForm', {}, function() {
                setupIcons2($('#icf-5')[0]);
                setupDatepicker();
                setupTimeControl();
                InitAutocompleteSpoj('#smFormhp');
            });
            break;
        case "ic-6":
        case "icf-6":
            $('#sm1').load(smFragmentPath + 'f6.htm #smForm', {}, function() {
                setupIcons2($('#icf-6')[0]);                
                setupDatepicker();
                setupTimeControl();
                InitAutocomplete('#smFormhp input[name=hlprijmeni]');   // sluzby
                $('a.helptip').cluetip({ splitTitle: '|', dropShadow: false, waitImage: false, width: 450, leftOffset: 10, topOffset: 10, delay: 50 });
            });
            break;
    }
    $('#sm1').show();
    return false;
}

// smart menu
function closeSmartForm() {
    $('#sm1').hide();
    return false;
}

function setupTimeControl() {
	try {
		var now = new Date();
		$("#thetime").attr('value', zeroFill(now.getHours(), 2) + ':' + zeroFill(now.getMinutes(), 2));
		$("#thetime").keydown(function(event) {
			if (event.keyCode == 38) {
				event.preventDefault();
				updateTime(1);
			}
			if (event.keyCode == 40) {
				event.preventDefault();
				updateTime(-1);
			}
		});
		$("#time-up").click(function() {
			updateTime(1);
		});
		$("#time-down").click(function() {
			updateTime(-1);
		});

	}
	catch (e) { }
}

function updateTime(hourStep) {
	var timeVal = $("#thetime").attr('value');
	var timeSep = timeVal.split(':');
	var h;
	if (!isNaN(timeSep[0])) {
		h = Number(timeSep[0]);
		h += hourStep;
		if (h > 23)
			h = 0;
		else if (h < 0)
			h = 23;
	}
	else {
		h = 12;
	}
	$("#thetime").attr('value', zeroFill(h, 2) + ':00');
}

//1 zmeni na 01
function zeroFill(number, width)
{
	width -= number.toString().length;
	if ( width > 0 ) {
		return new Array( width + (/\./.test( number ) ? 2 : 1) ).join( '0' ) + number;
	}
	return number;
}

// nastavení stisknuté ikony ve SmartMenu na HP
function setupIcons(icon)
{
                $('#ic-1')[0].className = "sm-spojeni";
                $('#ic-2')[0].className = "sm-razeni";
                $('#ic-3')[0].className = "sm-cena";
                $('#ic-4')[0].className = "sm-poloha";
                $('#ic-5')[0].className = "sm-jizdenka";
                $('#ic-6')[0].className = "sm-sluzby";
                icon.className = icon.className + "over";
}

// nastavení stisknuté ikony ve SmartMenu mimo HP
function setupIcons2(icon)
{
                $('#icf-1')[0].className = "sm-spojeni";
                $('#icf-2')[0].className = "sm-razeni";
                $('#icf-3')[0].className = "sm-cena";
                $('#icf-4')[0].className = "sm-poloha";
                $('#icf-5')[0].className = "sm-jizdenka";
                $('#icf-6')[0].className = "sm-sluzby";
                icon.className = icon.className + "over";
}

/* Naseptavac - begin */

// Registrace naseptavce pro spojeni 
function InitAutocompleteSpoj(sPrefId) { 
    InitAutocomplete(sPrefId + ' input[name=f]');   // odkud
    InitAutocomplete(sPrefId + ' input[name=t]');   // kam
    InitAutocomplete(sPrefId + ' input[name=v]');   // pres
}

// registrace naseptavace
function InitAutocomplete(sSelector) {
    if ($.fn.unautocomplete == undefined) return; // pojistka, pokud neni nacteny autocomplete.js
    // pro jistotu nejdrive odregistruje
    $(sSelector).unautocomplete();
    // registrace
    $(sSelector).autocomplete(window.location.protocol + '//www.cd.cz/spojeni/AJAXService.svc/SearchOnGlobalList', {
        selectFirst: false,
        dataType: "json",
        max: 20,
        delay: 200,
        width: 170,
        scroll: false,
        matchSubset: false,
        highlight: false,
        cacheLength: 0,
        extraParams: { bindElementValue: 'SM' },
        formatItem: function(data, i, max, value, term) {
            return data.text;
        },
        parse: function(data) {
            var array = new Array();
            if (data.d) {
                for (var i = 0; i < data.d.length; i++) {
                    array[array.length] = { data: data.d[i], value: data.d[i].text, result: data.d[i].text };
                }
            }
            return array;
        }
    });
}

// vychozi nastaveni pro volani webove sluzby pomoci Ajax
function AjaxDefaultSettings() {
    return {
        contentType: "application/json; charset=utf-8",
        dataType: 'json'
    };
}
/* Naseptavac - end */
