Team:Tec-Monterrey/microcongreso

From 2011.igem.org

(Difference between revisions)
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>wiki</title>
-
<title>Untitled Document</title>
+
<style type="text/css">
-
<link href="descriplayout.css" rel="stylesheet" type="text/css" />
+
<!--
-
<script src="SpryAssets/SpryCollapsiblePanel.js" type="text/javascript"></script>
+
#top-section {
-
<link href="SpryAssets/SpryCollapsiblePanel.css" rel="stylesheet" type="text/css" />
+
  background-color: #ffffff;
-
<link href="submenuverticales.css" rel="stylesheet" type="text/css" media="all" />
+
  height: 100px;
-
</head>
+
  border: none;
 +
  height:20px
 +
}
 +
#p-logo {
 +
  position: absolute;
 +
  display: none;
 +
  background-color:#000000;
 +
}
-
<script type="text/javascript">
+
#search-controls {
 +
  display: none;
 +
}
 +
  #menubar.left-menu {
 +
  position: absolute;
 +
  top:0px;
 +
  left:0px;
 +
  display:none; 
 +
}
-
(function() { // BeginSpryComponent
+
#menubar.right-menu {
 +
  background-color: #FFFFFF;
 +
  position: absolute;
 +
  top:0px;
 +
  right:0px;
-
if (typeof Spry == "undefined") window.Spry = {}; if (!Spry.Widget) Spry.Widget = {};
+
}
-
Spry.Widget.CollapsiblePanel = function(element, opts)
+
.right-menu li a {
-
{
+
    background-color: #FFFFFF;
-
this.element = this.getElement(element);
+
    color: #002BB8;
-
this.focusElement = null;
+
    padding: 0 15px 0 0;
-
this.hoverClass = "CollapsiblePanelTabHover";
+
}
-
this.openClass = "CollapsiblePanelOpen";
+
.left-menu li a {
-
this.closedClass = "CollapsiblePanelClosed";
+
    background-color: #FFFFFF;
-
this.focusedClass = "CollapsiblePanelFocused";
+
    color: #002BB8;
-
this.enableAnimation = true;
+
    padding: 0 15px 0 0;
-
this.enableKeyboardNavigation = true;
+
}
-
this.animator = null;
+
-
this.hasFocus = false;
+
-
this.contentIsOpen = true;
+
-
this.openPanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_DOWN;
 
-
this.closePanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_UP;
 
-
Spry.Widget.CollapsiblePanel.setOptions(this, opts);
+
#headover ul{
 +
    list-style: none;
 +
    display: none;
 +
    position: absolute;
 +
    top: 1.2em;
 +
    left: 0.2em;
 +
    }
-
this.attachBehaviors();
+
  .firstHeading {
-
};
+
    display: none;}
-
Spry.Widget.CollapsiblePanel.prototype.getElement = function(ele)
+
body {
-
{
+
font: 11px Tahoma, Geneva, sans-serif;
-
if (ele && typeof ele == "string")
+
background-image: url(https://static.igem.org/mediawiki/2011/2/2f/Fondo02.png);
-
return document.getElementById(ele);
+
margin: 0;
-
return ele;
+
padding: 0;
-
};
+
margin-left: 10%;
 +
margin-right: 10%;
 +
color: #013469;
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.addClassName = function(ele, className)
+
/* ~~ Element/tag selectors ~~ */
-
{
+
ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
-
if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
+
padding: 0;
-
return;
+
margin: 0;
-
ele.className += (ele.className ? " " : "") + className;
+
}
-
};
+
h1, h2, h3, h4, h5, h6, p {
 +
margin-top: 0; /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
 +
padding-right: 10px;
 +
padding-left: 10px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
 +
}
 +
a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
 +
border: none;
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.removeClassName = function(ele, className)
+
/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
-
{
+
a:link {
-
if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
+
text-decoration: underline; /* unless you style your links to look extremely unique, it's best to provide underlines for quick visual identification */
-
return;
+
color: #F90;
-
ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
+
}
-
};
+
a:visited {
 +
color: #c02355;
 +
text-decoration: underline;
 +
}
 +
a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
 +
text-decoration: none;
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.hasClassName = function(ele, className)
+
/* ~~ this container surrounds all other divs giving them their percentage-based width ~~ */
-
{
+
.container {
-
if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
+
width: 90%;
-
return false;
+
max-width: 1260px;/* a max-width may be desirable to keep this layout from getting too wide on a large monitor. This keeps line length more readable. IE6 does not respect this declaration. */
-
return true;
+
min-width: 780px;/* a min-width may be desirable to keep this layout from getting too narrow. This keeps line length more readable in the side columns. IE6 does not respect this declaration. */
-
};
+
background: #FFF;
 +
margin: 0 auto; /* the auto value on the sides, coupled with the width, centers the layout. It is not needed if you set the .container's width to 100%. */
 +
overflow: hidden; /* this declaration makes the .container clear all floated columns within it. */
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.setDisplay = function(ele, display)
+
/* ~~ These are the columns for the layout. ~~
-
{
+
-
if( ele )
+
-
ele.style.display = display;
+
-
};
+
-
Spry.Widget.CollapsiblePanel.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
+
1) Padding is only placed on the top and/or bottom of the divs. The elements within these divs have padding on their sides. This saves you from any "box model math". Keep in mind, if you add any side padding or border to the div itself, it will be added to the width you define to create the *total* width. You may also choose to remove the padding on the element in the div and place a second div within it with no width and the padding necessary for your design.
-
{
+
-
if (!optionsObj)
+
-
return;
+
-
for (var optionName in optionsObj)
+
-
{
+
-
if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
+
-
continue;
+
-
obj[optionName] = optionsObj[optionName];
+
-
}
+
-
};
+
-
Spry.Widget.CollapsiblePanel.prototype.onTabMouseOver = function(e)
+
2) No margin has been given to the columns since they are all floated. If you must add margin, avoid placing it on the side you're floating toward (for example: a right margin on a div set to float right). Many times, padding can be used instead. For divs where this rule must be broken, you should add a "display:inline" declaration to the div's rule to tame a bug where some versions of Internet Explorer double the margin.
-
{
+
-
this.addClassName(this.getTab(), this.hoverClass);
+
-
return false;
+
-
};
+
-
Spry.Widget.CollapsiblePanel.prototype.onTabMouseOut = function(e)
+
3) Since classes can be used multiple times in a document (and an element can also have multiple classes applied), the columns have been assigned class names instead of IDs. For example, two sidebar divs could be stacked if necessary. These can very easily be changed to IDs if that's your preference, as long as you'll only be using them once per document.
-
{
+
-
this.removeClassName(this.getTab(), this.hoverClass);
+
-
return false;
+
-
};
+
-
Spry.Widget.CollapsiblePanel.prototype.open = function()
+
4) If you prefer your nav on the right instead of the left, simply float these columns the opposite direction (all right instead of all left) and they'll render in reverse order. There's no need to move the divs around in the HTML source.
-
{
+
-
this.contentIsOpen = true;
+
-
if (this.enableAnimation)
+
-
{
+
-
if (this.animator)
+
-
this.animator.stop();
+
-
this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, true, { duration: this.duration, fps: this.fps, transition: this.transition });
+
-
this.animator.start();
+
-
}
+
-
else
+
-
this.setDisplay(this.getContent(), "block");
+
-
this.removeClassName(this.element, this.closedClass);
+
*/
-
this.addClassName(this.element, this.openClass);
+
.sidebar1 {
-
};
+
float: left;
 +
width: 20%;
 +
background: #FFF;
 +
padding-bottom: 10px;
-
Spry.Widget.CollapsiblePanel.prototype.close = function()
+
}
-
{
+
.content {
-
this.contentIsOpen = false;
+
-
if (this.enableAnimation)
+
padding: 10px 0;
-
{
+
width: 80%;
-
if (this.animator)
+
float: left;
-
this.animator.stop();
+
background: #FFF;
-
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 grouped selector gives the lists in the .content area space ~~ */
-
this.addClassName(this.element, this.closedClass);
+
.content ul, .content ol {
-
};
+
padding: 0 15px 15px 40px;
 +
/* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.onTabClick = function(e)
+
/* ~~ The navigation list styles (can be removed if you choose to use a premade flyout menu like Spry) ~~ */
-
{
+
ul.nav {
-
if (this.isOpen())
+
list-style: none; /* this removes the list marker */
-
this.close();
+
border-top: 1px solid #666; /* this creates the top border for the links - all others are placed using a bottom border on the LI */
-
else
+
margin-bottom: 15px; /* this creates the space between the navigation on the content below */
-
this.open();
+
}
 +
ul.nav li {
 +
border-bottom: 1px solid #FFF; /* this creates the button separation */
 +
 +
}
 +
ul.nav a, ul.nav a:visited { /* grouping these selectors makes sure that your links retain their button look even after being visited */
 +
padding: 5px 5px 5px 15px;
 +
display: block; /* this gives the link block properties causing it to fill the whole LI containing it. This causes the entire area to react to a mouse click. */
 +
text-decoration: none;
 +
background: #FFF;
 +
color:#013469;;
 +
 +
}
 +
ul.nav a:hover, ul.nav a:active, ul.nav a:focus {
 +
background: #f6af1b; /*float amarillo*/
 +
color: #FFF;
 +
}
-
this.focus();
+
/* ~~miscellaneous float/clear classes~~ */
-
 
+
.fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
-
return this.stopPropagation(e);
+
float: right;
-
};
+
margin-left: 8px;
 +
}
 +
.fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
 +
float: left;
 +
margin-right: 8px;
 +
}
 +
.clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the overflow:hidden on the .container is removed */
 +
clear:both;
 +
height:0;
 +
font-size: 1px;
 +
line-height: 0px;
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.onFocus = function(e)
+
/* panel */
 +
.panel, .panelcollapsed
{
{
-
this.hasFocus = true;
+
margin: 5px;
-
this.addClassName(this.element, this.focusedClass);
+
width: auto;
-
return false;
+
-moz-border-radius: 4px;
-
};
+
-webkit-border-radius: 4px;
 +
border-top-width: 1px;
 +
border-right-width: 1px;
 +
border-bottom-width: 1px;
 +
border-left-width: 1px;
 +
padding-bottom: 5px;
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.onBlur = function(e)
+
/* panel heading */
 +
.panel h2, .panelcollapsed h2
{
{
-
this.hasFocus = false;
+
font-weight: normal;
-
this.removeClassName(this.element, this.focusedClass);
+
margin: 0px;
-
return false;
+
padding: 4px;
-
};
+
-moz-border-radius: 3px;
 +
-webkit-border-radius: 3px;
 +
}
-
Spry.Widget.CollapsiblePanel.KEY_UP = 38;
+
/* panel heading on rollover */
-
Spry.Widget.CollapsiblePanel.KEY_DOWN = 40;
+
.panel h2:hover, .panelcollapsed h2:hover {
 +
background-color: #FC3;
 +
color: #FFF;
 +
}
-
Spry.Widget.CollapsiblePanel.prototype.onKeyDown = function(e)
+
/* heading of a collapsed panel */
 +
.panelcollapsed h2
{
{
-
var key = e.keyCode;
+
background-image: url(arrow-dn.gif);
-
if (!this.hasFocus || (key != this.openPanelKeyCode && key != this.closePanelKeyCode))
+
background-repeat: no-repeat;
-
return true;
+
background-position: 280px;
 +
}
-
if (this.isOpen() && key == this.closePanelKeyCode)
+
/* panel content - do not set borders or paddings */
-
this.close();
+
.panelcontent
-
else if ( key == this.openPanelKeyCode)
+
-
this.open();
+
-
+
-
return this.stopPropagation(e);
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanel.prototype.stopPropagation = function(e)
+
{
{
-
if (e.preventDefault) e.preventDefault();
+
overflow: hidden;
-
else e.returnValue = false;
+
font-size: 12px;
-
if (e.stopPropagation) e.stopPropagation();
+
}
-
else e.cancelBubble = true;
+
-
return false;
+
-
};
+
-
Spry.Widget.CollapsiblePanel.prototype.attachPanelHandlers = function()
+
/* collapsed panel content */
-
{
+
.panelcollapsed .panelcontent { display: none; }
-
var tab = this.getTab();
+
-
if (!tab)
+
-
return;
+
-
var self = this;
+
-->
-
Spry.Widget.CollapsiblePanel.addEventListener(tab, "click", function(e) { return self.onTabClick(e); }, false);
+
</style><!--[if lte IE 7]>
-
Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseover", function(e) { return self.onTabMouseOver(e); }, false);
+
<style>
-
Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseout", function(e) { return self.onTabMouseOut(e); }, false);
+
.content { margin-right: -1px; } /* this 1px negative margin can be placed on any of the columns in this layout with the same corrective effect. */
 +
ul.nav a { zoom: 1; } /* the zoom property gives IE the hasLayout trigger it needs to correct extra whiltespace between the links */
 +
</style>
 +
<![endif]-->
-
if (this.enableKeyboardNavigation)
+
<script type="text/javascript">
-
{
+
<!--
-
// 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
+
function changeImg(n) {
-
// anchor tag.
+
-
+
//url goes here
-
var tabIndexEle = null;
+
var imgname = new Array();
-
var tabAnchorEle = null;
+
imgname[0] = "/a.jpg";
 +
imgname[1] = "/b.jpg";
 +
imgname[2] = "/c.jpg";
 +
imgname[3] = "/d.jpg";
 +
imgname[4] = "/e.jpg";
 +
 +
var name = imgname[n];
 +
document.getElementById('imagered').src=name;
 +
}
-
this.preorderTraversal(tab, function(node) {
+
// -----------------------------------------------------------------------------------------------
-
if (node.nodeType == 1 /* NODE.ELEMENT_NODE */)
+
// PANELS
-
{
+
var PANEL_NORMAL_CLASS    = "panel";
-
var tabIndexAttr = tab.attributes.getNamedItem("tabindex");
+
var PANEL_COLLAPSED_CLASS = "panelcollapsed";
-
if (tabIndexAttr)
+
var PANEL_HEADING_TAG    = "h2";
-
{
+
var PANEL_CONTENT_CLASS  = "panelcontent";
-
tabIndexEle = node;
+
var PANEL_COOKIE_NAME    = "panels";
-
return true;
+
var PANEL_ANIMATION_DELAY = 20; /*ms*/
-
}
+
var PANEL_ANIMATION_STEPS = 10;
-
if (!tabAnchorEle && node.nodeName.toLowerCase() == "a")
+
-
tabAnchorEle = node;
+
-
}
+
-
return false;
+
-
});
+
-
if (tabIndexEle)
+
function setUpPanels()
-
this.focusElement = tabIndexEle;
+
-
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
+
loadSettings();
 +
 +
// get all headings
 +
var headingTags = document.getElementsByTagName(PANEL_HEADING_TAG);
 +
 +
// go through all tags
 +
for (var i=0; i<headingTags.length; i++)
{
{
-
if (element.addEventListener)
+
var el = headingTags[i];
-
element.addEventListener(eventType, handler, capture);
+
-
else if (element.attachEvent)
+
// make sure it's the heading inside a panel
-
element.attachEvent("on" + eventType, handler);
+
if ( el.parentNode.className != PANEL_COLLAPSED_CLASS)
-
}
+
                    if(el.parentNode.className != PANEL_NORMAL_CLASS)
-
catch (e) {}
+
continue;
-
};
+
-
Spry.Widget.CollapsiblePanel.prototype.preorderTraversal = function(root, func)
+
// get the text value of the tag
-
{
+
var name = el.firstChild.nodeValue;
-
var stopTraversal = false;
+
-
if (root)
+
// look for the name in loaded settings, apply the normal/collapsed class
-
{
+
if (panelsStatus[name] == "false")
-
stopTraversal = func(root);
+
el.parentNode.className = PANEL_COLLAPSED_CLASS;
-
if (root.hasChildNodes())
+
else
 +
if (panelsStatus[name] == "true")
 +
el.parentNode.className = PANEL_NORMAL_CLASS;
 +
else
{
{
-
var child = root.firstChild;
+
// if no saved setting, see the initial setting
-
while (!stopTraversal && child)
+
panelsStatus[name] = (el.parentNode.className == PANEL_NORMAL_CLASS) ? "true" : "false";
-
{
+
-
stopTraversal = this.preorderTraversal(child, func);
+
-
try { child = child.nextSibling; } catch (e) { child = null; }
+
-
}
+
}
}
 +
 +
// add the click behavor to headings
 +
el.onclick = function()
 +
{
 +
var target    = this.parentNode;
 +
var name      = this.firstChild.nodeValue;
 +
var collapsed = (target.className == PANEL_COLLAPSED_CLASS);
 +
saveSettings(name, collapsed?"true":"false");
 +
animateTogglePanel(target, collapsed);
 +
};
}
}
-
return stopTraversal;
+
}
-
};
+
-
Spry.Widget.CollapsiblePanel.prototype.attachBehaviors = function()
+
/**
 +
* Start the expand/collapse animation of the panel
 +
* @param panel reference to the panel div
 +
*/
 +
function animateTogglePanel(panel, expanding)
{
{
-
var panel = this.element;
+
// find the .panelcontent div
-
var tab = this.getTab();
+
var elements = panel.getElementsByTagName("div");
-
var content = this.getContent();
+
var panelContent = null;
-
 
+
for (var i=0; i<elements.length; i++)
-
if (this.contentIsOpen || this.hasClassName(panel, this.openClass))
+
{
{
-
this.addClassName(panel, this.openClass);
+
if (elements[i].className == PANEL_CONTENT_CLASS)
-
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()
+
-
{
+
-
return this.getElementChildren(this.element)[0];
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanel.prototype.getContent = function()
+
-
{
+
-
return this.getElementChildren(this.element)[1];
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanel.prototype.isOpen = function()
+
-
{
+
-
return this.contentIsOpen;
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanel.prototype.getElementChildren = function(element)
+
-
{
+
-
var children = [];
+
-
var child = element.firstChild;
+
-
while (child)
+
-
{
+
-
if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
+
-
children.push(child);
+
-
child = child.nextSibling;
+
-
}
+
-
return children;
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanel.prototype.focus = function()
+
-
{
+
-
if (this.focusElement && this.focusElement.focus)
+
-
this.focusElement.focus();
+
-
};
+
-
 
+
-
/////////////////////////////////////////////////////
+
-
 
+
-
Spry.Widget.CollapsiblePanel.PanelAnimator = function(panel, doOpen, opts)
+
-
{
+
-
this.timer = null;
+
-
this.interval = 0;
+
-
 
+
-
this.fps = 60;
+
-
this.duration = 500;
+
-
this.startTime = 0;
+
-
 
+
-
this.transition = Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition;
+
-
 
+
-
this.onComplete = null;
+
-
 
+
-
this.panel = panel;
+
-
this.content = panel.getContent();
+
-
this.doOpen = doOpen;
+
-
 
+
-
Spry.Widget.CollapsiblePanel.setOptions(this, opts, true);
+
-
 
+
-
this.interval = Math.floor(1000 / this.fps);
+
-
 
+
-
var c = this.content;
+
-
 
+
-
var curHeight = c.offsetHeight ? c.offsetHeight : 0;
+
-
this.fromHeight = (doOpen && c.style.display == "none") ? 0 : curHeight;
+
-
 
+
-
if (!doOpen)
+
-
this.toHeight = 0;
+
-
else
+
-
{
+
-
if (c.style.display == "none")
+
{
{
-
// The content area is not displayed so in order to calculate the extent
+
panelContent = elements[i];
-
// of the content inside it, we have to set its display to block.
+
break;
-
 
+
-
c.style.visibility = "hidden";
+
-
c.style.display = "block";
+
}
}
-
 
-
// Clear the height property so we can calculate
 
-
// the full height of the content we are going to show.
 
-
 
-
c.style.height = "";
 
-
this.toHeight = c.offsetHeight;
 
}
}
 +
 +
// 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);
 +
 +
setTimeout(function(){animateStep(panelContent,1,stepHeight,direction)}, PANEL_ANIMATION_DELAY);
 +
}
-
this.distance = this.toHeight - this.fromHeight;
+
/**
-
this.overflow = c.style.overflow;
+
* Change the height of the target
-
 
+
* @param panelContent reference to the panel content to change height
-
c.style.height = this.fromHeight + "px";
+
* @param iteration current iteration; animation will be stopped when iteration reaches PANEL_ANIMATION_STEPS
-
c.style.visibility = "visible";
+
* @param stepHeight height increment to be added/substracted in one step
-
c.style.overflow = "hidden";
+
* @param direction 1 for expanding, -1 for collapsing
-
c.style.display = "block";
+
*/
-
};
+
function animateStep(panelContent, iteration, stepHeight, direction)
-
 
+
-
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)
+
if (iteration<PANEL_ANIMATION_STEPS)
{
{
-
clearTimeout(this.timer);
+
panelContent.style.height = Math.round(((direction>0) ? iteration : 10 - iteration) * stepHeight) +"px";
-
 
+
iteration++;
-
// If we're killing the timer, restore the overflow property.
+
setTimeout(function(){animateStep(panelContent,iteration,stepHeight,direction)}, PANEL_ANIMATION_DELAY);
-
 
+
-
this.content.style.overflow = this.overflow;
+
}
}
-
 
+
else
-
this.timer = null;
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stepAnimation = function()
+
-
{
+
-
var curTime = (new Date).getTime();
+
-
var elapsedTime = curTime - this.startTime;
+
-
 
+
-
if (elapsedTime >= this.duration)
+
{
{
-
if (!this.doOpen)
+
// set class for the panel
-
this.content.style.display = "none";
+
panelContent.parentNode.className = (direction<0) ? PANEL_COLLAPSED_CLASS : PANEL_NORMAL_CLASS;
-
this.content.style.overflow = this.overflow;
+
// clear inline styles
-
this.content.style.height = this.toHeight + "px";
+
panelContent.style.display = panelContent.style.height = "";
-
if (this.onComplete)
+
-
this.onComplete();
+
-
return;
+
}
}
 +
}
-
var ht = this.transition(elapsedTime, this.fromHeight, this.distance, this.duration);
+
// -----------------------------------------------------------------------------------------------
-
 
+
// Load-Save
-
this.content.style.height = ((ht < 0) ? 0 : ht) + "px";
+
// -----------------------------------------------------------------------------------------------
-
 
+
/**
-
var self = this;
+
* Reads the "panels" cookie if exists, expects data formatted as key:value|key:value... puts in panelsStatus object
-
this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
+
*/
-
};
+
function loadSettings()
-
 
+
-
Spry.Widget.CollapsiblePanelGroup = function(element, opts)
+
{
{
-
this.element = this.getElement(element);
+
// prepare the object that will keep the panel statuses
-
this.opts = opts;
+
panelsStatus = {};
-
 
+
-
this.attachBehaviors();
+
// find the cookie name
-
};
+
var start = document.cookie.indexOf(PANEL_COOKIE_NAME + "=");
-
 
+
if (start == -1) return;
-
Spry.Widget.CollapsiblePanelGroup.prototype.setOptions = Spry.Widget.CollapsiblePanel.prototype.setOptions;
+
-
Spry.Widget.CollapsiblePanelGroup.prototype.getElement = Spry.Widget.CollapsiblePanel.prototype.getElement;
+
// starting point of the value
-
Spry.Widget.CollapsiblePanelGroup.prototype.getElementChildren = Spry.Widget.CollapsiblePanel.prototype.getElementChildren;
+
start += PANEL_COOKIE_NAME.length+1;
-
 
+
-
Spry.Widget.CollapsiblePanelGroup.prototype.setElementWidget = function(element, widget)
+
// find end point of the value
-
{
+
var end = document.cookie.indexOf(";", start);
-
if (!element || !widget)
+
if (end == -1) end = document.cookie.length;
-
return;
+
-
if (!element.spry)
+
// get the value, split into key:value pairs
-
element.spry = new Object;
+
var cookieValue = unescape(document.cookie.substring(start, end));
-
element.spry.collapsiblePanel = widget;
+
var panelsData = cookieValue.split("|");
-
};
+
-
 
+
// split each key:value pair and put in object
-
Spry.Widget.CollapsiblePanelGroup.prototype.getElementWidget = function(element)
+
for (var i=0; i< panelsData.length; i++)
-
{
+
-
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];
+
var pair = panelsData[i].split(":");
-
this.setElementWidget(cpanel, new Spry.Widget.CollapsiblePanel(cpanel, this.opts));
+
panelsStatus[pair[0]] = pair[1];
}
}
-
};
+
}
-
Spry.Widget.CollapsiblePanelGroup.prototype.openPanel = function(panelIndex)
+
function expandAll()
{
{
-
var w = this.getElementWidget(this.getPanel(panelIndex));
+
for (var key in panelsStatus)
-
if (w && !w.isOpen())
+
saveSettings(key, "true");
-
w.open();
+
-
};
+
setUpPanels();
 +
}
-
Spry.Widget.CollapsiblePanelGroup.prototype.closePanel = function(panelIndex)
+
function collapseAll()
{
{
-
var w = this.getElementWidget(this.getPanel(panelIndex));
+
for (var key in panelsStatus)
-
if (w && w.isOpen())
+
saveSettings(key, "false");
-
w.close();
+
-
};
+
setUpPanels();
-
 
+
-
Spry.Widget.CollapsiblePanelGroup.prototype.openAllPanels = function()
+
-
{
+
-
var cpanels = this.getPanels();
+
-
var numCPanels = cpanels.length;
+
-
for (var i = 0; i < numCPanels; i++)
+
-
{
+
-
var w = this.getElementWidget(cpanels[i]);
+
-
if (w && !w.isOpen())
+
-
w.open();
+
-
}
+
-
};
+
-
 
+
-
Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels = function()
+
-
{
+
-
var cpanels = this.getPanels();
+
-
var numCPanels = cpanels.length;
+
-
for (var i = 0; i < numCPanels; i++)
+
-
{
+
-
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 {
+
/**
-
background-color: #E5E5E5;
+
* Takes data from the panelsStatus object, formats as key:value|key:value... and puts in cookie valid for 365 days
-
float: left;
+
  * @param key key name to save
-
height: 111px;
+
  * @paeam value key value
-
width: 262px;
+
-
}
+
-
 
+
-
.descriplogosearch {
+
-
float: right;
+
-
height: 768px;
+
-
width: 156px;
+
-
}
+
-
.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
+
</head><body>
-
* CollapsiblePanel is closed. The "CollapsiblePanelClosed" class is programatically added and removed
+
-
* whenever the CollapsiblePanel is closed.
+
-
*/
+
-
.CollapsiblePanelClosed .CollapsiblePanelTab {
+
<div class="container">
-
  /* background-color: #EFEFEF */
+
   
-
}
+
<div class="topbar">
 +
    <div style="background-color:#FFF;">
-
/* This is an example of how to change the appearance of the panel tab as the
+
<!--this will hold the search bar languages and logos -->
-
* mouse hovers over it. The class "CollapsiblePanelTabHover" is programatically added
+
    <p> <img src="https://static.igem.org/mediawiki/igem.org/2/20/Logotec.png" alt="ITESM" name="teclogo" width="146" height="52" id="teclogo">
-
  * and removed from panel tab containers as the mouse enters and exits the tab container.
+
    <a href="https://2011.igem.org/Main_Page"><img src="https://static.igem.org/mediawiki/igem.org/7/73/Logoigemsmall.png" alt="iGEM" name="logoigem" width="70" height="61" id="logoigem"></a> </p>
-
  */
+
</div>
-
.CollapsiblePanelTabHover, .CollapsiblePanelOpen .CollapsiblePanelTabHover {
+
-
background-color: #4ECDC4;
+
-
}
+
  <div class="sidebar1">
 +
    <ul class="nav">
 +
      <p>&nbsp;</p>
 +
      <!--this is our menu! D: hurrfff durrff herpa derpa-->
 +
      <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">videos</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">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/projectdescription">description</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">parts</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">modeling</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">notebook</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">results</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">achievements</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">members</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">gallery</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">profile</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">installations</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">human approach</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">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">site map</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">sponsors</a></p>
 +
            <p><a href="https://2011.igem.org/Team:Tec-Monterrey">follow us!</a></p>
 +
    </div>
 +
</div>
 +
      </li>
 +
    </ul>
 +
    <p>&nbsp;</p>
 +
    <p>&nbsp;</p>
 +
    <p>&nbsp;</p>
 +
<p>&nbsp;</p>
 +
    <p>&nbsp;</p>
 +
    <p>&nbsp;</p>
 +
<p>&nbsp;</p>
 +
<p>&nbsp;</p>
 +
</div>
 +
 
 +
<div class="content">
 +
  <!--in sub pages, this divisions should be comments! :D-->
 +
 
 +
  <div class="banner">
 +
       
 +
    <div style="text-align: right;background-color:#FFF;">
 +
    <p>&nbsp;</p>
 +
    <p><a href="https://2011.igem.org/Team:Tec-Monterrey"><img src="https://static.igem.org/mediawiki/igem.org/4/4f/Renderbanner2.png" alt="tec monterrey 2011" name="banner" width="513" height="155" id="banner"></a></p>
 +
   
 +
    </div>
 +
   
 +
  </div> 
 +
 +
 
 +
   
 +
 
 +
 
 +
 
 +
    <div class="contenido">
 +
       
 +
    <div style="
 +
  text-align: center;
 +
  background:url(https://static.igem.org/mediawiki/igem.org/e/ec/Topquicklink.png);
 +
  background-repeat:no-repeat;
 +
        background-position:top;
 +
  background-color:#FFF;">
 +
   
 +
   
 +
    <p>1st MICRO CONGRESS iGEM 2011</p>
 +
    <p>&nbsp;</p>
 +
    <p><img src="https://static.igem.org/mediawiki/2011/8/85/Photocongreso02.png" alt="micro congress logo" name="microcongress" width="243" height="187" id="microcongress" /></p>
 +
    <p class="justtext">Synthetic biology has begun an era of creation and development of new and better biological systems that, through engineering, seek to modify the natural behavior of living microorganisms such as bacteria, fungi and yeasts to make them perform tasks that are designed to create high value-added products with useful applications in industry, improving at the same time the life quality of people.</p>
 +
    <p class="justtext">iGEM ​​(International Genetically Engineered Machine) is a competition based on synthetic biology, presented by the MIT (Massachusetts Institute of Technology), that allows professional students work in the use of biological parts to build systems operated in living cells. This year it is expected the participation of 165 teams and over 1,700 students from America, Africa, Asia and Europe, from prestigious universities such as Imperial College of London, Harvard, Yale, Cambridge, among others. </p>
 +
<p><img src="https://static.igem.org/mediawiki/2011/4/4b/Photocongreso01.png" alt="teamphoto" name="teamphoto" width="400" height="271" id="teamphoto" /></p>
 +
    <p class="justtext">The number of Mexican universities participating in the contest is increasing each year; for this competition it is expected the participation of 5 teams: </p>
 +
    <p class="justtext"><br />
 +
      Tec de Monterrey - Instituto Tecnológico y de Estudios Superiores de Monterrey, campus Monterrey,from Monterrey, Nuevo León, México. </p>
 +
    <p class="justtext">UANL Mty. Mexico - School of Biological Sciences. Universidad Autónoma de Nuevo León from Monterrey, Nuevo León, México. UNAM, </p>
 +
    <p class="justtext">ITESM Mexico City - Institute of Applied Mathematics and Institute of Cellular Physiology at the Universidad Nacional Autónoma de Mexico (UNAM) in conjunction with the ITESM campus Mexico.</p>
 +
    <p class="justtext">      ITESM_Mexico - Instituto Tecnológico y de Estudios Superiores de Monterrey, Campus Querétaro. </p>
 +
    <p class="justtext">UNAM-Genomics_México - Center for Genomic Sciences, Universidad Nacional Autónoma de México (UNAM).</p>
 +
<p><img src="https://static.igem.org/mediawiki/2011/9/96/Photocongreso04.png" alt="centrobiotecnologia" name="imagetec" width="463" height="306" id="imagetec" /></p>
 +
    <p> <span class="justtext">In order to meet the other 4 Mexican teams and talk about common problems that have arisen along the competition, we organized the &quot;First Micro Congress iGEM&quot;, this June 3 and 4. This event was held at Tec de Monterrey, campus Monterrey. </span><br />
 +
    </p>
 +
    <p><img src="https://static.igem.org/mediawiki/2011/9/92/Photocongreso03.png" alt="photo" name="photo" width="408" height="263" id="photo" /><br />
 +
  </p>
 +
    <p><span class="justtext">PhD. Manuel Zertuche, Director of the School of Biotechnology, inaugurated the event, and conveyed the best wishes for the event. <br />
 +
      The Master in Science Sergio Garcia, a Biologist from the Universidad Autónoma de Baja California delivered the first conference. He did his Masters in Molecular Biology at the Instituto Potosino de Investigación Científica y Tecnológica. He is currently a PhD student at Tec de Monterrey, Campus Monterrey. He has worked in Molecular Phylogeny; design, production and purification of recombinant proteins and as an instructor for Tec de Monterrey iGEM teams 2010 and 2011. The conference showed the role of instructor in the iGEM team and some tips that will help teams improve their performance. Also presented the paper &quot;Expression and purification of Deschampsia antarctica peroxidedismutase E. coli&quot;.<br />
 +
    </span></p>
 +
    <p class="justtext"> PhD. Jorge Benavides, Chemical Engineer from the Universidad Autónoma de Nuevo León, presented the second conference. He did his Masters in Biotechnology and a Ph.D. in Engineering Science with specialty in Biotechnology at the Tec de Monterrey, campus Monterrey. Member of the Research Chair in Bioprocess of ITESM. He specializes in the development of bioprocesses for the production, recovery and purification of biotechnological compounds of commercial interest, the proteomic characterization of crude extracts through combinatorial strategies and expression of heterologous proteins in recombinant expression systems. The conference was titled &quot;Trends and Applications of Biotechnology&quot;, where the means of separation, aqueous phases and some applications such as contact lenses, were discussed.<br />
 +
      </p>
 +
    <p class="justtext">Manuel Tiscareño presented the conference &quot;Importation of Biological Material to Mexico.&quot; He holds a degree in International Relations from the Universidad Autonoma de Nuevo León. He has served as Branch Assistant Manager of Kentucky Fried Chicken, and is currently manager of Customs Import and Export of FEDEX. This conference had great teachings on the importation of &quot;BioBricks&quot;: standard parts of genetic material with structure and function defined, necessary to make new biological systems. <br />
 +
      Mr. Tiscareño taught us that cannot be imported, by courier and parcel companies, products falling within the criteria of &quot;difficult to identify&quot; such as dust, gases and liquids. They should be released through the following ways: </p>
 +
    <p class="justtext">Commit to a customs agent in the city for the release of the products into various points of entry. This agent classifies the package within the different areas of classification that exist in the Tax Administration System (SAT) and the Mexican customs laws. Depending on the physics characteristics, use and function that are present in the product, the package is classified. For example, the value of a pen with an integrated clock will depend on which is the main component, in order to be classified as office or as a decoration item. In this case it must be proportional to the broker's invoice product as well as having a detailed and formal description of it. <br />
 +
      Register with FedEx Custom Broker. This method of release of packages consists in a small amount of money included in the total cost of shipping a package sent by FedEx. This corresponds to an amount paid to a broker who is in each inner harbor where the parcel is located. It works like a broker customs, however it is possible that the broker can be busy due to the increase of problematic packages. <br />
 +
      Use a trading company. A person who is already expert in the field of importations can lend its name and create a trading company, although there could be problems of packet loss, theft of merchandise, etc. <br />
 +
      Re-route the package to the American side border, to let a broker customs release the packages with the patent and charge conferred discharged by the ITESM.</p>
 +
    <p class="justtext"> Regarding the visit to the FEMSA Biotechnology Center, Tec-Monterrey team was able to show to the attending teams the FEMSA Biotechnology Center, which is dedicated to generating research, transfer knowledge and design business models in biotechnology and food areas. It has the most innovative infrastructure equipment in laboratories, pilot plants and business incubators in the related areas. <br />
 +
    </p>
 +
    <p class="justtext"><span class="justtext">That night, the teams visited the restaurant Sierra Madre Brewing Co.. This restaurant specializes in brewing within the same establishment and the menu caters to all tastes.</span><br />
 +
    </p>
 +
    <p><img src="https://static.igem.org/mediawiki/2011/c/c8/Photocongress05.png" alt="photo2" name="photo2" width="407" height="303" id="photo2" /></p>
 +
    <p><br />
 +
      <span class="justtext">The next day began with a talk by PhD. Jose Manuel Aguilar, who showed us the work: &quot;Design of recombinant antigens of A/H1N1/2009 influenza virus.&quot; PhD. José Manuel Aguilar is a biologist specialized in molecular biology and professor of Genetic Engineering and Proteins Engineering courses.</span></p>
 +
    <p class="justtext">      Adán López commissioned the second conference, to deliver the lecture              &quot;Project Management&quot;. This one will serve us greatly in the future because the recommendations Dr. López gave us about creating a Gantt diagram of an array of responsibilities and lifecycle of projects. He taught us that planning a project arises obvious time and material problems, which can be solved before reaching a big mess. </p>
 +
    <p><img src="https://static.igem.org/mediawiki/2011/2/28/Photocongreso06.png" alt="photo3" name="photo3" width="515" height="303" id="photo3" /><br />
 +
      </p>
 +
    <p><span class="justtext">Finally, we performed a bioethical PANEL aimed to discuss the bioethical implications involved in synthetic biology. This panel presented the following expositors: </span></p>
 +
    <p class="justtext">PhD Guy Cardineau, Plant Molecular Biology Specialist.<br />
 +
      PhD Elsy Molina, who has taught courses in Plant Physiology, General Genetics, Biology, Science, Ecology and Sustainable Development, Biostatistics and Experimental Design. </p>
 +
    <p class="justtext">      PhD Francisco Serrano, a PhD in Philosophy from the Universidad Complutense de Madrid. His doctoral thesis was based on the subject: &quot;Science, reality and method in the work of Linus Pauling.&quot; He is currently professor at ITESM and coordinator of scientific-technological perspective Campus Monterrey. He is the author of many studies on ethics and history of science among them includes the book: Molecular Biology. Philosophical issues and implications. The Panel moderator served the MC. Johari Salgado Gallegos, professor of Laboratory of Genetic Engineering. <br />
 +
    </p>
 +
    <p class="justtext"> We thank PhD. Marco Antonio Rito, our project instructor, and ITESM Biotechnology department, for all the support that has given to us. <br />
 +
We also would like to thank our sponsors Promega, Uniparts, AgroBio, Accura Monterrey, and IECSA for giving us a chance to participate in iGEM 2011. </p>
 +
    <p><img src="https://static.igem.org/mediawiki/2011/3/3c/Photocongreso07.png" alt="photo4" name="photo4" width="532" height="291" id="photo4" /><br />
 +
    </p>
 +
    <p>      <br />
 +
      <br />
 +
    </p>
 +
    </div> 
 +
 
 +
 
 +
 
 +
  <!--uncomment this part in sub pages so you may edit properly-->
 +
  <!--
 +
  <h1>Instructions</h1>
 +
<p>Be aware that the CSS for these layouts is heavily commented. If you do most of your work in Design view, have a peek at the code to get tips on working with the CSS for the liquid layouts. You can remove these comments before you launch your site. To learn more about the techniques used in these CSS Layouts, read this article at Adobe's Developer Center - <a href="http://www.adobe.com/go/adc_css_layouts">http://www.adobe.com/go/adc_css_layouts</a>.</p>
 +
    <h2>Clearing</h2>
 +
    <p>Because all the columns are floated, this layout uses overflow:hidden on the .container. This clearing technique forces the .container to understand where the columns end in order to show any borders or background colors you place on the .container. If you have a large element that protrudes outside the .container, it will appear to be cut off. You also won't be able to use negative margins or absolute positioning with negative values to pull elements outside the .container or they will also won't display outside the .container.</p>
 +
    <p>If you need to use these properties, you'll need to use a different clearing method. The most reliable will be to add a &lt;br class=&quot;clearfloat&quot; /&gt; or &lt;div class=&quot;clearfloat&quot;&gt;&lt;/div&gt; after your final floated column (but before the .container closes). This will have the same clearing effect.</p>
 +
    <h3>Footer</h3>
 +
    <p>Adding a footer following the columns, yet still inside the .container, will cause this overflow:hidden clearing method to fail. You can place a .footer into a second .container outside the first one with no detrimental effects. The simplest choice may be to start with a layout containing headers and footers and remove the header to utilize the clearing methods in that layout type.</p>
 +
    <h4>Internet Explorer Conditional Comments</h4>
 +
    <p>These liquid layouts contain an Internet Explorer Conditional Comment (IECC) to correct two issues. </p>
 +
    <ol>
 +
      <li>Browsers are inconsistent in the way they round div sizes in percent-based layouts. If the browser must render a number like 144.5px or 564.5px, they have to round it to the nearest whole number. Safari and Opera round down, Internet Explorer rounds up and Firefox rounds one column up and one down filling the container completely. These rounding issues can cause inconsistencies in some layouts. In this IECC there is a 1px negative margin to fix IE. You may move it to any of the columns (and on either the left or right) to suit your layout needs.</li>
 +
      <li>The zoom property was added to the anchor within the navigation list since, in some cases, extra white space will be rendered in IE6 and IE7. Zoom gives IE its proprietary hasLayout property to fix this issue.</li>
 +
    </ol>
 +
    <h4>Backgrounds</h4>
 +
    <p>By nature, the background color on any div will only show for the length of the content. This means if you're using a background color or border to create the look of a side column, it won't extend all the way to the footer but will stop when the content ends. If the .content div will always contain more content, you can place a border on the .content div to divide it from the column.end .content </p>-->
 +
</div>
 +
  <!-- end .container --></div>
-
/* 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 {
 
-
}
+
</div></div></body></html>
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
</style>
+
-
 
+
-
 
+
-
 
+
-
<body>
+
-
<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="https://2011.igem.org/Team:Tec-Monterrey">HOME</a></div>
+
-
    </div>
+
-
    <div id="CollapsiblePanel3" class="CollapsiblePanel">
+
-
      <div class="CollapsiblePanelTab" tabindex="0">PROJECT</div>
+
-
      <div class="CollapsiblePanelContent">
+
-
        <ul>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">parts</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey/safetypage">safety</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey/projectdescription">description</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">modeling</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">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="https://2011.igem.org/Team:Tec-Monterrey">members</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">profile</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">gallery</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">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="https://2011.igem.org/Team:Tec-Monterrey">site map</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">human approach</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey/microcongreso">microcongreso</a></li>
+
-
          <li><a href="https://2011.igem.org/Team:Tec-Monterrey">sponsors</a></li>
+
-
        </ul>
+
-
      </div>
+
-
    </div>
+
-
  </div>
+
-
  <div class="descriptexto">
+
-
    <p>&nbsp;</p>
+
-
    <div id="CollapsiblePanel1" class="CollapsiblePanel">
+
-
      <div class="CollapsiblePanelTab" tabindex="0">1st MICRO-CONGRESS i-GEM 2011</div>
+
-
      <div class="CollapsiblePanelContent"> <div style="text-align: center;">
+
-
        <p> <img src="images/mc_logo.png" alt="" name="logostop" width="243" height="185" id="logostop" /></p>
+
-
<p>Synthetic biology has begun an era of creation and development of new and better biological systems that, through engineering, seek to modify the natural behavior of living microorganisms such as bacteria, fungi and yeasts to make them perform tasks that are designed to create high value-added products with useful applications in industry, improving at the same time the life quality of people.</p>
+
-
<p>iGEM ​​(International Genetically Engineered Machine) is a competition based on synthetic biology, presented by the MIT (Massachusetts Institute of Technology), that allows professional students work in the use of biological parts to build systems operated in living cells. This year it is expected the participation of 165 teams and over 1,700 students from America, Africa, Asia and Europe, from prestigious universities such as Imperial College of London, Harvard, Yale, Cambridge, among others. </p>
+
-
        <p><img src="images/mc_pic1.png" alt="" name="pic1" width="317" height="261" id="pic1" /></p>
+
-
        <p>The number of Mexican universities participating in the contest is increasing each year; for this competition it is expected the participation of 5 teams: <br />
+
-
          </p>
+
-
        <ul>
+
-
          <li>Tec de Monterrey </li>
+
-
        </ul>
+
-
<p> Instituto Tecnológico y de Estudios Superiores de Monterrey, campus Monterrey, from Monterrey, Nuevo León, México. </p>
+
-
        <ul>
+
-
          <li>UANL Mty. Mexico </li>
+
-
        </ul>
+
-
<p> School of Biological Sciences. Universidad Autónoma de Nuevo León from Monterrey, Nuevo León, México. </p>
+
-
        <ul>
+
-
          <li>            UNAM, ITESM Mexico City</li>
+
-
        </ul>
+
-
<p> Institute of Applied Mathematics and Institute of Cellular Physiology at the Universidad Nacional Autónoma de Mexico (UNAM) in conjunction with the </p>
+
-
        <ul>
+
-
          <li>ITESM campus Mexico</li>
+
-
        </ul>
+
-
        <p>          ITESM_Mexico - Instituto Tecnológico y de Estudios Superiores de Monterrey, Campus Querétaro. <br />
+
-
        </p>
+
-
        <ul>
+
-
          <li>UNAM-Genomics México</li>
+
-
        </ul>
+
-
<p> Center for Genomic Sciences, Universidad Nacional Autónoma de México (UNAM).</p>
+
-
        <p>&nbsp;</p>
+
-
        <p> In order to meet the other 4 Mexican teams and talk about common problems that have arisen along the competition, we organized the &quot;First Micro Congress iGEM&quot;, this June 3 and 4. This event was held at Tec de Monterrey, campus Monterrey. </p>
+
-
        <p>&nbsp;</p>
+
-
        <p>&nbsp;</p>
+
-
        <p><br />
+
-
        </p>
+
-
        <p> PhD. Manuel Zertuche, Director of the School of Biotechnology, inaugurated the event, and conveyed the best wishes for the event. <br />
+
-
        </p>
+
-
        <p>The Master in Science Sergio Garcia, a Biologist from the Universidad Autónoma de Baja California delivered the first conference. He did his Masters in Molecular Biology at the Instituto Potosino  de Investigación Científica y Tecnológica. He is currently a PhD student at Tec de Monterrey, Campus Monterrey. He has worked in Molecular Phylogeny; design, production and purification of recombinant proteins and as an instructor for Tec de Monterrey iGEM teams 2010 and 2011. The conference showed the role of instructor in the iGEM team and some tips that will help teams improve their performance. Also presented the paper &quot;Expression and purification of Deschampsia antarctica peroxidedismutase E. coli”.<br />
+
-
          </p>
+
-
        <p> <br />
+
-
PhD. Jorge Benavides, Chemical Engineer from the Universidad Autónoma de Nuevo León, presented the second conference. He did his Masters in Biotechnology and a Ph.D. in Engineering Science with specialty in Biotechnology at the Tec de Monterrey, campus Monterrey. Member of the Research Chair in Bioprocess of ITESM. He specializes in the development of bioprocesses for the production, recovery and purification of biotechnological compounds of commercial interest, the proteomic characterization of crude extracts through combinatorial strategies and expression of heterologous proteins in recombinant expression systems. The conference was titled &quot;Trends and Applications of Biotechnology&quot;, where the means of separation, aqueous phases and some applications such as contact lenses, were discussed.<br />
+
-
        </p>
+
-
        <p> Manuel Tiscareño presented the conference &quot;Importation of Biological Material to Mexico.&quot; He holds a degree in International Relations from the Universidad Autonoma de Nuevo León. He has served as Branch Assistant Manager of Kentucky Fried Chicken, and is currently manager of Customs Import and Export of FEDEX. This conference had great teachings on the importation of &quot;BioBricks&quot;: standard parts of genetic material with structure and function defined, necessary to make new biological systems. <br /> 
+
-
          </p>
+
-
        <p> Mr. Tiscareño taught us that cannot be imported, by courier and parcel companies, products falling within the criteria of &quot;difficult to identify&quot; such as dust, gases and liquids. They should be released through the following ways: </p>
+
-
        <p>Commit to a customs agent in the city for the release of the products into various points of entry. This agent classifies the package within the different areas of classification that exist in the Tax Administration System (SAT) and the Mexican customs laws. Depending on the physics characteristics, use and function that are present in the product, the package is classified. For example, the value of a pen with an integrated clock will depend on which is the main component, in order to be classified as office or as a decoration item. In this case it must be proportional to the broker's invoice product as well as having a detailed and formal description of it. <br />
+
-
          Register with FedEx Custom Broker. This method of release of packages consists in a small amount of money included in the total cost of shipping a package sent by FedEx. This corresponds to an amount paid to a broker who is in each inner harbor where the parcel is located. It works like a broker customs, however it is possible that the broker can be busy due to the increase of problematic packages. <br />
+
-
          Use a trading company. A person who is already expert in the field of importations can lend its name and create a trading company, although there could be problems of packet loss, theft of merchandise, etc. <br />
+
-
          Re-route the package to the American side border, to let a broker customs release the packages with the patent and charge conferred discharged by the ITESM.</p>
+
-
        <p> Regarding the visit to the FEMSA Biotechnology Center, Tec-Monterrey team was able to show to the attending teams the FEMSA Biotechnology Center, which is dedicated to generating research, transfer knowledge and design business models in biotechnology and food areas. It has the most innovative infrastructure equipment in laboratories, pilot plants and business incubators in the related areas. </p>
+
-
        <p> That night, the teams visited the restaurant Sierra Madre Brewing Co.. This restaurant specializes in brewing within the same establishment and the menu caters to all tastes.<br />
+
-
        </p>
+
-
        <p><br />
+
-
The next day began with a talk by PhD. Jose Manuel Aguilar, who showed us the work: &quot;Design of recombinant antigens of A/H1N1/2009 influenza virus.&quot; PhD. José Manuel Aguilar is a biologist specialized in molecular biology and professor of Genetic Engineering and Proteins Engineering courses. <br />
+
-
        </p>
+
-
        <p>Adán López commissioned the second conference, to deliver the lecture &quot;Project Management&quot;. This one will serve us greatly in the future because the recommendations Dr. López gave us about creating a Gantt diagram of an array of responsibilities and lifecycle of projects. He taught us that planning a project arises obvious time and material problems, which can be solved before reaching a big mess. <br />
+
-
        </p>
+
-
        <p> Finally, we performed a bioethical PANEL aimed to discuss the bioethical implications involved in synthetic biology. This panel presented the following expositors: </p>
+
-
        <p>PhD Guy Cardineau, Plant Molecular Biology Specialist.<br />
+
-
          PhD Elsy Molina, who has taught courses in Plant Physiology, General Genetics, Biology, Science, Ecology and Sustainable Development, Biostatistics and Experimental Design. <br />
+
-
          PhD Francisco Serrano, a PhD in Philosophy from the Universidad Complutense de Madrid. His doctoral thesis was based on the subject: &quot;Science, reality and method in the work of Linus Pauling.&quot; He is currently professor at ITESM and coordinator of scientific-technological perspective Campus Monterrey. He is the author of many studies on ethics and history of science among them includes the book: Molecular Biology. Philosophical issues and implications. <br />
+
-
          The Panel moderator served the MC. Johari Salgado Gallegos, professor of Laboratory of Genetic Engineering. <br />
+
-
        </p>
+
-
        <p>          <br />
+
-
        We thank PhD. Marco Antonio Rito, our project instructor, and ITESM Biotechnology department, for all the support that has given to us. <br />
+
-
We also would like to thank our sponsors Promega, Uniparts, AgroBio, Accura Monterrey, and IECSA for giving us a chance to participate in iGEM 2011. <br />
+
-
        </p> :D</p>
+
-
<p>&nbsp;</p>
+
-
<p></p>
+
-
      </div>
+
-
    </div>
+
-
      <p>&nbsp;</p>
+
-
    </div>
+
-
  </div>
+
-
</div>
+
-
<script type="text/javascript">
+
-
var CollapsiblePanel1 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel1");
+
-
var CollapsiblePanel2 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel2");
+
-
var CollapsiblePanel3 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel3");
+
-
var CollapsiblePanel4 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel4");
+
-
var CollapsiblePanel5 = new Spry.Widget.CollapsiblePanel("CollapsiblePanel5");
+
-
</script>
+
-
</body>
+
-
</html>
+

Revision as of 00:19, 14 July 2011

wiki

iGEM

1st MICRO CONGRESS iGEM 2011

 

micro congress logo

Synthetic biology has begun an era of creation and development of new and better biological systems that, through engineering, seek to modify the natural behavior of living microorganisms such as bacteria, fungi and yeasts to make them perform tasks that are designed to create high value-added products with useful applications in industry, improving at the same time the life quality of people.

iGEM ​​(International Genetically Engineered Machine) is a competition based on synthetic biology, presented by the MIT (Massachusetts Institute of Technology), that allows professional students work in the use of biological parts to build systems operated in living cells. This year it is expected the participation of 165 teams and over 1,700 students from America, Africa, Asia and Europe, from prestigious universities such as Imperial College of London, Harvard, Yale, Cambridge, among others. 

teamphoto

The number of Mexican universities participating in the contest is increasing each year; for this competition it is expected the participation of 5 teams: 


Tec de Monterrey - Instituto Tecnológico y de Estudios Superiores de Monterrey, campus Monterrey,from Monterrey, Nuevo León, México. 

UANL Mty. Mexico - School of Biological Sciences. Universidad Autónoma de Nuevo León from Monterrey, Nuevo León, México. UNAM,

ITESM Mexico City - Institute of Applied Mathematics and Institute of Cellular Physiology at the Universidad Nacional Autónoma de Mexico (UNAM) in conjunction with the ITESM campus Mexico.

ITESM_Mexico - Instituto Tecnológico y de Estudios Superiores de Monterrey, Campus Querétaro. 

UNAM-Genomics_México - Center for Genomic Sciences, Universidad Nacional Autónoma de México (UNAM).

centrobiotecnologia

In order to meet the other 4 Mexican teams and talk about common problems that have arisen along the competition, we organized the "First Micro Congress iGEM", this June 3 and 4. This event was held at Tec de Monterrey, campus Monterrey. 

photo

PhD. Manuel Zertuche, Director of the School of Biotechnology, inaugurated the event, and conveyed the best wishes for the event. 
The Master in Science Sergio Garcia, a Biologist from the Universidad Autónoma de Baja California delivered the first conference. He did his Masters in Molecular Biology at the Instituto Potosino de Investigación Científica y Tecnológica. He is currently a PhD student at Tec de Monterrey, Campus Monterrey. He has worked in Molecular Phylogeny; design, production and purification of recombinant proteins and as an instructor for Tec de Monterrey iGEM teams 2010 and 2011. The conference showed the role of instructor in the iGEM team and some tips that will help teams improve their performance. Also presented the paper "Expression and purification of Deschampsia antarctica peroxidedismutase E. coli".

PhD. Jorge Benavides, Chemical Engineer from the Universidad Autónoma de Nuevo León, presented the second conference. He did his Masters in Biotechnology and a Ph.D. in Engineering Science with specialty in Biotechnology at the Tec de Monterrey, campus Monterrey. Member of the Research Chair in Bioprocess of ITESM. He specializes in the development of bioprocesses for the production, recovery and purification of biotechnological compounds of commercial interest, the proteomic characterization of crude extracts through combinatorial strategies and expression of heterologous proteins in recombinant expression systems. The conference was titled "Trends and Applications of Biotechnology", where the means of separation, aqueous phases and some applications such as contact lenses, were discussed.

Manuel Tiscareño presented the conference "Importation of Biological Material to Mexico." He holds a degree in International Relations from the Universidad Autonoma de Nuevo León. He has served as Branch Assistant Manager of Kentucky Fried Chicken, and is currently manager of Customs Import and Export of FEDEX. This conference had great teachings on the importation of "BioBricks": standard parts of genetic material with structure and function defined, necessary to make new biological systems. 
Mr. Tiscareño taught us that cannot be imported, by courier and parcel companies, products falling within the criteria of "difficult to identify" such as dust, gases and liquids. They should be released through the following ways: 

Commit to a customs agent in the city for the release of the products into various points of entry. This agent classifies the package within the different areas of classification that exist in the Tax Administration System (SAT) and the Mexican customs laws. Depending on the physics characteristics, use and function that are present in the product, the package is classified. For example, the value of a pen with an integrated clock will depend on which is the main component, in order to be classified as office or as a decoration item. In this case it must be proportional to the broker's invoice product as well as having a detailed and formal description of it. 
Register with FedEx Custom Broker. This method of release of packages consists in a small amount of money included in the total cost of shipping a package sent by FedEx. This corresponds to an amount paid to a broker who is in each inner harbor where the parcel is located. It works like a broker customs, however it is possible that the broker can be busy due to the increase of problematic packages. 
Use a trading company. A person who is already expert in the field of importations can lend its name and create a trading company, although there could be problems of packet loss, theft of merchandise, etc. 
Re-route the package to the American side border, to let a broker customs release the packages with the patent and charge conferred discharged by the ITESM.

Regarding the visit to the FEMSA Biotechnology Center, Tec-Monterrey team was able to show to the attending teams the FEMSA Biotechnology Center, which is dedicated to generating research, transfer knowledge and design business models in biotechnology and food areas. It has the most innovative infrastructure equipment in laboratories, pilot plants and business incubators in the related areas. 

That night, the teams visited the restaurant Sierra Madre Brewing Co.. This restaurant specializes in brewing within the same establishment and the menu caters to all tastes.

photo2


The next day began with a talk by PhD. Jose Manuel Aguilar, who showed us the work: "Design of recombinant antigens of A/H1N1/2009 influenza virus." PhD. José Manuel Aguilar is a biologist specialized in molecular biology and professor of Genetic Engineering and Proteins Engineering courses.

Adán López commissioned the second conference, to deliver the lecture "Project Management". This one will serve us greatly in the future because the recommendations Dr. López gave us about creating a Gantt diagram of an array of responsibilities and lifecycle of projects. He taught us that planning a project arises obvious time and material problems, which can be solved before reaching a big mess. 

photo3

Finally, we performed a bioethical PANEL aimed to discuss the bioethical implications involved in synthetic biology. This panel presented the following expositors: 

PhD Guy Cardineau, Plant Molecular Biology Specialist.
PhD Elsy Molina, who has taught courses in Plant Physiology, General Genetics, Biology, Science, Ecology and Sustainable Development, Biostatistics and Experimental Design. 

PhD Francisco Serrano, a PhD in Philosophy from the Universidad Complutense de Madrid. His doctoral thesis was based on the subject: "Science, reality and method in the work of Linus Pauling." He is currently professor at ITESM and coordinator of scientific-technological perspective Campus Monterrey. He is the author of many studies on ethics and history of science among them includes the book: Molecular Biology. Philosophical issues and implications. The Panel moderator served the MC. Johari Salgado Gallegos, professor of Laboratory of Genetic Engineering. 

We thank PhD. Marco Antonio Rito, our project instructor, and ITESM Biotechnology department, for all the support that has given to us. 
We also would like to thank our sponsors Promega, Uniparts, AgroBio, Accura Monterrey, and IECSA for giving us a chance to participate in iGEM 2011.

photo4