// JS for PIN043 Domestic Search
$(document).ready(function() {
    
    //Function to create Station List array for Autosuggestion Functionality
    var stationsArray = new Array();
    $("#SearchSubmit").click(function() {
        var windowOptions;

        windowOptions = 'scrollbars=1,resizable=yes';
        windowOptions = windowOptions + ',width=' + (screen.availWidth).toString();
        windowOptions = windowOptions + ',height=' + (screen.availHeight-60).toString();
        windowOptions = windowOptions + ',screenX=0,screenY=0,left=0,top=0';
        var popup = open(this.href,'popup',windowOptions);popup.focus();
        $("#journeySearchForm").submit();
        return false;
    });
    

    //var language = getUrlVars()["langVal"];
    var language = $("#request_locale").val();
    if( language == 'fi')
    {
        stationsArray = ['Alavus','Dragsvik','Eläinpuisto - Zoo','Eno','Espoo','Haapajärvi','Haapamäki','Haarajoki','Hankasalmi','Hanko','Hanko-Pohjoinen','Harjavalta','Haukivuori','Heinävesi','Helsinki','Herrala','Hiekkaharju','Hikiä','Humppila','Huopalahti','Hyvinkää','Hämeenlinna','Höljäkkä','Iisalmi','Iittala','Ilmala','Imatra','Inkeroinen','Inkoo','Isokyrö','Joensuu','Jokela','Joroinen','Jorvas','Joutseno','Juupajoki','Jyväskylä','Jämsä','Järvelä','Järvenpää','Kajaani','Kannelmäki','Kannus','Karjaa','Karkku','Kauhava','Kauklahti','Kauniainen','Kausala','Kemi','Kemijärvi','Kera','Kerava','Kerimäki','Kesälahti','Keuruu','Kilo','Kirkkonummi','Kitee','Kiuruvesi','Kohtavaara','Koivuhovi','Koivukylä','Kokemäki','Kokkola','Kolari','Kolho','Kontiomäki','Koria','Korso','Kotka','Kotkan Satama','Kouvola','Kuopio','Kupittaa','Kylänlahti','Kymi','Kyminlinna','Kyrölä','Käpylä','Lahti','Laihia','Lapinlahti','Lappeenranta','Lappila','Lappohja','Lapua','Lempäälä','Leppävaara','Lieksa','Lievestuore','Loimaa','Louhela','Luoma','Lusto','Malmi','Malminkartano','Mankki','Martinlaakso','Masala','Mikkeli','Misi','Mommila','Muhos','Muurola','Myllykoski','Myllymäki','Myyrmäki','Mäkkylä','Mäntsälä','Mäntyharju','Nastola','Nivala','Nokia','Nuppulinna','Nurmes','Oitti','Orivesi','Orivesi Keskusta','Oulainen','Oulu','Oulunkylä','Paimenportti','Paltamo','Parikkala','Parkano','Parola','Pasila','Pello','Petäjävesi','Pieksämäki','Pietarsaari','Pihlajavesi','Pitäjänmäki','Pohjois-Haaga','Pori','Puistola','Pukinmäki','Punkaharju','Purola','Pyhäsalmi','Pännäinen','Pääskylahti','Raahe','Rauma','Rekola','Retretti','Riihimäki','Rovaniemi','Runni','Ruukki','Ryttylä','Salo','Santala','Saunakallio','Savio','Savonlinna-Kauppatori','Savonlinna linja-autoasema','Seinäjoki','Siilinjärvi','Simpele','Siuntio','Skogby','Sukeva','Suonenjoki','Tammisaari','Tampere','Tapanila','Tavastila','Tervajoki','Tervola','Tikkurila','Toijala','Tolsa','Tornio','Tornio- Itäinen','Tuomarila','Turenki','Turku','Turku Satama','Tuuri','Uimaharju','Utajärvi','Uusikylä','Vaala','Vaasa','Vainikkala','Vainikkala raja','Valimo','Valtimo','Vammala','Vantaankoski','Varkaus','Vihanti','Vihtari','Viiala','Viinijärvi','Villähde','Vilppula','Vuokatti','Vuonislahti','Ylistaro','Ylitornio','Ylivieska','Ähtäri'];
    }   
    else if( language == 'sv')
    {
        stationsArray = ['Alavus','Alberga','Bennäs','Björkby','Björkgård','Björneborg','Bobäck','Bocksbacka','Brahestad','Böle','Dickursby','Domsby','Dragsvik','Ekenäs','Eläinpuisto - Zoo','Eno','Esbo','Etseri','Gamlas','Gjuteriet','Grankulla','Haapajärvi','Haapamäki','Haarajoki','Hangö','Hangö Norra','Hankasalmi','Harjavalta','Haukivuori','Heinävesi','Helsingfors','Herrala','Hikiä','Hoplax','Humppila','Hyvinge','Höljäkkä','Idensalmi','Iittala','Ilmala','Imatra','Ingå','Inkeroinen','Joensuu','Jokela','Jorois','Jorvas','Joutseno','Juupajoki','Jyväskylä','Jämsä','Järvelä','Kajana','Kannus','Karis','Karkku','Karleby','Kauhava','Kausala','Kemi','Kemijärvi','Kera','Kerimäki','Kervo','Kesälahti','Keuruu','Kilo','Kitee','Kiuruvesi','Klippsta','Kohtavaara','Kolari','Kolho','Kontiomäki','Koria','Korso','Kotka','Kotkan Satama','Kottby','Kouvola','Kumo','Kuopio','Kuppis','Kylänlahti','Kyminlinna','Kymmene','Kyrkslätt','Kyrölä','Köklax','Lahtis','Laihela','Lapinlahti','Lappila','Lappo','Lappvik','Lempäälä','Lieksa','Lievestuore','Loimaa','Lusto','Malm','Malmgård','Mankby','Masaby','Misi','Mommila','Mosabacka','Muhos','Muurola','Myllykoski','Myllymäki','Myrbacka','Mäkkylä','Mäntsälä','Mäntyharju','Mårtensdal','Nastola','Nivala','Nokia','Norra Haga','Nuppulinna','Nurmes','Nyslott busstation','Oitti','Orivesi','Orivesi Keskusta','Oulainen','Paimenportti','Paltamo','Parikkala','Parkano','Parkstad','Parola','Pello','Petäjävesi','Pieksämäki','Pietarsaari','Pihlajavesi','Punkaharju','Purola','Pyhäsalmi','Pääskylahti','Raumo','Retretti','Riihimäki','Rovaniemi','Runni','Ruukki','Ryttylä','Räckhals','Salo','Sandkulla','Sandö','Saunakallio','Savio','Savonlinna-Kauppatori','Seinäjoki','Siilinjärvi','Simpele','Sjundeå','Skogby','Sockenbacka','St Michel','Storkyro','Sukeva','Suonenjoki','Tammerfors','Tavastehus','Tavastila','Tervajoki','Tervola','Toijala','Tolls','Torneå','Torneå östra','Träskända','Turenki','Tuuri','Uimaharju','Uleåborg','Utajärvi','Uusikylä','Vaala','Vainikkala','Vainikkala raja','Valtimo','Vammala','Vandaforsen','Varkaus','Vasa','Vihanti','Vihtari','Viiala','Viinijärvi','Villmanstrand','Villähde','Vilppula','Vuokatti','Vuonislahti','Ylistaro','Ylitornio','Ylivieska','Åbo','Åbo hamn','Åggelby'];
    }   
    else
    {
        stationsArray = ['Alavus','Dragsvik','Eläinpuisto - Zoo','Eno','Espoo','Haapajärvi','Haapamäki','Haarajoki','Hankasalmi','Hanko','Hanko-Pohjoinen','Harjavalta','Haukivuori','Heinävesi','Helsinki','Herrala','Hiekkaharju','Hikiä','Humppila','Huopalahti','Hyvinkää','Hämeenlinna','Höljäkkä','Iisalmi','Iittala','Ilmala','Imatra','Inkeroinen','Inkoo','Isokyrö','Joensuu','Jokela','Joroinen','Jorvas','Joutseno','Juupajoki','Jyväskylä','Jämsä','Järvelä','Järvenpää','Kajaani','Kannelmäki','Kannus','Karjaa','Karkku','Kauhava','Kauklahti','Kauniainen','Kausala','Kemi','Kemijärvi','Kera','Kerava','Kerimäki','Kesälahti','Keuruu','Kilo','Kirkkonummi','Kitee','Kiuruvesi','Kohtavaara','Koivuhovi','Koivukylä','Kokemäki','Kokkola','Kolari','Kolho','Kontiomäki','Koria','Korso','Kotka','Kotkan Satama','Kouvola','Kuopio','Kupittaa','Kylänlahti','Kymi','Kyminlinna','Kyrölä','Käpylä','Lahti','Laihia','Lapinlahti','Lappeenranta','Lappila','Lappohja','Lapua','Lempäälä','Leppävaara','Lieksa','Lievestuore','Loimaa','Louhela','Luoma','Lusto','Malmi','Malminkartano','Mankki','Martinlaakso','Masala','Mikkeli','Misi','Mommila','Muhos','Muurola','Myllykoski','Myllymäki','Myyrmäki','Mäkkylä','Mäntsälä','Mäntyharju','Nastola','Nivala','Nokia','Nuppulinna','Nurmes','Oitti','Orivesi','Orivesi Keskusta','Oulainen','Oulu','Oulunkylä','Paimenportti','Paltamo','Parikkala','Parkano','Parola','Pasila','Pello','Petäjävesi','Pieksämäki','Pietarsaari','Pihlajavesi','Pitäjänmäki','Pohjois-Haaga','Pori','Puistola','Pukinmäki','Punkaharju','Purola','Pyhäsalmi','Pännäinen','Pääskylahti','Raahe','Rauma','Rekola','Retretti','Riihimäki','Rovaniemi','Runni','Ruukki','Ryttylä','Salo','Santala','Saunakallio','Savio','Savonlinna-Kauppatori','Savonlinna linja-autoasema','Seinäjoki','Siilinjärvi','Simpele','Siuntio','Skogby','Sukeva','Suonenjoki','Tammisaari','Tampere','Tapanila','Tavastila','Tervajoki','Tervola','Tikkurila','Toijala','Tolsa','Tornio','Tornio- Itäinen','Tuomarila','Turenki','Turku','Turku Satama','Tuuri','Uimaharju','Utajärvi','Uusikylä','Vaala','Vaasa','Vainikkala','Vainikkala raja','Valimo','Valtimo','Vammala','Vantaankoski','Varkaus','Vihanti','Vihtari','Viiala','Viinijärvi','Villähde','Vilppula','Vuokatti','Vuonislahti','Ylistaro','Ylitornio','Ylivieska','Ähtäri'];
    }

    /* This is for populating stations in From and To fields of search journey page */
    function findValue(li) {
        var sValue = li.selectValue;
    }

    /* This is for populating stations in From and To fields of search journey page */
    function selectItem(li) {
        findValue(li);
    }

    $("#fromStationVR").focus();
    $("#fromStationVR").autocompleteArray(
        stationsArray,
        {
            delay:10,
            minChars:1,
            matchSubset:1,
            selectFirst:true,
            onItemSelect:selectItem,
            onFindValue:findValue,
            autoFill:true,
            maxItemsToShow:10
        }
    );
    $("#toStationVR").autocompleteArray(
        stationsArray,
        {
            delay:10,
            minChars:1,
            selectFirst:true,
            matchSubset:1,
            onItemSelect:selectItem,
            onFindValue:findValue,
            autoFill:true,
            maxItemsToShow:10
        }
    );
    
    $('#returnDate').datepick({minDate: new Date(),showOn: 'both',buttonImageOnly: true, buttonImage: 'http://www.vr.fi/shop2/pages/static/img/cal.gif'});
    $('#departureDate').datepick({minDate: new Date(),showOn: 'both',buttonImageOnly: true, buttonImage: 'http://www.vr.fi/shop2/pages/static/img/cal.gif'});
    if($("#onlineshopStatus").val()=='true')
    {
        $('#departureDate').datepick('disable');    
        $("#returntrip").attr('disabled', 'disabled');
    }
    var fromField = $("#fromStationVR");
    fromField.focus();
    
    
    
    // handling roundtrip fields enable/disable
    $("#returntrip").click(function() {
        var rTimeSelection = $('#returnTimeSelection');
        var hhReturnTime = $('#hhReturnTime');
        var mmReturnTime = $('#mmReturnTime');
        if ($(this).is(':checked')) { 
            rTimeSelection.removeAttr('disabled');
            mmReturnTime.removeAttr('disabled');
            hhReturnTime.removeAttr('disabled');
            $('#returnDate').datepick('enable');    
        } else { 
            rTimeSelection.attr('disabled','disabled');
            mmReturnTime.attr('disabled','disabled');
            hhReturnTime.attr('disabled','disabled');
            $('#returnDate').datepick('disable');   
        }       
    });
    
    
    var returnTrip = $("#returntrip");
    var departureDate = $("#departureDate").val();
    var returnDate = $("#returnDate").val();
    var returnJourneyTimehh = $("#hhReturnTime").val();
    var returnJourneyTimemm = $("#mmReturnTime").val();
    
    //var rLbl = $('#returningLbl');
    //var rSelLbl = $('#returnSelLbl');
    var rTimeSelection = $('#returnTimeSelection');
    var rJourneyTime = $('#returnJourneyTime');     
        
    // code to calculate current date in dd.MM.yyyy format
    try{
        var myDate = new Date();    
        var date = myDate.getDate();
        var month = myDate.getMonth()+1;
        var year = myDate.getFullYear();
        if(date <=9){
            date = "0" + date;
        }
            
        if (month <=9){
            month = "0" + month;
        }
        var currentDate =(date + '.' + month + '.' + year);
    }catch(err){
    }

    
    //check if values for departure date and return date is in request
    if (departureDate == "") {   
        $("#departureDate").val(currentDate);
    } else{
        $("#departureDate").val(departureDate);  
    }
        
    if (returnDate == "") {   
        $("#returnDate").val(currentDate);
    } else{
        $("#returnDate").val(returnDate);   
    }
    
    if ($(returnTrip).is(':checked')) { 
        rTimeSelection.removeAttr('disabled');
        $("#returnDate").removeAttr('disabled');
        $("#hhReturnTime").removeAttr('disabled');
        $("#mmReturnTime").removeAttr('disabled');
        $('#returnDate').datepick('enable');    
    }   
    
    

    //Functions to display the return time and arrival time in hh:mm format with default values on page load                
    try{
        var hour = myDate.getHours();
        var min = myDate.getMinutes();  
        if (min <= 9) {
            min = "0" + min;
        }
              
        if (hour <=9){
            hour = "0" + hour;
        } else {
            hour = hour;
        }
    }catch(err){
    }
    
    //check if values for return time and arrival time is in request
    if ($("#hhDepartureTime").val() == "") {   
        $("#hhDepartureTime").val( hour );
    } 
    if ($("#mmDepartureTime").val() == "") {   
        $("#mmDepartureTime").val( min );
    } 
    if ($("#hhReturnTime").val() == "") {   
        $("#hhReturnTime").val( hour );
    } 
    if ($("#mmReturnTime").val() == "") {   
        $("#mmReturnTime").val( min );
    } 
    
});

function getUrlVars() 
    {   
        var vars = [], hash;     
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');     
        for(var i = 0; i < hashes.length; i++)     
        {         
            hash = hashes[i].split('=');         
            vars.push(hash[0]);         
            vars[hash[0]] = hash[1];     
        }     
    return vars; 
    }
// This method attaches the shortcut keys to buttons 
$(document).keydown(function(event){
     // enter
     if(event.keyCode == 13) {
         $("#journeySearchForm").submit();
     }
});

/*
    this function will change height and width if iframe in Parent window.

function resizeIframe(iframeID,height,width) 
{
    if(parent.document.getElementById(iframeID) != null )
    {
        parent.document.getElementById(iframeID).style.height=height+"px"; 
        parent.document.getElementById(iframeID).style.width=width+"px"; 
    }

}*/




