/*****

HOLDS SECONDARY GLOBAL FUNCTIONS NOT NEEDED IN CORE OR TO DRAW HEADER OF PAGE
OR TO INITIALIZE PAGES, AND NOT SPECIFIC TO CURRICULUM

*****/


/*****

GLOBAL VARIABLES

*****/

var cid=Obj.ClassId, oid=Obj.Id, hasPoll=false, HasSubmittedPoll=false, toggleLang=false, timeKeep=null, voiceRoom, voiceRoomType, lips;
var rhine = Ini.FlashDevMode == 1;
var menu=null;
// COMPONENT DETECTION VARIABLES

var MY_WORD_LIST = 226906;
var BELITPLUS_SYSTEM_CHECK = 228102;
var From_Test_To_Download=0,SAPI=1,MEDIA_PLAYER=2,PC=4,MIC_WIZ=16,FLASH=32,PC_OR_MEDIA_PLAYER=64,PC_OR_SAPI=128,
hasPC=0, hasExe=0, verstrings="", hasMediaPlayer=0, verMP="", hasMP9=0, hasFlash=0, FlashVersion=0, hasSAPI=0, hasMicWiz=0,
MIN_REQ_COMPS_FOR_EDS = "2.0.0.30", MIN_REQ_COMPS_FOR_BUS_SKILLS = "2.0.0.49", MIN_REQ_COMPS_FOR_GE_DI_STREAM = "2.0.0.31",
MIN_REQ_COMPS_FOR_AUTO_UPDATE="2.0.0.39",latestPCVersion="2.0.0.53",latestGEVersion="2.0.0.53",userPCVersion="",userGEVersion="",
requiredPCVersion="2.0.0.26", requiredSapiVersion="4.0.4.2116",curTBVer="3.02",fTBVer=parseFloat(curTBVer),
requiredGEVersion="2.0.0.26", requiredMicWizVersion="2.0.0.1",requiredFlashVersion=(isKids)? "7": (oid == MY_WORD_LIST) ? "8" : (oid == BELITPLUS_SYSTEM_CHECK) ? "7" : "6",
pageLoaded=false, Ctrl, InitComplete=false, mainDelayCount=0, count=0, download=0,OS=getOS();

//	CORPORATE PERMISSIONS VARIABLES

var PERM_VIEW_AGGREGATE_REPORTS=0x1, PERM_VIEW_INDIVIDUAL_REPORTS=0x2, PERM_CREATE_DELETE_GROUP=0x4, PERM_ADD_REMOVE_USER_FROM_GROUP=0x8,
PERM_REGISTER_USER=0x10, PERM_EDIT_USER_INFO=0x20, PERM_MESSAGE_ACCESS=0x40, PERM_ADD_REMOVE_ADMIN_FROM_GROUP=0x80, PERM_REGISTER_ADMIN=0x100, PERM_EDIT_ADMIN_INFO=0x200, PERM_VOICE_COACH = 0x10000, PERM_IS_ADMIN=0x80000000;

// CURRICULUM VARIABLES

var CURRICULUM_BUSINESS=1, CURRICULUM_GENERAL=2;

/*****

LINKING FUNCTIONS

*****/

function initLinks(){
	Ctrl=getFrame(0).GE_CTRL;
	if(hasPC && typeof(Ctrl)=="object") setTimeout('Delayed_Init()',200);
	else doCheck();
	if(getElmt("transWd") && getElmt("transWd").translate) getElmt("transWd").translate.onkeydown=checkTransWdKey;
}
function underConstr(){
	var extStr="Sec=" + Sec.Id;
	var obj=new Object();
	obj.ClassId=204;
	obj.Id=201613;
	Obj.Ext=extStr.split(',');
	launchPopup("construct",415,495,doLinkStr(obj),10,10);
}
function tourLink(){
//	if(!window.hasFlash) tm(204,206210,null,"EndUser=1")
//	else launchTour("EndUser")
	var o=new Object();
	o.ClassId=204;
	o.Id=211514;
	var loc=doLinkStr(o);
	launchPopup("tour",690,440,loc);
}
function templateLink(classId, id){tm(classId, id);}

function launchTour(t){
	var p=serverPath()+"flashtours/";
	var h=440,w=680;
	if (!hasFlash) {
		if(Corp){
			if (t.toLowerCase=="enduser") Obj.Prop=[EndUser=1];
            tm(204,206210)
		}else tm(204,206053);
		return;
	}
	switch (t.toLowerCase()) {
		case("enduser"):
			w=680;h=550;
			p+="corpEndUser/corpEndUser";
			break;
		case("corptour"):
			p+="corpTour/corpTour";
			break;
		case("lli"):
		  p+="LLIUsersTour/Global_English.swf";
		  w=800;h=600;
		  break;
		case ("course"):
		default:
			p+="courseTour/coursesTour";
			w=500;h=300;
			break;
	}

	//don't replace User.SupportLang with slang -- var conflict in magazine

	if(t!="lli")
	  p+="_"+getLangExt(User.SupportLang)+".swf";
	popupContent=p;
	launchPopup("howTo",w,h);
}
function outsideLink (c,o,mainPage,mainDir) {
	if (mainPage) Obj.Ext="&mainPage="+mainPage;
	if (mainDir) Obj.Ext+="&mainDir="+mainDir;
	tm(c,o)
}
function serviceAgreePopup(){
	var obj=new Object();
	obj.ClassId=204;
	obj.Id=201860;
	launchPopup("GEAgreement", 440, 500, doLinkStr(obj), 200, 50);
}
function flashLink(command){
	if(command=="link1") smartTestLink();
	else if(command=="link2") tm(204,207656);
	else if(command=="link3") tm(204,211983)
	else if(command=="link4") tm(null,null,"billing/pricing");
	else if(command=="linkhome") tm(204,fdObjId);
}
function helpLink(){
	//if(Obj.CtxHelp) tm(Obj.CtxHelp.ClassId,Obj.CtxHelp.Id);
	//else 
	/* pr 1/11/06 - the above was commented out with the template upgrade release
	    because the activity help instructions are now out of date.  Should be uncommented
	    if the help contents are updated */
	if (Obj.Id == 216453)
	    tm(204,216672)
	tm(204,202214);
}

function courseLink() {
    tm(204,217080);
}
function bsiLink() {
    tm(204,202824,null,"special=5,CurId=5");
}
function testPageLink() {
    tm(204,208142);
}
function communityLink() {
    tm(204,207965);
}
function listenCenterLink() {
    tm(204,207511);
}
function toolbarLink() {
    tm(204,222952);
}
function pronCenterLink() {
    var pronId = (hasFeature(10) || hasFeature(54)) ? 224423 : 222879;
    tm(204, pronId);
}
function grammarCenterLink() {
    tm(204, 207232);
}
function mbLink() {
    tm(204, 208260);
}
function vocabCenterLink() {
    tm(204, 204170);
}
function magazineLink() {
    tm(204, 207947);
}
function writingCenterLink() {
    tm(204, 226066);
}
function cultureNotesLink() {
    tm(204, 227064);
}
function accentsLink() {
    tm(204, 227345);
}
function geoNamesLink() {
  tm(204, 227457);
}
function kidsFreeTrialLink() {
  var win = opener ? opener : window;
  if (win.Ini.KidsServerName)
    win.tmSite(win.Ini.KidsServerName,204,229820);
  else
    win.tm(204,229820);
}
/*****

USER FEEDBACK FUNCTIONALITY

*****/
var geVarsGlobal = new Object();
function launchFeedbackTool() {
    var ansAr = [0,0,0];
    preloadStarImages();
    var gv = geVarsGlobal
    var winTitle = gv.fbIconTxt;
    var s = "";
    s += '<form id="fbForm">'
    s += '<div id="feedback_window">';
        s += '<div id="fbRollTxt"></div>';
        s += '<div id="fbTitle">' + gv.TellUs + '</div>';
        s += '<div id="fbLeft">';
            s += drawFBBoxHeader(gv.ratings, 253);
            s += '<div id="fbRatings">';
                var fbArray = [gv.fb1, gv.fb2, gv.fb3];
                for (var i = 0; i < fbArray.length; i++) {
                    s += '<div class="fbRateItem">'
                        s += "<span class='fbQuesOuter'><span class='fbQuesInner' id='ques" + i + "' onmouseover='fbRateOver(" + i + ",this)' onmouseout='hideAlt(this)'>" + fbArray[i] + "</span></span>";
                        s += '<span>';
                            for (var j = 0; j < 5; j++) {
                                s += '<img class="fbStarImg" id="star' + i + j + '" state="off" onmouseup="fbStarOn(' + i + ',' + j +')" onmouseout="fbStarOff(' + i + ',' + j +')" onmouseover="fbStarOver(' + i + ',' + j +',this)" src="' + bgImg("feedback/star_default.gif") + '"\>';
                            } 
                        s += '</span>';
                    s += '</div>';
                }
            s += '</div>';
        s += '</div>';
        s += '<div id="fbRight">';
            s += drawFBBoxHeader(gv.comments, 201);
            s += '<textarea name="comments" onkeyup="checkFbByteLength()" onkeydown="checkFbByteLength()"></textarea>'
        s += '</div>';
        s += '<div id="fbSubmit">';
            s += '<input type="button" onclick="submitFeedback()" value="' + gv.submit + '">';
        s += '</div>'
    s += '</div>';
    s += '<input name="fbAns" type="hidden" value="1,0,2,0,3,0">';
   s += '</form>'
    
    var w = window.screen.availWidth;
    var h = window.screen.availHeight - window.screenTop;
    
    var t = (w - 505)/2;
    var l = (h - 310)/2;
    
    grayBarPopup(s,winTitle,505, {x:t, y:l}) 
}
function checkFbByteLength() {
    var comments =  document.getElementById("comments");
	var txt = comments.value;
	var bytes = GetTextByte(txt);
	if (bytes >= 511) {
		var returnKey="13";
	    var key=window.getFrame(1).event.keyCode;
	    if(returnKey==key)
		    event.returnValue = false;
	}
	if (bytes >= 512)
	    comments.value = txt.substring(0, txt.length - 1);

    //event.returnValue = false;
}
function GetTextByte(text){
	var length = 0;
	var ch;
	for (var i = 0; i < text.length; i++) {
		ch = escape(text.charAt(i));
		if ( ch.length == 1 ) {
			length++;
		}else if (ch.indexOf("%u") != -1) {
			length += 2;
		}else if (ch.indexOf("%") != -1) {
			length += ch.length/3;
		}
	}
	return length;
}
function drawFBBoxHeader(title, w) {
    var s = "";
    s += '<div class="fbHeader">'
        s += '<div class="fbOuterHeader">';
        s += '<div class="fbInnerHeader" style="width:' + w + 'px">';
        s += title + '</div></div>';
    s += '</div>';
    return s;
}
function submitFeedback() {
    var fm = document.forms["fbForm"];
    var comments = fm.comments.value;
    var ansVal = fm.fbAns.value;
    var ansAr = ansVal.split(",");
    var noneAnswered = true;
    for (var i = 0; i < ansAr.length; i+=2) { 
        if (parseInt(ansAr[i+1]) != 0)
            noneAnswered = false;
    }
    if (comments.length)
        noneAnswered = false;
    if (!noneAnswered) {
        var uniStr = _unicodify(comments)
        var url = "SaveFeedback.asp?"
        + "oid=" + Obj.Id
        + "&cid=" + Obj.ClassId
        + "&commentsU=" + escape(uniStr)
        + "&fbAns=" + fm.fbAns.value;
        var loader = new ajax.ContentLoader(url);
    }
    hidePopup();
}
function showAlt(txt,el) {
    var rollTxt = document.getElementById("fbRollTxt"); 
    rollTxt.style.visibility = "visible";
}
function fbOver(txt,el) {
    var c = getElPosition(el) 
    var popupEl = document.getElementById("popupEl");
    var popupTop = popupEl.offsetTop;
    var popupLeft = popupEl.offsetLeft;
    var rollTxt = document.getElementById("fbRollTxt"); 
    rollTxt.innerHTML = txt;
    rollTxt.style.left = c.x - popupLeft + 15;
    rollTxt.style.top = c.y - popupTop - 15;
    altId = setTimeout("showAlt()", 500);
}
function hideAlt(el) {
    var rollTxt = document.getElementById("fbRollTxt");
    rollTxt.style.visibility = "hidden";
    clearTimeout(altId);
}
var starImgAr = new Array();
function preloadStarImages() {
    starImgAr["on"] = new Image();
    starImgAr["on"].src = bgImg("feedback/star_selected.gif");
    starImgAr["off"] = new Image();
    starImgAr["off"].src = bgImg("feedback/star_default.gif");
    starImgAr["over"] = new Image();
    starImgAr["over"].src = bgImg("feedback/star_rollover.gif");
}
function fbStarOver(ques,star,el){
    for (var i = 0; i < 5; i++) {
        var img = document.images["star"+ques+i];
        if (i <= star)
            img.src = starImgAr["over"].src;
        else if (img.state == "off")
            img.src = starImgAr["off"].src;
        else
            img.src = starImgAr["on"].src;
    }
    fbOver(geVarsGlobal["starRoll" + (star+1)],el)
}
function fbStarOff(ques,star){
    for (var i = 0; i < 5; i++) {
        var img = document.images["star"+ques+i];
        if (img.state == "off")
            img.src = starImgAr["off"].src;
        else
            img.src = starImgAr["on"].src;
    }
    hideAlt();
}
function fbRateOver(item,el) {
    var gv = geVarsGlobal;
    var fbArray = [gv.fbRoll1, gv.fbRoll2, gv.fbRoll3];
    var txt = fbArray[item];
    fbOver(txt,el)
}
function fbStarOn(ques,star){
    var fm = document.forms["fbForm"];
    var ansVal = fm.fbAns.value;
    var ansAr = ansVal.split(",");
    for (var i = 0; i < ansAr.length; i+=2) { 
        if (parseInt(ansAr[i]) == (ques + 1))
            ansAr[i+1] = star + 1;
    }
    fm.fbAns.value = ansAr.join(",");
    for (var i = 0; i < 5; i++) {
        var img = document.images["star"+ques+i];
        if (i <= star) {
            img.src = starImgAr["on"].src;
            img.state = "on";
        } else {
            img.src = starImgAr["off"].src;
            img.state = "off";
        }
    }
}
function getElPosition(obj) {
    var x = 0;
    var y = 0;
    if ( obj.offsetParent ) {
        x = obj.offsetLeft;
        y = obj.offsetTop;
        while ( obj = obj.offsetParent) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
        }
    }
    return { x:x, y:y };
}


/*****

LANGUAGE FUNCTIONS

*****/
function navLang(){
	var s=navigator.systemLanguage;
	s=s.substring(0, 2).toLowerCase();
	return (s=='ja'||s=='zh'||s=='ko'||s=='tr'||s=='ru'||s=='cz')
}

function engNetscapeCrap(){return (!mainLoaded && westernNetscapeDisplayingDByte() && this.frames.length>1);}

function westernNetscapeDisplayingDByte(){return (!isIE && (dByteIndex(User.Lang)!=0) && !navLang())}

function dbyteTrouble(){return (dByteIndex(lang) && !navLang());}

function useSupportLang(nonHtml, setLang){
	if(nonHtml && dbyteTrouble()) return false;
	var lang=(null==setLang)? slang: setLang;
	return (lang && getLangType(lang) != 0);
}
function supportText(obj, nonHtml, setLang){
	if(!obj) return '';
	return useSupportLang(nonHtml, setLang)? obj.Xlt: obj.Txt;
}

/*****

UTILITY FUNCTIONS

*****/

// USERS LICENSES CODE

function hasLicense(licenseType)
{
  var lic=getLic();
	if (checkNum(0)) return true;

	switch (licenseType.toLowerCase()) {
		case ('toeic1'):
			return checkNum(19);
			break;
		case ('toeic2'):
			return checkNum(20);
			break;
		case ('toeic'):
				if(hasLicense('toeic1')||hasLicense('toeic2'))return true;
			break;
		case ('toefl1'):
			return checkNum(21);
			break;
		case ('toefl2'):
			return checkNum(22);
			break;
		case ('toefl'):
				if(hasLicense('toefl1')||hasLicense('toefl2'))return true;
			break;
		case ('buseng'):
			for(var i=0;i<lic.length;i++)
				if(lic[i]>23 && lic[i]<35)return true;
			break;
		case ('geneng'):
			for(var i=0; i<lic.length;i++)
				if(lic[i]>34&&lic[i]<42)return true;
			break;
		case ('busengplace'):
			return (checkNum(45)||checkNum(47));
			break;
		case ('genengplace'):
			return (checkNum(46)||checkNum(47));
			break;
		case ('skills'):
			return checkNum(42);
			break;
		case ('chat'):
			return checkNum(43);
			break;
		case ('package'):
			if(hasLicense('busEng')||hasLicense('genEng'))  return true;
			break;
		default:
			return false;
	}
}
function getLic(){
  var licStr=User.Licenses;
  var lic=new Array();
  lic=(licStr)? licStr.split(","): [-1];
  for(var i=0; i < lic.length; i++){
  	if(lic[i]==""||lic[i]=="undefined")
      lic[i]=-1;
  }
  return lic;
}

function checkNum(n) {
  var lic = getLic();
  for(var i=0;i<lic.length;i++){
    if(parseInt(lic[i])==parseInt(n))  return true;
  }
  return false;
}

function emailPopup(str, winName, subject){
	var s="";
	s+="<a href='javascript:emailWin(\""+str+"\"";
	if(winName) s+=", \""+winName+"\"";
	else if(subject) s+=",null";
	if(subject) s+=", \""+subject+"\"";
	s+=")'>"+drawDynText()+str+"</font></a>";
	return s;
}
function emailWin(str,winName,subject,sec,extraPropPr){
	var obj=new Object();
	var w = 475;
	var h = 400;
	if (str.match("support@") || str.match("privacy@"))
	{
		Obj.Asp = "CSForm";
		w = 500;
		h = 650;
		var propStr="To="+str;
		Obj.Prop=propStr.split(",");
	}
	else
	{
		obj.ClassId=204;
		obj.Id=208290;
		var propStr="To="+str;
		if (extraPropPr)
			propStr+= extraPropPr;
		var extStr=(sec)? "Sec="+sec: "Sec="+Sec.Id;
		if (winName) propStr+=",WinName="+winName;
		if (subject) propStr+=",Subject="+subject;
		Obj.Prop=propStr.split(",");
		Obj.Ext=extStr.split(",");
	}
	launchPopup("mail",w,h,doLinkStr(obj),20,20);
	Obj.Prop=null;
	Obj.Ext=null;
}
function openTransWin(sel){
	var pStr="width=210,height=450,left=3,top=30,resizable=yes";
	var o=new Object();
	o.ClassId=204;
	o.Id=203672;
	if(sel !="") Obj.Ext=["TransWord="+sel];
	var lnk=doLinkStr(o);
	var lType=getLangType(User.Lang);
	if(lType==0) chooseLangPopup(1);
     else if(isKids && (lType == 2 || lType == 3) || (lType==7 || lType == 11 || lType == 12 || lType == 13)) outsideDictionary(lType);
	else launchPopup("tword",0,0,lnk,0,0,1,pStr);
	Obj.Ext=null;
}

function outsideDictionary(langType){
	var transUrl;
	if ((isKids && langType == 3) || langType==9) transUrl="http://dic.yahoo.co.kr";
	else if ((isKids && langType == 2) || langType==7 || langType==8) transUrl = "http://www.tigernt.com/";
	else if (langType == 11)
		transUrl = "http://www.rambler.ru/dict";
	else if (langType == 12)
		transUrl = "http://www.seslisozluk.com";
	else if (langType == 13)
		transUrl = "http://slovnik.seznam.cz/";
	var properties = "menubar=yes,toolbar=yes,location=yes,directories=yes,status=yes,scrollbars=yes,resizable=yes,left=100,top=100";
	window.open(transUrl,"trans",properties);
}

// MAKE GLOBALENGLISH YOUR HOME PAGE

function setHomePage(){
	var s;
	if (p.isIE5) s="this.document.body.style.behavior='url(#default#homepage)';this.document.body.setHomePage('http://" + Ini.ServerPath+ "');";
	else s="tm(204,207228);";
	eval(s);
}
function removeURLParam(str,loc){
    var newUrl = "";
	var url=unescape(loc);
	var startParam = url.toLowerCase().indexOf(str.toLowerCase()+"=");
	if (startParam >= 0) {
	    var endParam = url.indexOf("&", startParam);
		if (url.charAt(startParam - 1) == "&");
			startParam -= 1;
		newUrl += url.substring(0,startParam);
		if (endParam >= 0)
			newUrl += url.substring(endParam,url.length);
		return newUrl
	} else
		return loc;
}
function getURLParam(str,toEnd,l){
	var loc=l ? l : this.location.href,u=unescape(loc);
	var i=u.toLowerCase().indexOf(str.toLowerCase()+"=");
	if(i >= 0){
		var u=unescape(loc);
		u=u.substring(i+str.length+1, u.length);
		i=u.indexOf("&");
		var param=(i >= 0 && !toEnd)? u.substring(0,i): u;
	}
	return param;
}

function checkTransWdKey(e){
	var returnKey="13";
	var key=window.getFrame(1).event.keyCode;
	if(returnKey==key){
		butAction('actionBtn',ACTION_ONCLICK);
		return false;
	}
}

//	LAUNCH SYSTEM CHECK POPUP WINDOW

var sysCheck=0;

function launchSystemCheck(popSrc, returnAddress){
var returnProp = null;
var url=serverPath()+"templates/bin/systemcheck.asp?";
    if (User.Id != -1)
		url += "lang="+User.SupportLang+"&";
	if(popSrc)  url += "returnUrl="+serverPath()+"templates/bin/mypage.asp";
	else if(returnAddress) {
		returnProp = "returnUrl=" + serverPath()+returnAddress;
		url += returnProp;
	} else {
		url += "returnUrl=" + escape(document.location.href);
		returnProp = "returnUrl=" + escape(document.location.href);
	}
	sysCheck=1;
	if(popSrc)  opener.document.location=url;
	else //document.location=url;
		tm(null,null,"systemcheck",null,returnProp);
}

function SysCheckLink(preempt){
	var str=(preempt)? gNav.preemptSystemCheck : gNav.correctSystemCheck;
	str=str.replace(/<link>/,"<a href='javascript:p.launchSystemCheck()'>"+drawDynText());
	str=str.replace(/<endlink>/,"</font></a>");

	var s="<table width=100% cellspacing=0 cellpadding=0 border=0>"
	+ "<tr><td width=28><a href='javascript:p.launchSystemCheck()'>"+p.gImg('SysCheck/check_icon.gif')+"</a></td>"
	+ "<td width=10>"+p.tSpacer(10,1)+"</td><td valign=top>"+str+"</td></tr></table>";

	return s;
}

/*****

DRAWING/UI FUNCTIONS

*****/

function drawRightBar(){

// if any new ads are added to this rightbar, you need to extend the height of the "NN Blows!" tSpacer below

	var s="", dotline=tSpacer(142,5)+"<br>"+gImg("dottedline.gif",142,2)+"<br>"+tSpacer(142,5);
	s+="<TABLE WIDTH=165 CELLSPACING=0 CELLPADDING=0 BORDER=0 BGCOLOR='#999999'><TR><TD>";
	if(!(Sec.Id==208270))
		s+=tSpacer(165,6)+"<br>"+tSpacer(4,1)+drawDate(1)+"<BR>"+tSpacer(165,5);
	s+= drawToolBox(); 
	s += drawNavBarLinks(165, true);
	s += tSpacer(165,15);
	if(!isKids){
		if(!Corp) s+=drawTOEFLAdBox(dotline);
		//if(!isIE6)
			if(!Corp && oid != 207228)  s+=drawAdBox(gNav.makeGE,"bldblu11","white",null,null,null,"setHomePage")+dotline;
		if((!Corp && !(User.Status & USER_STATUS_HAS_STUDYPLAN)) || (hasFeature(21) && !(User.Status & USER_STATUS_HAS_STUDYPLAN))) s+=drawAdBox(gNav.start+"<br>"+gNav.howTo,"whitebld12","#006b9c",null,null,null,"tourLink")+dotline;
		s+=drawLandingPageQuote();
	}
	s+="</TD></TR></TABLE>";
	return s;
}

function drawLandingPageQuote(){
  if(!w.quote || w.quote=="undefined" || w.quote=="" || w.quote.indexOf("***")>=0)  return "";
  var quote=expandBody(w.quote);
  if(quote.indexOf("|") < 1)  return "";
	var qTxt=quote.split("|")[0];
	var qAtt=quote.split("|")[1];
	var s="<table border=0 cellspacing=0 cellpadding=0 width=162 bgcolor=#ffffff>"
	+ "<tr><td width=9 height=9>"+gImg("InProdMsg/q_TL.gif",9,9)+"</td>"
	+ "<td colspan=3 height=9 background="+bgImg("InProdMsg/q_T.gif")+">"+tSpacer(1,9)+"</td>"
	+ "<td width=10 height=9>"+gImg("InProdMsg/q_TR.gif",10,9)+"</td></tr>"

	+ "<tr><td width=9 background="+bgImg("InProdMsg/q_L.gif")+">"+tSpacer(9,1)+"</td>"
	+ "<td colspan=3 class='b_ff6633_4'><i>"+qTxt+"</i></td>"
	+ "<td width=10 background="+bgImg("InProdMsg/q_R.gif")+">"+tSpacer(10,1)+"</td></tr>"

	+ "<tr><td width=9 height=34>"+gImg("InProdMsg/q_BL2.gif",9,34)+"</td>"
	+ "<td width=54 height=34 background="+bgImg("InProdMsg/q_B2.gif")+">"+tSpacer(54,34)+"</td>"
	+ "<td width=36 height=34>"+gImg("InProdMsg/q_tail2.gif",36,34)+"</td>"
	+ "<td width=53 height=34 background="+bgImg("InProdMsg/q_B2.gif")+">"+tSpacer(53,34)+"</td>"
	+ "<td width=10 height=34>"+gImg("InProdMsg/q_BR2.gif",10,34)+"</td></tr></table>"

	+ "<table border=0 cellspacing=0 cellpadding=0 width=152>"
	+ "<tr><td height=4>"+tSpacer(1,4)+"</td></tr>"
	+ "<tr><td class='whiteBld11'><i>-- "+qAtt+"</i></td></tr></table>";
	return s;
}

function drawBottomBar(){
	var n=new Date();
	n=n.getFullYear();
	var copyStr = (isKids) ? gNav.KidsCopy.replace(/2002/,n) : gNav.geComCopy.replace(/2002/,n);
	var noRight=(Layout==3||Layout==5);
	var width1=noRight? 609: 444, width2=noRight? 5: 165, width3=noRight? 770: 610;
	var s="<table width=775 cellspacing=0 cellpadding=0 border=0><tr><td width='"+width3+"' bgcolor=#ffffff colspan=4>"+tSpacer(1,20)+"<br></td><td width='"+width2+"' bgcolor=#999999>"+tSpacer(width2,20)+"</td></tr>"
	+"<tr><td width=129 bgcolor=#999999 valign=top>"+tSpacer(17,1)+"<a href='#top'>"+gImg("top.gif",7,7)+"</a> <a href='#top'><font class='top'>"+gNav.Top+"</font></a></td><td width=30 valign=top bgcolor=#999999>"+gImg("grey_curve07.gif",30,19)+"</td><td width="+width1+" bgcolor=#ffffff>"+tSpacer(1,1)+"</td><td width=7 bgcolor=#999999 align=right valign=top>"+gImg("grey_curve08.gif",7,19)+"</td><td width="+width2+" bgcolor=#999999>"+tSpacer(width2,1)+"</td></tr>"
	+"<tr><td colspan=2 bgcolor=#999999>"+tSpacer(1,1)+"</td><td bgcolor=#999999 valign=middle colspan=3><font class='copyright'>"+copyStr+"<br>"+tSpacer(1,5)+"<br></td></tr></table>";
	return s;
}

function drawDate(inToolBar){
	var date=new Date(), day=date.getDay(), month=date.getMonth(), year=date.getFullYear(), datenum=date.getDate(), s="";
	var weekArray=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
	var monthArray=["January","February","March","April","May","June","July","August","September","October","November","December"];
	var dayStr=weekArray[day];
	var monthStr=monthArray[month];
	if (!inToolBar) s+="<font class='dkgry11'><nobr>"+dayStr+", "+monthStr+" "+datenum+", "+year+"</nobr></font>";
	else{
	    var fontClass = (dByteFont(User.SupportLang)) ? "p_1" : "pln11";
		s+="<font class='" + fontClass + "' color=#e0e0e0><nobr>";
		if(dByteFont(User.SupportLang)) s+=dayStr+", "+year+"/"+(month+1)+"/"+datenum;
		else if(User.SupportLang == "EN") s+=dayStr+", "+(month+1)+"/"+datenum+"/"+year;
		else s+=dayStr+", "+datenum+"/"+(month+1)+"/"+year;
		s+="</nobr></font>";
	}
	return s;
}
function getEditSize(len,navBar){
	var l=dByteIndex(lang);
	if (navBar){
		if(l==2)
			len=len*.9;
		else if(l==7)
			len=len*.92;
		else if(dByteTest())
			len=len*.77;
	}
	return len;
}

function tdLink(){
	if (isRunningOffline()){
		GoToNAO();
		return;
	}
	Obj.Save=0;
	Obj.Win="trans";
	var sel=(getElmt("transWd").translate) ? getElmt("transWd").translate.value : "";
	if (sel=="") sel=getFrame(1).document.selection.createRange().text;
	openTransWin(sel);
}

var ACTION_HEARIT = 0;
var ACTION_TRANSLATE = 1;
var ACTION_DOWN=1,ACTION_OVER=2,ACTION_OUT=3,ACTION_ONCLICK=4,ACTION_IGNORE=5;

function butAction(strButtonName,intAction){
var el = document.getElementById(strButtonName);
var strGrName="actionBtn_";

	if (ACTION_IGNORE == intAction)
		return;

	if (ACTION_ONCLICK == intAction){
		if (0==trn.intAction){
			if("actionBtn"==strButtonName)
				trn.hearit("popupMenu");
			else
				trn.hearit("popupMenu2");
		}
		else{
			if("actionBtn"==strButtonName)
				trn.translate("popupMenu");
			else
				trn.translate("popupMenu2");
		}
		return;
	}

	if (0==trn.intAction)
		strGrName += "hearit_";
	else
		strGrName += "trans_";
		
	if (ACTION_DOWN == intAction)
		strGrName += "DOWN";
	else
	if (ACTION_OVER == intAction)
		strGrName += "OVER";
	else
		strGrName += "UP";
	
	//alert(strButtonName+"|"+el.background+"|"+Ini.GimgPath+"templates/gimg/"+strGrName+".gif");
	el.background = Ini.GimgPath+"templates/gimg/"+strGrName+".gif";
}

function butDropdown(strButtonName, imageName){
	var el = document.getElementById(strButtonName);
	el.src = Ini.GimgPath+"templates/gimg/"+imageName;
}

function transWdOnDrop(){
butAction('actionBtn',ACTION_ONCLICK);
}

function getUserPrefsCookie(idStr){
     var c = unescape(getCookie("userprefs"));
     if (c != "") {
          var arr = c.split("|");
          for (var i=0;i<arr.length;i++){
               var pair= arr[i].split("=");
			var key=pair[0].toLowerCase();
			if (key.indexOf(idStr.toLowerCase()) >= 0){
				return pair[1];
                    break;
               }
          }
     }
     // if here then item wasn't found.
     // default it and save 
     var value="";
     if ("act"==idStr){
		value=0;
		setUserPrefsCookie(idStr,value);
	}
	return value;
}
function setUserPrefsCookie(idStr,val){
     var c = unescape(getCookie("userprefs"));
     var s = "";
     var newPair = true;
     if (c != "") {
          var arr = c.split("|");
          for (var i=0;i<arr.length;i++){
               var pair= arr[i].split("=");
			var key=pair[0].toLowerCase();
			if (key.indexOf(idStr.toLowerCase()) >= 0){
				pair[1] = val;
                    arr[i] = pair.join("=");
                    newPair = false;
                    break;
               }
          }
          if (newPair)
               arr[arr.length] = idStr +"="+val;
          s = arr.join("|");
     } else
          s= idStr +"="+ val;
     setCookie("userprefs",escape(s))
}

function drawToolBox(inSubNav, w){
	var isL=inSubNav;
	var wid= w ? w :isL? 150: 163;
	var lType=getLangType(User.Lang);
	var noTD= (isKids) ? (lType == 3 || lType == 2) : (lType>=7 && lType != 10);
	var boxSize=w ? Math.floor(w * .1) : isL? 10: 14;
	boxSize=getEditSize(boxSize,1);
	var s="<FORM NAME='transWd' action=javascript:p.tdLink()>"
	
	trn.intAction = parseInt(getUserPrefsCookie("act"),10);
	
	var strButtonText = gNav.hearit;
	var strInitialButtonName = "actionBtn_hearit_UP.gif";
	
	if (trn.intAction){
		strButtonText = gNav.trans;
		strInitialButtonName = "actionBtn_trans_UP.gif";
	}
	
	if (!isL){
		s+="<DIV style='border: #CCCCCC 1px solid;";
		if (Sec.Id == 216530)
		    s += "margin-top:-18px;margin-bottom:-20px;"
		s += "'>"
		s+="<TABLE BGCOLOR='#EBEBEB' border=0 WIDTH="+ wid+ " CELLSPACING=0 CELLPADDING=0>"
	}
	else
		s+="<TABLE BGCOLOR='#FFFFFF' border=0 WIDTH="+ wid+ " CELLSPACING=0 CELLPADDING=0>"
	
	s+="<TR><TD>"+tSpacer(3,1)+"</TD>";
	
	s+="<TD>";
	if (isL)
		s+="<DIV style='border: #CCCCCC 1px solid;'>"
		
		s+="<TABLE BGCOLOR='#EBEBEB' border=0 WIDTH="+ (wid-6) + " CELLSPACING=0 CELLPADDING=0>"
		s+="<TR><TD COLSPAN=2>"+tSpacer(wid-6,2)+"</TD></TR>"
		
		s+="<DIV><TD align=center>";
			// pulldown
			s += "<table align=center border=0 width=130 height=23 cellpadding=0 cellspacing=0 border=0>"
			s += "<tr>";
			
			//s += "<a id='actBtn' href='javascript:butAction(\"actionBtn\",ACTION_ONCLICK)'><td style='cursor:hand' width=109 height=23 id='actionBtn' onmousedown='butAction(\"actionBtn\",ACTION_DOWN)'  onmouseover='butAction(\"actionBtn\",ACTION_OVER)' onmouseout='butAction(\"actionBtn\",ACTION_OUT)' background="+bgImg(strInitialButtonName)+"><div id='actionButText' style='font: 9pt verdana; text-align: left; text-indent: 24px' >"+strButtonText+"</div></td></a>"
			
			s += "<a id='actBtn' href='javascript:butAction(\"actionBtn\",ACTION_ONCLICK)'><td style='cursor:hand' width=109 height=23 id='actionBtn' onmousedown='butAction(\"actionBtn\",ACTION_DOWN)'  onmouseover='butAction(\"actionBtn\",ACTION_OVER)' onmouseout='butAction(\"actionBtn\",ACTION_OUT)' background="+bgImg(strInitialButtonName)+"><div id='actionButText' style='font: ";
			if (User&&User.SupportLang&&"CZ-CZ"==User.SupportLang)
                s += "8";
            else
                s += "9";
            s += "pt verdana; text-align: left; text-indent: 24px' >"+strButtonText+"</div></td></a>"

			s += "<td style='cursor:hand' width=21><div><img id='dropdownBtn' src='"+ Ini.GimgPath+ "templates/gimg/dropdownBtn_UP.gif' width=21 height=23 onmousedown='butDropdown(\"dropdownBtn\",\"dropdownBtn_DOWN.gif\")'  onmouseover='butDropdown(\"dropdownBtn\",\"dropdownBtn_OVER.gif\")' onmouseout='butDropdown(\"dropdownBtn\",\"dropdownBtn_UP.gif\")' onmouseup='openMenu(this,\"popupMenu\")'></div></td>"
			s += "</tr>"
			s += "</table>";
		s += "</TD></DIV>";
		
		s+="<TR><TD COLSPAN=2>"+tSpacer(wid-6,4)+"</TD></TR>"
		
		//s+="<TR><TD align=center valign=middle><INPUT TYPE=textbox SIZE="+ boxSize+ " NAME=translate></TD></TR>";
		s+="<TR><TD align=center valign=middle><INPUT TYPE=textbox ondrop='javascript:transWdOnDrop()' SIZE=17 NAME=translate></TD></TR>";
		
		s+="<TR><TD COLSPAN=2>"+tSpacer(wid-6,4)+"</TD></TR>"
		
		s+="</TABLE>"
	
	if (isL)
		s+="</DIV>";
		
	s+"</TD>";
	
	s+="<TD>"+tSpacer(3,1)+"</TD>";
	s+="</TR></TABLE>";
	if (!isL)
		s+="</DIV>";
	
	s+="</FORM>";
	
	_pload(Ini.GimgPath+"templates/gimg/actionBtn_hearit_UP.gif");
	_pload(Ini.GimgPath+"templates/gimg/actionBtn_hearit_DOWN.gif");
	_pload(Ini.GimgPath+"templates/gimg/actionBtn_hearit_OVER.gif");
	_pload(Ini.GimgPath+"templates/gimg/dragBar.gif");
	_pload(Ini.GimgPath+"templates/gimg/actionBtn_trans_UP.gif");
	_pload(Ini.GimgPath+"templates/gimg/actionBtn_trans_DOWN.gif");
	_pload(Ini.GimgPath+"templates/gimg/actionBtn_trans_OVER.gif");
	_pload(Ini.GimgPath+"templates/gimg/icon_hearit.gif");
	_pload(Ini.GimgPath+"templates/gimg/icon_trans.gif");
	_pload(Ini.GimgPath+"templates/gimg/dropdownBtn_UP.gif");
	_pload(Ini.GimgPath+"templates/gimg/dropdownBtn_DOWN.gif");
	_pload(Ini.GimgPath+"templates/gimg/dropdownBtn_OVER.gif");
	
	if (isCorp()) s=featureVar(s,25);
	return s;
}

var imgArr=[];
function _pload(path){
	var img = new Image();
	img.src = path;
	imgArr[imgArr.length] = img;
}

var trn = { 
	intAction:ACTION_HEARIT,   
	showMenu: function () {
	    var menu = document.getElementById('menu');
		if (menu.style.visibility == 'visible')
			trn.hideMenu();
		else
			menu.style.visibility = 'visible';
	},
	hearit: function (popupMenuName) {
		trn.hideMenu(popupMenuName);
		if (ACTION_HEARIT==trn.intAction&&"popupMenu2"==popupMenuName){
		    document.ifrm2.replay(false);
			return;
		}
		trn.setAction(ACTION_HEARIT,popupMenuName);

		if ("popupMenu"==popupMenuName){
			strSelection=(getElmt("transWd").translate) ? getElmt("transWd").translate.value : "";
			if (strSelection=="") strSelection=_getSelection();
		}
		
		var _lang=User.SupportLang;
		var bdy='<iframe frameborder=0 name="ifrm2" src="tts/tts.asp?req=HTML&lang='+_lang+'" width=354 height=180></iframe>';
		dhtmlPopup2(bdy, 325 , ACTION_HEARIT, popupMenuName);
	},
	setAction: function (act,popupMenuName){
		trn.intAction = act;
		setUserPrefsCookie("act",act);
		var addOn="popupMenu" == popupMenuName ? "" : "2";
		ChangeActionButton("actionButText"+addOn,"actionBtn"+addOn,trn.intAction);
		if ("popupMenu2"==popupMenuName)
			ChangeActionButton("actionButText","actionBtn",trn.intAction);
	},
	hideMenu: function (popupMenuName) {
	    var menu = document.getElementById(popupMenuName);
		menu.style.visibility = 'hidden';
	},
	translate: function (popupMenuName) {
		trn.hideMenu(popupMenuName);
		if (ACTION_TRANSLATE==trn.intAction&&"popupMenu2"==popupMenuName){
			document.ifrm2.translate();
			return;
		}
		trn.setAction(ACTION_TRANSLATE,popupMenuName);
		if ("popupMenu"==popupMenuName){
			strSelection=(getElmt("transWd").translate) ? getElmt("transWd").translate.value : "";
			if (strSelection=="") strSelection=_getSelection();
		}
		var strSearchParam="",strEscapedSearchParam="";
		var base_url = "/templates/bin/toolbar/translate.asp?req=STATIC&d=";
		
			base_url += (("EN"==User.SupportLang) ? "0" : "1");

			if ("EN"==User.Lang||"TR-TR"==User.Lang)
			   base_url += "&search=";
			else{
			   base_url += "&tl="+User.Lang+"&search=";
			   strSearchParam = escape(strSelection);
			   if ("KO-KO"==User.Lang||"ZH-TW"==User.Lang||"ZH-CN"==User.Lang||"JA-JP"==User.Lang||"RU-RU"==User.Lang)
				  strEscapedSearchParam = "&searchEscaped="+escape(_unicodify(strSelection));
			}
			  
			var TenPercentChars = strSelection.length/10;
			if (TenPercentChars<1)
				TenPercentChars=1;
				TenPercentChars = parseInt(TenPercentChars);
			var totalChars = strSelection.length;
					
			if (totalChars&&(base_url.length+strSearchParam.length+strEscapedSearchParam.length)>=2000){
			
				for(i=0;i<10;i++){
					totalChars-=TenPercentChars; // truncate selection by 10%
					
					if (9==i&&totalChars>150)
						totalChars=150;
					if (totalChars<0)
						totalChars=0;
					strSelection=strSelection.substring(0,totalChars); // create new selection
					if ("EN"==User.Lang||"TR-TR"==User.Lang){
						strEscapedSearchParam="";
						strSearchParam="";
					}
					else{
						strSearchParam = escape(strSelection);
						if ("KO-KO"==User.Lang||"ZH-TW"==User.Lang||"ZH-CN"==User.Lang||"JA-JP"==User.Lang||"RU-RU"==User.Lang)
							strEscapedSearchParam = "&searchEscaped="+escape(_unicodify(strSelection));
					}
					
					if ((base_url.length+strSearchParam.length+strEscapedSearchParam.length)<2000){
						break;
					}
				}
		    }
		    
		    url = base_url+strSearchParam+strEscapedSearchParam;
			
		//var bdy='<iframe frameborder=0 name="ifrm2" src="' + url + '" width=350 height=249></iframe>';
		var bdy='<iframe frameborder=0 name="ifrm2" src="" width=350 height=249></iframe>';
		dhtmlPopup2(bdy, 330 , ACTION_TRANSLATE, popupMenuName);
		var iFrame = document.getElementById("ifrm2");
		iFrame.src=url;
	}
}

function _getSelection(){
var sel=getFrame(1).document.selection;
	if (sel&&"undefined"!=""+sel.createRange){
		try{
			sel = sel.createRange();
		}catch (err){
			return "";
		}
		if (sel)
			return (""+sel.text);
	}
	return "";
}

function _unicodify(name){
  var nm=name;
  var uninm="";
  if(nm!=""||nm!="undefined"){
    for(var i=0;i<nm.length;i++){
      if((nm.charCodeAt(i)>127)||(nm.charCodeAt(i)==34)||(nm.charCodeAt(i)==39)||(nm.charCodeAt(i)==32))
        uninm+="&#"+nm.charCodeAt(i)+";";
      else
        uninm+=nm.charAt(i);
    }
  }
  else
    uninm=nm;
  return uninm;
}

function ChangeActionButton(actionButText,actionBtn,mode){
	var txt = document.getElementById(actionButText);
	if (ACTION_HEARIT==mode)
		txt.innerHTML=gNav.hearit;
	else
		txt.innerHTML=gNav.trans;
	butAction(actionBtn, ACTION_OUT); // note: this forces the correct button
}

function openMenu(item, popupMenuName){
var x=0,y=0,butWidth=0,butHeigh=0,modeButWidth=0,menuWidth=0;
	x = getOffsetLeft (item, x);
    y = getOffsetTop (item, y);
    butWidth=getOffsetWidth(item);
    butHeight=getOffsetHeight(item);
    y += butHeight;
    
    y -= 2;
    
	menuWidth = 24 + 100;
	
	var popupMenu = document.getElementById(popupMenuName);
	
	var s = "";
	s += "<div id='choice1' style='cursor:hand; background-color:#FFFFFF; border:1px solid #CCCCCC; width:103px; padding:2px' onmouseover='this.style.backgroundColor = 0xE6E5DF' onmouseout='this.style.backgroundColor = 0xFFFFFF' onmousedown='trn.translate(\""+popupMenuName+"\")'>";
	s += "<table border=0 width="+menuWidth+" height=19 cellpadding=0 cellspacing=0 border=0>"
	s += "<tr><td width=16>";
	s += gImg('icon_trans.gif',16,15)+"</td>";
	
	//s += "<td style='font: 9pt verdana; text-align: left; text-indent: 4px'>";
	
	s += "<td style='font: ";
	if (User&&User.SupportLang&&"CZ-CZ"==User.SupportLang)
        s += "8";
    else
        s += "9";
    s+= "pt verdana; text-align: left; text-indent: 4px'>";
	
	s += gNav.trans;
	
	s += "</td></tr></table>";
	
	s += "</div>";
	
	s += "<div id='choice2' style='cursor:hand; background-color:#FFFFFF; border:1px solid #CCCCCC; width:100px; padding:2px' onmouseover='this.style.backgroundColor = 0xE6E5DF' onmouseout='this.style.backgroundColor = 0xFFFFFF' onmousedown='trn.hearit(\""+popupMenuName+"\")'>";
    
	s += "<table border=0 width="+menuWidth+" height=19 cellpadding=0 cellspacing=0 border=0>"
	s += "<tr><td width=16>";
	s += gImg('icon_hearIt.gif',16,15)+"</td>";
	
	//s += "<td style='font: 9pt verdana; text-align: left; text-indent: 4px'>";
	
	s += "<td style='font: ";
        
	if (User&&User.SupportLang&&"CZ-CZ"==User.SupportLang)
           s += "8";
        else
           s += "9";
        s += "pt verdana; text-align: left; text-indent: 4px'>";
	
	s += gNav.hearit;
	
	s += "</td></tr></table>";
	
	s += "</div>";
    
    popupMenu.innerHTML = s;
    
    if ("popupMenu2"==popupMenuName){
		popupMenu.style.zIndex = 150;
		x -= 108;
		//y += 1;
	}
    else
    x -= 109;
    
    popupMenu.style.position = "absolute";
    
    popupMenu.style.left = x + "px";
	popupMenu.style.top = y + "px";
	popupMenu.style.visibility = "visible";

	return false;
}

function dhtmlPopup2(bdy, w, action, popupMenuName) {
	var offsetLeft = 50;
	var offsetTop = 30;
	var xPos=0,yPos=0;
	var doc = document; //getFrame(1).document;
	var popupWidth = w + 10;
	
	if (227345==oid)
      asfStop();
    IE6SelectFix("hide");
	
	popupEl = doc.getElementById("popupEl");
	
	//if ("popupMenu2"==popupMenuName){
	//	xPos = popupEl.style.left;
	//	yPos = popupEl.style.top;
    //}
	
	popupEl.style.visibility = "hidden";
	popupEl.style.position = "absolute";
	popupEl.style.border = "solid 1px #999999";
	popupEl.style.backgroundColor = "#ffffff";
	popupEl.style.height = "180px";
	popupEl.style.zIndex = "100";
	
	var strButtonText = gNav.hearit;
	var strInitialButtonName = "actionBtn_hearit_UP.gif";
	
	if (ACTION_TRANSLATE==action){
		strButtonText = gNav.trans;
		strInitialButtonName = "actionBtn_trans_UP.gif";
	}
	
	var s = "";
	s += "<div id='bivelborder' style='margin:2px; border:solid 1px; border-color:#999999 #CCCCCC #CCCCCC #999999'>";
	s += "<div id='innerborder' style='border:solid 1px #000000'>";    
    s += "<div id='topBar' style='background-color:#EBEBEB; height:26px; padding:4px'>";
    
		s += "<table width=330 border=0 cellpadding=0 cellspacing=0 >"
		s += "<tr>";

	    //if (action){
		//  s += "<td width=120 align=left>";
		//  s += "<table align='left' border=0 width=120 height=23 cellpadding=0 cellspacing=0 border=0>"
		//}
		//else{
		  s += "<td width=130 align=left>";
		  s += "<table align='left' border=0 width=130 height=23 cellpadding=0 cellspacing=0 border=0>"
		//}
		
		s += "<tr>";
				
		//s += "<a href='javascript:butAction(\"actionBtn2\",ACTION_ONCLICK)'><td style='cursor:hand' width=109 height=23 id='actionBtn2' onClick='butAction(\"actionBtn2\",ACTION_ONCLICK)'  onmouseover='butAction(\"actionBtn2\",ACTION_OVER)' onmouseout='butAction(\"actionBtn2\",ACTION_OUT)' background="+bgImg(strInitialButtonName)+"><div id='actionButText2' style='font: 9pt verdana; text-align: left; text-indent: 24px' >"+strButtonText+"</div></td></a>"	
		s += "<a href='javascript:butAction(\"actionBtn2\",ACTION_ONCLICK)'><td style='cursor:hand' width=109 height=23 id='actionBtn2' onClick='butAction(\"actionBtn2\",ACTION_ONCLICK)'  onmouseover='butAction(\"actionBtn2\",ACTION_OVER)' onmouseout='butAction(\"actionBtn2\",ACTION_OUT)' background="+bgImg(strInitialButtonName)+"><div id='actionButText2' style='font: ";     
		if (User&&User.SupportLang&&"CZ-CZ"==User.SupportLang)
           	s += "8";
        else
           	s += "9";
        s += "pt verdana; text-align: left; text-indent: 24px' >"+strButtonText+"</div></td></a>"	

		s += "<td style='cursor:hand' width=21><div><img id='dropdownBtn2' src='"+ Ini.GimgPath+ "templates/gimg/dropdownBtn_UP.gif' width=21 height=23 onmousedown='butDropdown(\"dropdownBtn2\",\"dropdownBtn_DOWN.gif\")'  onmouseover='butDropdown(\"dropdownBtn2\",\"dropdownBtn_OVER.gif\")' onmouseout='butDropdown(\"dropdownBtn2\",\"dropdownBtn_UP.gif\")' onmouseup='openMenu(this,\"popupMenu2\")'></div></td>"

		s += "</tr>"
		s += "</table>";
		
		s += "</td>";
		
		if (ACTION_TRANSLATE==action){
			s += "<td width=19>";
			s += tSpacer(19,1);
		}
		else{
			s += "<td width=29>";
			s += tSpacer(29,1);
		}
	
		s += "</td>";
		
		s += "<td width=154 align=center>";
		s += "<img width=154 height=18 src='"+ Ini.GimgPath+ "templates/gimg/dragBar.gif'>";
		s += "</td>";
		
		s += "<td width=19>";
		s += tSpacer(19,1);
		s += "</td>";
		
		s += "<td width=15 valign=top align=right>"
		s += "<a href='javascript:hidePopup()'><img src='" + serverPath() + "css/img/close_box.gif'/></a>";
		s += "</td>";
		
		s += "</tr>";
		s += "</table>";
		
    s += "</div>";
    s += "<div id ='PC2' style='padding:10px'>"
    s += bdy;
    s += "</div></div></div>";
    
    popupEl.innerHTML = s;
    if(!isIE)
        popupEl.style.width = popupWidth + 14;
    var topBar = doc.getElementById("topBar");
    topBar.style.width = !isIE ? popupWidth : popupWidth + 10;
    
	if ("popupMenu"==popupMenuName){
		var actBtn = doc.getElementById("actBtn");
		xPos = getOffsetLeft(actBtn,xPos)-9;
		yPos = getOffsetTop(actBtn,yPos)-9;
    }
	
	var innerdiv = doc.getElementById("PC2");
		innerdiv.style.padding=0;
	
	if (popupEl.offsetHeight > doc.body.offsetHeight - offsetTop) {
	    innerdiv.style.overflowY = "scroll";
	    innerdiv.style.height = doc.body.offsetHeight - offsetTop - 80;
        topBar.style.width = popupWidth + 30;
	}
	//adjust if position if popup is off the screen
	if (xPos + popupEl.offsetWidth > doc.body.clientWidth)
		xPos = xPos - popupEl.offsetWidth;
	var popupBottom = yPos + popupEl.offsetHeight - doc.body.scrollTop;
	if (popupBottom > doc.body.clientHeight && yPos - popupEl.offsetHeight - doc.body.scrollTop > 0)
		yPos = yPos - popupEl.offsetHeight;
		
	if ("popupMenu"==popupMenuName){
		popupEl.style.left = xPos + "px";
		popupEl.style.top = yPos + "px";
	}
	popupEl.style.visibility = "visible";
}

function _hidePopup() {
    var doc = document;//getFrame(1).document;
	var el = doc.getElementById("popupEl");
	if (el)
      el.style.visibility = "hidden";
    //popupEl.innerHTML = "";
}

function drawAdBox(text,style,bgcolor,cid,oid,asp,functionName){
	var c="class="+style;
	var bg=bgcolor? " BGCOLOR="+bgcolor: "";
	var asp=asp? ","+asp: "";
	var s="<TABLE WIDTH=142 BORDER=0 BGCOLOR=#000000 CELLSPACING=1 CELLPADDING=2><TR><TD ALIGN=CENTER"+bg+"><A HREF='javascript:";
	s+=(functionName)? functionName+"()'": "tm("+cid+","+oid+asp+")'";
	s+=c+">"+text+"</a></TD></TR></TABLE>";
	return s;
}
function drawTOEFLAdBox(dotline){
	if(oid==210250||oid==207194||oid==210565||oid==210568||oid==210570||oid==211139||oid==210572||oid==210642||oid==210647||oid==210574||oid==210648||oid==210649||oid==210650||oid==210651||oid==210652||oid==210575||oid==210576||oid==210655||oid==210656||oid==210577||oid==210578||oid==210580||oid==210711||oid==210712||oid==210714||oid==210581||oid==210583||oid==210584||oid==210585||oid==210586||oid==210587||oid==210589||oid==210719||oid==210721)
		var s="<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=2 ALIGN=CENTER WIDTH=142><tr><td colspan=2><a href='http://www.delta-systems.com' target='_new'>"+gImg('buy.jpg',142,142)+"</a></td></tr></TABLE>"+dotline;
	else var s="";
	return s
}
function drawLeftNav(){
	var s=(Layout==5)? expandBody(Sec.Head): expandBody(Sec.Nav);
	if(Layout==3 && Sec.Id!=212993&&!isRunningOffline() && Sec.Id!=228223) {
	    s+="<br><br>"+drawToolBox(1);
        s += drawNavBarLinks(150);
	}
	return s;
}
function drawNavBarLinks(w, rightBar) {
    var wdth = w ? w : 150
    var s = '';
    s += '<div style="width:' + wdth + 'px; padding-left:10px">';
        s += '<div style="height:18px; padding-bottom:10px; background-repeat:no-repeat; background-image:url(' + bgImg("SysCheck/check_icon.gif") + '); padding-left:25px; cursor:hand" onclick="launchSystemCheck()">';
            s += "<a"
            if (rightBar)
                s += " style='color:#E0E0E0'";
            s += " href='javascript:p.launchSystemCheck()'>System Check</a>";
        s += '</div>';
        if (!noFeedback())
            s += drawFeedbackLink(rightBar);
    s += '</div>';
    return s;
}
function drawFeedbackLink(rightBar) {
    var s = '';
    s += '<span style="height:15px; background-repeat:no-repeat; background-image:url(' + bgImg("globalUI/userSurvey.gif") + '); padding-left:25px; cursor:hand" onclick="launchFeedbackTool()">';
        s += "<a"
        if (rightBar)
            s += " style='color:#E0E0E0'";
        s += " href='javascript:p.launchFeedbackTool()'>" + geVarsGlobal.fbIconTxt + "</a>";
    s += '</span>';
    return s;
}
function noFeedback() {
    var secArray = [210207,208272];
    var oidArray = [208279];
    for (var i = 0; i < secArray.length; i++) {
        if (Sec.Id == secArray[i])
            return true;
    }
    for (var i = 0; i < oidArray.length; i++) {
        if (Obj.Id == oidArray[i])
            return true;
    }
    return false;
}
function mainDraw(){return (mainLoaded || !engNetscapeCrap());}

function fontText(str, fontSize){
	var s="";
	if(fontSize){
		if(fontSize==2) s+="<font class='pln11'>";
		else if ((fontSize<-1)||(fontSize==1)) s+="<font class='pln10'>";
		else if (fontSize==3) s+="<font class='pln12'>";
		else if (fontSize>3) s+="<font class='pln14'>";
	} else if(!fontSize) s+="<font class='pln11'>";
	if(str) s+=str;
	s+="</font>";
	return s;
}
function drawSubNav(name, cid, oid, img, indent, asp, funct, exparm, prop){
	var inactiveLink, s="";
	var expm = (exparm) ? exparm.toLowerCase() : "UNDEFINED";
	if (asp == "billing/pricing" && (Obj.FromCA == 0 || Obj.FromCA==1) )
	  prop = "BuyType="+Obj.BuyType+","+"FromCA="+Obj.FromCA+"";
	if(12==Sec.Num||13==Sec.Num){
		var urlLink=location.href.toLowerCase();
		var aspStr=(asp)? asp.toLowerCase():"";
		var propStr=(prop)?prop.toLowerCase():"";
		inactiveLink = (prop) ? (urlLink.indexOf(propStr)>0) : (urlLink.indexOf(aspStr)>0) ? 1 : 0;
		//if (inactiveLink && asp.toLowerCase() == "corporate/editgroup" && urlLink.indexOf(expm)==-1)
			inactiveLink = 0;
	}else inactiveLink=(oid&&Obj.Id==oid);
	
	if(Sec.Id == 228223)
	   inactiveLink=true;
	   
	if (indent==1){
		s+="<tr><td colspan=3>"+tSpacer(20,1);
		if(!inactiveLink){
			if(funct) s+="<a href='javascript:p."+funct+"'>";
			else{
				s+="<a href='javascript:p.tm("+cid+","+oid;
				if(asp) s+=", \""+asp+"\"";
				else s+=",null";
				if(prop) s+=",\""+prop+"\"";
				else s+=",null";
				if(exparm) s+=", \""+exparm+"\"";
				s+=")'>";
			}
			s+="<font class='plnblu11'>-&nbsp;"+name+"</font></a>";
		}
		else s+="<font class='dkgry11'>-&nbsp;"+name+"</font>";
		s+="<br>"+tSpacer(1,5)+"</td></tr>";
	} else{
		s+="<tr><td valign=top width=7 height=10>";
		if(!inactiveLink&&!isRunningOffline()) s+=tSpacer(1,4)+"<br>"+gImg('bullet_'+img+'.gif',6,6);
		else s+=tSpacer(1,4)+"<br>"+gImg('bullet_current.gif',6,6);
		s+="</td><td width=7>"+tSpacer(7,1)+"</td><td width=118>";
		if(!inactiveLink) {
			if(funct) s+="<a href='javascript:p."+funct+"'>";
			else{
				s+="<a href='javascript:p.tm("+cid+","+oid;
				if(asp) s+=", \""+asp+"\"";
				else s+=",null";
				if(prop) s+=",\""+prop+"\"";
				else s+=",null";
				if(exparm) s+=", \""+exparm+"\"";
				s+=")'>";
			}
		}
		if(!inactiveLink&&!isRunningOffline()) s+="<font class='bldblu11'>"+name+"</font></a>";
		else s+="<font class='blddkgry11'>"+name+"</font>";
	}
	s+="</td></tr>";
	if(13==Sec.Num) s=showLinks(s,name);
	return s;
}
function drawTranslationPopup(transStr){return "<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td height=25></td></tr><tr><td>"+transStr+"</td></tr><tr><td><p>&nbsp<p><center><form><input type=button value=' OK ' onClick='top.close()'></form></center></td></tr></table>";}

function drawRemovePopup(transStr){
	return transStr;
}

/*****

CURRICULUM RELATED FUNCTIONS

*****/

// SENDS USER TO CURRENT COURSE NUMBER OR TO SPECIFIC COURSE NUMBER

function levelLink(nCourse,sec,cur,STR){
	var extStr="";
	if(cur) Obj.CurId=cur;
	if ("" != extStr)
		Obj.Ext=extStr.split(",");
	if (nCourse != null)
	{ if (Obj.FromCA == 0 || Obj.FromCA ==1)
	      tm(100,(500+nCourse),null,STR,extStr);
	  else
	      tm(100,(500+nCourse));
	}
	else doLink(Obj.Level);
}
function getLevel(num, levArray){
	var levelArray;
	var mid_num=(Obj.CurId==2)? 6: 9;
	if(levArray)  levelArray=levArray;
	else  levelArray=[Courses.begin, Courses.inter, Courses.advanced];
	if(num<4)  return levelArray[0];
	else if(num<mid_num)  return levelArray[1];
	else  return levelArray[2];
}
function curricNum(num, str){
	if(!str)  str=(cid==304)? Sec.coursenum: course.coursenum;
	if(str.indexOf("<num>")>=0) str=str.replace(/<num>/, num);
	else str=str+" "+num;
	return str;
}
// STRIPS OUT ALL <> TAGS IN MESSAGEBOARD/COMMUNITY
function stripTag(str){
	var strA=str.split("");

	for(var j=0;j<strA.length;j++){
		var last="";
		var first=(strA[j]=="<")? j:-1;
		if(first!=-1){
			for(var k=first;k<strA.length;k++){
				if(strA[k]==">"){
					last=k;
					break;
				}
			}
		}
		if(first!=-1){
			for(var i=first;i<=last;i++)
				strA[i]="";
		}
	}
	var tempA="";
	for(var j=0;j<strA.length;j++){
		if(strA[j]=="") continue;
		else tempA+=strA[j];
	}
	return tempA;
}

//unicodeFlash and evalUnicode are duplicated in geko/gsrc/core.js, please duplicate changes
//convert dbyte to a unicode format that flash can parse
function unicodeFlash(str)
{
	var dbStr = str;
	var uniStr = "";
	for (var i = 0; i < dbStr.length; i++) {
		var n = dbStr.charCodeAt(i)
		var numStr = "";
		var hexStr = "0123456789ABCDEF"
		if((n < 48) || (n>127)||(n==34)||(n==39)){
			for (var j = 3; j >= 0; j--) {
				var num = hexStr.charAt(Math.floor(n/(Math.pow(16,j))) % 16);
				numStr += num;
			}
		uniStr += "\\u" + numStr;
		}
		else
		{
		uniStr += dbStr.charAt(i)
		}
	}
	return uniStr;
}
function evalUnicode(str)
{
	if ( null == str.match(/\\u/) )
		return str;
	str = str.replace(/[\r\n]/g,"") // this line added just to correct some old notes that weren't being unicoded correctly.
	eval("var s = '" + str + "';")
	return s
}

/*****

COMPONENT DETECTION FUNCTIONS

*****/

function forcePC(){return (User.Flags & 4) || oid==216246};
//special case object ids are pages which should load the PC if it is available, but not force the download
function embedPC(){
if ((218937 || 202787 || 212662 == oid || 216244 == oid || 218681 == oid) && hasPC && (compare_version(userPCVersion, "2.0.0.47") >= 0) && (compare_version(userGEVersion, "2.0.0.47") >= 0))
	return true;
return hasPC&&(((Obj.RequiredComponents & PC) || ((Obj.RequiredComponents & PC_OR_MEDIA_PLAYER) && !(Obj.RequiredComponents & MEDIA_PLAYER)))||(oid==208290||oid==209082||oid==200095||oid==200100||oid==200098||oid ==200101 || oid==212662 || oid == 200244 || oid == 218681 || oid == 216244));
}
// PR 12/9/03 - added condition 219876 == oid because we need media player on the voice upload page regardless of forcePC
function embedMediaPlayer(){return ((!forcePC() || 219876 == oid)&&hasMediaPlayer && ((Obj.RequiredComponents & MEDIA_PLAYER) || (Obj.RequiredComponents & PC_OR_MEDIA_PLAYER)))}
function embedObjects(){
	var s = "";
	if (embedMediaPlayer()){
		if (hasMP9){
			s+="<OBJECT ID='nsPlay' WIDTH=0 HEIGHT=0 CLASSID='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'>\n";
			s+='<PARAM NAME="autoStart" VALUE="false">\n';
			s+='<PARAM NAME="showControls" VALUE="false">\n';
			s+='<PARAM NAME="UIMode" VALUE="none">\n';
			s+="</OBJECT>";
			
			s+='<SCRIPT  LANGUAGE = "JScript"  FOR = nsPlay  EVENT = error()>\n';
			s+='var max = nsPlay.error.errorCount;\n';
			s+='var err = nsPlay.error.item(max-1);\n';
			//Sridharan - Fix for issue #12 - 05/27/2010 - Start
			//s+='if (-1072885353==err.errorCode&&("VISTA"==p.getOS()))';
		    //s+=' p.tm(204, 226946, null, null, "redirect="+escape(document.location.href));';
		    //Sridharan - Fix for issue #12 - 05/20/2010 - End
			s+='</SCRIPT>\n';
		}
		else
			s+="<OBJECT ID='nsPlay' WIDTH=2 HEIGHT=2 CLASSID='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95'></OBJECT>";
	}
	if (embedPC())
		s+="<OBJECT ID='GE_CTRL' WIDTH=1 HEIGHT=1 classid='clsid:3A5A2021-0895-11D2-8817-0060089E0724'></OBJECT>";
	return s;
}

var flashCodebaseStr="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0";
function drawFlashDeferred(moviePath, w, h, bgcolor, id){
	var s="";
	var idname = id ? id : "flash";
	if(hasFlash){
		s+="<OBJECT classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' ID=" + idname + " WIDTH="+w+" HEIGHT="+h;
	    s += " codebase='" + flashCodebaseStr + "'";
		s += ">";
		s+="<PARAM NAME=movie VALUE='"+moviePath+"'><PARAM NAME=quality VALUE=high><PARAM NAME=loop VALUE=false>";
		if(bgcolor) s+="<PARAM NAME=bgcolor VALUE="+bgcolor+">";
	    if(!(226906==oid&&lang=='RU-RU'))
		    s+="<PARAM NAME=wmode VALUE=opaque>";
	    s += '<param name="allowScriptAccess" value="always" />'
		s+="<embed ";
		if(bgcolor) s+="bgcolor='"+bgcolor+"' ";
		s+="name=flash swLiveConnect=TRUE MAYSCRIPT src="+moviePath;
		s+=" width="+w+" height="+h+" loop=false type='application/x-shockwave-flash'></embed></OBJECT>";
	}
	document.write(s);
}
function drawFlashObject(moviePath, w, h, bgcolor, id){
	var s="<scri";
    s += "pt language='JavaScript' type='text/javascript'>drawFlashDeferred(";
    s += "\"" + moviePath + "\",\"" + w + "\",\"" + h + "\",";
    if (!bgcolor)
		s += "null";
	else
		s += "\"" + bgcolor + "\"";
	s += ",";
	if (!id)
		s += "null";
	else
		s += "\"" + id + "\"";
    s += ")</scri";
    s += "pt>";
	return s;
}
function drawFlashVB(){
	var s="";
	s+="<SCRIPT LANGUAGE=VBScript\> \n";
	s+="on error resume next \n";
	s+="Sub flash_FSCommand(ByVal command, ByVal args)\n";
	s+="  call flash_DoFSCommand(command, args)\n";
	s+="end sub\n";
	s+="</SCRIPT\> \n";
	return s;
}
function flash_DoFSCommand(command, args)
{
    if (command == 'init') //209441
		flashInit();
	else if (command == "goto")
		gotoLink();
	else if (command == 'soundloaded')
		enableButtons = true;
	else if (eval("window." + command)) {
		eval(command + "(\"" + args + "\")");
	}
}

function ctrl(){return Ctrl;}

function ctrlExists(){return (pageLoaded && ctrlLoaded) ;}

function GoToNAO(){
	var url;
	if(slang) url=serverPath()+"/offline/html/Nao/Nao"+slang+".htm";
	else url=serverPath()+"/offline/html/Nao.htm";
	document.location=url;
}
function Delayed_Init(){
	Ctrl=getFrame(0).GE_CTRL;
	ctrlLoaded=true;
}
function LaunchMicWiz(){
	if(p.isRunningOffline()){
		if(p.hasPC>0&&p.hasMicWiz==1) Ctrl.MISC_Launch("Microphone Wizard",0);
		else p.GoToNAO();
		return;
	}
	if(p.hasPC>0){
		if(p.hasMicWiz==1) Ctrl.MISC_Launch("Microphone Wizard",0);
		else {
			installComponents(MIC_WIZ);
			//if (Obj.ComponentUrl)
			//	document.location.href = Obj.ComponentUrl;
		}
	} else {
			installComponents(PC|MIC_WIZ);
			//if (Obj.ComponentUrl)
			//	document.location.href = Obj.ComponentUrl;
	 }
}
function ExtractVersion(info_string){
	var version="", mode=0;
	for(i=0;i<info_string.length-1;i++){
		if(info_string.charAt(i)==")") mode=2;
		if(mode==1) version+=info_string.charAt(i);
		if(info_string.charAt(i)=="("){
			if(mode==0) mode=1;
		}
	}
	return version;
}
function VerObject(version_str){
	var character="", str="";
	var index=0,i=0;
	verObj=new Object();
	verObj.num=new Array(4);
	for(var i=0;i<version_str.length;i++){
		character=version_str.charAt(i);
		if(character=="."||i==version_str.length-1){
			if(i==version_str.length-1) str=str+character;
			verObj.num[index++]=parseInt(str);
			str="";
		}
		else str=str+character;
	}
	verObj.num[index]=parseInt(str);
	return verObj;
}

// VERSION IS SERIES OF NUMBERS SEPARATED BY PERIODS - EX: 1.0.0.1

function compare_version(one, two){

	// empty string should compare to -1

	if(one==""||two=="") return -1;
	var ver_one=VerObject(one), ver_two=VerObject(two);
	for(var i=0;i<4;i++){
		if(ver_one.num[i]<ver_two.num[i]) return -1;
		else if(ver_one.num[i]>ver_two.num[i]) return 1;
	}
	return 0;
}
function ckComponents(User){
	if(verstrings.length&&verstrings.indexOf('Unrecognized query!')<0) hasPC=1;
	doCheck();
}
function doCheck(){
	var components=CheckCompVersions();
	var offline=CheckForOfflineContent();
	var componentsNeeded=TestComponents(Obj.RequiredComponents,components);
	if(componentsNeeded||offline) installComponents(componentsNeeded,offline)
	else{
		if (forcePC() && (Obj.RequiredComponents & PC_OR_MEDIA_PLAYER) && !(components & PC))
			installComponents(PC,offline);
	}
}
var instCom=0;
function installComponents(componentsNeeded,offline){
	var url=document.location.href;
	if (componentsNeeded){
	    if ((url.indexOf(".asp")+4)!=url.length)// Params?
			url+="&";
	    else
			url+="?";
		url+="DownloadComponents="+componentsNeeded;
	}

	// Only flag offline update if user logged in
	if(User&&User.Flags&&offline&&Obj.Id!=203544&&url.toUpperCase().indexOf("OFFLINEUPDATE")<0){
		if (document.location.href.toUpperCase().indexOf('.ASP') >= 0){
			if (document.location.href.toUpperCase().indexOf('.ASP?') >= 0)
				url+= "&";
			else
				url+= "?";
			url += "OfflineUpdate=true";
		}
	 }

	//redirect to same page, but this time with some special directives & cancels warning alert when user is redirected from tests to download page

	if(url!=document.location.href){
		instCom=1;
		if(Obj.TestId || Obj.AttemptId) From_Test_To_Download=true;
		if(!hasFeature(41)&&!pageLoaded&&(Obj.ClassId==6||Obj.ClassId==7||Obj.ClassId==9||Obj.ClassId==88)) Obj.ComponentUrl=url;
		else  document.location.href=url;
	}
}
function CheckCompVersions(){
	if(""!=verstrings){
		var verarray=verstrings.split("|");
		userPCVersion=ExtractVersion(verarray[0]);
		var userSAPIVersion=ExtractVersion(verarray[3]);
		var userMicWizVersion=ExtractVersion(verarray[2]);
		userGEVersion=ExtractVersion(verarray[1]);

		if(userMicWizVersion==""||(compare_version(userMicWizVersion, requiredMicWizVersion)<0)) hasMicWiz=0;
		else hasMicWiz=1;
		if(userSAPIVersion==""||(compare_version(userSAPIVersion, requiredSapiVersion)<0)) hasSAPI=0;
		else hasSAPI=1;

		var reqPCVersion=requiredPCVersion;
		var reqGEVersion=requiredGEVersion;

		if(hasPC){
			var COMPANYID_EDS=620;
			if(!kidsCur&&isCorp()&&COMPANYID_EDS==User.Corp.CompanyId){
				reqPCVersion=MIN_REQ_COMPS_FOR_EDS;
				reqGEVersion=MIN_REQ_COMPS_FOR_EDS;
			}
			if((forcePC()) && Ini.CacheId && Ini.CacheId==2){
				reqPCVersion=MIN_REQ_COMPS_FOR_GE_DI_STREAM;
				reqGEVersion=MIN_REQ_COMPS_FOR_GE_DI_STREAM;
			}
			if (cid>=70&&cid<=74){
				reqPCVersion=MIN_REQ_COMPS_FOR_BUS_SKILLS;
				reqGEVersion=MIN_REQ_COMPS_FOR_BUS_SKILLS;
			}
			if(compare_version(userPCVersion, reqPCVersion)<0||compare_version(userGEVersion, reqGEVersion)<0) hasPC=0;
		}
	}

	if(hasFlash&&FlashVersion<requiredFlashVersion.charAt(0)) hasFlash=0;
	
	/*
	// FORCE NEW COMPS
	if (oid == 216256 && hasFlash && hasPC && compare_version(userGEVersion, MIN_REQ_COMPS_FOR_AUTO_UPDATE) >= 0
		&& compare_version(userGEVersion, latestGEVersion)<0 && document.location.href.indexOf("99999L0A99") == -1)
			hasPC=0;
	*/

	var components=0;
	if(hasSAPI) components+=SAPI;
	if(hasMediaPlayer) components+=MEDIA_PLAYER;
	if(hasPC) components+=PC;
	if(hasMicWiz) components+=MIC_WIZ;
	if(hasFlash) components+=FLASH;

	if (typeof verMP == "string" && verMP.indexOf(".")>=0){
		var major = verMP.split(".");
		if (parseInt(major[0]) >= 9)
			hasMP9 = true;
	}

	return(components);
}
function CheckForOfflineContent(){
	var offline_userState=false, offline_serverName;
	if(""!=verstrings){
		var verarray=verstrings.split("|");
		if(verarray.length>=13){
			if(verarray[12]!='undefined'){
				var offline_str=verarray[12];
				if((index=offline_str.indexOf('ServerName='))>=0){
					index2=offline_str.indexOf(',',index+1);
					offline_serverName=offline_str.substring(index + 11,index2);
				}
				if(offline_str.indexOf('userState=yes')>=0){
					if(offline_serverName==Ini.OfflineServerName) offline_userState=true;
				}
				if(offline_str.indexOf('offline=yes')>=0) offline=true;
				else offline=false;
				if((index=offline_str.indexOf('OfflineCA='))>=0){
					offline_objectId=offline_str.substring(index+10);
					if((index=offline_objectId.indexOf(','))>=0) offline_objectId=offline_objectId.substring(0,index);
				}
			}
		}
	}
	return(offline_userState);
}

// COMPARES BITMASKS AND RETURNS BITMASKS OF COMPONENTS NEEDED BY USER

function TestComponents(Required,UserComponents){
	var u=UserComponents, RequiredComponentsUserHas=Required&u;
	var componentsUserNeeds=(Required-RequiredComponentsUserHas);

	//we need to special case components where we could have either one component or another

	if(PC_OR_MEDIA_PLAYER&componentsUserNeeds)	{
		componentsUserNeeds=TestAlternativeComponents(componentsUserNeeds,PC_OR_MEDIA_PLAYER,u,PC,PC,MEDIA_PLAYER);
		// PR - covers the case that user is set to force PC and are on a page that requires audio (PC_OR_MEDIA_PLAYER).
		// It will make the PC as one of the required components for the page.
		if (forcePC() && !(u&PC)) componentsUserNeeds |= PC;
	}

	if(PC_OR_SAPI&componentsUserNeeds)
		componentsUserNeeds=TestAlternativeComponents(componentsUserNeeds,PC_OR_SAPI,u,PC,PC,SAPI);

	if ((cid == 6 || cid == 7) && !componentsUserNeeds && hasPC && !hasSAPI && User && Corp && User.Features)
	{
		var bUserWantsASR = (User.UseASR > 0);
		var bASR_Skills = (User.Features.charAt(41)=="1") ? 1 : 0;
		var bASR_Courses = (User.Features.charAt(21)=="1") ? 1 : 0;

		if (bUserWantsASR){
			if (Obj.CurId == 3){
				if (bASR_Skills)
					componentsUserNeeds = SAPI;
			}
			else
			if (bASR_Courses)
				componentsUserNeeds = SAPI;
		}
	}

	return(componentsUserNeeds);
}
function TestAlternativeComponents(bitMask,alternativeComps,userComps,downloadIfNeither,comp1,comp2){

	//we don't want to tell them that they need to download something like "PC_OR_MEDIA_PLAYER", so subtract the
	//alternativeComps from the bitMask and check for the individual comps.  if none of them are present add the
	//downloadIfNeither to the bitmask so that the necessary component will be installed

	bitMask-=alternativeComps;
	if(userComps&comp1||userComps&comp2) return(bitMask);
	else if(bitMask&downloadIfNeither) return(bitMask);
	else return(bitMask+downloadIfNeither);
}
function featureAlert(){
	var s="";
	for (i=1;i<=User.Features.length;i++)
		s+=(i)+"="+User.Features.charAt(i-1)+"; ";
	alert(s)
}
function canAutoUpdate(){
	return (compare_version(userPCVersion, MIN_REQ_COMPS_FOR_AUTO_UPDATE)>=0 &&
			compare_version(userGEVersion, MIN_REQ_COMPS_FOR_AUTO_UPDATE)>=0);
}
if(w.postLinksAction) postLinksAction();

// OS       appVersion					verstrings
//WIN2K   Windows NT 5.0			Win32 on Windows NT,5.0
//WIN98   Windows 98				Win32 on Windows 95,4.10
//WINXP   Windows NT 5.1			Win32 on Windows NT,5.1
//WINME   Windows 98;Win 9x 4.90	Win32 on Windows 95,4.90
//WIN2K3  Windows NT 5.2			Win32 on Windows NT,5.2
//WIN95   Windows 95				Win32 on Windows 95,4.0
//WINNT   Windows NT 4.0			WIn32 on Windows NT,4.0

function getOS(){
var str = navigator.appVersion.toUpperCase();
	if (str.indexOf("WINDOWS 95")>=0)
		return "WIN95";
	else
	if (str.indexOf("WINDOWS 98;WIN 9X 4.90")>=0)
		return "WINME";
	else
	if (str.indexOf("WINDOWS 98")>=0)
		return "WIN98";
	else
	if (str.indexOf("WINDOWS NT 4.0")>=0)
		return "WINNT";
	else
	if (str.indexOf("WINDOWS NT 5.0")>=0)
		return "WIN2K";
	else
	if (str.indexOf("WINDOWS NT 5.1")>=0)
		return "WINXP";
	else
	if (str.indexOf("WINDOWS NT 5.2")>=0)
		return "WIN2K3";
	else
	if (str.indexOf("WINDOWS NT 6")>=0)
		return "VISTA";
	return "?";
}

//draws back link for About Us section
function drawBack(){
  var s="";
  if(history.length > 0)
  {
     s += "<br/><br/><div align='center'>"
     + "<h3 class='no_graphic'><a href='javascript:history.go(-1)'>" +gImg('consumer/back_arrow.gif',12,12) + gNav.Bck + "</a></h3>"
     + "</div>";
  }
  return s;
}

function linkCS(l){
	var csLang = l ? l : lang;
	if(Corp) emailWin(lang+ ".corporate.support@globalenglish.com");
	else if(isKids)emailWin(lang+ ".support@globalenglishkids.com");
	else emailWin(lang+ ".support@globalenglish.com");
}

function linkBoard(){
	if(isKids)launchPopup('KidsBoard', 670, 610, 'http://mboard.superboard.com/board.cgi?db=1_A21402_A001')
	else launchPopup('WWWBoard', 670, 610, 'http://mboard.superboard.com/board.cgi?db=1_A21402_A002')
}


_V="3.0"