var hideHeader=false; var appUrl="http://www.edugamer.org"; var appUrl_login="http://www.edugamer.org/login.aspx"; var appUrl_logout="http://www.edugamer.org/app/logout.aspx"; var appUrl_profileAdd="http://www.edugamer.org/app/myProfile.aspx"; var appUrl_profileEdit="http://www.edugamer.org/app/myProfile.aspx"; var appUser=null; /*--- Start File:C:\inetpub\webapps\edugamer\release\scripts\..\scripts\common.js ---*/ var publicWebserviceUrl = appUrl + "/webservice.asmx"; var flashVersion = "9.0.28"; //var loaderFunctions = []; var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; var isIE7 = (navigator.appVersion.indexOf("MSIE 7") != -1) ? true : false; var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; var isChrome = (navigator.userAgent.indexOf("Chrome") != -1) ? true : false; var isSafari = (navigator.userAgent.indexOf("Safari") != -1) ? true : false; var bodyNode; Array.prototype.remove = function(item) { for(var i=0;i -1) this.location = this.location.substring(0,queryStartIndex); qs=document.location.search.substring(1,location.search.length); } if (qs.length == 0) return; qs = qs.replace(/\+/g, ' '); var args = qs.split('&'); // parse out name/value pairs separated via & // split out each name=value pair for (var i=0;i -1) { this.params[name] = null; this.names.removeAt(index); } } function indexOfParams(name) { for(var i=0;i -1) return true; return false; } function Querystring_get(key, _default) { // This silly looking line changes UNDEFINED to NULL //if (default_ == null) default_ = null; var value=""; if(isNaN(key)) value=this.params[key]; else value=this.params[this.names[key]]; if (value==null) value=_default; return value; } this.serializeQuery = function() { var valueString = ""; for(var i=0;i0) { for(var i=0;i 0) div.appear({duration:2}); else div.fade({duration:2}); } function redirectToLogin() { if(appUrl_login == null || appUrl_login.length == 0) return; if(appUrl_login.indexOf("?") == -1) appUrl_login += "?"; window.location.href = appUrl_login + "&desturl=" + escape(window.location.href); } function redirectToLogout() { if(appUrl_logout == null || appUrl_logout.length == 0) return; if(appUrl_logout.indexOf("?") == -1) appUrl_logout += "?"; window.location.href = appUrl_logout + "&desturl=" + escape(window.location.href); } function getNodeValue(parentNode,nodeName) //mark for depreciation { var value = ""; try { value = Element.cleanWhitespace(parentNode.getElementsByTagName(nodeName)[0]).firstChild.data; }catch(e) { try{ value = (parentNode.getElementsByTagName(nodeName)[0]).firstChild.data; }catch(e){} } if(typeof trim == "function") value = trim(value); return value; } function getFlashMovie(name) { //if(isIE) //alert($(window.document.getElementById(name))); //return $(name); return $(window.document[name]); } function getBodyNode() { if(bodyNode == null) { try { bodyNode = $$("body")[0]; }catch(err){} } return bodyNode; } /*function global_init() { if(bodyNode == null) { bodyNode = $$("body")[0]; } if(loaderFunctions.length == 0) return; for(var i=0;i 0) src += "&width=" + newWidth; } if(newHeight != null) { src = src.replace(/(&)?height=\w*/ig,""); if(newHeight > 0) src += "&height=" + newHeight; } if(scaleType != null) { src = src.replace(/(&)?scaleType=\w*/ig,""); if(scaleType.length > 0) src += "&scaleType=" + scaleType; } if(showBorder != null) { src = src.replace(/(&)?showBorder=\w*/ig,""); if(showBorder) src += "&showBorder=1"; } return src; } MediaManager.resizeNodeMediaImages = function(node, newWidth, newHeight, scaleType, showBorder) { var imageNodes = node.getElementsBySelector("img"); for(var imageIndex=0;imageIndex left && mouseX < (left + width)) { if(mouseY > top && mouseY < (top + height)) { //window.status = "hit"; return true; } } //window.status = mouseX + ";" + mouseY + ";[" + left + "," + top + "," + (left + width) + "," + (top + height) + "]"; return false; } var XMLUtils = {}; XMLUtils.getNodeAttribute = function(node, name) { if(node == null) return null; var atts = node.attributes; if(atts == null || atts.length == 0) return null; var att = atts.getNamedItem(name); if(att == null) return null; return att.value; } XMLUtils.getNodeValue = function(node) { if(node == null) return null; var node = Element.cleanWhitespace(node); if(node == null) return null; if(node.firstChild == null) return null; return node.firstChild.data; } XMLUtils.getNodeByName = function(parentNode, nodeName) { nodeName = nodeName.toLowerCase(); parentNode = Element.cleanWhitespace(parentNode); for(var i=0;i 0) { node.firstChild.remove(); } } var MathX = {}; MathX.round = function(number, dec) { return Math.round(number*Math.pow(10,dec))/Math.pow(10,dec); } /*--- End File ---*/ /*--- Start File:C:\inetpub\webapps\edugamer\release\scripts\..\layouts\current\scripts\common.js ---*/ //var quickLogin_username_default; var quickLogin_username_field = {}; var quickLogin_password_field = {}; var quickLoginBar; var quickLoginButton; var quickLoginAttempts = 0; var quickLoginLoading; var quickLoginSuccessFunction = function() { document.location.reload(); }; function public_master_init() { if(hideHeader) { try { $("bannerHeaderSection").setStyle({display:"none"}); $("authSection2").setStyle({display:"block"}); } catch(error){} } //if(isIE) //return; quickLogin_init(); if(appUser == null) { try { $("authSection").setStyle({display:"block"}); }catch(error){} } else { quickLogin_setupCredentials(); } } function quickLogin_init() { quickLoginBar = $("quickLoginBar"); if(quickLoginBar == null || appUser != null) return; quickLoginBar.setStyle({display:"block"}); quickLoginLoading = $("quickLogin_loading"); quickLoginButton = $("quickLogin_button"); quickLoginButton.observe("click", this.quickLogin_submit.bind(quickLoginButton)); //quickLoginButton.observe("click", quickLogin_submitForm); //var formElement = $("quickLogin_form"); //formElement.writeAttribute("action", appUrl_login); //quickLoginButton.writeAttribute("type","submit"); quickLogin_username_field.control = $("quickLogin_username"); quickLogin_username_field.label = $("quickLogin_username_label"); quickLogin_username_field.activeClass = "activeField"; quickLogin_username_field.inactiveClass = "inactiveField"; //quickLogin_username_field.control.setStyle({color:quickLogin_username_field.deactiveColor}); //quickLogin_username_field.defaultValue = "username"; quickLogin_username_field.label.observe("focus",this.quickLogin_labelFocus.bind(quickLogin_username_field)); quickLogin_username_field.control.observe("blur",this.quickLogin_blur.bind(quickLogin_username_field)); quickLogin_username_field.control.setValue(""); quickLogin_password_field.control = $("quickLogin_password"); quickLogin_password_field.label = $("quickLogin_password_label"); quickLogin_password_field.activeClass = "activeField"; quickLogin_password_field.inactiveClass = "inactiveField"; //var control = quickLogin_password_field.labelControl.cloneNode(false); //control.type = "password"; //control.removeClassName(quickLogin_username_field.inactiveClass); //control.addClassName(quickLogin_username_field.activeClass); //quickLogin_password_field.control = control; quickLogin_password_field.label.observe("focus", this.quickLogin_labelFocus.bind(quickLogin_password_field)); quickLogin_password_field.control.observe("blur", this.quickLogin_blur.bind(quickLogin_password_field)); //quickLogin_password_field.defaultValue = "password"; quickLogin_password_field.control.setValue(""); } function quickLogin_initLogin() { var username = ""; if(appUser != null) username = appUser["username"]; } function quickLogin_labelFocus() { var field = this; field.label.removeClassName(field.activeClass); field.label.addClassName(field.inactiveClass); field.control.removeClassName(field.inactiveClass); field.control.addClassName(field.activeClass); field.control.focus(); //control.addClassName(quickLogin_username_field.activeClass); /* var defaultText = quickLogin_username_field.defaultValue; if(control.id == "quickLogin_password") { defaultText = quickLogin_password_field.defaultValue; //if(control.value != defaultText && control.type != "password") //return; var newControl = quickLogin_password_field.control; quickLoginBar.removeChild(control); quickLoginBar.insertBefore(newControl, quickLoginButton); newControl.value = ""; newControl.focus(); return; } if(control.value == defaultText) control.value = ""; */ } function quickLogin_blur(event) { var field = this; if(field.control.getValue() == "") { field.label.removeClassName(field.inactiveClass); field.label.addClassName(field.activeClass); field.control.removeClassName(field.activeClass); field.control.addClassName(field.inactiveClass); } /*var control = $(this); if(control.value == "") { control.removeClassName(quickLogin_username_field.activeClass); control.addClassName(quickLogin_username_field.inactiveClass); var defaultText = quickLogin_username_field.defaultValue; if(control.id == "quickLogin_password") { defaultText = quickLogin_password_field.defaultValue; var newControl = quickLogin_password_field.labelControl; quickLoginBar.removeChild(control); quickLoginBar.insertBefore(newControl, quickLoginButton); //newControl.observe("focus",quickLogin_focus.bind(newControl)); control = newControl; } control.value = defaultText; } */ } function quickLogin_submit(event) { var button = $(this); button.disable(); button.addClassName("disabled"); //quickLoginButton.setStyle({display:"none"}); quickLoginLoading.appear({duraction:.25}); //quickLoginLoading.setStyle({display:"block"}); quickLoginAttempts++; var params = {}; params["isPersistent"] = "true"; params["username"] = quickLogin_username_field.control.getValue(); params["password"] = quickLogin_password_field.control.getValue(); new Ajax.Request(publicWebserviceUrl + "/user_getLogin", {method:'POST', parameters:params, onSuccess:parseResponse}); function parseResponse(xml) { var parser = new XmlParser(); parser.load(xml); button.enable(); button.removeClassName("disabled"); if(parser.isSuccess) { var userRow = parser.dataTable.get(0); var username = userRow.get("username").value; setTimeout( function() { quickLoginLoading.fade(); quickLoginBar.fade(); var element = $("authSection"); element.setStyle({display:"none"}); } ,500); if(username.length > 0) quickLoginSuccessFunction(); //appUser = username; } else { quickLoginBar.shake({duration:.5, distance:4}); //quickLoginBar.addClassName("loginBar_invalid"); //quickLogin_username_field.control.removeClassName("activeField"); //quickLogin_password_field.control.removeClassName("activeField"); new Effect.Highlight(quickLoginBar, {duration:1.00, startcolor:'#ff9999'}); setTimeout( function() { if(quickLoginAttempts>=3) { doRedirect(appUrl_login + "?loginError=1"); } quickLoginLoading.fade({duraction:2.5}); //quickLoginLoading.setStyle({display:"none"}); //quickLoginButton.setStyle({display:"block"}); },1500); } } } function quickLogin_setupCredentials() { if(appUser == null) return; var loginInfoSection = $("loginInfoSection"); var loginUsername = $("loginUsername"); var loginUserGroup = $("loginUserGroup"); if(loginInfoSection == null || loginUsername == null || loginUserGroup == null) return; loginInfoSection.setStyle({display:"inline"}); var loginUsernameHtml = appUser["username"]; if(appUrl_profileEdit.length > 0) loginUsernameHtml = "" + loginUsernameHtml + ""; loginUsername.update(loginUsernameHtml); //alert(loginUserGroup); try { loginUserGroup.update("(" + appUser["userGroupTitle"] + ")"); }catch(e){} var element = $("registrationSection"); element.setStyle({display:"none"}); element = $("authButton"); element.update("Logout"); element.writeAttribute("href", "javascript:redirectToLogout()"); element = $("authButton2"); element.update("Logout"); element.writeAttribute("href", "javascript:redirectToLogout()"); element = $("logoutSection"); element.setStyle({display:"inline"}); } function openLinkedLoginWindow() { var linkedLoginWindow = window.open(appUrl + '/app/linkedLogin/relay.aspx','authWindow','width=950,height=480,toolbar=0,location=1,menubar=0,scrollbars=1'); if(linkedLoginWindow != null) linkedLoginWindow.focus(); } function setUserInfo(afterDataLoaded) //don't think this is needed anymore, ~/scripts/common.ashx should populate this object. { if(appUser != null) return; new Ajax.Request(publicWebserviceUrl + "/getAppUser", {method:'POST', onSuccess:parseResponse}); function parseResponse(xml) { var parser = new XmlParser(); parser.load(xml); if(parser.isSuccess) { var userRow = parser.dataTable.get(0); appUser = {}; appUser["username"] = userRow.get("username").value; appUser["userGroupName"] = userRow.get("userGroupName").value; appUser["userGroupTitle"] = userRow.get("userGroupTitle").value; appUser["userGroupAccessLevel"] = userRow.get("userGroupAccessLevel").value; if(afterDataLoaded != null) afterDataLoaded(); } else { alert("unable to establish connection with authentication server."); } } } //if(appUser == null) //not logged in //loaderFunctions.push(init_layout_common); //Event.observe(window, "load", init_layout_common); /*--- End File ---*/