// reload UTF-8 if necessary

function evt(t,ds,de,a,f){this.Title=t;this.Start=ds;this.End=de;this.Anchor=a;this.Full=f;}
function course(t,tc,ds,de,l){this.Title=t;this.TitleCn=tc;this.Start=ds;this.End=de;this.Link=l}
var mname=[], trans_home
mname['en']=['Jan.','Feb.','Mar.','Apr.','May','June','July','Aug.','Sep.','Oct.','Nov.','Dec.'];
mname['fr']=['janv.','f&eacute;vr.','mars','avr.','mai','juin','juil.','ao&ucirc;t','sept.','oct.','nov.','d&eacute;c.'];
mname['es']=['ene.','feb.','mar.','abr.','mayo','jun.','jul.','ago.','sep.','oct.','nov.','dic.'];
mname['cn']=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'];
var sCnDay='日';

var Course=[], Events=[];
// paste updated lists here

Course.push( new course('UR Platform','UR 万能继电器','8/10/2010','8/12/2010','courses/ur-platform.htm') );
Course.push( new course('EnerVista','','8/13/2010','8/13/2010','courses/viewpoint.htm') );
Course.push( new course('Distribution','配电馈线管理','8/17/2010','8/19/2010','courses/dist.htm') );
Course.push( new course('Feeder&Motor (GA)','','9/8/2010','9/10/2010','http://pm.geindustrial.com/viewprod.asp?model=TRNG-GAFEEDMOTOR') );
Course.push( new course('FMPR','现代继电保护基础','9/13/2010','9/16/2010','courses/fmpr.htm') );
Course.push( new course('Motors','电机保护','9/28/2010','9/30/2010','courses/motor.htm') );
Course.push( new course('IEC61850','IEC 61850介绍','10/4/2010','10/6/2010','courses/IEC61850.htm') );
Course.push( new course('UR Platform','UR 万能继电器','10/20/2010','10/22/2010','courses/ur-platform.htm') );
Course.push( new course('UR Applications','UR 高级应用','10/25/2010','10/29/2010','courses/ur-apps.htm') );
Course.push( new course('FMPR','现代继电保护基础','11/15/2010','11/18/2010','courses/fmpr.htm') );
Course.push( new course('Motors','电机保护','12/7/2010','12/9/2010','courses/motor.htm') );
Course.push( new course('EnerVista','','12/10/2010','12/10/2010','courses/viewpoint.htm') );

Events.push( new evt('CIGRE 2010','8/22/2010','8/27/2010','2010-8','CIGRE 2010 Technical Exhibition') )
Events.push( new evt('Cdn Util Show','9/14/2010','9/15/2010','2010-9','Canadian Utilities Equipment & Engineering Show') )
Events.push( new evt('PCIC 2010','9/20/2010','9/22/2010','2010-9','IEEE IAS Petroleum and Chemical Industry Committee (PCIC 2010)') )
Events.push( new evt('Southeast Conf','9/20/2010','9/23/2010','2010-9','Southeastern Distribution Apparatus School & Conference') )
Events.push( new evt('Iowa/Nebraska Co','10/12/2010','10/14/2010','2010-10','32nd Annual Iowa/Nebraska System Protection & Substation Conference') )
Events.push( new evt('WPRC 2010','10/19/2010','10/21/2010','2010-10','37th Annual Western Protective Relay Conference (WPRC) 2010') )
Events.push( new evt('MIPSYCON','11/2/2010','11/4/2010','2010-11','46th Annual Minnesota Power Systems Conference (MIPSYCON) 2010') )

function DateSer(d)	// ensure d/m/y is interpreted correctly on user's system
{	if (typeof(d) != 'string') return d;var ary=d.split('/');return new Date(ary[2], eval(ary[0])-1, ary[1]); }
function GetMonth(d, lang)		// fetch name of month in appropriate language
{	if (lang=='') lang='en';var m=DateSer(d).getMonth();return mname[lang][m]; }
function MakeDateRange(s, e, lang)
{	var tmp='';	s=DateSer(s); if (e) e=DateSer(e);
	switch(lang)
	{
	case '':  case 'en': case null:
        tmp += GetMonth(s, lang) + " " + s.getDate() + (lang=='cn'? sCnDay: "")
		if (e && (s<e||s>e)) {
            tmp += "-"
			if (s.getMonth() != e.getMonth())tmp +=  GetMonth(e, lang) + " "
            tmp += e.getDate() + (lang == "cn"? sCnDay: "")
		}
		break;
	case "fr":	case 'es':	// month is after day #
        tmp = s.getDate();
		if (e && (s<e || s>e))	{	// because, can't compare equality between 2 Date objects
			if (s.getMonth() != e.getMonth()) tmp += " " + GetMonth(s, lang)
            tmp += "-" + e.getDate() + " " + GetMonth(e, lang)
		} else tmp += ' ' + GetMonth(s,lang);
		break;
	case 'cn': 
        tmp += GetMonth(s, lang) + s.getDate() + (lang=='cn'? sCnDay: "")
		if (e && (s<e||s>e)){
            tmp += "-"
			if (s.getMonth() != e.getMonth()) tmp +=  GetMonth(e, lang) + " "
            tmp += e.getDate() + (lang == "cn"? sCnDay: "")
		}
		break;	
	}
    return tmp
}

if(window.jQuery)jQuery(document).ready( function(){ setTimeout('EVEarrInit()',0); });
function EVEarrInit() {
	if ($('#EVE').length==0) return;
	var today=new Date();
	var cnt =0;
	var i;
	var hdr = '<div id="EVEwrap" style="left:-3000px; top:0px;">'+
			'<table style="border-left:1px solid #CCC; border-right:1px solid #CCC;border-bottom:1px solid #CCC;border-top:1px solid #CCC;" width="340" height="100" cellpadding="0" cellspacing="0" >'+
			'<TR><td style="padding:10px 0px 3px 15px;"><b><a href="'+Uprefix+'multilin/EventCalendar.htm">Events</a></b></td><td width="20">&nbsp;</td><td style="padding-top:10px;padding-bottom:3px;"><b><a href="'+Uprefix+'multilin/support/training/schedule.htm">Training</a><b></td></tr>' 
	hdr += '<TR><td style="padding-left:15px;" valign=top align=left>'
	for (i=0; i<Events.length; i++) {
		if (DateSer(Events[i].Start) <= today) continue
		cnt++;
		hdr += '<a href="'+Uprefix+'multilin/EventCalendar.htm#'+Events[i].Anchor+'">'+Events[i].Title+': '+MakeDateRange(Events[i].Start,Events[i].End,'')+'</a>'
		if (cnt<5) hdr+='<BR/>'; else break;
	}
	hdr+='</td>'
	hdr+='<td width="20">&nbsp;</td><td valign=top align=left>'
	cnt=0;
	for (i=0; i<Course.length; i++) {
		if (DateSer(Course[i].Start) <= today) continue
		cnt++;
		hdr += '<a href="'+(Course[i].Link.substr(0,4)=='http'?Course[i].Link:Uprefix+'multilin/support/training/'+Course[i].Link)+'">'+Course[i].Title+': '+MakeDateRange(Course[i].Start,Course[i].End,'')+'</a>'
		if (cnt<5) hdr+='<BR/>';else break;
	}
	hdr += '</td></tr>'
	hdr += '<TR><td>&nbsp;</td></tr>'
	hdr += '</table></div>';

	$('body').append(hdr);

	if (typeof(EVEinit)=='function') EVEinit();
}

function ShowEventList( lang, nolink)
{
	var tmp='', i, count=0, iMax=2	// max listed - if < max listed in Events, then more Training will be shown
	var sMonth 
	var today=new Date();
	var hdr 
	var first=true;
	//if (!Uprefix) Uprefix=document.domain.toLowerCase().indexOf('gedigitalenergy.com')!=-1?'/':'/digitalenergy'
	if(lang)switch(lang.toLowerCase()){
		case 'en': case 'fr': case 'cn': lang=lang.toLowerCase(); break;	// OK
		default: lang='en';
	} else lang='en'
	hdr = '<div style="margin-bottom: 1px;"><a href="'+Uprefix+'multilin/EventCalendar.htm"><span class="normalLink">'+__('Events',lang)+'</span></a></div>';
	document.write(hdr);
	for (i=0; i<Events.length; i++) {
		if (DateSer(Events[i].Start) <= today) continue
		count++;
		var sLink = '<A href="'+(Events[i].Anchor.indexOf('/')!=-1?Events[i].Anchor:'EventCalendar.htm#' + Events[i].Anchor)+'"'+ (Events[i].Full?'title="'+Events[i].Full+'"':'') + '>'
		document.write( sLink +  Events[i].Title.replace(/&/g,'&amp;')  + ': ')
		document.write('<span class=normal>');
		document.write(MakeDateRange(Events[i].Start, Events[i].End, lang));
		document.write('</span></a>');
		if (count < iMax) document.writeln( "<BR>"); else break;
	}
	if(count==0) {
		document.write('<span class=bodyfont>'+__('Listing temporarily unavailable',lang)+'</span>')
		count=1
	}
	iMax += iMax-count;

	tmp=''; count=0
	hdr = '<div style="margin-bottom: 1px;margin-top:5px;"><a href="'+Uprefix+'multilin/support/training/schedule.htm"><span class="normalLink">Training</span></a></div>';
	document.writeln(hdr)
	for (i=0; i<Course.length; i++) {
		if (DateSer(Course[i].Start) <= today) continue
		count++;
		var sLink = (nolink||Course[i].Link==''?'':'<A href="' + (Course[i].Link.substr(0,4)=='http'?Course[i].Link:'support/training/' + Course[i].Link) + '">')
		document.write(sLink + (lang=='cn'&&Course[i].TitleCn?Course[i].TitleCn:Course[i].Title.replace(/&/g,'&amp;'))   + ': ')
		document.write('<span class=normal>');
		document.write(MakeDateRange(Course[i].Start, Course[i].End, lang));
		document.write('</span>' + (sLink.charAt(0)=='<'?'</a>':''));
		if (count < iMax) document.writeln( "<BR>"); else break;
	}
	if(count==0)document.write('<span class=bodyfont>'+__('Listing temporarily unavailable',lang)+'</span>'); 

}

trans_home={'Events':{'fr':"Évènements", 'es':"Eventos", 'cn':"近期培训课程"},
			'Listing temporarily unavailable':{'fr':'Liste temporairement indisponible', 'es':'Listado indisponible temporalmente', 'cn':"上市暂时无法使用"}
};
function __(msg,lang)
{
	if (!lang||lang=='en'||!trans_home[msg]||!trans_home[msg][lang]) return msg
	return trans_home[msg][lang]
}

