
Type.registerNamespace("CodeEffects.Scheduler.UI");
CodeEffects.Scheduler.UI.UserInfo = function(){
this.Email = "";
this.Nick = "";
this.Organization = "";};
CodeEffects.Scheduler.UI.Smoother = function(){
var elem,cur,lim,inc,p,sp,cb;
var t = null;
this.init = function(el,current,increment,limit,speed,increase,callback){
elem = el;cur = current;lim = limit;inc = increment;p = increase;sp = speed;
cb = callback;
start();}
var start = function(){try{t = window.setInterval(handler,sp);}catch(e){}}
var stop = function(){try{window.clearInterval(t);}catch(e){}t = null;}
var handler = function(){
stop();
inc++;
if(p){
cur += inc;
elem.style.height = cur+"px";
if(cur < lim)start();
else{
elem.style.height = lim+"px";
if(CodeEffects.Core.defined(cb))cb();}}
else{
cur -= inc;
if(cur < 0)cur = lim;
elem.style.height = cur+"px";
if(cur > lim)start();
else{
elem.style.height = lim+"px";
if(CodeEffects.Core.defined(cb))cb();}}}};
CodeEffects.Scheduler.UI.ErrorHandler = function(production){
this.soapError = function(e){
if(e.get_exceptionType){
switch(e.get_exceptionType()){
case "CodeEffects.Common.InvalidInputException":
alerter.warn(e.get_message());
break;
case "CodeEffects.Common.AccessDeniedException":
denied();
break;
case "CodeEffects.Common.SessionExpiredException":
window.location.href = "/errors/expired.htm";
break;
default:
if(production)window.location.href = "/errors/500.htm";
else alerter.error(e.get_message());
break;}}
else alerter.warn(e);}
this.deny = function(){denied();}
this.httpError = function(e){window.location.href = "/errors/404.htm";}
this.clientError = function(e){alerter.error(e);}
var denied = function(){window.location.href = "/errors/403.htm";}};
CodeEffects.Scheduler.UI.Loader = function(handler){
var divPage,s,l,an = true,method = null;
this.init = function(pageContainer,loaded){
divPage = pageContainer;
method = loaded;
s = new CodeEffects.Scheduler.UI.Smoother();}
this.load = function(address,animate,message){
l = address;
an = animate;
var o = Sys.UI.DomElement.getBounds(divPage).height;
if(o > 0)divPage.style.height = o+"px";
divPage.innerHTML = "";
if(an && o > 0)s.init(divPage,o,2,20,10,false,begin);
else{
var spn = document.createElement("SPAN");
spn.id = "spnLoadingTempSpn";
spn.innerHTML = "&nbsp;"+message+"&nbsp;";
divPage.appendChild(spn);
begin();}}
this.finish = function(height,done){
var o = Sys.UI.DomElement.getBounds(divPage).height;
if(an && o > 0)s.init(divPage,o,2,height,10,height > o,done);
else{
if(height > 0)divPage.style.height = height + "px";
done();}}
var begin = function(){CodeEffects.Core.getSource(l,method,handler.httpError);}};
CodeEffects.Scheduler.UI.Event = function(name,context){
this.fire = function(arg){
var e = context.events[name];
if(CodeEffects.Core.defined(e) && e.length > 0)
for(var i in e)if(typeof(e[i].Callback)=="function")e[i].Callback(arg);}};
CodeEffects.Scheduler.UI.Context = function(){
this.progress = null;
this.handler = null;
this.culture = "en-US";
this.messages = {};
this.helpTags = {};
this.helpStructure = [];
this.permissions = [];
this.events = {};
this.drag = null;
this.dateFormat = "MMM d, yyyy hh:mm:ss tt";
this.isIE6 = false;
this.isProduction = true;
this.calendarSettings = null;
this.calendarImageUrl = "";
this.email = "";
function Subscription(method,id){
this.Callback = method;
this.Subscriber = id;}
this.convertMessages = function(pairs){
var arr = {};
for(var i in pairs)arr[pairs[i].ID] = pairs[i].Name;
return arr;}
this.subscribe = function(name,subscriber,callback){
if(!CodeEffects.Core.defined(this.events[name]))this.events[name] = [];
for(var i in this.events[name]){
if(this.events[name][i].Subscriber == subscriber){
Array.removeAt(this.events[name],i);
break;}}
this.events[name].push(new Subscription(callback,subscriber));}
this.apply = function(container,values){
var d = CodeEffects.Core.defined;
if(!d(container.childNodes) || container.childNodes.length == 0)return; 
var child,val,c = Array.contains;
for(var i in container.childNodes){
child = container.childNodes[i];
if(d(child) && child.tagName && child.id){
for(var j in values){
val = values[j];
if(child.id == val.ClientID || (val.Collection && child.id.startsWith(val.ClientID))){
if(val.Hide)child.style.display = c(this.permissions,val.Permission) ? "" : "none";
else child.disabled = !c(this.permissions,val.Permission);
break;}}}
if(d(child) && child.childNodes && child.childNodes.length > 0)this.apply(child,values);}}
this.valid = function(permission){return Array.contains(this.permissions,permission);}
this.fillCountries = function(ddl,list){
var c,o;
CodeEffects.Core.emptyDdl(ddl,true);
var g = document.createElement("OPTGROUP");
g.label = this.messages["l125"];
ddl.appendChild(g);
var ie = CodeEffects.Core.ie();
for(var i in list){
c = list[i];
if(c.ID.length > 0){
o = document.createElement("OPTION");
o.text = c.Name;
o.value = c.ID;
if(ie)ddl.options.add(o);
else g.appendChild(o);}
else{
g = document.createElement("OPTGROUP");
g.label = this.messages["l126"];
ddl.appendChild(g);}}}};
CodeEffects.Scheduler.UI.ScheduleDescription = function(descriptions,isUsTimeFormat){
this.getString = function
(
frequencyId,
frequencyNumber,
termId,
monthDay,
weekDayFrequencyId,
weekDayId,
timeFrequencyId,
timeNumber,
timeTypeId,
hourLimit,
minuteLimit,
startDate,
expirationDate){
var s = descriptions[frequencyId] + " ";
var defined = CodeEffects.Core.defined;
if(frequencyId == "ONC"){
if(!defined(startDate))s += "[start date]";
else{
s += startDate.format("MMM dd, yyyy");
if(timeFrequencyId == "PTT")s += " " + descriptions[timeFrequencyId] + " " + extractTime(startDate);
else s += " " + getRecurringTime(timeFrequencyId,timeTypeId,timeNumber) + " from " + extractTime(startDate) + " to " + extractTime(expirationDate);}}
else{
switch(termId){
case "MNS": 
case "JAN":
case "FEB":
case "MAR":
case "APR":
case "MAY":
case "JUN":
case "JUL":
case "AUG":
case "SEP":
case "OCT":
case "NOV":
case "DEC":
if(defined(monthDay) && (!defined(monthDay.length) || monthDay.length > 0))s += " on " + getLabelExtension(monthDay+"",false);
else{
if(weekDayFrequencyId.length == 0 || weekDayId.length == 0)s += " [not selected]";
else s += " " + descriptions[weekDayFrequencyId] + " " + descriptions[weekDayId];}
s += " of every " + getLabelExtension(frequencyNumber+"",true) + descriptions[termId];
break;
case "WES": 
if(!defined(weekDayId) || weekDayId.length == 0)s += " on [weekday]";
else s += " on " + descriptions[weekDayId];
s += " of every " + getLabelExtension(frequencyNumber+"",true) + descriptions[termId];
break;
default: 
s += " every " + getLabelExtension(frequencyNumber+"",true) + "day";
break;}
if(timeFrequencyId == "PTT")s += " " + descriptions[timeFrequencyId] + " " + extractTime(startDate);
else{
s += " " + getRecurringTime(timeFrequencyId,timeTypeId,timeNumber);
s += " from " + extractTime(startDate) + " to " + extractTime(new Date("1/1/2009 "+hourLimit+":"+minuteLimit+":00"));}
s += " beginning on " + startDate.format("MMM dd, yyyy");
if(defined(expirationDate)){
s += " and expiring on ";
s += expirationDate.format("MMM dd, yyyy");}}
return s;}
var getRecurringTime = function(frequency,timeTypeId,timeNumber){
var s = descriptions[frequency]+" ";
if(parseInt(timeNumber) > 1)s += timeNumber + " " + descriptions[timeTypeId] + "s";
else s += descriptions[timeTypeId];
return s;}
var extractTime = function(date){
var h = date.getHours();
var m = date.getMinutes();
var t = "",s = "";
if(isUsTimeFormat){
if(h>12){s = h-12;t = h > 23 ? " AM" : " PM";}
else{s = h==0 ? 12 : h;t = h==12 ? " PM" : " AM";}}
else s = (h<10?"0"+h:h);
s += ":"+(m<10?"0"+m:m)+t;
return s;}
var getLabelExtension = function(integer,ignoreSingleOne){
var s = integer.length == 1 ? integer : integer.substring(integer.length-2);
if(parseInt(s) > 10 && parseInt(s) < 20)return integer + "th ";
s = s.length == 1 ? s : s.substring(s.length-1);
if(s == "1")return integer.length == 1 ? (ignoreSingleOne ? "" : "1st ") : integer + "st ";
else if(s == "2")return integer+"nd ";
else if(s == "3")return integer+"rd ";
else return integer+"th ";}};
CodeEffects.Scheduler.UI.Port = function(){
var service,elements,helps,selectedId,links = null,labels = [],helpHistory = [],instanceLabels = null,loader = null,context = null,instance = null,pageInstance = null;
var loading = false,initializing = true,secured = false,helped = false,globalId = 0,loginUrl,logoutUrl;
var bounds,defined,text;
var
ATTR_LINK_ID = "attrPortLinkId",
ATTR_HELP = "attrPortHelpLink",
ATTR_TAG = "attrPortLinkTag",
ATTR_DRAG_SPACE = "attrPortDragSpace";
this.init = function(ie6,production,isZone){
bounds = Sys.UI.DomElement.getBounds,defined = CodeEffects.Core.defined,text = CodeEffects.Core.write;
var div = $get("divPortLoading");
CodeEffects.Core.centerElement(div);
instance = this;
secured = isZone;
context = new CodeEffects.Scheduler.UI.Context();
context.isIE6 = ie6;
context.isProduction = production;
context.calendarSettings = new CodeEffects.Tools.Calendar.Css();
context.calendarSettings.container = "calendarContainer dottedBorder whiteBackground";
context.calendarSettings.header = "calendarHeader darkBackground";
context.calendarSettings.headerText = "calendarHeaderText verdana small white";
context.calendarSettings.days = "calendarDays midBackground";
context.calendarSettings.day = "calendarDay";
context.calendarSettings.today = "calendarToday pinkBackground";
context.calendarSettings.dayRollover = "calendarRoll darkBackground white";
context.calendarSettings.weekDays = "calendarWeekDays dimmedText tiny";
context.calendarSettings.selected = "calendarSelected greenBackground";
context.calendarSettings.format = "MMM dd, yyyy";
CodeEffects.Core.registerLoadEvent(load);}
this.setHelp = function(el,tag){help(el,tag);}
this.getHelp = function(tag){doHelp(tag,false);}
this.setLink = function(el,id){link(el,id);}
this.getLink = function(id){doLink(id);}
var load = function(){
elements = new CodeEffects.Core.Elements($get("divPortContent"),"ce");
helps = new CodeEffects.Core.Elements($get("divPortHelpContainer"),"ce");
divPageTmpl = $get("divPortHtmlTemp");
handleEvents();
context.progress = new CodeEffects.Tools.Progress();
context.progress.init(elements.tdProgress,"greenBackground");
context.handler = new CodeEffects.Scheduler.UI.ErrorHandler(context.isProduction);
service = CodeEffects.Scheduler.Site.Common.Services.Common.Port;
service.GetSettings(loaded,context.handler.soapError);}
var loaded = function(result){
var a = $addHandler,s = CodeEffects.Core.selectDdlOptionByValue;
context.calendarImageUrl = result.CalendarImageUrl;
elements.chkAnimate.checked = result.Animate;
helps.chkLoadRelevantHelp.checked = result.LoadRelevantHelp;
a(elements.chkAnimate,"click",saveAnimate);
a(helps.chkLoadRelevantHelp,"click",saveRelevantHelp);
a(helps.tdHelpClose,"click",closeHelp);
bindPairDdl(elements.ddlCulture,result.AvailableCultures);
s(elements.ddlCulture,result.Culture);
context.culture = result.Culture;
a(elements.ddlCulture,"change",cultureChanged);
bindPairDdl(elements.ddlColor,result.ColorThemes);
s(elements.ddlColor,result.ColorTheme);
$get("elPortColor").href = result.ColorTheme;
a(elements.ddlColor,"change",saveColor);
bindPairDdl(elements.ddlSize,result.SizeThemes);
s(elements.ddlSize,result.SizeTheme);
$get("elPortSize").href = result.SizeTheme;
a(elements.ddlSize,"change",saveSize);
setHelpTopicsClick();
help(elements.spnBottomTerms,"h103");
help(elements.spnBottomPrivacy,"h123");
handleCultureSettings(result);
loader = new CodeEffects.Scheduler.UI.Loader(context.handler);
loader.init(elements.divPage,pageLoaded);
if(secured)CodeEffects.Scheduler.Site.Common.Services.Common.Zone.GetZoneSettings(
new Date().format("MM/dd/yyyy hh:mm:ss tt"),new Date().getTimezoneOffset(),zoneLoaded,context.handler.soapError);
else service.GetSection(sectionLoaded,context.handler.soapError);}
var sectionLoaded = function(result){
loginUrl = result.Url;
buildNavigation(result.Section.Links);
link(elements.spnForgotPass,"ctrForgotPassword");
link(elements.spnRegister,"ctrNewAccount");
elements.imgLogin.onclick = elements.spnLogin.onclick = function(e){window.location.href = loginUrl;}
loadPage();
if(initializing)initialize();}
var zoneLoaded = function(result){
logoutUrl = result.Url;
context.permissions = result.Permissions;
buildNavigation(result.Section.Links);
link(elements.spnUpdate,"ctrUserUpdate");
var u = new CodeEffects.Scheduler.UI.UserInfo();
u.Email = result.Email;
u.Nick = result.Nick;
u.Organization = result.Organization;
info(u);
elements.spnLogout.onclick = function(e){logout();}
if(result.TimeDifference)alerter.warn(context.messages["m114"]);
loadPage();
if(initializing)initialize();}
var info = function(userInfo){
var c = CodeEffects.Core.cutOff;
if(defined(userInfo.Nick) && userInfo.Nick.length > 0)text(elements.spnNick,c(userInfo.Nick,26));
if(defined(userInfo.Email) && userInfo.Email.length > 0){
text(elements.spnEmail,c(userInfo.Email,26));
context.email = userInfo.Email;}
if(defined(userInfo.Organization) && userInfo.Organization.length > 0)text(elements.spnOrg,c(userInfo.Organization,26));}
var initialize = function(){
initializing = false;
$get("divPortLoading").style.display = "none";
elements.divContent.style.display = "";
context.drag = new CodeEffects.Tools.DragAndDrop();context.drag.init();}
var cultureChanged = function(){
loading = true;
context.progress.start(0);
service.SaveCulture(CodeEffects.Core.getDdlSelectedValue(elements.ddlCulture),cultureLoaded,context.handler.soapError);}
var cultureLoaded = function(result){
labels = [];
context.culture = CodeEffects.Core.getDdlSelectedValue(elements.ddlCulture);
handleCultureSettings(result);
resetNavigation();
if(links[selectedId].HelpTag.length == 0)helps.spnHelpTopics.onclick();
context.progress.stop();
loadPage();}
var handleCultureSettings = function(result){
context.messages = context.convertMessages(result.GlobalMessages);
context.helpTags = context.convertMessages(result.HelpLinks);
context.helpStructure = result.HelpStructure;
CodeEffects.Core.globalize(elements.divContent,context.messages);
CodeEffects.Core.globalize(helps.divHelp,context.messages);}
var buildNavigation = function(pages){
links = {};
elements.divNavigation.innerHTML = "";
for(var i in pages)addLink(pages[i],pages[i].InitialPage);}
var resetNavigation = function(){
var d,divs = CodeEffects.Core.getChildrenByTagName(elements.divNavigation,"DIV",false);
for(var i in divs){
d = divs[i];
if(d.getAttribute(ATTR_LINK_ID) == selectedId){
d.className = "navLink distincted";
d.style.cursor = "default";
d.innerHTML = "<b>&middot;</b>&nbsp;&nbsp;"+context.messages[d.getAttribute(ATTR_TAG)];
d.onclick = d.onmouseover = d.onmouseout = null;}
else{
d.className = "navLink";
d.style.cursor = "pointer";
d.innerHTML = "&nbsp;&nbsp;&nbsp;"+context.messages[d.getAttribute(ATTR_TAG)];
setLinkClick(d);
setLinkMouse(d);}}}
var addLink = function(obj,sel){
links[obj.ID] = obj;
if(obj.ExcludeFromNavigation)return;
var div = document.createElement("DIV");
div.id = "divPortNavLink"+globalId;
globalId++;
div.className = sel ? "navLink distincted" : "navLink";
if(sel)div.style.cursor = "default";
div.setAttribute(ATTR_LINK_ID,obj.ID);
div.setAttribute(ATTR_TAG,obj.LinkName);
if(sel){
selectedId = obj.ID;
div.innerHTML = "<b>&middot;</b>&nbsp;&nbsp;"+context.messages[obj.LinkName];
text(elements.spnTitle,context.messages[obj.Title]);}
else{
div.innerHTML = "&nbsp;&nbsp;&nbsp;"+context.messages[obj.LinkName];
setLinkClick(div);
setLinkMouse(div);}
elements.divNavigation.appendChild(div);}
var link = function(el,id){
el.setAttribute(ATTR_LINK_ID,id);
setLinkClick(el);}
var setLinkClick = function(el){el.onclick = function(e){doLink(this.getAttribute(ATTR_LINK_ID));}}
var doLink = function(id){
if(loading)return;
selectedId = id;
resetNavigation();
loadPage();}
var setLinkMouse = function(el,sub){
el.onmouseover = function(e){navLinkOver(this);}
el.onmouseout = function(e){navLinkOut(this);}}
var buildHelpTopics = function(topics,margin){
var t,div,spn;
for(var i in topics){
t = topics[i];
div = document.createElement("DIV");
div.id = "divPortHelpTopic"+globalId;
div.style.marginLeft = margin + "px";
div.style.marginTop = div.style.marginBottom = "4px";
spn = document.createElement("SPAN");
spn.id = "spnPortHelpTopicTitle"+globalId;
spn.innerHTML = "<b>&middot;</b>&nbsp;&nbsp;"+t.Title;
if(t.IsLink){
spn.className = "link small";
help(spn,t.TagName);}
else spn.className = "small";
globalId++;
div.appendChild(spn);
helps.divHelpContent.appendChild(div);
if(t.Elements.length > 0)buildHelpTopics(t.Elements,parseInt(margin)+20);}}
var setHelpTopicsClick = function(){
helps.spnHelpTopics.style.display = "";
helps.spnHelpTopics.onclick = function(e){doHelpTopicClick(this,false);}}
var doHelpTopicClick = function(el,historyClick){
if(!historyClick)helpHistory.push("");
setHelpHistoryClick();
el.style.display = "none";
helps.divHelpContent.innerHTML = "";
buildHelpTopics(context.helpStructure,0);}
var setHelpHistoryClick = function(){
if(helpHistory.length < 2){
helps.spnHelpBack.style.display = "none";
helps.spnHelpBack.onclick = null;}
else{
helps.spnHelpBack.style.display = "";
helps.spnHelpBack.onclick = function(e){
if(helpHistory.length > 1)Array.removeAt(helpHistory,helpHistory.length-1);
if(helpHistory[helpHistory.length-1] == "")doHelpTopicClick(helps.spnHelpTopics,true);
else doHelp(helpHistory[helpHistory.length-1],true);}}}
var help = function(el,tag){
el.setAttribute(ATTR_HELP,tag);
el.onclick = function(e){doHelp(this.getAttribute(ATTR_HELP),false);}}
var doHelp = function(tag,historyClick){
if(!historyClick)helpHistory.push(tag);
setHelpHistoryClick();
CodeEffects.Core.getSource(context.helpTags[tag],displayHelp,context.handler.httpError);}
var displayHelp = function(result){
if(!helped){helped = true;CodeEffects.Core.centerElement(helps.divHelp);}
setHelpTopicsClick();
helps.divHelpContent.innerHTML = result;
helps.divHelp.style.display = "";
context.drag.addSpace(ATTR_DRAG_SPACE,null,helpMoving,helpStopped,null,6);
context.drag.addDraggableElement(ATTR_DRAG_SPACE,helps.tdHelpHeader,helps.divHelp,false);}
var closeHelp = function(){
context.drag.removeDraggableElement(ATTR_DRAG_SPACE,helps.tdHelpHeader,helps.divHelp);
context.drag.removeSpace(ATTR_DRAG_SPACE);
helps.divHelp.style.display = "none";}
var loadPage = function(){
loading = true;
context.progress.start(4);
if(links[selectedId].Script.length > 0)CodeEffects.Core.getCode(links[selectedId].Script,links[selectedId].JsClass,loadDom);
else loadDom();}
var loadDom = function(){
var w = bounds(elements.divPage).width;
if(w > 0)divPageTmpl.style.width = w + "px";
else divPageTmpl.style.width = "650px";
loader.load(links[selectedId].Url,elements.chkAnimate.checked,context.messages["m101"]);}
var pageLoaded = function(result){
divPageTmpl.innerHTML = result;
var sec = links[selectedId].UiNode;
if(sec.length > 0){
if(defined(labels[sec]))pageUiLoaded(labels[sec]);
else service.GetLabels(sec,pageUiLoaded,context.handler.soapError);}
else pageUiLoaded(null);}
var pageUiLoaded = function(result){
var sec = links[selectedId].UiNode;
if(defined(labels[sec]))instanceLabels = labels[sec];
else{
if(defined(result)){
labels[sec] = context.convertMessages(result);
instanceLabels = labels[sec];}
else instanceLabels = null;}
var h = bounds(divPageTmpl).height;
loader.finish(h,loaderFinalized);}
var loaderFinalized = function(){
if(defined(pageInstance) && pageInstance.dispose)pageInstance.dispose();
var l = links[selectedId];
text(elements.spnTitle,context.messages[l.Title]);
elements.imgHelp.title = context.messages["l111"];
if(l.HelpTag.length > 0){
elements.imgHelp.style.display = "";
help(elements.imgHelp,l.HelpTag);}
else{
elements.imgHelp.onclick = null;
elements.imgHelp.style.display = "none";}
elements.divPage.innerHTML = divPageTmpl.innerHTML;
divPageTmpl.innerHTML = elements.divPage.style.height = "";
if(l.JsClass.length > 0){
var ps = l.ControlPermissions;
pageInstance = eval("new "+l.JsClass+"(context,instance,ps)");
context.subscribe(l.JsClass+".Initialized",elements.divContent.id,pageInitialized);
pageInstance.init(instanceLabels);}
else{
pageInstance = instanceLabels = null;
pageInitialized();}}
var pageInitialized = function(){
context.progress.stop();
loading = false;
if(helps.chkLoadRelevantHelp.checked && helps.divHelp.style.display != "none" && links[selectedId].HelpTag.length > 0)
doHelp(links[selectedId].HelpTag,false);}
var handleEvents = function(){
context.subscribe("CodeEffects.Scheduler.UI.Users.UserInfoChanged",elements.divContent.id,info);
context.subscribe("CodeEffects.Scheduler.UI.UserUpdate.InfoChanged",elements.divContent.id,info);
context.subscribe("CodeEffects.Scheduler.UI.Account.OrganizationUpdated",elements.divContent.id,info);
context.subscribe("CodeEffects.Scheduler.UI.Account.Cancelled",elements.divContent.id,logout);}
var saveColor = function(){
var v = CodeEffects.Core.getDdlSelectedValue(elements.ddlColor);
$get("elPortColor").href = v;
service.SaveColorTheme(v,null,null);}
var saveSize = function(){
var v = CodeEffects.Core.getDdlSelectedValue(elements.ddlSize);
$get("elPortSize").href = v;
service.SaveSizeTheme(v,null,null);}
var bindPairDdl = function(ddl,pairs){for(var i in pairs)CodeEffects.Core.addOptionToDdl(ddl,pairs[i].Name,pairs[i].ID);}
var logout = function(){window.location.href = logoutUrl;}
var helpMoving = function(){document.body.style.cursor = "move";}
var helpStopped = function(){document.body.style.cursor = "";}
var saveAnimate = function(){service.SaveAnimation(elements.chkAnimate.checked,null,null);}
var saveRelevantHelp = function(){service.SaveHelpDynamic(helps.chkLoadRelevantHelp.checked,null,null);}
var navLinkOver = function(el){el.className = "navLink distincted";}
var navLinkOut = function(el){el.className = "navLink";}};