|
|
(95 intermediate revisions not shown) |
Line 1: |
Line 1: |
- | <html xmlns="http://www.w3.org/1999/xhtml"> | + | <html xmlns="http://www.w3.org/1999/xhtml"><head> |
- | <head> | + | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
- | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | + | |
- | <title>Untitled Document</title>
| + | |
- | <link href="descriplayout.css" rel="stylesheet" type="text/css" />
| + | |
- | <script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
| + | |
- | <link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" />
| + | |
- | <link href="submenuverticales.css" rel="stylesheet" type="text/css" media="all" />
| + | |
- | </head>
| + | |
| | | |
| | | |
| + | <title>wiki</title> |
| + | <style type="text/css"> |
| + | <!-- |
| + | #top-section { |
| + | height: 100px; |
| + | border: none; |
| + | height:20px |
| + | } |
| | | |
- | <script type="text/javascript">
| + | #p-logo { |
| + | position: absolute; |
| + | display: none; |
| + | |
| + | } |
| + | #footer-box { |
| + | display:none; |
| + | } |
| | | |
- | (function() { // BeginSpryComponent
| |
| | | |
- | if (typeof Spry == "undefined") window.Spry = {}; if (!Spry.Widget) Spry.Widget = {};
| + | #catlinks { |
| + | display:none; |
| + | } |
| | | |
- | Spry.Widget.CollapsiblePanel = function(element, opts)
| + | #search-controls { |
- | { | + | display: none; |
- | this.element = this.getElement(element);
| + | } |
- | this.focusElement = null;
| + | |
- | this.hoverClass = "CollapsiblePanelTabHover";
| + | |
- | this.openClass = "CollapsiblePanelOpen";
| + | |
- | this.closedClass = "CollapsiblePanelClosed";
| + | |
- | this.focusedClass = "CollapsiblePanelFocused";
| + | |
- | this.enableAnimation = true;
| + | |
- | this.enableKeyboardNavigation = true;
| + | |
- | this.animator = null;
| + | |
- | this.hasFocus = false;
| + | |
- | this.contentIsOpen = true;
| + | |
| | | |
- | this.openPanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_DOWN;
| + | #menubar { background: none repeat transparent; } |
- | this.closePanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_UP;
| + | |
| | | |
- | Spry.Widget.CollapsiblePanel.setOptions(this, opts);
| |
| | | |
- | this.attachBehaviors();
| + | #menubar ul li a { color: white; } |
- | }; | + | |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.getElement = function(ele)
| |
- | {
| |
- | if (ele && typeof ele == "string")
| |
- | return document.getElementById(ele);
| |
- | return ele;
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.addClassName = function(ele, className)
| + | .right-menu li a { |
- | { | + | color: black; |
- | if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
| + | background: none repeat transparent; |
- | return;
| + | } |
- | ele.className += (ele.className ? " " : "") + className;
| + | |
- | }; | + | |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.removeClassName = function(ele, className)
| + | #content { |
- | { | + | background: none repeat scroll 0 0 transparent; |
- | if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
| + | border-left: 0 solid; |
- | return;
| + | border-right: 0 solid; |
- | ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
| + | } |
- | }; | + | #content{ |
| + | width: 80%; |
| + | } |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.hasClassName = function(ele, className)
| + | #headover ul{ |
- | { | + | list-style: none; |
- | if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
| + | display: none; |
- | return false;
| + | position: absolute; |
- | return true;
| + | top: 1.2em; |
- | }; | + | left: 0.2em; |
| + | } |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.setDisplay = function(ele, display)
| + | .firstHeading { |
- | { | + | display: none;} |
- | if( ele )
| + | |
- | ele.style.display = display;
| + | |
- | }; | + | |
| | | |
- | Spry.Widget.CollapsiblePanel.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
| + | body { |
- | {
| + | font: 12px Tahoma, Geneva, sans-serif; |
- | if (!optionsObj) | + | background-image: url(https://static.igem.org/mediawiki/2011/4/43/Lefondoleposter.png); |
- | return;
| + | background-repeat:no-repeat; |
- | for (var optionName in optionsObj) | + | background-size: 100%; |
- | { | + | margin: 0; |
- | if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
| + | padding: 0; |
- | continue;
| + | margin-left: 10%; |
- | obj[optionName] = optionsObj[optionName];
| + | margin-right: 10%; |
- | } | + | color: #FFFFF; |
- | }; | + | } |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.onTabMouseOver = function(e)
| + | /* ~~ Element/tag selectors ~~ */ |
- | { | + | ul, ol, dl { |
- | this.addClassName(this.getTab(), this.hoverClass); | + | padding: 0; |
- | return false; | + | margin: 0; |
- | }; | + | } |
| + | h1, h2, h3, h4, h5, h6, p { |
| + | margin-top: 0; |
| + | padding-right: 10px; |
| + | padding-left: 10px; |
| + | } |
| + | a img { |
| + | border: none; |
| + | } |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.onTabMouseOut = function(e)
| |
- | {
| |
- | this.removeClassName(this.getTab(), this.hoverClass);
| |
- | return false;
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.open = function()
| + | a:link { |
- | { | + | |
- | this.contentIsOpen = true; | + | color: #F90; |
- | if (this.enableAnimation) | + | } |
- | {
| + | a:visited { |
- | if (this.animator)
| + | color: #c02355; |
- | this.animator.stop();
| + | text-decoration: underline; |
- | this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, true, { duration: this.duration, fps: this.fps, transition: this.transition });
| + | } |
- | this.animator.start();
| + | a:hover, a:active, a:focus { |
- | }
| + | text-decoration: none; |
- | else
| + | } |
- | this.setDisplay(this.getContent(), "block");
| + | |
| | | |
- | this.removeClassName(this.element, this.closedClass);
| |
- | this.addClassName(this.element, this.openClass);
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.close = function()
| + | .container { |
- | { | + | width: 100%; |
- | this.contentIsOpen = false; | + | max-width: 1260px; |
- | if (this.enableAnimation) | + | min-width: 780px; |
- | { | + | overflow: hidden; |
- | if (this.animator)
| + | color:#FFF; |
- | this.animator.stop();
| + | } |
- | this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, false, { duration: this.duration, fps: this.fps, transition: this.transition });
| + | |
- | this.animator.start();
| + | |
- | }
| + | |
- | else
| + | |
- | this.setDisplay(this.getContent(), "none");
| + | |
| | | |
- | this.removeClassName(this.element, this.openClass);
| |
- | this.addClassName(this.element, this.closedClass);
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.onTabClick = function(e)
| + | .sidebar1 { |
- | { | + | float: left; |
- | if (this.isOpen()) | + | width: 15%; |
- | this.close();
| + | padding-bottom: 10px; |
- | else | + | background-color:#04191d; |
- | this.open();
| + | -moz-border-radius: 8px; |
| + | -webkit-border-radius: 8px; |
| | | |
- | this.focus();
| + | } |
| + | .content { |
| + | |
| + | padding: none; |
| + | width: 80%; |
| + | float: left; |
| + | |
| + | } |
| | | |
- | return this.stopPropagation(e);
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.onFocus = function(e)
| + | .content ul, .content ol { |
- | { | + | padding: 0 15px 15px 40px; |
- | this.hasFocus = true; | + | } |
- | this.addClassName(this.element, this.focusedClass);
| + | |
- | return false;
| + | |
- | }; | + | |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.onBlur = function(e)
| |
- | {
| |
- | this.hasFocus = false;
| |
- | this.removeClassName(this.element, this.focusedClass);
| |
- | return false;
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.KEY_UP = 38;
| + | ul.nav { |
- | Spry.Widget.CollapsiblePanel.KEY_DOWN = 40;
| + | list-style: none; |
| + | border-top:none; |
| + | margin-bottom: 15px; |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.onKeyDown = function(e)
| + | } |
- | { | + | ul.nav li { |
- | var key = e.keyCode; | + | border-bottom: 0px solid #04191d; |
- | if (!this.hasFocus || (key != this.openPanelKeyCode && key != this.closePanelKeyCode))
| + | |
- | return true;
| + | |
| | | |
- | if (this.isOpen() && key == this.closePanelKeyCode)
| |
- | this.close();
| |
- | else if ( key == this.openPanelKeyCode)
| |
- | this.open();
| |
| | | |
- | return this.stopPropagation(e);
| + | } |
- | }; | + | ul.nav a, ul.nav a:visited { |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.stopPropagation = function(e)
| + | padding: 5px 5px 5px 15px; |
- | {
| + | display: block; |
- | if (e.preventDefault) e.preventDefault(); | + | text-decoration: none; |
- | else e.returnValue = false; | + | color:#FFF; |
- | if (e.stopPropagation) e.stopPropagation(); | + | |
- | else e.cancelBubble = true; | + | |
- | return false;
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanel.prototype.attachPanelHandlers = function()
| + | |
- | {
| + | |
- | var tab = this.getTab();
| + | |
- | if (!tab)
| + | |
- | return;
| + | |
- | | + | |
- | var self = this;
| + | |
- | Spry.Widget.CollapsiblePanel.addEventListener(tab, "click", function(e) { return self.onTabClick(e); }, false);
| + | |
- | Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseover", function(e) { return self.onTabMouseOver(e); }, false);
| + | |
- | Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseout", function(e) { return self.onTabMouseOut(e); }, false);
| + | |
- | | + | |
- | if (this.enableKeyboardNavigation)
| + | |
- | {
| + | |
- | // XXX: IE doesn't allow the setting of tabindex dynamically. This means we can't
| + | |
- | // rely on adding the tabindex attribute if it is missing to enable keyboard navigation
| + | |
- | // by default.
| + | |
- | | + | |
- | // Find the first element within the tab container that has a tabindex or the first
| + | |
- | // anchor tag.
| + | |
| | | |
- | var tabIndexEle = null;
| + | } |
- | var tabAnchorEle = null;
| + | ul.nav a:hover, ul.nav a:active, ul.nav a:focus { |
| + | background: #339dff; /*float amarillo*/ |
| + | color: #FFF; |
| + | } |
| | | |
- | this.preorderTraversal(tab, function(node) {
| + | .frame { |
- | if (node.nodeType == 1 /* NODE.ELEMENT_NODE */)
| + | font:12px arial; |
- | {
| + | width:700; |
- | var tabIndexAttr = tab.attributes.getNamedItem("tabindex");
| + | height:350; |
- | if (tabIndexAttr)
| + | max-height: 350px; |
- | {
| + | border:none; |
- | tabIndexEle = node;
| + | overflow:auto; |
- | return true;
| + | border:0px solid black; |
- | }
| + | padding:5; |
- | if (!tabAnchorEle && node.nodeName.toLowerCase() == "a")
| + | } |
- | tabAnchorEle = node;
| + | .fltrt { |
- | }
| + | float: right; |
- | return false;
| + | margin-left: 8px; |
- | });
| + | } |
| + | .fltlft { |
| + | float: left; |
| + | margin-right: 8px; |
| + | } |
| + | .clearfloat { |
| + | clear:both; |
| + | height:0; |
| + | font-size: 1px; |
| + | line-height: 0px; |
| + | } |
| | | |
- | if (tabIndexEle)
| + | /* panel */ |
- | this.focusElement = tabIndexEle;
| + | .panel, .panelcollapsed |
- | else if (tabAnchorEle)
| + | |
- | this.focusElement = tabAnchorEle;
| + | |
- | | + | |
- | if (this.focusElement)
| + | |
- | {
| + | |
- | Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "focus", function(e) { return self.onFocus(e); }, false);
| + | |
- | Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "blur", function(e) { return self.onBlur(e); }, false);
| + | |
- | Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "keydown", function(e) { return self.onKeyDown(e); }, false);
| + | |
- | }
| + | |
- | }
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanel.addEventListener = function(element, eventType, handler, capture)
| + | |
| { | | { |
- | try | + | margin: 3px; |
- | { | + | width: auto; |
- | if (element.addEventListener)
| + | -moz-border-radius: 4px; |
- | element.addEventListener(eventType, handler, capture);
| + | -webkit-border-radius: 4px; |
- | else if (element.attachEvent)
| + | border-top-width: 10px; |
- | element.attachEvent("on" + eventType, handler);
| + | border-right-width: 0px; |
- | } | + | border-bottom-width: 10px; |
- | catch (e) {} | + | border-left-width: 3px; |
- | };
| + | padding-bottom: 5px; |
| + | color: #FFF; |
| + | } |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.preorderTraversal = function(root, func)
| |
- | {
| |
- | var stopTraversal = false;
| |
- | if (root)
| |
- | {
| |
- | stopTraversal = func(root);
| |
- | if (root.hasChildNodes())
| |
- | {
| |
- | var child = root.firstChild;
| |
- | while (!stopTraversal && child)
| |
- | {
| |
- | stopTraversal = this.preorderTraversal(child, func);
| |
- | try { child = child.nextSibling; } catch (e) { child = null; }
| |
- | }
| |
- | }
| |
- | }
| |
- | return stopTraversal;
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.attachBehaviors = function()
| + | table { |
- | { | + | background: none repeat scroll 0 0 transparent} |
- | var panel = this.element;
| + | |
- | var tab = this.getTab();
| + | |
- | var content = this.getContent();
| + | |
- | | + | |
- | if (this.contentIsOpen || this.hasClassName(panel, this.openClass))
| + | |
- | {
| + | |
- | this.addClassName(panel, this.openClass);
| + | |
- | this.removeClassName(panel, this.closedClass);
| + | |
- | this.setDisplay(content, "block");
| + | |
- | this.contentIsOpen = true;
| + | |
- | }
| + | |
- | else
| + | |
- | {
| + | |
- | this.removeClassName(panel, this.openClass);
| + | |
- | this.addClassName(panel, this.closedClass);
| + | |
- | this.setDisplay(content, "none");
| + | |
- | this.contentIsOpen = false;
| + | |
- | }
| + | |
| | | |
- | this.attachPanelHandlers();
| |
- | };
| |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.getTab = function()
| + | /* panel heading */ |
| + | .panel h2, .panelcollapsed h2 |
| { | | { |
- | return this.getElementChildren(this.element)[0]; | + | color: #FFF; |
- | };
| + | font-weight: normal; |
| + | margin: 0px; |
| + | padding: 0px; |
| + | -moz-border-radius: 3px; |
| + | -webkit-border-radius: 3px; |
| + | border-bottom: 0px solid #04191d; |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.getContent = function()
| + | } |
- | {
| + | |
- | return this.getElementChildren(this.element)[1];
| + | |
- | }; | + | |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.isOpen = function()
| + | /* panel heading on rollover */ |
- | { | + | .panel h2:hover, .panelcollapsed h2:hover { |
- | return this.contentIsOpen; | + | background-color: #339dff; |
- | }; | + | color: #FFF; |
| + | } |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.getElementChildren = function(element)
| + | /* heading of a collapsed panel */ |
| + | .panelcollapsed h2 |
| { | | { |
- | var children = []; | + | background-image: url(arrow-dn.gif); |
- | var child = element.firstChild;
| + | background-repeat: no-repeat; |
- | while (child)
| + | background-position: 280px; |
- | {
| + | } |
- | if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
| + | |
- | children.push(child);
| + | |
- | child = child.nextSibling;
| + | |
- | } | + | |
- | return children;
| + | |
- | }; | + | |
| | | |
- | Spry.Widget.CollapsiblePanel.prototype.focus = function()
| + | /* panel content - do not set borders or paddings */ |
| + | .panelcontent |
| { | | { |
- | if (this.focusElement && this.focusElement.focus) | + | overflow: hidden; |
- | this.focusElement.focus();
| + | font-size: 14px; |
- | }; | + | } |
| | | |
- | ///////////////////////////////////////////////////// | + | /* collapsed panel content */ |
| + | .panelcollapsed .panelcontent { display: none; } |
| | | |
- | Spry.Widget.CollapsiblePanel.PanelAnimator = function(panel, doOpen, opts)
| + | --> |
- | {
| + | </style><!--[if lte IE 7]> |
- | this.timer = null;
| + | <style> |
- | this.interval = 0;
| + | .content { margin-right: -1px; } |
| + | ul.nav a { zoom: 1; } |
| + | </style> |
| + | <![endif]--> |
| | | |
- | this.fps = 60;
| + | <script type="text/javascript"> |
- | this.duration = 500;
| + | <!-- |
- | this.startTime = 0;
| + | i = 0 |
| + | var speed = 10 |
| | | |
- | this.transition = Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition; | + | function scrollDown() { |
- | | + | i = i + speed |
- | this.onComplete = null; | + | var div = document.getElementById("frame1") |
| + | div.scrollTop = i |
| + | if (i > div.scrollHeight - 300) {i = 350} |
| + | t1=setTimeout("scrollDown()",100) |
| + | } |
| + | function scrollUp() { |
| + | i = i - speed |
| + | var div = document.getElementById("frame1") |
| + | div.scrollTop = i |
| + | if (i < 0) {i = 0} |
| + | t1=setTimeout("scrollUp()",100) |
| + | } |
| | | |
- | this.panel = panel;
| + | // ----------------------------------------------------------------------------------------------- |
- | this.content = panel.getContent();
| + | // PANELS |
- | this.doOpen = doOpen;
| + | var PANEL_NORMAL_CLASS = "panel"; |
| + | var PANEL_COLLAPSED_CLASS = "panelcollapsed"; |
| + | var PANEL_HEADING_TAG = "h2"; |
| + | var PANEL_CONTENT_CLASS = "panelcontent"; |
| + | var PANEL_COOKIE_NAME = "panels"; |
| + | var PANEL_ANIMATION_DELAY = 20; /*ms*/ |
| + | var PANEL_ANIMATION_STEPS = 10; |
| | | |
- | Spry.Widget.CollapsiblePanel.setOptions(this, opts, true);
| + | function setUpPanels() |
- | | + | { |
- | this.interval = Math.floor(1000 / this.fps); | + | loadSettings(); |
- | | + | |
- | var c = this.content; | + | // get all headings |
- | | + | var headingTags = document.getElementsByTagName(PANEL_HEADING_TAG); |
- | var curHeight = c.offsetHeight ? c.offsetHeight : 0; | + | |
- | this.fromHeight = (doOpen && c.style.display == "none") ? 0 : curHeight;
| + | // go through all tags |
- | | + | for (var i=0; i<headingTags.length; i++) |
- | if (!doOpen) | + | |
- | this.toHeight = 0;
| + | |
- | else
| + | |
| { | | { |
- | if (c.style.display == "none") | + | var el = headingTags[i]; |
- | {
| + | |
- | // The content area is not displayed so in order to calculate the extent | + | // make sure it's the heading inside a panel |
- | // of the content inside it, we have to set its display to block.
| + | if ( el.parentNode.className != PANEL_COLLAPSED_CLASS) |
| + | if(el.parentNode.className != PANEL_NORMAL_CLASS) |
| + | continue; |
| + | |
| | | |
- | c.style.visibility = "hidden"; | + | // get the text value of the tag |
- | c.style.display = "block"; | + | var name = el.firstChild.nodeValue; |
| + | |
| + | // look for the name in loaded settings, apply the normal/collapsed class |
| + | if (panelsStatus[name] == "false") |
| + | el.parentNode.className = PANEL_COLLAPSED_CLASS; |
| + | else |
| + | if (panelsStatus[name] == "true") |
| + | el.parentNode.className = PANEL_NORMAL_CLASS; |
| + | else |
| + | { |
| + | // if no saved setting, see the initial setting |
| + | panelsStatus[name] = (el.parentNode.className == PANEL_NORMAL_CLASS) ? "true" : "false"; |
| } | | } |
- | | + | |
- | // Clear the height property so we can calculate | + | // add the click behavor to headings |
- | // the full height of the content we are going to show. | + | el.onclick = function() |
- | | + | { |
- | c.style.height = ""; | + | var target = this.parentNode; |
- | this.toHeight = c.offsetHeight; | + | var name = this.firstChild.nodeValue; |
| + | var collapsed = (target.className == PANEL_COLLAPSED_CLASS); |
| + | saveSettings(name, collapsed?"true":"false"); |
| + | animateTogglePanel(target, collapsed); |
| + | }; |
| } | | } |
| + | } |
| | | |
- | this.distance = this.toHeight - this.fromHeight;
| + | /** |
- | this.overflow = c.style.overflow;
| + | * Start the expand/collapse animation of the panel |
- | | + | * @param panel reference to the panel div |
- | c.style.height = this.fromHeight + "px";
| + | */ |
- | c.style.visibility = "visible";
| + | function animateTogglePanel(panel, expanding) |
- | c.style.overflow = "hidden";
| + | |
- | c.style.display = "block";
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition = function(time, begin, finish, duration) { time /= duration; return begin + ((2 - time) * time * finish); };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.start = function()
| + | |
- | {
| + | |
- | var self = this;
| + | |
- | this.startTime = (new Date).getTime();
| + | |
- | this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stop = function()
| + | |
| { | | { |
- | if (this.timer) | + | // find the .panelcontent div |
| + | var elements = panel.getElementsByTagName("div"); |
| + | var panelContent = null; |
| + | for (var i=0; i<elements.length; i++) |
| { | | { |
- | clearTimeout(this.timer); | + | if (elements[i].className == PANEL_CONTENT_CLASS) |
- | | + | { |
- | // If we're killing the timer, restore the overflow property. | + | panelContent = elements[i]; |
- | | + | break; |
- | this.content.style.overflow = this.overflow; | + | } |
| } | | } |
| + | |
| + | // make sure the content is visible before getting its height |
| + | panelContent.style.display = "block"; |
| + | |
| + | // get the height of the content |
| + | var contentHeight = panelContent.offsetHeight; |
| + | |
| + | // if panel is collapsed and expanding, we must start with 0 height |
| + | if (expanding) |
| + | panelContent.style.height = "0px"; |
| + | |
| + | var stepHeight = contentHeight / PANEL_ANIMATION_STEPS; |
| + | var direction = (!expanding ? -1 : 1); |
| + | if (direction > 0) |
| + | collapseAll(); |
| + | setTimeout(function(){animateStep(panelContent,1,stepHeight,direction)}, PANEL_ANIMATION_DELAY); |
| + | } |
| | | |
- | this.timer = null; | + | /** |
- | };
| + | * Change the height of the target |
- | | + | * @param panelContent reference to the panel content to change height |
- | Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stepAnimation = function()
| + | * @param iteration current iteration; animation will be stopped when iteration reaches PANEL_ANIMATION_STEPS |
| + | * @param stepHeight height increment to be added/substracted in one step |
| + | * @param direction 1 for expanding, -1 for collapsing |
| + | */ |
| + | function animateStep(panelContent, iteration, stepHeight, direction) |
| { | | { |
- | var curTime = (new Date).getTime();
| + | if (iteration<PANEL_ANIMATION_STEPS) |
- | var elapsedTime = curTime - this.startTime;
| + | |
- | | + | |
- | if (elapsedTime >= this.duration) | + | |
| { | | { |
- | if (!this.doOpen) | + | panelContent.style.height = Math.round(((direction>0) ? iteration : 10 - iteration) * stepHeight) +"px"; |
- | this.content.style.display = "none";
| + | iteration++; |
- | this.content.style.overflow = this.overflow;
| + | setTimeout(function(){animateStep(panelContent,iteration,stepHeight,direction)}, PANEL_ANIMATION_DELAY); |
- | this.content.style.height = this.toHeight + "px";
| + | |
- | if (this.onComplete) | + | |
- | this.onComplete();
| + | |
- | return;
| + | |
| } | | } |
- | | + | else |
- | var ht = this.transition(elapsedTime, this.fromHeight, this.distance, this.duration); | + | |
- | | + | |
- | this.content.style.height = ((ht < 0) ? 0 : ht) + "px";
| + | |
- | | + | |
- | var self = this;
| + | |
- | this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup = function(element, opts)
| + | |
- | {
| + | |
- | this.element = this.getElement(element);
| + | |
- | this.opts = opts;
| + | |
- | | + | |
- | this.attachBehaviors();
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.setOptions = Spry.Widget.CollapsiblePanel.prototype.setOptions;
| + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.getElement = Spry.Widget.CollapsiblePanel.prototype.getElement;
| + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.getElementChildren = Spry.Widget.CollapsiblePanel.prototype.getElementChildren;
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.setElementWidget = function(element, widget)
| + | |
- | {
| + | |
- | if (!element || !widget)
| + | |
- | return;
| + | |
- | if (!element.spry)
| + | |
- | element.spry = new Object;
| + | |
- | element.spry.collapsiblePanel = widget;
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.getElementWidget = function(element)
| + | |
- | {
| + | |
- | return (element && element.spry && element.spry.collapsiblePanel) ? element.spry.collapsiblePanel : null;
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.getPanels = function()
| + | |
- | {
| + | |
- | if (!this.element)
| + | |
- | return [];
| + | |
- | return this.getElementChildren(this.element);
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.getPanel = function(panelIndex)
| + | |
- | {
| + | |
- | return this.getPanels()[panelIndex];
| + | |
- | };
| + | |
- | | + | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.attachBehaviors = function()
| + | |
- | {
| + | |
- | if (!this.element)
| + | |
- | return;
| + | |
- | | + | |
- | var cpanels = this.getPanels();
| + | |
- | var numCPanels = cpanels.length;
| + | |
- | for (var i = 0; i < numCPanels; i++)
| + | |
| { | | { |
- | var cpanel = cpanels[i]; | + | // set class for the panel |
- | this.setElementWidget(cpanel, new Spry.Widget.CollapsiblePanel(cpanel, this.opts)); | + | panelContent.parentNode.className = (direction<0) ? PANEL_COLLAPSED_CLASS : PANEL_NORMAL_CLASS; |
| + | // clear inline styles |
| + | panelContent.style.display = panelContent.style.height = ""; |
| } | | } |
- | }; | + | } |
| | | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.openPanel = function(panelIndex)
| + | // ----------------------------------------------------------------------------------------------- |
| + | // Load-Save |
| + | // ----------------------------------------------------------------------------------------------- |
| + | /** |
| + | * Reads the "panels" cookie if exists, expects data formatted as key:value|key:value... puts in panelsStatus object |
| + | */ |
| + | function loadSettings() |
| { | | { |
- | var w = this.getElementWidget(this.getPanel(panelIndex)); | + | // prepare the object that will keep the panel statuses |
- | if (w && !w.isOpen()) | + | panelsStatus = {}; |
- | w.open();
| + | |
- | };
| + | // find the cookie name |
- | | + | var start = document.cookie.indexOf(PANEL_COOKIE_NAME + "="); |
- | Spry.Widget.CollapsiblePanelGroup.prototype.closePanel = function(panelIndex)
| + | if (start == -1) return; |
- | {
| + | |
- | var w = this.getElementWidget(this.getPanel(panelIndex)); | + | // starting point of the value |
- | if (w && w.isOpen()) | + | start += PANEL_COOKIE_NAME.length+1; |
- | w.close();
| + | |
- | };
| + | // find end point of the value |
- | | + | var end = document.cookie.indexOf(";", start); |
- | Spry.Widget.CollapsiblePanelGroup.prototype.openAllPanels = function()
| + | if (end == -1) end = document.cookie.length; |
- | {
| + | |
- | var cpanels = this.getPanels(); | + | // get the value, split into key:value pairs |
- | var numCPanels = cpanels.length; | + | var cookieValue = unescape(document.cookie.substring(start, end)); |
- | for (var i = 0; i < numCPanels; i++) | + | var panelsData = cookieValue.split("|"); |
| + | |
| + | // split each key:value pair and put in object |
| + | for (var i=0; i< panelsData.length; i++) |
| { | | { |
- | var w = this.getElementWidget(cpanels[i]); | + | var pair = panelsData[i].split(":"); |
- | if (w && !w.isOpen()) | + | panelsStatus[pair[0]] = pair[1]; |
- | w.open();
| + | |
| } | | } |
- | }; | + | } |
| | | |
- | Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels = function()
| + | function expandAll() |
| { | | { |
- | var cpanels = this.getPanels();
| + | for (var key in panelsStatus) |
- | var numCPanels = cpanels.length;
| + | saveSettings(key, "true"); |
- | for (var i = 0; i < numCPanels; i++) | + | |
- | {
| + | setUpPanels(); |
- | var w = this.getElementWidget(cpanels[i]); | + | |
- | if (w && w.isOpen()) | + | |
- | w.close();
| + | |
- | } | + | |
- | };
| + | |
- | | + | |
- | })(); // EndSpryComponent
| + | |
- | | + | |
- | </script>
| + | |
- | | + | |
- | | + | |
- | | + | |
- | <style type="text/css">
| + | |
- | .descripmainlayout {
| + | |
- | float: left;
| + | |
- | height: 768px;
| + | |
- | width: 1024px;
| + | |
- | margin-left:auto;
| + | |
- | margin-right:auto;
| + | |
- | background-color: #FFF;
| + | |
- | }
| + | |
- | .descripmainlayout .descriptexto #CollapsiblePanel1 .CollapsiblePanelTab {
| + | |
- | font-family: Tahoma, Geneva, sans-serif;
| + | |
- | color: #4ECDC4;
| + | |
- | background-color: #333;
| + | |
- | padding: 10px;
| + | |
- | margin-top: 0px;
| + | |
- | margin-right: 50px;
| + | |
- | margin-bottom: 0px;
| + | |
- | margin-left: 50px;
| + | |
- | background-image: url(images/panelesup.png);
| + | |
- | }
| + | |
- | .descripmainlayout .descriptexto #CollapsiblePanel1 .CollapsiblePanelContent {
| + | |
- | font-family: Tahoma, Geneva, sans-serif;
| + | |
- | color: #E5E5E5;
| + | |
- | background-color: #333;
| + | |
- | font-size: 16px;
| + | |
- | margin-right: 50px;
| + | |
- | margin-left: 50px;
| + | |
- | padding: 15px;
| + | |
- | }
| + | |
- | .descripmainlayout .descriptexto #CollapsiblePanel1 .CollapsiblePanelContent div p {
| + | |
- | margin: 15px;
| + | |
| } | | } |
| | | |
- | .descriplanguage {
| + | function collapseAll() |
- | background-color: #E5E5E5; | + | { |
- | float: left;
| + | for (var key in panelsStatus) |
- | height: 111px;
| + | saveSettings(key, "false"); |
- | width: 262px; | + | |
| + | setUpPanels(); |
| } | | } |
| | | |
- | .descriplogosearch {
| + | /** |
- | float: right;
| + | * Takes data from the panelsStatus object, formats as key:value|key:value... and puts in cookie valid for 365 days |
- | height: 768px;
| + | * @param key key name to save |
- | width: 156px;
| + | * @paeam value key value |
- | }
| + | |
- | .descripmenu {
| + | |
- | float: left;
| + | |
- | height: 657px;
| + | |
- | width: 156px;
| + | |
- | }
| + | |
- | .descriptexto {
| + | |
- | background-color: #E5E5E5;
| + | |
- | float: left;
| + | |
- | height: 657px;
| + | |
- | width: 712px;
| + | |
- | }
| + | |
- | | + | |
- | | + | |
- | .descripbanner {
| + | |
- | float: left;
| + | |
- | height: 111px;
| + | |
- | width: 606px;
| + | |
- | background-color: #333;
| + | |
- | background-image: url(images/banner.png);
| + | |
- | background-position: center center;
| + | |
- | }
| + | |
- | .descripmainlayout .descriptexto #CollapsiblePanel1 #CollapsiblePanel6 .CollapsiblePanelContent a {
| + | |
- | font-family: Tahoma, Geneva, sans-serif;
| + | |
- | color: #E5E5E5;
| + | |
- | text-decoration: underline;
| + | |
- | font-size: 18px;
| + | |
- | }
| + | |
- | .descripmainlayout .descriptexto #CollapsiblePanel1 #CollapsiblePanel6 .CollapsiblePanelContent a:hover {
| + | |
- | color: #4ECDC4;
| + | |
- | }
| + | |
- | | + | |
- | | + | |
- | @charset "utf-8";
| + | |
- | /* CSS Document */ | + | |
- | | + | |
- | * { | + | |
- | margin: 0px;
| + | |
- | padding: 0px;
| + | |
- | }
| + | |
- | .maincontainer .menubar #CollapsiblePanel2 .CollapsiblePanelContent #listaproyecto {
| + | |
- | list-style-type: none;
| + | |
- | width: 150px;
| + | |
- | }
| + | |
- | | + | |
- | | + | |
- | #listaproyecto li a {
| + | |
- | font-family: Tahoma, Geneva, sans-serif;
| + | |
- | color: #333;
| + | |
- | text-decoration: none;
| + | |
- | display: block;
| + | |
- | height: 25px;
| + | |
- | width: 120px;
| + | |
- | padding-left: 20px;
| + | |
- | list-style-type: none;
| + | |
- | }
| + | |
- | | + | |
- | #listaproyecto li a:hover {
| + | |
- | background-color: #4ECDC4;
| + | |
- | }
| + | |
- | | + | |
- | | + | |
- | #listaproyecto li {
| + | |
- | height: 25px;
| + | |
- | width: 100px;
| + | |
- | list-style-type: none;
| + | |
- | }
| + | |
- | .maincontainer .menubar #CollapsiblePanel3 .CollapsiblePanelContent p a { | + | |
- | font-family: Tahoma, Geneva, sans-serif;
| + | |
- | font-size: 15px;
| + | |
- | color: #333;
| + | |
- | text-decoration: none;
| + | |
- | list-style-type: none;
| + | |
- | }
| + | |
- | .descripmainlayout .descripmenu #CollapsiblePanel3 .CollapsiblePanelContent ul li a {
| + | |
- | color: #333;
| + | |
- | text-decoration: none;
| + | |
- | list-style-type: none;
| + | |
- | }
| + | |
- | .CollapsiblePanelContent ul li a {
| + | |
- | display: block;
| + | |
- | font-family: Tahoma, Geneva, sans-serif;
| + | |
- | color: #333;
| + | |
- | text-decoration: none;
| + | |
- | font-size: 15px;
| + | |
- | height: 25px;
| + | |
- | width: 120px;
| + | |
- | padding-left: 20px;
| + | |
- | list-style-type: none;
| + | |
- | }
| + | |
- | .descripmainlayout .descripmenu #CollapsiblePanel3 .CollapsiblePanelContent ul li a:hover {
| + | |
- | background-color: #4ECDC4;
| + | |
- | list-style-type: none;
| + | |
- | }
| + | |
- | .descripmainlayout .descripmenu #CollapsiblePanel4 .CollapsiblePanelContent ul li a:hover {
| + | |
- | background-color: #4ECDC4;
| + | |
- | }
| + | |
- | .descripmainlayout .descripmenu #CollapsiblePanel5 .CollapsiblePanelContent ul li a:hover {
| + | |
- | background-color: #4ECDC4;
| + | |
- | }
| + | |
- | | + | |
- | @charset "UTF-8";
| + | |
- | | + | |
- | | + | |
- | @charset "UTF-8";
| + | |
- | .CollapsiblePanel {
| + | |
- | margin: 0px;
| + | |
- | padding: 0px;
| + | |
- | border-top-width: 0px;
| + | |
- | border-right-width: 0px;
| + | |
- | border-bottom-width: 0px;
| + | |
- | border-left-width: 0px;
| + | |
- | border-top-style: none;
| + | |
- | border-right-style: none;
| + | |
- | border-bottom-style: none;
| + | |
- | border-left-style: none;
| + | |
- | border-top-color: #FFF;
| + | |
- | border-right-color: #FFF;
| + | |
- | border-bottom-color: #FFF;
| + | |
- | border-left-color: #FFF;
| + | |
- | }
| + | |
- | | + | |
- | .CollapsiblePanelTab {
| + | |
- | font: bold 0.7em sans-serif;
| + | |
- | background-color: #FFF;
| + | |
- | margin: 5px;
| + | |
- | padding: 2px;
| + | |
- | cursor: pointer;
| + | |
- | -moz-user-select: none;
| + | |
- | -khtml-user-select: none;
| + | |
- | font-family: Verdana, Geneva, sans-serif;
| + | |
- | font-size: 20px;
| + | |
- | font-weight: normal;
| + | |
- | border-bottom-style: none;
| + | |
- | }
| + | |
- | | + | |
- | /* This is the selector for a CollapsiblePanel's Content area. It's important to note that
| + | |
- | * you should never put any padding on the content area element if you plan to | + | |
- | * use the CollapsiblePanel's open/close animations. Placing a non-zero padding on the content
| + | |
- | * element can cause the CollapsiblePanel to abruptly grow in height while the panels animate.
| + | |
- | *
| + | |
- | * The name of the class ("CollapsiblePanelContent") used in this selector is not necessary
| + | |
- | * to make the widget function. You can use any class name you want to style a
| + | |
- | * CollapsiblePanel content container. | + | |
| */ | | */ |
- | .CollapsiblePanelContent {
| + | function saveSettings(key, value) |
- | margin: 5px; | + | { |
- | padding: 0px; | + | // put the new value in the object |
- | font-family: Verdana, Geneva, sans-serif; | + | panelsStatus[key] = value; |
- | font-size: 15px; | + | |
- | text-decoration: none; | + | // create an array that will keep the key:value pairs |
- | list-style-type: none; | + | var panelsData = []; |
- | }
| + | for (var key in panelsStatus) |
- | .descripmainlayout .descripmenu .menubar #CollapsiblePanel3 .CollapsiblePanelContent #listaproyecto li a {
| + | panelsData.push(key+":"+panelsStatus[key]); |
- | text-decoration: none; | + | |
- | color: #333; | + | // set the cookie expiration date 1 year from now |
- | list-style-type: none; | + | var today = new Date(); |
| + | var expirationDate = new Date(today.getTime() + 365 * 1000 * 60 * 60 * 24); |
| + | // write the cookie |
| + | document.cookie = PANEL_COOKIE_NAME + "=" + escape(panelsData.join("|")) + ";expires=" + expirationDate.toGMTString(); |
| } | | } |
| | | |
- | | + | // ----------------------------------------------------------------------------------------------- |
- | /* An anchor tag can be used inside of a CollapsiblePanelTab so that the | + | // Register setUpPanels to be executed on load |
- | * keyboard focus ring appears *inside* the tab instead of around the tab.
| + | if (window.addEventListener) |
- | * This is an example of how to make the text within the anchor tag look
| + | { |
- | * like non-anchor (normal) text.
| + | // the "proper" way |
- | */
| + | window.addEventListener("load", setUpPanels, false); |
- | .CollapsiblePanelTab a {
| + | |
- | color: #333; | + | |
- | text-decoration: none; | + | |
| } | | } |
- | | + | else |
- | /* This is an example of how to change the appearance of the panel tab that is | + | if (window.attachEvent) |
- | * currently open. The class "CollapsiblePanelOpen" is programatically added and removed
| + | { |
- | * from panels as the user clicks on the tabs within the CollapsiblePanel.
| + | // the IE way |
- | */
| + | window.attachEvent("onload", setUpPanels); |
- | .CollapsiblePanelOpen .CollapsiblePanelTab {
| + | |
- | background-color: #4ECDC4;
| + | |
| } | | } |
| + | --> |
| + | </script> |
| | | |
- | /* This is an example of how to change the appearance of the panel tab when the
| |
- | * CollapsiblePanel is closed. The "CollapsiblePanelClosed" class is programatically added and removed
| |
- | * whenever the CollapsiblePanel is closed.
| |
- | */
| |
| | | |
- | .CollapsiblePanelClosed .CollapsiblePanelTab {
| |
- | /* background-color: #EFEFEF */
| |
- | }
| |
| | | |
- | /* This is an example of how to change the appearance of the panel tab as the
| |
- | * mouse hovers over it. The class "CollapsiblePanelTabHover" is programatically added
| |
- | * and removed from panel tab containers as the mouse enters and exits the tab container.
| |
- | */
| |
- | .CollapsiblePanelTabHover, .CollapsiblePanelOpen .CollapsiblePanelTabHover {
| |
- | background-color: #4ECDC4;
| |
- | }
| |
| | | |
- | /* This is an example of how to change the appearance of all the panel tabs when the
| |
- | * CollapsiblePanel has focus. The "CollapsiblePanelFocused" class is programatically added and removed
| |
- | * whenever the CollapsiblePanel gains or loses keyboard focus.
| |
- | */
| |
- | .CollapsiblePanelFocused .CollapsiblePanelTab {
| |
| | | |
- | }
| |
| | | |
| | | |
Line 777: |
Line 480: |
| | | |
| | | |
| + | </head> |
| + | <body> |
| + | <div class="container"> |
| + | |
| + | <div class="topbar"> |
| + | <div style="filter:alpha(opacity=70);opacity:.7;"> |
| + | |
| + | |
| + | <img src="https://static.igem.org/mediawiki/2011/2/20/Logotec.png" alt="ITESM" name="teclogo" width="146" height="52" id="teclogo"> |
| + | <a href="https://2011.igem.org/Main_Page"><img src="https://static.igem.org/mediawiki/2011/7/73/Logoigemsmall.png" alt="iGEM" name="logoigem" width="70" height="61" id="logoigem"></a> |
| + | <p> </p> |
| + | <p> </p> |
| + | </div> |
| + | |
| + | <div class="sidebar1"> |
| + | <ul class="nav"> |
| + | <p> </p> |
| + | <!--this is our menu! D: --> |
| + | <li> |
| + | <div class="panelcollapsed"> |
| + | <h2>MAIN</h2> |
| + | <div class="panelcontent" style=""> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey">home</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectdescription">abstract</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/video">videos</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/stepbystep">step by step</a></p> |
| + | |
| + | |
| + | </div> |
| + | </div> |
| + | </li> |
| + | <li> |
| + | |
| + | <div class="panelcollapsed"> |
| + | <h2>PROJECT</h2> |
| + | <div class="panelcontent" style=""> |
| + | |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectoverview">overview</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectparts">parts</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectmodeling">genetic frame</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectresults/methods">methods</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectresults">results</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/teamha">human approach</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectprotocols">protocols</a><p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/safetypage">safety</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/projectnotebook">notebook</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/sampledata">sample data</a></p> |
| | | |
| + | </div> |
| + | </div> |
| + | </li> |
| + | <li> |
| + | |
| + | |
| + | <div class="panelcollapsed"> |
| + | <h2>TEAM</h2> |
| + | <div class="panelcontent"> |
| | | |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/teammembers">members</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/teaminstallations">headquarters</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/microcongreso">micro congress</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/teamfriends">friends</a></p> |
| + | |
| + | </div> |
| + | </div> |
| + | </li> |
| + | <li> |
| + | <div class="panelcollapsed"> |
| + | <h2>EXTRAS</h2> |
| + | <div class="panelcontent"> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/sitemap">site map</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/sponsorsplatinum">sponsors platinum</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/sponsorsgold">sponsors gold</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/sponsorssilver">sponsors silver</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/specialthanks">special thanks</a></p> |
| + | <p><a href="https://2011.igem.org/Team:Tec-Monterrey/followus">follow us!</a></p> |
| + | </div> |
| + | </div> |
| + | </li> |
| + | |
| + | </ul> |
| + | |
| + | </div> |
| + | |
| + | <div class="content"> |
| + | <div style=" |
| + | text-align:center;"> |
| + | |
| + | <!--in sub pages, this divisions should be comments! :D--> |
| + | <div style=" |
| + | padding:25px 50px; |
| + | background-color:#04191d; |
| + | color:#333; |
| + | text-align:left; |
| + | margin:5px 30px;"> |
| + | |
| + | </head> |
| | | |
- | </style> | + | <body> |
| + | <div align="justify"> |
| + | <div style="-moz-border-radius: 4px;-webkit-border-radius: 4px;"> |
| + | <div class="frame" id="frame1" style="background-color:#e5e5e5;"> |
| + | <br> |
| + | |
| | | |
| + | |
| | | |
| + | <center><img src="https://static.igem.org/mediawiki/2011/9/94/Abstractimg01.png" alt="" name="" width="200" height="50" id="tgo"> </center> |
| + | <br> |
| + | <p class="textojustif"> Production of sugarcane used to be a high profit activity in the Mexican industry. Nonetheless, the increasing demand of high fructose syrup has become a rising threat to most sugar companies. Our project expects to apply synthetic biology to use sugar obtained from sugarcane in an industrial sugar-fructose process, intending to make it simpler and more profitable. The new genetic construct will be able to immobilize invertase by fusing it to bacterial natural membrane protein fragments through a technique for cell surface display. This system will catalyze the transformation of sucrose into fructose directly, without the need of any chemical or mechanical purification process to obtain the enzyme, reducing the amount of unit operations, and cutting production costs. Also, we will use the same principle to immobilize cellulase, converting cellulose from bagasse into useful substrate for biofuel production. |
| + | <br> |
| + | <br> |
| | | |
- | <body>
| + | </p> |
- | <div align="center">
| + | |
- | <div class="descripmainlayout">
| + | |
- | <div class="descripbanner"></div>
| + | |
- | <div class="descriplanguage"></div>
| + | |
- | <div class="descriplogosearch"></div>
| + | |
- | <div class="descripmenu">
| + | |
- | <div id="CollapsiblePanel2" class="CollapsiblePanel">
| + | |
- | <div class="CollapsiblePanelTab" tabindex="0"><a href="paginaigem.html">HOME</a></div>
| + | |
- | </div>
| + | |
- | <div id="CollapsiblePanel3" class="CollapsiblePanel">
| + | |
- | <div class="CollapsiblePanelTab" tabindex="0">PROJECT</div>
| + | |
- | <div class="CollapsiblePanelContent">
| + | |
- | <ul>
| + | |
- | <li><a href="paginaigem.html">parts</a></li>
| + | |
- | <li><a href="paginasafety.html">safety</a></li>
| + | |
- | <li><a href="paginadescripcionproject.html">description</a></li>
| + | |
- | <li><a href="paginaigem.html">modeling</a></li>
| + | |
- | <li><a href="paginaigem.html">results</a></li>
| + | |
- | </ul>
| + | |
- | </div>
| + | |
- | </div>
| + | |
- | <div id="CollapsiblePanel4" class="CollapsiblePanel">
| + | |
- | <div class="CollapsiblePanelTab" tabindex="0">TEAM</div>
| + | |
- | <div class="CollapsiblePanelContent">
| + | |
- | <ul>
| + | |
- | <li><a href="paginaigem.html">members</a></li>
| + | |
- | <li><a href="paginaigem.html">profile</a></li>
| + | |
- | <li><a href="paginaigem.html">gallery</a></li>
| + | |
- | <li><a href="paginaigem.html">installations</a></li>
| + | |
- | </ul>
| + | |
- | </div>
| + | |
- | </div>
| + | |
- | <div id="CollapsiblePanel5" class="CollapsiblePanel">
| + | |
- | <div class="CollapsiblePanelTab" tabindex="0">EXTRAS</div>
| + | |
- | <div class="CollapsiblePanelContent">
| + | |
- | <ul>
| + | |
- | <li><a href="paginaigem.html">site map</a></li>
| + | |
- | <li><a href="paginaigem.html">human approach</a></li>
| + | |
- | <li><a href="paginamicrocongreso.html">microcongreso</a></li>
| + | |
- | <li><a href="paginaigem.html">sponsors</a></li>
| + | |
- | </ul>
| + | |
- | </div>
| + | |
- | </div>
| + | |
- | </div>
| + | |
- | <div class="descriptexto">
| + | |
- | <p> </p>
| + | |
- | <div id="CollapsiblePanel1" class="CollapsiblePanel">
| + | |
- | <div class="CollapsiblePanelTab" tabindex="0">PROJECT DESCRIPTION</div>
| + | |
- | <div class="CollapsiblePanelContent"> <div style="text-align: center;">
| + | |
- | <p>Read about our project here! </p>
| + | |
- | </div>
| + | |
- | </div>
| + | |
- | <p> </p>
| + | |
- | </div>
| + | |
- | </div>
| + | |
| </div> | | </div> |
- | <script type="text/javascript"> | + | <hr> |
- | var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
| + | <br/> |
- | var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel2");
| + | <input type="button" value=" Up " onmouseover="scrollUp()" onmouseout="clearTimeout(t1)"> |
- | var CollapsiblePanel3 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel3");
| + | <input type="button" value=" Down " onmouseover="scrollDown()" onmouseout="clearTimeout(t1)"> |
- | var CollapsiblePanel4 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel4");
| + | </div></body></html> |
- | var CollapsiblePanel5 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel5");
| + | |
- | </script> | + | |
- | </body> | + | |
- | </html> | + | |