﻿/**********************************************************************************************/
/********* This file is for form scripts only *************************************************/
/**********************************************************************************************/

var showDetail = false;

function ShowDetails(id, obj) {
    var evt = window.event;
    var target;
    var detail = document.getElementById(id);
    var text;
    
    if(evt.target)
    {
        target = evt.target;
    }
    else if(evt.srcElement)
    {
        target = evt.srcElement;
    }

    if (detail) {
        switch (obj.id) {
            case 'e101Lnk':
                text = ETAP101();
                break;
            case 'e115Lnk':
                text = ETAP115();
                break;
            case 'e115NLnk':
                text = ETAP115N();
                break;
            case 'e134Lnk':
                text = ETAP134();
                break;
            case 'e153Lnk':
                text = ETAP153();
                break;
            case 'e155Lnk':
                text = ETAP155();
                break;
            case 'e172Lnk':
                text = ETAP172();
                break;
            case 'e185Lnk':
                text = ETAP185();
                break;
            case 'e194Lnk':
                text = ETAP194();
                break;
            case 'e195Lnk':
                text = ETAP195();
                break;
            case 'e215Lnk':
                text = ETAP215();
                break;
            case 'e253Lnk':
                text = ETAP253();
                break;
            case 'e254Lnk':
                text = ETAP254();
                break;
            case 'e264Lnk':
                text = ETAP264();
                break;
            case 'e273Lnk':
                text = ETAP273();
                break;
            case 'e292Lnk':
                text = ETAP292();
                break; 
        }

        detail.innerHTML = text;
        detail.style.display = 'block';
        detail.style.top = evt.clientY + 'px';
        detail.style.left = evt.clientX - 300 + 'px';
        detail.style.zIndex = 2;
        detail.style.visibility = 'visible';
        showDetail = true;
    }
}

function HideDetails() {

    var detail = document.getElementById("details");
    if (detail) {
        if (!showDetail) {
            if (detail.style.visibility == 'visible') {
                detail.style.visibility = 'hidden';
            }
        }
        showDetail = false;
    }
}

function Show(obj) {
    obj.style.visibility = 'visible';
}

function ETAP101() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 101<br />Design, Analysis &amp; Operation of Power Systems<br />1-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description</strong><br />ETAP 101 training is a practical one-day session to learn about the latest features and capabilities of ETAP Enterprise Solution software for power systems.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees</strong><br />ETAP 101 training is open to all non-Users and new customers of ETAP interested in learning about state-of-the-art tools for analysis, design, and operations of electrical systems.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP115() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 115<br />Power System Engineering Workshop<br />Five-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This hands-on workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP to conduct power system studies, from modeling to analysis. The purpose of this workshop is to develop a thorough understanding of ETAP&rsquo;s capabilities and analytical techniques to solve a variety of practical problems.";
    text += "<p>An overview of the ETAP user interface will be covered including System Modeling (sources, branches, loads, protective devices, etc.), One-Line Diagram, Libraries (data and interface), 3-Dimensional Database (presentation, configuration, and engineering data), Cable Systems (ampacity and sizing), Transmission Lines (line constants, ampacity, and sag and tension), Report Manager, Wizard, etc.</p><p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>ETAP Overview, AC System Modeling, Libraries</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Load Flow Analysis, Short Circuit Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'>Arc Flash Hazard Analysis,  Motor Acceleration Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 5</td><td align='left' valign='top'>Transient Stability Analysis, Open Topics</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for both intermediate and advanced electrical engineers.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP115N() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 115N<br />Power System Engineering Workshop<br />Five-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This hands-on workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP to conduct power system studies, from modeling to analysis. The purpose of this workshop is to develop a thorough understanding of ETAP's capabilities and analytical techniques to solve a variety of practical problems.";
    text += "<p>An overview of the ETAP user interface will be covered including System Modeling (sources, branches, loads, protective devices, etc.), One-Line Diagram, Libraries (data and interface), 3-Dimensional Database (presentation, configuration, and engineering data), Cable Systems (ampacity and sizing), Transmission Lines (line constants, ampacity, and sag and tension), Report Manager, Wizard, etc.</p>";
    text += "<p>Sub-topics within DC Systems include DC Load Flow, Short Circuit, Battery Sizing &amp; Discharge and DC Control Systems. DC systems provides analysis capabilities for engineers who are responsible for designing and maintaining DC power systems. DC systems will cover modeling of various DC components as well as AC-DC interface devices such as chargers, batteries, motors, loads, control relays, coils, contacts, etc. It also covers calculations, operating logics, and sequence-of-operation of the control diagrams along with case studies related to automatic control of switchgears, motors, and other processes.</p>";
    text += "<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>ETAP Overview, AC System Modeling, Libraries, Load Flow Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top>Load Flow Analysis, Short Circuit Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'>Motor Acceleration Analysis, Transient Stability Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 5</td><td align='left' valign='top'>DC Systems</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for both intermediate and advanced electrical engineers.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP134() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 134<br />T&amp;D System Engineering Workshop<br />Four-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This course is designed for electrical engineers, system operators, and planners to introduce the fundamentals of Transmission and Distribution engineering using ETAP. Theoretical and practical concepts and examples will be explored to assist the technical professional with their primary functions. Effects of system unbalance and solutions, optimization techniques using optimal power flow and capacitor placement will be analyzed as well as system operations such as switching and contingencies will be studied.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>Unbalanced Load Flow,Optimal Power Flow,Optimal Capacitor Placement,Switching Optimization,Contingency Analysis</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for technical individuals who work in the Transmission and Distribution field. This workshop is beneficial for those who conduct planning, optimization, and operation studies as well as consultants who provide services to this sector.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP153() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 153<br />Short Circuit, Device Evaluation &amp; Arc Flash Workshop<br />Three-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>The purpose of this hands-on workshop is to develop a basic understanding of the capabilities of ETAP for short circuit analysis, protective device evaluation, coordination / selectivity, and arc flash analysis.";
    text += "<p>ETAP 153 workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP to conduct protective device coordination and arc flash studies. The workshop covers system modeling, operation, and evaluation of the elements during steady-state, and short circuit conditions. The evaluation process includes protection and coordination of protective devices. </p>";
    text += "<p>An overview of the ETAP user interface will be covered including System Modeling (sources, branches, loads, protective devices, etc.), One-Line Diagram, Libraries (data and interface), 3-Dimensional Database (presentation, configuration, and engineering data), Sizing, Report Manager, Wizard, etc.</p>";
    text += "<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>ETAP Overview, Load Flow Analysis, Short Circuit Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Arc Flash Hazard Analysis</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for both intermediate and advanced electrical engineers who wish to increase their skill using ETAP for device evaluation and arc flash analysis. Attendees should have one year recent experience performing system studies using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP155() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 155<br />Short Circuit, Device Evaluation &amp; Arc Flash Workshop<br />Five-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>The purpose of this hands-on workshop is to develop a basic understanding of the capabilities of ETAP for short circuit analysis, protective device evaluation, coordination / selectivity, arc flash analysis and motor acceleration from modeling to analysis.";
    text += "<p>ETAP 155 covers system modeling, operation, and evaluation of the elements during steady-state, and short circuit conditions. The evaluation process includes protection and coordination of protective devices. An overview of the ETAP user interface will be covered including System Modeling (sources, branches, loads, protective devices, etc.), One-Line Diagram, Libraries (data and interface), 3-Dimensional Database (presentation, configuration, and engineering data), Sizing, Report Manager, Wizard, etc.</p>";
    text += "<p>ETAP 155 provides the skills, knowledge, and techniques necessary to become proficient in ETAP to conduct protective device coordination, arc flash studies, and motor acceleration analysis.</p>";
    text += "<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    
    text += "<tr><td align='left' valign='top' class='body_left'>";
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>ETAP Overview, AC System Modeling, Libraries</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Load Flow Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Short Circuit, Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation, Arc Flash Hazard Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 5</td><td align='left' valign='top'>Arc Flash Hazard Analysis, Motor Acceleration Analysis</td></tr></table></td>";     
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for both intermediate and advanced electrical engineers who wish to increase their skill using ETAP for device evaluation, arc flash analysis and motor acceleration analysis.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP172() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 172<br />Dynamics &amp; Stability Analysis Workshop<br />Two-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>The purpose of this hands-on workshop is to develop a more thorough understanding of the capabilities of ETAP. This course is for attendees familiar with modeling and validating one-line diagrams using ETAP. The topics covered in this workshop embrace fundamentals on power system dynamics and stability as well as induction and synchronous machine dynamics. Modeling of their associated control systems such as excitation/AVR, turbine/governor and PSS are discussed. Additional topics include network and load modeling, steady-state and transient-state stability limits, simulation of system disturbances and actions, motor starting and acceleration, affects of system parameters, common transient stability studies such as critical fault clearing time, critical islanding time, protective device settings, bus transfer, load shedding, etc. Case studies from actual industrial and T&amp;D systems will be provided and worked on. Through the hands-on exercises using ETAP, the attendees will acquire the knowledge, skills, and experience to conduct power system dynamic and stability studies for their own systems.<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>Motor Acceleration Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Transient Stability Analysis</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>Attendees should have one year recent experience performing system studies using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP185() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 185<br />Power System Automation (ILS, EMS, iSub)Workshop<br />Five-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This hands-on workshop provides the skills, knowledge, and techniques necessary to become proficient in setup, capabilities, operation, installation, and maintenance of ETAP Real-Time ILS, EMS, and iSub. The purpose of this workshop is to develop a thorough understanding of these applications and the integration process.<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>Real-Time Overview</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Intelligent Load Shedding</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Intelligent Load Shedding</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'>Automatic Generation Control (Area Control Error, Economic Dispatch, Interchange Scheduling)</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 5</td><td align='left' valign='top'>Switching Sequence Management, Control (Manual and Automatic)</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for electrical engineers, automation engineers, maintenance and operations personnel involved in the automation, system stability, control, and protection of electrical networks.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP194() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 194<br />Real-Time Monitoring, Simulation &amp; Control Workshop<br />Four-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This hands-on workshop provides the skills, knowledge, and techniques necessary to become proficient in setup, capabilities, operation, installation, and maintenance of ETAP Real-Time. The purpose of this workshop is to develop a thorough understanding of ETAP Real-Time applications and the integration process.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>Power System Monitoring &amp; Simulation (PSMS), Advanced Monitoring, Predictive Simulation, Event Playback (Historian), Online Control &amp; Automation, Trending, Energy Analysis, ActiveX, Intelligent Load Shedding (ILS), Energy Management System (EMS)</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for operators, electrical engineers, and managers who are engaged or interested in power system monitoring, simulation, control, and management. It is also beneficial for system integrators and automation companies with SCADA, DCS, or other power system online applications.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP195() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 195<br />Power System Monitoring, Simulation, Control, &amp; SCADA Workshop<br />Five-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This hands-on workshop provides the skills, knowledge, and techniques necessary to become proficient in setup, capabilities, operation, installation, and maintenance of ETAP Real-Time. The purpose of this workshop is to develop a thorough understanding of ETAP Real-Time applications and the integration process.";
    text += "<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>ETAP Overview</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>OLE for Process Control (OPC), PSMS</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>State Load Estimation, Predictive Simulation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'>Automatic Generation Control (Area Control Error, Economic Dispatch, Interchange Scheduling)</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 5</td><td align='left' valign='top'>Switching Sequence Management, Control (Manual and Automatic)</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for operators, electrical engineers, and managers who are engaged or interested in power system monitoring, simulation, control, and management. It is also beneficial for system integrators and automation companies with SCADA, DCS, or other power system online applications.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP215() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 215<br />Advanced Power System Engineering Workshop<br />Five-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>The purpose of this advanced hands-on workshop is to develop a more thorough understanding of the capabilities of ETAP. ETAP 215 workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP for performing power system analysis. This course is an advanced refresher course for attendees familiar with modeling and validating one-line diagrams using ETAP.";
    text += "<p>Transient Stability will cover basics of power system stability phenomena, modeling (generator, exciter, governor motor and load), simulation of actions, common transient stability studies, and sample case studies. Harmonics will cover discussions on harmonic sources, their impacts on power systems, modeling and measurement indices. Case studies for harmonic load flow, frequency scan, and filter design will be conducted.</p>";
    text += "<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>Load Flow Analysis, Short Circuit Analysis,</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Arc Flash Hazard Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'> Motor Acceleration Analysis, Transient Stability Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 5</td><td align='left' valign='top'>Underground Raceway Systems, Harmonic Analysis</td></tr></table></td>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>Attendees should have one year recent experience performing system studies using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP253() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 253<br />Advanced Short Circuit, Device Evaluation &amp; Arc Flash Workshop<br />Three-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This advanced workshop is specifically tailored to meet the needs of ETAP users performing both device coordination and protection studies and arc flash analysis. The purpose of this hands-on workshop is to develop a detailed understanding of ETAP Star (protective device evaluation and coordination/selectivity) capabilities and analytical techniques to solve a variety of practical examples that are related to power systems. Additionally, by performing multiple Arc Flash exercises, the attendee will develop a more thorough understanding of the capabilities of ETAP arc flash analysis.";
    text += "<p>ETAP 253 workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP to conduct protective device coordination and arc flash studies.</p>";
    text += "<p>The purpose of this advanced hands-on workshop is to develop a more thorough understanding of the capabilities of ETAP. ETAP 253 workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP for performing power system analysis. This course is an advanced refresher course for attendees familiar with modeling and validating one-line diagrams using ETAP.</p>";
    text += "<p>An ETAP computer workstation is provided for each attendee.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>Load Flow Analysis, Short Circuit Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Arc Flash Hazard Analysis</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>Attendees should have one year recent experience performing system studies using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP254() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 254<br />Advanced Device Evaluation &amp; Analyses Workshop<br />Four-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This advanced workshop is specifically tailored to meet the needs of ETAP users performing both device coordination and protection studies and arc flash analysis. The purpose of this hands-on workshop is to develop a detailed understanding of ETAP Star (protective device evaluation and coordination/selectivity) capabilities and analytical techniques to solve a variety of practical examples that are related to power systems. Additionally, by performing multiple Arc Flash exercises, the attendee will develop a more thorough understanding of the capabilities of ETAP arc flash analysis.";
    text += "<p>ETAP 254 provides the skills, knowledge, and techniques necessary to become proficient in ETAP to conduct protective device coordination, arc flash studies, and motor acceleration analysis.</p>";
    text += "<p>The purpose of this advanced hands-on workshop is to develop a more thorough understanding of the capabilities of ETAP. ETAP 254 workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP for performing power system analysis. This course is an advanced refresher course for attendees familiar with modeling and validating one-line diagrams using ETAP.</p></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";   
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>Load Flow Analysis, Short Circuit Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Short Circuit Analysis, Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Protective Device Protection, Device Coordination / Selectivity, Device Sequence-of-Operation, Arc Flash Hazard Analysis</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top'>Day 4</td><td align='left' valign='top'> Arc Flash Hazard Analysis, Motor Acceleration Analysis</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>Attendees should have one year recent experience performing system studies using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP264() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 264<br />Advanced Relay Testing &amp; Transient Simulator (ARTTS) Workshop<br />Four-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>The purpose of this hands-on workshop is to learn how to use the ETAP ARTTS test-set and related software to effectively test relays. Basic understanding of the capabilities of ETAP for protective device evaluation and coordination / selectivity is required. This workshop provides the skills, knowledge, and techniques necessary to become proficient in ETAP Star relay test set interface to conduct relay testing and evaluation. System modeling, operation, and evaluation of the elements during steady-state, and short circuit conditions will be covered in this workshop. The evaluation process includes protection and coordination of protective devices. An overview of the ETAP user interface will be covered. Participants will utilize ARTTS-6 test set as a tool to solve practical problems for real, hands-on experience.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>ARTTS Overview, ARTTS Hardware (50, 51, &amp; 21 Relay Testing), Star-ARTTS Interface</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>Attendees should have one year recent experience using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP273() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 273<br />Advanced Dynamics &amp; Stability AnalysisWorkshop<br />Three-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>The purpose of this hands-on workshop is to develop a more thorough understanding of the capabilities of ETAP. This course is for attendees familiar with modeling and validating one-line diagrams using ETAP. The topics covered in this workshop embrace fundamentals on power system dynamics and stability as well as induction and synchronous machine dynamics. Modeling of their associated control systems such as excitation/AVR, turbine/governor and PSS are discussed. Additional topics include network and load modeling, steady-state and transient-state stability limits, simulation of system disturbances and actions, motor starting and acceleration, affects of system parameters, common transient stability studies such as critical fault clearing time, critical islanding time, protective device settings, bus transfer, load shedding, etc. Case studies from actual industrial and T&amp;D systems will be provided and worked on. Through the hands-on exercises using ETAP, the attendees will acquire the knowledge, skills, and experience to conduct power system dynamic and stability studies for their own systems.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>";
    text += "<table width='100%' border='0' align='left' cellpadding='0' cellspacing='0'><tr><td width='12%' align='left' valign='top'>Day 1</td><td width='88%' align='left' valign='top'>Transient Stability</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>";    
    text += "<tr><td align='left' valign='top'>Day 2</td><td align='left' valign='top'>Generator Start-Up, User-Defined Dynamic Models</td></tr>";
    text += "<tr><td align='left' valign='top'>&nbsp;</td><td align='left' valign='top'>&nbsp;</td></tr>"; 
    text += "<tr><td align='left' valign='top'>Day 3</td><td align='left' valign='top'>Motor Parameter Estimation</td></tr></table></td>";
    text += "</tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>Attendees should have one year recent experience performing system studies using ETAP.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function ETAP292() {
    var text = new String();

    text = "<table width='450' cellspacing='0' cellpadding='0' class='details'>";
    text += "<tr><td align='left' valign='top'><h1 class='headings'>ETAP 292<br />Real-Time / Power System Monitoring &amp; Simulation - PSMS Workshop<br />Two-Day Course</h1></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Description<br /></strong>This hands-on workshop provides the skills, knowledge, and techniques necessary to become proficient in setup, capabilities, operation, installation, and maintenance of ETAP Real-Time. The purpose of this workshop is to develop a thorough understanding of ETAP Real-Time applications and the integration process.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Topics</strong></td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>Power System Monitoring &amp; Simulation (PSMS), Advanced Monitoring, Predictive Simulation, Event Playback (Historian), Online Control &amp; Automation, Trending, Energy Analysis, ActiveX, Intelligent Load Shedding (ILS), Energy Management System (EMS)</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'><strong>Attendees<br /></strong>This workshop is tailored for operators, electrical engineers, and managers who are engaged or interested in power system monitoring, simulation, control, and management. It is also beneficial for system integrators and automation companies with SCADA, DCS, or other power system online applications.</td></tr>";
    text += "<tr><td align='left' valign='top' class='body_left'>&nbsp;</td></tr>";
    text += "</table>";

    return text;
}

function TraineeValidate(obj) {
    var mySel;
    var comSel;
    var comNo;
    var msgctl;
    var prefixId = obj.id.substr(0, obj.id.lastIndexOf('_'));

    if (obj.id.indexOf('trainMyself') != -1) {
        mySel = obj;
        comSel = document.getElementById(prefixId + '_trainCompany');
        comSel.checked = false;
    }
    else if (obj.id.indexOf('trainCompany') != -1) {
        comSel = obj;
        mySel = document.getElementById(prefixId + '_trainMyself');
        mySel.checked = false;
    }
    else {
        mySel = document.getElementById(prefixId + '_trainMyself');
        comSel = document.getElementById(prefixId + '_trainCompany');
    }
    
    comNo = document.getElementById(prefixId + '_trainNo');
    msgctl = document.getElementById(prefixId + '_reqMsg');

    if (mySel.checked) {
        comSel.checked = false;
        comNo.value = "";
        msgctl.innerText = "";
    }
    else if (comSel.checked) {
        mySel.checked = false;
        if (comNo.value == "") {
            msgctl.innerText = "* Required";
            return false;
        }
    }
    else {
        msgctl.innerText = "";
    }

    return true;
}

/******************************************** populate fields ********************************************/
function CopyInfo(obj, ff, fl, fj, fm, fp, fext, ffax, tf, tl, tj, tm, tp, text, tfax) {

    if (obj.checked) {
        document.getElementById(tf).value = document.getElementById(ff).value;
        document.getElementById(tl).value = document.getElementById(fl).value;
        document.getElementById(tj).value = document.getElementById(fj).value;
        document.getElementById(tm).value = document.getElementById(fm).value;
        document.getElementById(tp).value = document.getElementById(fp).value;
        document.getElementById(text).value = document.getElementById(fext).value;
        document.getElementById(tfax).value = document.getElementById(ffax).value;
    }
    else {
        document.getElementById(tf).value = "";
        document.getElementById(tl).value = "";
        document.getElementById(tj).value = "";
        document.getElementById(tm).value = "";
        document.getElementById(tp).value = "";
        document.getElementById(text).value = "";
        document.getElementById(tfax).value = "";
    }
}

function CheckBoxToggle(obj, other) {
    if (obj.checked) {
	other.checked = false;
    } 
}

/**************Select/Unselect all checkbox list items********************************/
function SelectAllCheckList(obj, list) {
    var liIndex = 0;
    var currentListItem = document.getElementById(list + '_' + liIndex.toString());

    while (currentListItem != null) {
        currentListItem.checked = obj.checked;
        liIndex++;
        currentListItem = document.getElementById(list + '_' + liIndex.toString());
    }
}


/**************** mobile *****************************/
var xmlhttp = null;
var DATA_REQUEST_VARIABLE = "CallCommand";
var headanchor = null;
var mainanchor = null;
var callbackElement = null;
var isIE = false;
var refreshc = false;
var browser = null;
var chromedoc = null;

function ajaxInit() {
    try {
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("Browser error");
                return false;
            }
        }
    }
}

function xmlInit() {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
        var chrome = window.navigator.userAgent.indexOf("Chrome");
        if(chrome > 0)
        {
            browser = "Chrome";
        }
    }
    else {
        isIE = true;
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("Browser error");
            }
        }
    }
}

function RequestData(strRequestType, url, headId, mainId, obj) {
   xmlInit();

    headanchor = headId;
    mainanchor = mainId;
    callbackElement = obj;
    if (xmlhttp) {
        xmlhttp.onreadystatechange = processRequestChanged;

        switch (strRequestType) {
            case "mobile event":
                {
                    var callUrl = url + "?" + DATA_REQUEST_VARIABLE + "=" + strRequestType;

                    if (callbackElement.value == "All Events")
                        callUrl += "&qsvEvent=true";
                    else {
                        callUrl += "&qsvEvent=false";
                    }
                    xmlhttp.open("post", callUrl, true);
                    xmlhttp.send(null);
                    break;
                }
            case "update date-post":
                {
                    xmlhttp.open("post", url, true);

                    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

                    var theAjaxRequestText = DATA_REQUEST_VARIABLE + "=" + strRequestType + "&qsv=" + strData;

                    xmlhttp.send(theAjaxRequestText);
                    break;
                }
            default: 
                alert("XML request processing error");
        }
        return xmlhttp.responseXML; 
    }
}

function processRequestChanged() {
    if (xmlhttp.readyState == 3 && browser == "Chrome" && xmlhttp.status == 200) 
    {
                /*************/
            var anchorDiv = document.getElementById(mainanchor + '_upEventPh');
            var viewBtn = document.getElementById(mainanchor + '_viewAll');
            var header = document.getElementById(headanchor + '_headerLabel');
            var elem = null;
            var upevt = false;

            var elems = new EventElements();
            if (viewBtn.value == "All Events") {
                viewBtn.name = viewBtn.value = "Upcoming Events";
                header.innerText = "All ETAP Events";
            }
            else {
                viewBtn.name = viewBtn.value = "All Events";
                header.innerText = "ETAP Upcoming Events";
                upevt = true;
            }

            if (anchorDiv != null) {
                anchorDiv.innerHTML = "";
            }

            var innerHTML = "";
            /*************/
            
            var response;


        var parser = new DOMParser();
        chromedoc = parser.parseFromString(xmlhttp.responseText,"text/xml");
        response = chromedoc.getElementsByTagName("event");
        
        for (var i = 0; i < response.length; i++) {
            var evtinfo = new ETAPEvent(getElementTextNS("", "region", response[i], 0), getElementTextNS("", "url", response[i], 0), getElementTextNS("", "name", response[i], 0), getElementTextNS("", "date", response[i], 0), getElementTextNS("", "location", response[i], 0));
            BuildEvent(evtinfo, elems, upevt, innerHTML);
        }
        AppendEvent(elems, upevt, anchorDiv);
    }
    else if (xmlhttp.readyState == 4) {
        if (xmlhttp.status == 200) {
	/*******************/
	            var anchorDiv = document.getElementById(mainanchor + '_upEventPh');
            var viewBtn = document.getElementById(mainanchor + '_viewAll');
            var header = document.getElementById(headanchor + '_headerLabel');
            var elem = null;
            var upevt = false;

            var elems = new EventElements();
            if (viewBtn.value == "All Events") {
                viewBtn.name = viewBtn.value = "Upcoming Events";
                header.innerText = "All ETAP Events";
            }
            else {
                viewBtn.name = viewBtn.value = "All Events";
                header.innerText = "ETAP Upcoming Events";
                upevt = true;
            }

            if (anchorDiv != null) {
                anchorDiv.innerHTML = "";
            }

            var innerHTML = "";
            
            var response;

            if (isIE) {
                response = xmlhttp.responseXML.documentElement;
                if (response != null) {
                    //DisplayEvent(response);
                    for (var i = 0; i < doc.childNodes.length; i++) {
                        elem = doc.childNodes[i];
                        if (elem != null) {
                            var evtItem = new ETAPEvent(elem.getElementsByTagName('region')[0].firstChild.data, elem.getElementsByTagName('url')[0].firstChild.data, elem.getElementsByTagName('name')[0].firstChild.data, elem.getElementsByTagName('date')[0].firstChild.data, elem.getElementsByTagName('location')[0].firstChild.data);
                            BuildEvent(evtItem, elems, upevt, innerHTML);
                        }
                    }
                }
            }
            else {
                response = xmlhttp.responseXML.getElementsByTagName("event");

                for (var i = 0; i < response.length; i++) {
                    var evtinfo = new ETAPEvent(getElementTextNS("", "region", response[i], 0), getElementTextNS("", "url", response[i], 0), getElementTextNS("", "name", response[i], 0), getElementTextNS("", "date", response[i], 0), getElementTextNS("", "location", response[i], 0));
                    BuildEvent(evtinfo, elems, upevt, innerHTML);
                }
            }
            AppendEvent(elems, upevt, anchorDiv);
	/*******************/

        }
    }
}

function BuildEvent(eventItem, elems, upevt, innerHTML) {
    if (eventItem != null) {
        var region = eventItem.region;
        var url = eventItem.url;
        var name = eventItem.name;
        var date = eventItem.date;
        var location = eventItem.location;

        innerHTML = "<a href='" + url + "' class='fmtext_left_small'><strong>" + name + "</strong><br/> " + location + "<br/> " + date + "</a><br/><br/>";
 
        if (upevt) {
            if (elems.upElement == null) {
                elems.upElement = document.createElement("div");
                elems.upElement.setAttribute("id", "upDiv");
                elems.upElement.innerHTML = "";
            }

            elems.upElement.innerHTML += innerHTML;
        }
        else {
            if (elems.afElement == null) {
                elems.afElement = document.createElement("div");
                elems.afElement.setAttribute("id", "afDiv");
                elems.afElement.innerHTML = "";
            }

            if (elems.asiaElement == null) {
                elems.asiaElement = document.createElement("div");
                elems.asiaElement.setAttribute("id", "asiaDiv");
                elems.asiaElement.innerHTML = "";
            }

            if (elems.euElement == null) {
                elems.euElement = document.createElement("div");
                elems.euElement.setAttribute("id", "euDiv");
                elems.euElement.innerHTML = "";
            }

            if (elems.laElement == null) {
                elems.laElement = document.createElement("div");
                elems.laElement.setAttribute("id", "laDiv");
                elems.laElement.innerHTML = "";
            }

            if (elems.msElement == null) {
                elems.msElement = document.createElement("div");
                elems.msElement.setAttribute("id", "msDiv");
                elems.msElement.innerHTML = "";
            }

            if (elems.naElement == null) {
                elems.naElement = document.createElement("div");
                elems.naElement.setAttribute("id", "naDiv");
                elems.naElement.innerHTML = "";
            }

            if (elems.piElement == null) {
                elems.piElement = document.createElement("div");
                elems.piElement.setAttribute("id", "piDiv");
                elems.piElement.innerHTML = "";
            }

            switch (region) {
                case "North America":
                    elems.naElement.innerHTML += innerHTML;
                    break;
                case "Latin America":
                    elems.laElement.innerHTML += innerHTML;
                    break;
                case "Asia":
                    elems.asiaElement.innerHTML += innerHTML;
                    break;
                case "Middle East":
                    elems.msElement.innerHTML += innerHTML;
                    break;
                case "Oceania":
                    elems.piElement.innerHTML += innerHTML;
                    break;
                case "Africa":
                    elems.afElement.innerHTML += innerHTML;
                    break;
                case "Europe":
                    elems.euElement.innerHTML += innerHTML;
                    break;
            }

        }
    }
}

function AppendEvent(elems, upevt, anchorDiv) {  
    if (upevt) {
        if (elems.upElement == null)
            return;

        anchorDiv.innerHTML = elems.upElement.innerHTML;
    }
    else {
        var htmltext = "";
	
        if (elems.naElement != null) {
        if (elems.naElement.innerHTML != "") {
            htmltext = "<div id='fmcountry-header'>North America<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.naElement.innerHTML;
        }
}

        if (elems.laElement != null) {
        if (elems.laElement.innerHTML != "") {
            htmltext += "<div id='fmcountry-header'>Latin America<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.laElement.innerHTML;
        }
}

        if (elems.euElement != null) {
        if (elems.euElement.innerHTML != "") {
            htmltext += "<div id='fmcountry-header'>Europe<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.euElement.innerHTML;
        }
}

        if (elems.afElement != null) {
        if (elems.afElement.innerHTML != "") {
            htmltext += "<div id='fmcountry-header'>Africa<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.afElement.innerHTML;
        }
}

        if (elems.msElement != null) {
        if (elems.msElement.innerHTML != "") {
            htmltext += "<div id='fmcountry-header'>Middle East<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.msElement.innerHTML;
        }
}

        if (elems.asiaElement != null) {
        if (elems.asiaElement.innerHTML != "") {
            htmltext += "<div id='fmcountry-header'>Asia<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.asiaElement.innerHTML;
        }
}

        if (elems.piElement != null) {
        if (elems.piElement.innerHTML != "") {
            htmltext += "<div id='fmcountry-header'>Oceania<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.piElement.innerHTML;
        }
}
        anchorDiv.innerHTML = htmltext;
    }
}

function writelan(id)
{
        if(id != '')
        {
            $("#"+id).click();
        }
}

function TranlateFmt(lan, main, head)
{
    SetTrInfo(main, head);
    switch(lan)
    {
        case "en":
            ResetLan(EnTranslate);
            break;
        case "es":
            ResetLan(EsTranslate);
            break;
        case "cn":
            ResetLan(CnTranslate);
            break;
    }

    return true;
}

function setCursor(elm)
{
    $("#"+elm.id).css({"color": "#3366FF", "cursor": "hand"});
}
function resetCursor(elm)
{
    $("#"+elm.id).css({"color": "#0000FF", "cursor": "pointer"});
}

function TranlateElement()
{

    this.elements = new Object();
    for(var num = 1; num <= PageTranslation.number; num++)
    {
        this.elements[num] = $("span#"+PageTranslation.label+num);
    }
    
    for(var h = 1000001; h <= 1000010; h++)
    {
        this.elements[h] = $("span#"+PageTranslation.label+h);
    }
}

function ResetLan(translate)
{
    $(document).ready(function() {
    var el = new TranlateElement();
 
     for(var num = 1; num <= PageTranslation.number; num++)
    {
        el.elements[num].html(translate.fields[PageTranslation.label+num]);
    }
    
    for(var h = 1000001; h <= 1000010; h++)
    {
        el.elements[h].html(translate.fields[PageTranslation.label+h]);
    }
        
    $("#"+PageTranslation.main+"_submitBtn").val(translate.fields["submitBtn"]);
    $("#"+PageTranslation.main+"_resetBtn").val(translate.fields["resetBtn"]);
    });

}
function DisplayEvent(doc) {

    var anchorDiv = document.getElementById(mainanchor + '_upEventPh');
    var viewBtn = document.getElementById(mainanchor + '_viewAll');
    var header = document.getElementById(headanchor + '_headerLabel');
    var elem = null;
    var upevt = false;

    var elems = new EventElements();
    if (viewBtn.value == "All Events") {
        viewBtn.name = viewBtn.value = "Upcoming Events";
        header.innerText = "All ETAP Events";
    }
    else {
        viewBtn.name = viewBtn.value = "All Events";
        header.innerText = "ETAP Upcoming Events";
        upevt = true;
    }
    
    if (anchorDiv != null) {
        anchorDiv.innerHTML = "";
    }

    var childNodes = doc.childNodes;
    var childCount = childNodes.length;
    var innerHTML = "";

    for (var i = 0; i < doc.childNodes.length; i++) {
        elem = doc.childNodes[i];

        if (elem != null) {
            var region = elem.getElementsByTagName('region')[0].firstChild.data;
            var url = elem.getElementsByTagName('url')[0].firstChild.data;
            var name = elem.getElementsByTagName('name')[0].firstChild.data;
            var date = elem.getElementsByTagName('date')[0].firstChild.data;
            var location = elem.getElementsByTagName('location')[0].firstChild.data;

            innerHTML = "<a href='" + url + "'><strong>" + name + "</strong><br/>" + location + "<br/>" + date + "</a><br/><br/>";

            if (upevt) {
                if (elems.upElement == null) {
                    elems.upElement = document.createElement("div");
                    elems.upElement.setAttribute("id", "upDiv");
                    elems.upElement.setAttribute("class", "fmtext_left_small");
                    elems.upElement.innerHTML = "";
                }

                elems.upElement.innerHTML += innerHTML;
            }
            else {
                if (elems.afElement == null) {
                    elems.afElement = document.createElement("div");
                    elems.afElement.setAttribute("id", "afDiv");
                    elems.afElement.className = "fmtext_left_small";
                    elems.afElement.innerHTML = "";
                }

                if (elems.asiaElement == null) {
                    elems.asiaElement = document.createElement("div");
                    elems.asiaElement.setAttribute("id", "asiaDiv");
                    elems.asiaElement.className = "fmtext_left_small";
                    elems.asiaElement.innerHTML = "";
                }

                if (elems.euElement == null) {
                    elems.euElement = document.createElement("div");
                    elems.euElement.setAttribute("id", "euDiv");
                    elems.euElement.className = "fmtext_left_small";
                    elems.euElement.innerHTML = "";
                }

                if (elems.laElement == null) {
                    elems.laElement = document.createElement("div");
                    elems.laElement.setAttribute("id", "laDiv");
                    elems.laElement.className = "fmtext_left_small";
                    elems.laElement.innerHTML = "";
                }

                if (elems.msElement == null) {
                    elems.msElement = document.createElement("div");
                    elems.msElement.setAttribute("id", "msDiv");
                    elems.msElement.className = "fmtext_left_small";
                    elems.msElement.innerHTML = "";
                }

                if (elems.naElement == null) {
                    elems.naElement = document.createElement("div");
                    elems.naElement.setAttribute("id", "naDiv");
                    elems.naElement.className = "fmtext_left_small";
                    elems.naElement.innerHTML = "";
                }

                if (elems.piElement == null) {
                    elems.piElement = document.createElement("div");
                    elems.piElement.setAttribute("id", "piDiv");
                    elems.piElement.className = "fmtext_left_small";
                    elems.piElement.innerHTML = "";
                }
                
                switch (region) {
                    case "North America":
                        elems.naElement.innerHTML += innerHTML;
                        break;
                    case "Latin America":
                        elems.laElement.innerHTML += innerHTML;
                        break;
                    case "Asia":
                        elems.asiaElement.innerHTML += innerHTML;
                        break;
                    case "Middle East":
                        elems.msElement.innerHTML += innerHTML;
                        break;
                    case "Oceania":
                        elems.piElement.innerHTML += innerHTML;
                        break;
                    case "Africa":
                        elems.afElement.innerHTML += innerHTML;
                        break;
                    case "Europe":
                        elems.euElement.innerHTML += innerHTML;
                        break;
                }
                
            }
        }
    }

    if (upevt) {
        anchorDiv.innerHTML = elems.upElement.outerHTML; 
    }
    else {
        var htmltext = "";
        if( elems.naElement.innerHTML != "")
        {
            htmltext = "<div id='fmcountry-header'>North America<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.naElement.outerHTML;
        }
        
        if( elems.laElement.innerHTML != "")
        {
            htmltext += "<div id='fmcountry-header'>Latin America<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.laElement.outerHTML; 
        }
        
        if( elems.euElement.innerHTML != "")
        {
            htmltext += "<div id='fmcountry-header'>Europe<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.euElement.outerHTML; 
        }
        
        if( elems.afElement.innerHTML != "")
        {
            htmltext += "<div id='fmcountry-header'>Africa<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.afElement.outerHTML;
        }
        
        if( elems.msElement.innerHTML != "")
        {
            htmltext += "<div id='fmcountry-header'>Middle East<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.msElement.outerHTML;
        }
        
        if( elems.asiaElement.innerHTML != "")
        {
            htmltext += "<div id='fmcountry-header'>Asia<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.asiaElement.outerHTML;
        }
        
        if( elems.piElement.innerHTML != "")
        {
            htmltext += "<div id='fmcountry-header'>Oceania<a name='us' id='us'>&nbsp;</a></div>";
            htmltext += elems.piElement.outerHTML;
        }
        //anchorDiv.innerHTML = htmltext;
       document.all[mainanchor + '_upEventPh'].innerHTML = htmltext
    }
}

function getElementTextNS(prefix, local, parentElem, index) {
    var result = "";

    result = parentElem.getElementsByTagName(local)[index];
    if (result) {
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else if (result.firstChild != null) {
            return result.firstChild.nodeValue;
        }
        else {
            return "";
        }
    } else {
        return "";//"n/a";
    }
}
/*****************************************************/

/******************** Elements ***********************/
function EventElements() {
    
    this.upElement = null;
    this.naElement = null;
    this.laElement = null;
    this.asiaElement = null;
    this.msElement = null;
    this.afElement = null;
    this.euElement = null;
    this.piElement = null;
}

function ETAPEvent(region, url, name, date, location) {
    this.region = region;
    this.url = url;
    this.name = name;
    this.date = date;
    this.location = location;
}
/*****************************************************/


var igrid;
function igrid_Initialize(sender, args) 
{
    igrid = sender;
}

function igrid_Mouseover(sender, args) 
{
    var rowType = args.get_type();

    if (rowType == 'header') {
    var style = args.get_item().get_element().style;
        args.get_item().get_element().style.cursor = 'pointer';
        args.get_item().get_element().style.color = '#cccccc';
    }
}

function igrid_Mouseout(sender, args)
{
    var rowType = args.get_type();

    if (rowType == 'header') {
        args.get_item().get_element().style.color = '#ffffff';
    }
}

function datafiltering() {

    var gridElement = $find(igrid.get_id()).get_element();
    gridElement.disabled = true;

    var ai = igrid.get_ajaxIndicator();
    ai.show(igrid);
}

function datafiltered() {
    var gridElement = $find(igrid.get_id()).get_element();
    gridElement.disabled = false;

    var ai = igrid.get_ajaxIndicator();
    ai.hide();
}

function clearColumns()
{
    var colLen = igrid.get_behaviors().get_sorting()._sortedColumns.length-1;
    for(var i = colLen; i > -1; i--)
    {
        var col = igrid.get_behaviors().get_sorting()._sortedColumns[i];
        if(typeof(col) != 'undefined')
        {
            igrid.get_behaviors().get_sorting()._removeSortedColumn(col);
        }
    }
}

function igrid_Sorting(sender, args) {

    var dateCol = igrid.get_columns().get_column(0);
    var col = args.get_column();
    
    var sdir = (dateCol._sortDirection == 1) ? 2 : 1;
	
    if ((col.get_key() == "EventDate" && col.get_index() == 3)
        || (col.get_key() == "Year" && col.get_index() == 2)) {
        args.set_cancel(true);
        var curCol = igrid.get_columns().get_column(3);
        clearColumns();
        igrid.get_behaviors().get_sorting().addSortColumn(dateCol, sdir);
        igrid.get_behaviors().get_sorting().addSortColumn(curCol, sdir);
        igrid.get_behaviors().get_sorting().applySort();

    }
    else if(col.get_key() == "Code")
    {
        var tCol = igrid.get_columns().get_column(4);
        sdir = (dateCol._sortDirection == 1)? 2 : 1;
        var curCol = igrid.get_columns().get_column(5);
        clearColumns();
        igrid.get_behaviors().get_sorting().addSortColumn(curCol, sdir);
        igrid.get_behaviors().get_sorting().addSortColumn(tCol, sdir);
        igrid.get_behaviors().get_sorting().addSortColumn(dateCol, sdir);
        igrid.get_behaviors().get_sorting().applySort();

    }
    else
    {
        sdir = (dateCol._sortDirection == 1)? 2 : 1;
        var curCol = igrid.get_columns().get_column(col.get_index());
        clearColumns();
        igrid.get_behaviors().get_sorting().addSortColumn(curCol, sdir);
        igrid.get_behaviors().get_sorting().addSortColumn(dateCol, sdir);
        igrid.get_behaviors().get_sorting().applySort();
    }
}

function capt_AjaxResponse(sender, args)
{
    refreshc = true;
}

function capt_Initialize(sender, args)
{
    var f= sender.get_validationFailed();

    if(f && !refreshc)
    {
        $("span#captErr").css("visibility", "visible");

    }
    else
    {
        $("span#captErr").css("visibility", "hidden");
        refreshc = false;
    }
}

if (typeof (Sys) != 'undefined') {
	Sys.Application.add_init(AppInit);
}

function AppInit(sender) {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHDL);
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHDL);
}

function beginRequestHDL(sender, args) {

    var request = args.get_request();

    var clickedButton = args.get_postBackElement();
    var customData =
                {
                    requestStart: new Date(),
                    button: args._postBackElement
                };

    request.set_userContext(customData);
datafiltering() ;
};

function endRequestHDL(sender, args) {
    var response = args.get_response();
    if (response.get_responseAvailable()) {

        var webRequest = response.get_webRequest();
        var customData = webRequest.get_userContext();

    }
datafiltered();
};
