/*-------------------------
----- @auther:simue
----- @Last:2010.3.15
--------------------------*/

//自定义匿名函数
(function(){
	var namespaces = ["simEle", "simBrowser", "simEvent", "simAjax","simString"];
	for(var i = 0, j = namespaces.length; i < j; i ++){
		if(window[namespaces[i]] != 'object')
			window[namespaces[i]] = {};
	}
})();
(function(){
  var d=document;
  var ua=navigator.userAgent.toLowerCase();
  var isStrict = d.compatMode == "CSS1Compat",
		isOpera = ua.indexOf("opera") > -1,
		isSafari = (/webkit|khtml/).test(ua),
		isSafari3 = isSafari && ua.indexOf('webkit/5') != -1,
		isIE = !isOpera && ua.indexOf("msie") > -1,
		isIE7 = !isOpera && ua.indexOf("msie 7") > -1,
		isIE8 = !isOpera && ua.indexOf("msie 8") > -1,
		isGecko = !isSafari && ua.indexOf("gecko") > -1,
		isBorderBox = isIE && !isStrict,
		isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1),
		isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1),
		isAir = (ua.indexOf("adobeair") != -1),
		isLinux = (ua.indexOf("linux") != -1),
		isSecure = window.location.href.toLowerCase().indexOf("https") === 0;

  // remove css image flicker
  if(isIE && !isIE7 && !isIE8){
    try{
      d.execCommand("BackgroundImageCache", false, true);
    }catch(e){}
  }
  var browsers = {
    isOpera : isOpera,
    isSafari : isSafari,
    isSafari3 : isSafari3,
    isSafari2 : isSafari && !isSafari3,
    isIE : isIE,
    isIE6 : isIE && !isIE7 && !isIE8,
    isIE7 : isIE7,
    isIE8 : isIE8,
    isGecko : isGecko,
    isBorderBox : isBorderBox,
    isLinux : isLinux,
    isWindows : isWindows,
    isMac : isMac,
    isAir : isAir
  };
  for(var p in browsers){
    simBrowser[p] = browsers[p];
  }
  
  
  
/* simEle scope */
  window.sim$ = simEle.cleck = function(id){
    return "string"==typeof id?d.getElementById(id):id;
  }
  
  simEle.removeNode = isIE ? function(){
    var d;
    return function(node){
      if(node && node.tagName != 'BODY'){
        d = d || d.createElement('DIV');
        d.appendChild(node);
        d.innerHTML = '';
      }
    }
  }() : function(node){
    if(node && node.parentNode && node.tagName != 'BODY'){
      node.parentNode.removeChild(node);
    }
  }

/* simEvent scope */
  simEvent.addEvent = function(el, fn, handler){
    if(isIE){
      el.attachEvent("on" + fn, handler);
    }else{
      el.addEventListener(fn, handler, false); 
    }
  }

  simEvent.removeEvent = function(el, fn, handler){
    if(isIE){
      el.detachEvent("on" + fn, handler);
    }else{
      el.removeEventListener(fn, handler, false);
    }
  }


  simEvent.ondomload = (function(){
// create event function stack
    var load_events=[],
        load_timer,
        script,
        done,
        exec,
        old_onload,
        init = function(){
          done = true;
          // kill the timer
          clearInterval(load_timer);
          // execute each function in the stack in the order they were added
          while (exec = load_events.shift())
          setTimeout(exec, 10);
          if (script) script.onreadystatechange = '';
        };

    return function (func) {
      // if the init function was already ran, just run this function now and stop
      if (done) return func();

      if (!load_events[0]) {
        // for Mozilla/Opera9
        if (d.addEventListener)
        d.addEventListener("DOMContentLoaded", init, false);
        // for Internet Explorer
        /*@cc_on @*/
        /*@if (@_win32)
        d.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");
        script = d.getElementById("__ie_onload");
        script.onreadystatechange = function() {
          if (this.readyState == "complete")
          init(); // call the onload handler
        };
        /*@end @*/

        // for Safari
        if (/WebKit/i.test(navigator.userAgent)) { // sniff
          load_timer = setInterval(function() {
            if (/loaded|complete/.test(d.readyState))
            init(); // call the onload handler
          },10);
        }

        // for other browsers set the window.onload, but also execute the old window.onload
        old_onload = window.onload;

        window.onload = function(){
                init();
                if (old_onload) old_onload();
        };
      }
      load_events.push(func);
    }
	})();

//字符串操作函数去掉首位空格，计算中文实际长度，截字符串并加“…”
  simString.trim=function(str){
		return str.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+$)/g, "");
	}
	simString.byteLength = function(str){
		return str.replace(/[^\x00-\xFF]/g, "ly").length;
	}
	simString.subByte = function(s, n){
		if(this.byteLength(s)<=n) 
			return s;
		for(var i=Math.floor((n=n-2)/2),l=s.length; i<l; i++)
			if(this.byteLength(s.substr(0,i))>=n)
				return s.substr(0,i) +"\u2026";
		return s;
	}


})();

 











//显示隐藏层的函数:setDisplay(tab1,block,tab2,none,tab3,none);
//显示tab1,隐藏tab2和tab3
function setDisplay(){
	for(i=0;i<arguments.length;i++){
		sim$(arguments[i]).style.display=arguments[i+1];
		i++;
	}
}
var basew=523,diff=0,oldMarL=0,newMarL=0,moveEnd=0,nowpi=1;

function addMarL(){
	newMarL = oldMarL + (Math.ceil(diff/7)==0?-2:Math.ceil(diff/7));
	sim$('boxs').style.marginLeft=newMarL.toString() + "px";
}
function turnpage(){
	if(arguments[0]){
		if(arguments[0]=='next'){
			nowpi=(nowpi)%4+1;
		}else{
			nowpi=arguments[0];
		}
		moveEnd=basew*(1-nowpi);
	}
	oldMarL = parseInt(sim$('boxs').style.marginLeft);
	diff = moveEnd - oldMarL;
	if(Math.abs(diff) > 2 ){
		addMarL();
		var stbox=setTimeout('turnpage()',20);
	}else{
		sim$('boxs').style.marginLeft = moveEnd.toString() + "px";
		clearTimeout(stbox);
	}
}

function pageloaded(){
  sim$('loading').style.display='none';
  sim$('warp').style.display='block';
}


//加强windos.onload实现加载DOM后立刻执行
//simEvent.ondomload( function(){} );
//原版实现全部加载完成后执行
window.onload=function(){pageloaded();};
