掲械音危議匯倖javascript 窃

  掲械音危議匯倖javascript 窃

  

鹸崙旗鷹 旗鷹泌和:

  /*

  *  Author:aoao

  *    Homepage:http://www.loaoao.com

  *  Email:[email protected] / QQ:2222342

  *  Copyright (c) 2006 aoao

  *  Licensed under a Creative Commons Attribution 2.5 License (http://creativecommons.org/licenses/by/2.5/)

  */

  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 = {/**/};

  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<this.fixedHeight?0:d_st-this.fixedHeight-42);

  }

  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<parseInt(sidebar.style.marginTop,10)){

  var newtop= 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 = {

  //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()});

  jscc.widgets.toTop = {

  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));

  if(d_st>10){

  waitTimer=setTimeout("jscc.widgets.toTop.set()",20);

  }

  else{

  clearTimeout(waitTimer);

  }

  }

  }

  }

  jscc.api={

  google:{

  init:function(){

  try{

  var searchControl = new GSearchControl();

  }

  catch(e){

  return;

  }

  var options = new GdrawOptions();

  options.setSearchFormRoot(document.getElementById("googleSearchForm"));

  options.setDrawMode(GSearchControl.DRAW_MODE_TABBED);

  searchControl.setLinkTarget(GSearch.LINK_TARGET_SELF);

  searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);

  var siteSearch = new GwebSearch();

  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.draw(document.getElementById("googleSearchResults"), options);

  //    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);