Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Excerpt
HTML
<script>
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

var product_filter = getParameterByName('prod');
var area_filter = getParameterByName('area');
var type_filter = getParameterByName('type');
</script>

<b>Filter by your interest:</b>
<script>
if(product_filter == "bas") {
document.write('<b><a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?prod=bas">Basic Courses</a></b>');
} else {
document.write('<a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?prod=bas">Basic Courses</a>');
}

if(product_filter == "adv") {
document.write(' - <b><a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?prod=adv">Advanced Courses</a></b>');
} else {
document.write(' - <a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?prod=adv">Advanced Courses</a>');
}

if(product_filter == "ovw") {
document.write(' - <b><a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?prod=ovw">New Topics</a></b>');
} else {
document.write(' - <a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?prod=ovw">New Topics</a>');
}

if(!product_filter) {
document.write(' - <b><a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars">All Webinars</a></b>&emsp; ');
} else {
document.write(' - <a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars">All Webinars</a>&emsp; ');
}
</script>



<b>Filter by type:</b>
<script>
if(type_filter == "Sales") {
document.write('<b><a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?type=Sales">Sales</a></b>');
} else {
document.write('<a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?type=Sales">Sales</a>');
}

if(type_filter == "Technical") {
document.write(' - <b><a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?type=Technical">Technical</a></b><br>');
} else {
document.write(' - <a href="https://training.2n.cz/display/TRG/2N+Training+and+Webinars?type=Technical">Technical</a><br>');
}
</script>

<br>

<script>

var trainings_schedule = [


"30","11","2017","13:00","2N Elevator Systems","90","Robin Horniak",
"2N Elevator Systems","Technical","gws",


"31","5","2018","8:00","2N News - IP Intercoms and Access Solution Update","30","Michal Beran",
"hipcc","Technical","ovw",

"14","6","2018","813:00","2N IPNews Intercoms - Call Configuration2N LTE Verso and 2N Access Commander Box","5030","Michal Beran",
"hipccovw","Technical","basovw",

"146","69","2018","1113:00","2N News - IP Intercoms and Access Solution Update 2.24","30","Michal Beran",
"hipcc","Technical","ovw",

"1425","610","2018","138:00","2N News - 2N LTE Verso and 2N Access Commander BoxAnswering Units","30","MichalLadislav BeranKarlovský",
"ovwhipcc","Technical","ovw",

"21





"17","61","20182019","89:00","2N IP Intercoms - AccessBasic ConfigurationInstallation","50","Michal Beran",
"ovwhipbi","Technical","bas",



"2117","61","20182019","1312:00","2N IP Intercoms - BasicCall InstallationConfiguration","50","Michal Beran",
"hipbihipcc","Technical","bas",

"2817","61","20182019","814:00","2N NewsIP Intercoms - 2N LTE Verso and 2N Access Commander BoxConfiguration","3050","Michal Beran",
"ovwhipcc","Technical","ovwbas",

"2831","61","20182019","119:00","2N News - IPElevator Intercoms and Access Solution Systems Update","3050","MichalRobin BeranHorniak",
"hipcclift","Technical","ovw",





"2312","82","20182019","8:00","2N IP Intercoms - Basic Installation","50","Michal Beran",
"hipbi","Technical","bas",

"2313","82","20182019","118:00","2N IP Intercoms - Call Configuration","50","Michal Beran",
"hipcc","Technical","bas",

"2315","82","20182019","138:00","2N IP Intercoms - Access Configuration","50","Michal Beran",
"hipcc","Technical","bas",

"618","92","20182019","89:00","2N News - IP Intercoms Solution- UpdateSales 2.24Overview","3040","MichalLucie BeranSekničková",
"hipccipiso","TechnicalSales","ovwbas",

"628","92","20182019","139:00","2N News - IP Intercoms Solution Update 2.2425","30","MichalGareth BeranRobinson",
"hipcc","Technical","ovw",

"1328","92","20182019","814:00","2N IPNews Intercoms - Basic Installation","50","Michal Beran",
"hipbi","Technical","bas",

"13","9","2018","11:00","2N IP Intercoms -Solution CallUpdate Configuration2.25","5030","MichalGareth BeranRobinson",
"hipcc","Technical","basovw",

"134","93","20182019","139:00","2N IPAnswering IntercomsUnits - AccessSales ConfigurationOverview","5040","MichalLucie BeranSekničková",
"hipccauso","TechnicalSales","bas",

"117","103","20182019","89:00","2NMy2N IP Intercoms - BasicMobile InstallationVideo","50","MichalLadislav BeranKarlovsky",
"hipbiMy2n.","Technical","bas",

"117","103","20182019","1112:00","2N IPNews Intercoms - Call Configuration","50","Michal Beran",
"hipcc","Technical","bas",

"11","10","2018","13:00","2N IP Intercoms -Solution Access Configuration","50","Michal Beran",
"hipcc","Technical","bas",



"Update 2.25","10","2018","8:00","2N News - Answering Units","30","LadislavGareth KarlovskýRobinson",
"hipcc","Technical","ovw",

"257","103","20182019","1314:00","2N News - Answering UnitsSIP Audio","3050","LadislavJaroslav KarlovskýPipek",
"hipccIP Audio","Technical","ovwbas",

"1514","113","20182019","9:00","2N IP Intercoms - Basic Installation","50","Michal Beran",
"hipbi","Technical","bas",

"1514","113","20182019","12:00","2N IP Intercoms - Call Configuration","50","Michal Beran",
"hipcc","Technical","bas",

"1514","113","20182019","14:00","2N IP Intercoms - Access Configuration","50","Michal Beran",
"hipcc","Technical","bas",

"2921","113","20182019","9:00","My2N2N -Elevator Mobile VideoSystems","5060","LadislavRobin KarlovskyHorniak",
"My2n.lift","Technical","advbas",

"2921","113","20182019","12:00","2N SIP Audio","50","Jaroslav Pipek",
"IP Audio","Technical","ovw",

"29","11","2018","14:00","2N Access Commander","80","Ondrej Sindelar",
"Learn about 2N access system and how it works together with our portfolio of IP intercoms.","Technical","adv",


 ];

var HIPBI_description = [

"This basic technical training provides an introduction of 2N Helios IP Intercoms. Choose the right intercom together with all necessary components and accessories. Get ready for the configuration in 5 minutes.",

"<li>2N IP Intercoms comparison</li><li>Components for mechanical installation</li><li>Accessories (answering units, access control, ...)</li><li>Licensing</li><li>Connection to IP network</li><li>Connection to web interface for intercom's configuration</li>",

"<li>Not required</li>"

];

var HIPCC_description = [

"This basic technical training provides an explanation of call configuration for audio and video communication.",

"<li>Interconnection to other IP devices</li><li>Call routing scenarios and settings</li><li>Hardware of IP Intercoms related to calling</li><li>Overview of advanced integrations</li>",

"<li>Not required</li>"

];

var HIPAC_description = [

"This basic technical training provides an explanation of configuration for local and remote access control.",

"<li>Remote and local access triggers</li><ul><li>Answering Units</li><li>Codes</li><li>RFID card</li><li>Mobile phones</li><li>Fingerprints</li></ul><li>Configuration of all access methods </li><li>Configuration of outputs for door opening</li><li>Hardware related to access control</li><li>Overview of advanced integrations</li>",

"<li>Not required</li>"

];

var HIPBS_description = [

"This basic technical training covers settings of most typical installations. Setup voice and video communication together with access control.",

"<li>Interconnection of 2N and 3rd party devices</li><li>Call routing scenarios</li><li>Access control scenarios</li><li>Call routing settings</li><li>Access control settings</li>",

"<li>Elementary networking (IP address, LAN, WAN, VoIP, SIP)</li>"

];

var HIPAS_description = [

"Find out extra features and learn how to set them up. Examples: Picture to email, External camera, Sound and Motion detection, Automation.",

"<li>Explanation of licensed features</li><li>Settings of licensed features</li><li>Other settings not mentioned in basic training</li>",

"<li>Elementary networking (IP address, LAN, WAN, VoIP, SIP)</li>"

];


var LIFT_description = [

"General trainning on Lift products.",

"<li>2N® Lift1<Lift1 hardware and software configuration</li><li>2N® Lift8<Lift8 hardware and software configuration</li><li>2N® LiftIP<LiftIP hardware and software configuration</li>",

"<li>No requirements</li>"

];


var ACIPISO_description = [

"Join our free sales training for 2N AccessIP ControlIntercoms overview that helps you to understand benefits of IPdifferent technologysolutions inwe Access Control and offer, how and where you can offeruse itthem!",

"<li>Market trends in accessIP control<intercoms</li><li>Focus on verticals and customers (top 3 verticals)</li><li>What are customer's requirements</customers</li><li>Sales arguments why to use 2N solution</li><li>Pricing model<li><li>Licences</li><li>Success stories, unique features and benefits</li>",

"<li>No requirements</li>"

];

var AUSO_description = [
"The training is focused on presentation of all answering units 2N offers and will launch in the next months.",
"<li>General overview on 2N answering units.</li><li>What we sell now and how you can use it</li>",
"<li>2N Mobile Video from the sales perspective</li><li>What is coming in 2019 </li>"
];

var ACB_description = [

"The Basic training provides introduction of 2N® Access Unit and 2N® Access Commander.",

"<li>Advantages of Access Control from 2N</li><li>Comparison with traditional access control systems (technology and price)</li><li>Licensing policy</li><li>How to install and run Access Commander</li><li>How to create access rules for your building</li><li>How does Attendance and Presence work in Access Commander</li>",

"<li>Elementary knowledge of networking<br>(IP address, LAN, WAN, SIP, virtual machine).</li>"

];

var HIPM_description = [

"The training is focused on the new features of the latest 2N® Indoor Touch FW and 2N® Helios IP Mobile application releases.",

"<li>New features of the 2N® Indoor Touch FW version 1.6.7</li><li>New features of the 2N® Helios IP Mobile version 4</li>",

"<li>Advanced training and experience with 2N® Helios IP usage</li><li>Experience with 2N® Indoor Touch usage</li>"

];

var HIPV_description = [

"Join our free sales training for 2N Helios IP Verso that helps you understand benefits of IP technology in intercom world and how and where you can offer it!",

"<li>Market trends for intercoms</li><li>Focus on verticals and customers (top 3 verticals)</li><li>What are customer's requirements</li><li>Sales arguments why to use 2N solution</li><li>How to create quotation</li><li>Success stories, unique features and benefits</li>",

"<li>No requirements</li>"

];

var MY2N_description = [

"This training will introduce the My2N portal and 2N Mobile Video service from the business perspective.",

"<li>What are the benefits of 2N Mobile Video for the user.</li><li>How to offer the service for large projects.</li><li>How does the billing work.</li><li>How can you build your own business on 2N Mobile Video service.</li><li>Future plans with My2N portal.</li>",

"<li>No requirements</li>"

];


var MY2NT_description = [

"Technical introduction to My2N - Mobile Video",

"<li>What is 2N® Mobile Video and how does it work?</li><li>2N compatible products</li><li>Step-by-step setup</li><li>Management & subscription purchases</li>",

"<li>No requirements</li>"

];




var training_URI;

document.write('<table class="bordered"><tr><th>Date</th><th colspan="1">Your Time</th><th>Training</th><th>Duration</th><th>Type</th><th colspan="1">UTC Time</th></tr>');

var showall = false;

for (i = 0; i < trainings_schedule.length;) { 

if ((trainings_schedule[i+1] < 3) || ((trainings_schedule[i+1] == 3) && (trainings_schedule[i] < 12))) {
switch(trainings_schedule[i+3]) {
case "6:00" : training_hour = 6; phoenix = "1:00 (1AM)"; cape = "7:00 (7AM)"; tokyo = "15:00 (3PM)"; break;
case "7:00" : training_hour = 7; phoenix = "2:00 (2AM)"; cape = "8:00 (8AM)"; tokyo = "16:00 (4PM)"; break;
case "8:00" : training_hour = 8; phoenix = "3:00 (3AM)"; cape = "9:00 (9AM)"; tokyo = "17:00 (5PM)"; break;
case "9:00" : training_hour = 9; phoenix = "4:00 (4AM)"; cape = "10:00 (10AM)"; tokyo = "18:00 (6PM)"; break;
case "10:00" : training_hour = 10; phoenix = "5:00 (5AM)"; cape = "11:00 (11AM)"; tokyo = "19:00 (7PM)"; break;
case "11:00" : training_hour = 11; phoenix = "6:00 (6AM)"; cape = "12:00 (12PM)"; tokyo = "20:00 (8PM)"; break;
case "12:00" : training_hour = 12; phoenix = "7:00 (7AM)"; cape = "13:00 (1PM)"; tokyo = "21:00 (9PM)"; break;
case "13:00" : training_hour = 13; phoenix = "8:00 (8AM)"; cape = "14:00 (2PM)"; tokyo = "22:00 (10PM)"; break;
case "14:00" : training_hour = 14; phoenix = "9:00 (9AM)"; cape = "15:00 (3PM)"; tokyo = "23:00 (11PM)"; break;
case "15:00" : training_hour = 15; phoenix = "10:00 (10AM)"; cape = "16:00 (4PM)"; tokyo = "24:00 (12AM)"; break;
case "16:00" : training_hour = 16; phoenix = "11:00 (11AM)"; cape = "17:00 (5PM)"; tokyo = "1:00 (1AM,+1d)"; break;
case "17:00" : training_hour = 17; phoenix = "12:00 (12PM)"; cape = "18:00 (6PM)"; tokyo = "2:00 (2AM,+1d)"; break;
case "18:00" : training_hour = 18; phoenix = "13:00 (1PM)"; cape = "19:00 (7PM)"; tokyo = "3:00 (3AM,+1d)"; break;
case "19:00" : training_hour = 19; phoenix = "14:00 (2PM)"; cape = "20:00 (8PM)"; tokyo = "4:00 (4AM,+1d)"; break;
case "20:00" : training_hour = 20; phoenix = "15:00 (3PM)"; cape = "21:00 (9PM)"; tokyo = "5:00 (5AM,+1d)"; break;
case "21:00" : training_hour = 21; phoenix = "16:00 (4PM)"; cape = "22:00 (10PM)"; tokyo = "6:00 (6AM,+1d)"; break;
default : training_hour = "WrongTime"; break;
}
}

if (((trainings_schedule[i+1] == 3)  && (trainings_schedule[i] > 12)) && ((trainings_schedule[i+1] == 3) && (trainings_schedule[i] < 26))) {
switch(trainings_schedule[i+3]) {
case "6:00" : training_hour = 6; phoenix = "2:00 (2AM)"; cape = "7:00 (7AM)"; tokyo = "15:00 (3PM)"; break;
case "7:00" : training_hour = 7; phoenix = "3:00 (3AM)"; cape = "8:00 (8AM)"; tokyo = "16:00 (4PM)"; break;
case "8:00" : training_hour = 8; phoenix = "4:00 (4AM)"; cape = "9:00 (9AM)"; tokyo = "17:00 (5PM)"; break;
case "9:00" : training_hour = 9; phoenix = "5:00 (5AM)"; cape = "10:00 (10AM)"; tokyo = "18:00 (6PM)"; break;
case "10:00" : training_hour = 10; phoenix = "6:00 (6AM)"; cape = "11:00 (11AM)"; tokyo = "19:00 (7PM)"; break;
case "11:00" : training_hour = 11; phoenix = "7:00 (7AM)"; cape = "12:00 (12PM)"; tokyo = "20:00 (8PM)"; break;
case "12:00" : training_hour = 12; phoenix = "8:00 (8AM)"; cape = "13:00 (1PM)"; tokyo = "21:00 (9PM)"; break;
case "13:00" : training_hour = 13; phoenix = "9:00 (9AM)"; cape = "14:00 (2PM)"; tokyo = "22:00 (10PM)"; break;
case "14:00" : training_hour = 14; phoenix = "10:00 (10AM)"; cape = "15:00 (3PM)"; tokyo = "23:00 (11PM)"; break;
case "15:00" : training_hour = 15; phoenix = "11:00 (11AM)"; cape = "16:00 (4PM)"; tokyo = "24:00 (12AM)"; break;
case "16:00" : training_hour = 16; phoenix = "12:00 (12PM)"; cape = "17:00 (5PM)"; tokyo = "1:00 (1AM,+1d)"; break;
case "17:00" : training_hour = 17; phoenix = "13:00 (1PM)"; cape = "18:00 (6PM)"; tokyo = "2:00 (2AM,+1d)"; break;
case "18:00" : training_hour = 18; phoenix = "14:00 (2PM)"; cape = "19:00 (7PM)"; tokyo = "3:00 (3AM,+1d)"; break;
case "19:00" : training_hour = 19; phoenix = "15:00 (3PM)"; cape = "20:00 (8PM)"; tokyo = "4:00 (4AM,+1d)"; break;
case "20:00" : training_hour = 20; phoenix = "16:00 (4PM)"; cape = "21:00 (9PM)"; tokyo = "5:00 (5AM,+1d)"; break;
case "21:00" : training_hour = 21; phoenix = "17:00 (5PM)"; cape = "22:00 (10PM)"; tokyo = "6:00 (6AM,+1d)"; break;
default : training_hour = "WrongTime"; break;
}
}

if ((trainings_schedule[i+1] > 3) || ((trainings_schedule[i+1] == 3) && (trainings_schedule[i] > 26))) {
switch(trainings_schedule[i+3]) {
case "6:00" : training_hour = 6; phoenix = "2:00 (2AM)"; cape = "8:00 (8AM)"; tokyo = "15:00 (3PM)"; break;
case "7:00" : training_hour = 7; phoenix = "3:00 (3AM)"; cape = "9:00 (9AM)"; tokyo = "16:00 (4PM)"; break;
case "8:00" : training_hour = 8; phoenix = "4:00 (4AM)"; cape = "10:00 (10AM)"; tokyo = "17:00 (5PM)"; break;
case "9:00" : training_hour = 9; phoenix = "5:00 (5AM)"; cape = "11:00 (11AM)"; tokyo = "18:00 (6PM)"; break;
case "10:00" : training_hour = 10; phoenix = "6:00 (6AM)"; cape = "12:00 (12PM)"; tokyo = "19:00 (7PM)"; break;
case "11:00" : training_hour = 11; phoenix = "7:00 (7AM)"; cape = "13:00 (1PM)"; tokyo = "20:00 (8PM)"; break;
case "12:00" : training_hour = 12; phoenix = "8:00 (8AM)"; cape = "14:00 (2PM)"; tokyo = "21:00 (9PM)"; break;
case "13:00" : training_hour = 13; phoenix = "9:00 (9AM)"; cape = "15:00 (3PM)"; tokyo = "22:00 (10PM)"; break;
case "14:00" : training_hour = 14; phoenix = "10:00 (10AM)"; cape = "16:00 (4PM)"; tokyo = "23:00 (11PM)"; break;
case "15:00" : training_hour = 15; phoenix = "11:00 (11AM)"; cape = "17:00 (5PM)"; tokyo = "24:00 (12AM)"; break;
case "16:00" : training_hour = 16; phoenix = "12:00 (12PM)"; cape = "18:00 (6PM)"; tokyo = "1:00 (1AM,+1d)"; break;
case "17:00" : training_hour = 17; phoenix = "13:00 (1PM)"; cape = "19:00 (7PM)"; tokyo = "2:00 (2AM,+1d)"; break;
case "18:00" : training_hour = 18; phoenix = "14:00 (2PM)"; cape = "20:00 (8PM)"; tokyo = "3:00 (3AM,+1d)"; break;
case "19:00" : training_hour = 19; phoenix = "15:00 (3PM)"; cape = "21:00 (9PM)"; tokyo = "4:00 (4AM,+1d)"; break;
case "20:00" : training_hour = 20; phoenix = "16:00 (4PM)"; cape = "22:00 (10PM)"; tokyo = "5:00 (5AM,+1d)"; break;
case "21:00" : training_hour = 21; phoenix = "17:00 (5PM)"; cape = "23:00 (11PM)"; tokyo = "6:00 (6AM,+1d)"; break;
default : training_hour = "WrongTime"; break;
}
}

if (((trainings_schedule[i+1] == 11)  && (trainings_schedule[i] < 6)) || ((trainings_schedule[i+1] == 10) && (trainings_schedule[i] == 31))) {
switch(trainings_schedule[i+3]) {
case "6:00" : training_hour = 6; phoenix = "2:00 (2AM)"; cape = "7:00 (7AM)"; tokyo = "15:00 (3PM)"; break;
case "7:00" : training_hour = 7; phoenix = "3:00 (3AM)"; cape = "8:00 (8AM)"; tokyo = "16:00 (4PM)"; break;
case "8:00" : training_hour = 8; phoenix = "4:00 (4AM)"; cape = "9:00 (9AM)"; tokyo = "17:00 (5PM)"; break;
case "9:00" : training_hour = 9; phoenix = "5:00 (5AM)"; cape = "10:00 (10AM)"; tokyo = "18:00 (6PM)"; break;
case "10:00" : training_hour = 10; phoenix = "6:00 (6AM)"; cape = "11:00 (11AM)"; tokyo = "19:00 (7PM)"; break;
case "11:00" : training_hour = 11; phoenix = "7:00 (7AM)"; cape = "12:00 (12PM)"; tokyo = "20:00 (8PM)"; break;
case "12:00" : training_hour = 12; phoenix = "8:00 (8AM)"; cape = "13:00 (1PM)"; tokyo = "21:00 (9PM)"; break;
case "13:00" : training_hour = 13; phoenix = "9:00 (9AM)"; cape = "14:00 (2PM)"; tokyo = "22:00 (10PM)"; break;
case "14:00" : training_hour = 14; phoenix = "10:00 (10AM)"; cape = "15:00 (3PM)"; tokyo = "23:00 (11PM)"; break;
case "15:00" : training_hour = 15; phoenix = "11:00 (11AM)"; cape = "16:00 (4PM)"; tokyo = "24:00 (12AM)"; break;
case "16:00" : training_hour = 16; phoenix = "12:00 (12PM)"; cape = "17:00 (5PM)"; tokyo = "1:00 (1AM,+1d)"; break;
case "17:00" : training_hour = 17; phoenix = "13:00 (1PM)"; cape = "18:00 (6PM)"; tokyo = "2:00 (2AM,+1d)"; break;
case "18:00" : training_hour = 18; phoenix = "14:00 (2PM)"; cape = "19:00 (7PM)"; tokyo = "3:00 (3AM,+1d)"; break;
case "19:00" : training_hour = 19; phoenix = "15:00 (3PM)"; cape = "20:00 (8PM)"; tokyo = "4:00 (4AM,+1d)"; break;
case "20:00" : training_hour = 20; phoenix = "16:00 (4PM)"; cape = "21:00 (9PM)"; tokyo = "5:00 (5AM,+1d)"; break;
case "21:00" : training_hour = 21; phoenix = "17:00 (5PM)"; cape = "22:00 (10PM)"; tokyo = "6:00 (6AM,+1d)"; break;
default : training_hour = "WrongTime"; break;
}
}

if ((trainings_schedule[i+1] == 12) || ((trainings_schedule[i+1] == 11) && (trainings_schedule[i] > 6))) {
switch(trainings_schedule[i+3]) {
case "6:00" : training_hour = 6; phoenix = "1:00 (1AM)"; cape = "7:00 (7AM)"; tokyo = "15:00 (3PM)"; break;
case "7:00" : training_hour = 7; phoenix = "2:00 (2AM)"; cape = "8:00 (8AM)"; tokyo = "16:00 (4PM)"; break;
case "8:00" : training_hour = 8; phoenix = "3:00 (3AM)"; cape = "9:00 (9AM)"; tokyo = "17:00 (5PM)"; break;
case "9:00" : training_hour = 9; phoenix = "4:00 (4AM)"; cape = "10:00 (10AM)"; tokyo = "18:00 (6PM)"; break;
case "10:00" : training_hour = 10; phoenix = "5:00 (5AM)"; cape = "11:00 (11AM)"; tokyo = "19:00 (7PM)"; break;
case "11:00" : training_hour = 11; phoenix = "6:00 (6AM)"; cape = "12:00 (12PM)"; tokyo = "20:00 (8PM)"; break;
case "12:00" : training_hour = 12; phoenix = "7:00 (7AM)"; cape = "13:00 (1PM)"; tokyo = "21:00 (9PM)"; break;
case "13:00" : training_hour = 13; phoenix = "8:00 (8AM)"; cape = "14:00 (2PM)"; tokyo = "22:00 (10PM)"; break;
case "14:00" : training_hour = 14; phoenix = "9:00 (9AM)"; cape = "15:00 (3PM)"; tokyo = "23:00 (11PM)"; break;
case "15:00" : training_hour = 15; phoenix = "10:00 (10AM)"; cape = "16:00 (4PM)"; tokyo = "24:00 (12AM)"; break;
case "16:00" : training_hour = 16; phoenix = "11:00 (11AM)"; cape = "17:00 (5PM)"; tokyo = "1:00 (1AM,+1d)"; break;
case "17:00" : training_hour = 17; phoenix = "12:00 (12PM)"; cape = "18:00 (6PM)"; tokyo = "2:00 (2AM,+1d)"; break;
case "18:00" : training_hour = 18; phoenix = "13:00 (1PM)"; cape = "19:00 (7PM)"; tokyo = "3:00 (3AM,+1d)"; break;
case "19:00" : training_hour = 19; phoenix = "14:00 (2PM)"; cape = "20:00 (8PM)"; tokyo = "4:00 (4AM,+1d)"; break;
case "20:00" : training_hour = 20; phoenix = "15:00 (3PM)"; cape = "21:00 (9PM)"; tokyo = "5:00 (5AM,+1d)"; break;
case "21:00" : training_hour = 21; phoenix = "16:00 (4PM)"; cape = "22:00 (10PM)"; tokyo = "6:00 (6AM,+1d)"; break;
default : training_hour = "WrongTime"; break;
}
}

var time_friendly;
time_friendly = false;

if(area_filter) {

if((area_filter == "AME") && (parseInt(training_hour) >= 13)) time_friendly = true;
if((area_filter == "EUR") && (parseInt(training_hour) >= 7) && (parseInt(training_hour) <= 15) ) time_friendly = true;
if((area_filter == "ASI") && (parseInt(training_hour) <= 10) ) time_friendly = true;
}

switch (trainings_schedule[i+4]) {

case "2N IP Intercoms Basic":
product = "hip";
training_type= "Technical";
break;
case "2N IP Intercoms Advanced":
product = "hip";
training_type= "Technical";
break;
case "2N IP Audio Basic":
product = "ipa";
training_type= "Technical";
break;
case "2N IP Audio Advanced":
product = "ipa";
training_type= "Technical";
break;
case "2N Elevator Systems":
product = "gws";
training_type= "Technical";
break;
case "2N Access Control Basic":
training_type= "Technical";
product = "ac";
break;
case "2N Access Control Sales":
training_type= "Sales";
product = "ac";
break;
case "2N Products Overview":
product = "ovw";
training_type= "Technical";
break;
case "2N IP Intercoms and Access Control Overview":
product = "ovw";
training_type= "Sales";
break;
case "2N Helios IP Verso Sales":
product = "hip";
training_type= "Sales";
break;
case "2N Helios IP Firmware 2.14":
product = "hip";
training_type= "Technical";
break;
default:
product = "unknown";
training_type= "Technical";
break;
}

if(!product_filter) {
if(!area_filter) {
if(!type_filter) showall = true;
}
}

var datumskoleni = new Date(trainings_schedule[i+2], trainings_schedule[i+1]-1, trainings_schedule[i], training_hour, 0, 0, 0);
var rozdilhodin = datumskoleni.getTimezoneOffset();
rozdilhodin = rozdilhodin/60;
tvuj_cas_skoleni = training_hour - rozdilhodin;






if (TrainingInFuture(training_hour,trainings_schedule[i],trainings_schedule[i+1],trainings_schedule[i+2]) && ((type_filter == trainings_schedule[i+8]) || (product_filter == trainings_schedule[i+9]) || showall || time_friendly)) {

if (trainings_schedule[i+4] == "2N IP Intercoms Basic") document.write('<tr class="basic">');
if (trainings_schedule[i+4] == "2N IP Intercoms Advanced") document.write('<tr class="advanced">');
if (trainings_schedule[i+4] == "2N IP Audio Basic") document.write('<tr class="basic">');
if (trainings_schedule[i+4] == "2N IP Audio Advanced") document.write('<tr class="advanced">');
if (trainings_schedule[i+4] == "2N Gateways Basic") document.write('<tr class="basic">');
if (trainings_schedule[i+4] == "2N Access Control Basic") document.write('<tr class="basic">');
 
document.write("<td>"+trainings_schedule[i]+"."+trainings_schedule[i+1]+"."+trainings_schedule[i+2]+"</td><td>"+tvuj_cas_skoleni+":00</td><td>");

 
document.write('<b><a href="https://training.2n.cz/display/TRG/Training+Registration+Form?D='+trainings_schedule[i]+'&M='+trainings_schedule[i+1]+'&Y='+trainings_schedule[i+2]+'&time='+trainings_schedule[i+3]+'&trg='+encodeURIComponent(trainings_schedule[i+4])+'&dur='+trainings_schedule[i+5]+'&who='+encodeURIComponent(trainings_schedule[i+6])+'">'+trainings_schedule[i+4]+'</a></b>');


 
document.write("</td><td>"+trainings_schedule[i+5]+" Minutes</td><td>"+trainings_schedule[i+8]+"</td><td>"+trainings_schedule[i+3]+"</td></tr>");

}

i=i+10;

}
document.write("</table>");

function TrainingInFuture(thour,tday,tmonth,tyear) {
var computer_time = new Date();
var UTC_day = computer_time.getUTCDate();
var UTC_hour = computer_time.getUTCHours();
var UTC_month = computer_time.getUTCMonth()+1;
var UTC_year = computer_time.getUTCFullYear();

UTC_hour=UTC_hour+1;

if(tyear<UTC_year) return false;
if(tyear>UTC_year) return true;
if(tmonth<UTC_month) return false;
if(tmonth>UTC_month) return true;
if(tday<UTC_day) return false;
if(tday>UTC_day) return true;
if(thour<=UTC_hour) return false;
if(thour>UTC_hour) return true;

return true;

}
</script>

...