Team:Cambridge/new

From 2011.igem.org

(Difference between revisions)
Line 3: Line 3:
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
-
<script src='/Team:Cambridge/static/wiki.js?action=raw' type='text/javascript'></script>
+
<script type='text/javascript'>
 +
/*
 +
*  Variables.
 +
*
 +
* */
 +
 
 +
//current area/subarea
 +
var area = 'overview';
 +
var subarea = 'home';
 +
 
 +
//the url that's loaded
 +
var current_url = window.location.pathname;
 +
//the interval
 +
var int;
 +
 
 +
 
 +
var check_hash = function()
 +
{
 +
if((current_url != window.location.hash.substr(1)) && window.location.hash)
 +
{
 +
int = clearInterval(int);//pause
 +
//current_url != window.location.hash.substr(1);
 +
load_url(window.location.hash.substr(1));
 +
 +
int = setInterval('check_hash();', 500);
 +
}
 +
}
 +
 
 +
jQuery.extend(
 +
  jQuery.expr[ ":" ],
 +
  {
 +
external: function(obj, index, meta, stack)
 +
{
 +
  return /:\/\//.test($(obj).attr("href"));
 +
},
 +
internal: function(obj, index, meta, stack)
 +
{
 +
  return !/:\/\//.test($(obj).attr("href"));
 +
}
 +
  }
 +
);
 +
 
 +
 
 +
var areas = [
 +
[/\/Team:Cambridge\/project/i, 'project',],
 +
[/\/Team:Cambridge\/(experiments|constructs|protocols|safety|labwork)/i, 'labwork',],
 +
[/\/Team:Cambridge\/society/i, 'society',],
 +
[/\/Team:Cambridge\/team/i, 'team',],
 +
[/\/Team:Cambridge/i, 'overview'],
 +
[/./i, 'overview'],
 +
];
 +
 
 +
var subareas = {
 +
'overview': [
 +
[/\/Team:Cambridge\/Media/i, 'media'],
 +
[/\/Team:Cambridge\/Reflectin/i, 'reflectin'],
 +
[/\/Team:Cambridge\/Blog/i, 'blog'],
 +
[/./i, 'home'],
 +
],
 +
'project':  [
 +
[/\/Team:Cambridge\/Project\/prelim/i, 'preliminary'],
 +
[/\/Team:Cambridge\/Project\/in_vitro/i, 'invitro'],
 +
[/\/Team:Cambridge\/Project\/in_vivo/i, 'invivo'],
 +
[/\/Team:Cambridge\/Project\/gibthon/i, 'gibthon'],
 +
[/\/Team:Cambridge\/Project\/conclusion/i, 'conclusion'],
 +
[/\/Team:Cambridge\/Project/i, 'overview'],
 +
],
 +
'labwork':  [
 +
[/\/Team:Cambridge\/experiments/i, 'experiments'],
 +
[/\/Team:Cambridge\/constructs/i, 'constructs'],
 +
[/\/Team:Cambridge\/protocols/i, 'protocols'],
 +
[/\/Team:Cambridge\/safety/i, 'safety'],
 +
[/\/Team:Cambridge\/labwork/i, 'overview'],
 +
],
 +
'society':  [
 +
[/\/Team:Cambridge\/Society\/igem/i, 'igem'],
 +
[/\/Team:Cambridge\/Society\/future_applications/i, 'future'],
 +
[/\/Team:Cambridge\/Society/i, 'overview'],
 +
],
 +
'team':    [
 +
[/\/Team:Cambridge\/Team\/Students/i, 'students'],
 +
[/\/Team:Cambridge\/Team\/Academics/i, 'academics'],
 +
[/\/Team:Cambridge\/Team\/Sponsors/i, 'sponsors'],
 +
[/\/Team:Cambridge\/Team/i, 'overview'],
 +
],
 +
}
 +
 
 +
var get_area = function(path)
 +
{ //figure out which area of the site we are in
 +
var ar = '';
 +
var sub = '';
 +
if(path == undefined)
 +
var path = location.pathname;
 +
 +
for ( var a in areas)
 +
{
 +
if(areas[a][0].test(path))
 +
{
 +
ar = areas[a][1];
 +
break;
 +
}
 +
}
 +
for ( var a in subareas[ar])
 +
{
 +
if(subareas[ar][a][0].test(path))
 +
{
 +
sub = subareas[ar][a][1];
 +
break;
 +
}
 +
}
 +
console.log('area/subarea: ' + ar + '/' + sub);
 +
return [ar, sub];
 +
}
 +
 
 +
var apply_area = function()
 +
{
 +
$('.cam-selected').removeClass('cam-selected');
 +
$('.cam-menu-item.cam-' + area).addClass('cam-selected');
 +
$('.cam-' + area + '-' + subarea).addClass('cam-selected');
 +
}
 +
 
 +
var set_area = function(path)
 +
{
 +
var as = get_area(path);
 +
area = as[0];
 +
subarea = as[1];
 +
apply_area();
 +
}
 +
 
 +
var set_url = function(path)
 +
{
 +
current_url = path;
 +
if(current_url != window.location.pathname)
 +
window.location.hash = path;
 +
}
 +
 
 +
var baseurl = '';//'//2011.igem.org';
 +
 
 +
var load_url = function(url)
 +
{
 +
if(url == undefined)
 +
url = '/Team:Cambridge';
 +
 +
var load = url + '?action=render';
 +
 +
$.ajax({
 +
'url': load,
 +
'dataType': 'html',
 +
'error': function(jqXHR, textStatus, errorThrown) {
 +
var $c = $('<h2>AjaxError!</h2><h3>Status: ' + textStatus + '</h3><h4>' + errorThrown + '</h4>');
 +
$('#cam_pagecontent').fadeOut('fast', function() {
 +
$(this).html($c).fadeIn('fast');
 +
});
 +
},
 +
'success': function(data){
 +
var $c = $(data).find('#wiki_content');
 +
$('#cam_pagecontent').fadeOut('fast', function() {
 +
$(this).html($c).append('<div style="clear:both;"></div>').fadeIn('fast');
 +
});
 +
},
 +
});
 +
set_url(url);
 +
set_area(url);
 +
};
 +
 
 +
$(window).ready(function() {
 +
        $('#top-section').css('height', 'auto');
 +
$('#p-logo').css('display', 'none');
 +
$('.firstHeading').css('display', 'none');
 +
 
 +
$('.cam-menu-item a').mouseenter( function(event) {//in
 +
$(event.currentTarget).next().children('.cam-menu-drop').slideDown('fast');
 +
});
 +
$('.cam-menu-item').mouseleave( function(event) {//out
 +
$(event.currentTarget).find('.cam-menu-drop').slideUp('fast');
 +
});
 +
 +
$('.cam-icon').hover(
 +
function() {
 +
$(this).animate({'margin-top':0,}, 60);
 +
},
 +
function() {
 +
$(this).animate({'margin-top':12,}, 250);
 +
}
 +
);
 +
 +
set_area();
 +
 
 +
$('a:internal').live('click', function(event) {
 +
event.preventDefault();
 +
load_url($(this).attr('href'));
 +
return false;
 +
});
 +
 +
$('#cam_topbar a').hover(
 +
function() {
 +
$(this).prev('.cam-ui-icon').addClass('cam-hover');
 +
},
 +
function() {
 +
$(this).prev('.cam-ui-icon').removeClass('cam-hover');
 +
}
 +
);
 +
 +
int = setInterval('check_hash();', 500);
 +
});
 +
</script>
 +
 
<style>
<style>
     .cam-ui-icon {width:16px;height:16px;background-image:url(/wiki/images/b/b1/CAM_Bactiridescence_Icons_normal.png);display:inline-block;margin:1px;}
     .cam-ui-icon {width:16px;height:16px;background-image:url(/wiki/images/b/b1/CAM_Bactiridescence_Icons_normal.png);display:inline-block;margin:1px;}

Revision as of 16:25, 7 September 2011