

var jscc = new Object(); 
var loaoao = new Object();//^_^// 
jscc = { 
 init:function(){/*_*/}, 
 path:"/scripts/jscc/", 
 include:function (file){ 
 var j=document.createElement("script"); 
 j.setAttribute('type','text/javascript'); 
 j.setAttribute('src',jscc.path+file+'.js'); 
 document.getElementsByTagName("head")[0].appendChild(j); 
 } 
}; 
jscc.addEvent = function( obj, type, fn ) { 
 if ( obj.attachEvent ) { 
 obj['e'+type+fn] = fn; 
 obj[type+fn] = function(){obj['e'+type+fn]( window.event );} 
 obj.attachEvent( 'on'+type, obj[type+fn] ); 
 } else { 
 obj.addEventListener( type, fn, false ); 
 } 
}; 
// Cookies 
jscc.cookie = { 
 create:function (name,value,days) { 
 if (days) { 
 var date = new Date(); 
 date.setTime(date.getTime()+(days*24*60*60*1000)); 
 var expires = "; expires="+date.toGMTString(); 
 } 
 else expires = ""; 
 document.cookie = name+"="+value+expires+"; path=/"; 
 }, 
 read:function(name) { 
 var nameEQ = name + "="; 
 var ca = document.cookie.split(';'); 
 for(var i=0;i < ca.length;i++) { 
 var c = ca[i]; 
 while (c.charAt(0)==' ') c = c.substring(1,c.length); 
 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
 } 
 return null; 
 } 
}; 
jscc.getPageSize=function(){ 
 // reference lightbox (http://www.huddletogether.com/projects/lightbox/lightbox.js) 
 var theWidth,theHeight; 
 if (window.innerHeight&&window.scrollMaxY) { 
 theWidth = window.innerWidth; 
 theHeight = window.innerHeight+ window.scrollMaxY; 
 } 
 else if (document.body){ 
 theWidth=((document.body.scrollWidth > document.body.offsetWidth)?document.body.scrollWidth : document.body.offsetWidth ); 
 theHeight=((document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight : document.body.offsetHeight ); 
 } 
 var winWidth ,winHeight; 
 if (self.innerHeight) { 
 winWidth = self.innerWidth; 
 winHeight = self.innerHeight; 
 } else if (document.documentElement && document.documentElement.clientHeight) { 
 winWidth = document.documentElement.clientWidth; 
 winHeight = document.documentElement.clientHeight; 
 } else if (document.body) { 
 winWidth = document.body.clientWidth; 
 winHeight = document.body.clientHeight; 
 } 
 var pWidth=(theWidth>winWidth?theWidth:winWidth) 
 var pHeight=(theHeight>winHeight?theHeight:winHeight) 
 var yScroll; 
 if (self.pageYOffset) { 
 yScroll = self.pageYOffset; 
 } else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict 
 yScroll = document.documentElement.scrollTop; 
 } else if (document.body) {// all other Explorers 
 yScroll = document.body.scrollTop; 
 } 
 var getPageSize = new Array(pWidth,pHeight,winWidth,winHeight,yScroll) 
 return getPageSize; 
} 
jscc.widgets.wraphandler = {  jscc.widgets.toTop = {   if(d_st>10){   var options = new GdrawOptions();   var siteSearch = new GwebSearch();   searchControl.draw(document.getElementById("googleSearchResults"), options);   
jscc.widgets = {/**/}; 
jscc.widgets.fixedsidebar = { 
 fixedHeight:0, 
 oldScrolltop:0, 
 init: function(){ 
 if (!document.getElementById("sidebar")) return; 
 jscc.addEvent(window,"scroll",function(e){jscc.widgets.fixedsidebar.setFixed()}); 
 jscc.addEvent(window,"resize",function(e){jscc.widgets.fixedsidebar.setFixed()}); 
 this.fixedHeight=document.getElementById("sidebar").offsetTop; 
 this.setFixed(); 
 }, 
 setFixed:function(){ 
 var sidebar=document.getElementById("sidebar"); 
 var ref=document.getElementById("main"); 
 var s_t=sidebar.offsetTop; 
 var s_h=sidebar.offsetHeight; 
 var s_th=s_t+s_h; 
 var r_th=ref.offsetTop+ref.offsetHeight; 
 var d_st; 
 if(document.documentElement.scrollTop){ 
 d_st=document.documentElement.scrollTop; 
 } 
 else{ 
 d_st=document.body.scrollTop 
 } 
 if(r_th>(s_t+s_h)){ 
 var seHeight=0; 
 if (self.innerHeight) { seHeight = self.innerHeight;} else if (document.documentElement && document.documentElement.clientHeight) { seHeight = document.documentElement.clientHeight;} else if (document.body) {seHeight = document.body.clientHeight;} 
 try{ 
 if(seHeight>s_h){ 
 var newtop=(d_st
 else{ 
 // Thank you dron (http://www.ucren.com/) 
 switch (d_st-this.oldScrolltop>0) 
 { 
 case true: 
 if (d_st-this.fixedHeight > s_t -seHeight){ 
 var newtop= d_st -this.fixedHeight - (s_h-seHeight)-68; 
 } 
 break; 
 case false: 
 if (d_st-this.fixedHeight
 } 
 break; 
 } 
 } 
 this.oldScrolltop = d_st; 
 if(newtop==undefined){ return;}; 
 newtop=(newtop<0?0:newtop); 
 sidebar.style.marginTop= newtop+"px"; 
 } 
 catch(e){ 
 //alert(e.description); 
 } 
 } 
 else{ 
 sidebar.style.marginTop="0px"; 
 } 
 } 
}; 
//jscc.addEvent(window,"load",function(e){jscc.widgets.fixedsidebar.init()}); 
 //jscc.widgets.wraphandler reference http://www.collylogic.com/includes/resizer.js (http://www.collylogic.com/?/comments/redesign-notes-1-width-based-layout/) 
 init: function() { 
 //if (!document.getElementById) return; 
 if( document.getElementById('wrapper').className=="col3"){ 
 jscc.wraphandler.setWrapper(); 
 jscc.addEvent(window,"resize",jscc.wraphandler.setWrapper); 
 } 
 else{return} 
 }, 
 setWrapper: function() { 
 var getPS=jscc.getPageSize(); 
 var _width=getPS[2]; 
 if (_width < 940) { 
 document.getElementById('wrapper').className = 'col2'; 
 } else { 
 document.getElementById('wrapper').className = 'col3'; 
 } 
 if(document.all) { 
 if (_width < 780) { 
 document.getElementById('wrapper').style.width="750px" 
 } else { 
 document.getElementById('wrapper').style.width="auto" 
 } 
 } 
 } 
}; 
//jscc.addEvent(window,"load",function(e){jscc.widgets.wraphandler.init()}); 
jscc.widgets.styleSwitcher = { 
 // jscc.widgets.styleSwitcher reference StyleSwitcher functions( written by Paul Sowden http://www.idontsmoke.co.uk/ss/ . For the details, visit ALA: http://www.alistapart.com/stories/alternate/) 
 init:function(e) { 
 var cookie = jscc.cookie.read("style"); 
 var title = cookie ? cookie : this.getPreferred(); 
 title = (title==null?"left":title); 
 this.setActive(title); 
 var operactioner = document.getElementById("themes").getElementsByTagName("A"); 
 operactioner[0].onclick=function() { 
 jscc.widgets.styleSwitcher.setActive("left"); 
 return false; 
 }; 
 operactioner[1].onclick=function() { 
 jscc.widgets.styleSwitcher.setActive("right"); 
 return false; 
 }; 
 this.switcher(title); 
 }, 
 setActive:function(title){ 
 var i, a, main; 
 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 
 if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { 
 a.disabled = true; 
 if(a.getAttribute("title") == title) a.disabled = false; 
 } 
 } 
 this.switcher(title); 
 //jscc.cookie.create("style", title,"365"); 
 }, 
 getActive:function(){ 
 var i, a; 
 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 
 if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");} 
 return null; 
 }, 
 getPreferred:function (){ 
 var i, a; 
 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { 
 if(a.getAttribute("rel").indexOf("style") != -1 
 && a.getAttribute("rel").indexOf("alt") == -1 
 && a.getAttribute("title") 
 ) return a.getAttribute("title"); 
 } 
 return null; 
 }, 
 switcher:function(theme){ 
 if(!document.getElementById(["theme_"+theme])) { return;} 
 var notheme=(theme=="left"?"right":"left"); 
 document.getElementById(["theme_"+notheme]).style.display="inline"; 
 document.getElementById(["theme_"+theme]).style.display="none"; 
 }, 
 end:function(e){ 
 var title = this.getActive(); 
 jscc.cookie.create("style", title,"365"); 
 } 
}; 
//jscc.addEvent(window,"load",function(e){jscc.widgets.styleSwitcher.init()}); 
jscc.addEvent(window,"unload",function(e){jscc.widgets.styleSwitcher.end()}); 
 init:function(){ 
 document.getElementById("toTop").onclick=function(e){ 
 jscc.widgets.toTop.set(); 
 return false; 
 } 
 }, 
 waitTimer:null, 
 set:function(){ 
 var d_st=document.documentElement.scrollTop; 
 if(window.navigator.userAgent.indexOf("MSIE")>=1){ 
 for (var i=d_st; i>10; i-=Math.floor(i/6)){ 
 window.scrollTo(0,i); 
 } 
 window.scrollTo(0,10); 
 } 
 else{ 
 window.scrollTo(0,Math.floor(d_st / 2)); 
 waitTimer=setTimeout("jscc.widgets.toTop.set()",20); 
 } 
 else{ 
 clearTimeout(waitTimer); 
 } 
 } 
 } 
} 
jscc.api={ 
 google:{ 
 init:function(){ 
 try{ 
 var searchControl = new GSearchControl(); 
 } 
 catch(e){ 
 return; 
 } 
 options.setSearchFormRoot(document.getElementById("googleSearchForm")); 
 options.setDrawMode(GSearchControl.DRAW_MODE_TABBED); 
 searchControl.setLinkTarget(GSearch.LINK_TARGET_SELF); 
 searchControl.setResultSetSize(GSearch.LARGE_RESULTSET); 
 siteSearch.setUserDefinedLabel("站内搜索"); 
 siteSearch.setUserDefinedClassSuffix("siteSearch"); 
 siteSearch.setSiteRestriction("www.loaoao.com"); 
 searchControl.addSearcher(siteSearch); 
 var labSearch = new GwebSearch(); 
 labSearch.setUserDefinedLabel("嗷嗷的实验室搜索"); 
 labSearch.setUserDefinedClassSuffix("labSearch"); 
 labSearch.setSiteRestriction("lab.loaoao.com"); 
 searchControl.addSearcher(labSearch); 
 var wwwSearch = new GwebSearch(); 
 wwwSearch.setUserDefinedLabel("Google搜索"); 
 labSearch.setUserDefinedClassSuffix("wwwSearch"); 
 searchControl.addSearcher(wwwSearch); 
 // searchControl.execute("css"); 
 } 
 } 
} 
loaoao.com = function(){ 
 if (!document.getElementById) return; 
 jscc.widgets.styleSwitcher.init(); 
 jscc.widgets.fixedsidebar.init(); 
 jscc.widgets.toTop.init(); 
 jscc.api.google.init(); 
}; 
jscc.addEvent(window,"load",loaoao.com); 
