mySlideOutMenu.Registry = []
mySlideOutMenu.aniLen = 250
mySlideOutMenu.hideDelay = 100
mySlideOutMenu.minCPUResolution = 10
mySlideOutMenu.curo = "";
mySlideOutMenu.on = "";
mySlideOutMenu.off = "";
var o_o;

// constructor
function mySlideOutMenu(on,off,id, dir, left, top, width, height){
	this.ie  = document.all ? 1 : 0
	this.ns4 = document.layers ? 1 : 0
	this.dom = document.getElementById ? 1 : 0

	this.css = "";

	if (this.ie || this.ns4 || this.dom) {
		mySlideOutMenu.on = on;
		mySlideOutMenu.off = off;
		this.id			 = id
		this.dir		 = dir
		this.orientation = dir == "left" || dir == "right" ? "h" : "v"
		this.dirType	 = dir == "right" || dir == "down" ? "-" : "+"
		this.dim		 = this.orientation == "h" ? width : height
		this.hideTimer	 = false
		this.aniTimer	 = false
		this.open		 = false
		this.over		 = false
		this.startTime	 = 0

		// global reference to this object
		this.gRef = "mySlideOutMenu_"+id
		eval(this.gRef+"=this")

		// add this menu object to an internal list of all menus
		mySlideOutMenu.Registry[id] = this

		var d = document

		var strCSS = "";
		strCSS += '#' + this.id + 'Container { visibility:hidden; '
		strCSS += 'left:' + left + 'px; '
		strCSS += 'top:' + top + 'px; '
		strCSS += 'width:' + width + 'px; '
		strCSS += 'height:' + height + 'px; '		
		strCSS += 'overflow:hidden; z-index:10000; }'
		strCSS += '#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; '
		strCSS += '}'

		this.css = strCSS;

		this.load()
	}
}

mySlideOutMenu.writeCSS = function() {
	document.writeln('<style type="text/css">');

	for (var id in mySlideOutMenu.Registry) {
		document.writeln(mySlideOutMenu.Registry[id].css);
	}

	document.writeln('</style>');
}

mySlideOutMenu.prototype.load = function() {
	var d = document
	var lyrId1 = this.id + "Container"
	var lyrId2 = this.id + "Content"
	var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
	if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
	var temp

	if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
	else {
		this.container	= obj1
		this.menu		= obj2
		this.style		= this.ns4 ? this.menu : this.menu.style
		this.homePos	= eval("0" + this.dirType + this.dim)
		this.outPos		= 0
		this.accelConst	= (this.outPos - this.homePos) / mySlideOutMenu.aniLen / mySlideOutMenu.aniLen 

		// set event handlers.
		if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		this.menu.onmouseover = new Function("mySlideOutMenu.showMenu('" + this.id + "')")
		this.menu.onmouseout = new Function("mySlideOutMenu.hideMenu('" + this.id + "')")
		
		//set initial state
		this.endSlide()
	}
}
	
mySlideOutMenu.showMenu = function(id,o){
	var reg = mySlideOutMenu.Registry
	  var obj = mySlideOutMenu.Registry[id];
	  if (obj.container) {
		  obj.over = true;
  
		  // close other menus.
		  
		  //for (menu in reg) if(id != menu) mySlideOutMenu.hide(menu)
  
		  // if this menu is scheduled to close, cancel it.
		  if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
  
		  // if this menu is closed, open it.
		  if (!obj.open && !obj.aniTimer){
			  if( o != undefined ){
				 if( o_o != undefined ){ 
				 	o_o.className = mySlideOutMenu.off; 
				 }
				 o_o = o;
				 o.className = mySlideOutMenu.on;
			  }
			  reg[id].startSlide(true);
		  }
	  }

}

mySlideOutMenu.hideMenu = function(id,o){
	// schedules the menu to close after <hideDelay> ms, which
	// gives the user time to cancel the action if they accidentally moused out
	
	var obj = mySlideOutMenu.Registry[id];
	if (obj.container) {
		if (obj.hideTimer) window.clearTimeout(obj.hideTimer);
		obj.hideTimer = window.setTimeout("mySlideOutMenu.hide('" + id + "')", mySlideOutMenu.hideDelay);
	}
}

mySlideOutMenu.hideAll = function(){
	var reg = mySlideOutMenu.Registry
	for (menu in reg) {
		mySlideOutMenu.hide(menu);
		if (menu.hideTimer) window.clearTimeout(menu.hideTimer);
	}
}

mySlideOutMenu.hide = function(id){
	var obj = mySlideOutMenu.Registry[id]
	obj.over = false

	if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
	
	// flag that this scheduled event has occured.
	obj.hideTimer = 0

	// if this menu is open, close it.
	if (obj.open && !obj.aniTimer) obj.startSlide(false)
}

mySlideOutMenu.prototype.startSlide = function(open) {
	this[open ? "onactivate" : "ondeactivate"]()
	this.open = open
	if (open) this.setVisibility(true);
	this.startTime = (new Date()).getTime()	
	this.aniTimer = window.setInterval(this.gRef + ".slide()", mySlideOutMenu.minCPUResolution);
}

mySlideOutMenu.prototype.slide = function() {
	var elapsed = (new Date()).getTime() - this.startTime
	if (elapsed > mySlideOutMenu.aniLen) {
		this.endSlide();
	}
	else {
		var d = Math.round(Math.pow(mySlideOutMenu.aniLen-elapsed, 2) * this.accelConst)
		if (this.open && this.dirType == "-")		d = -d
		else if (this.open && this.dirType == "+")	d = -d
		else if (!this.open && this.dirType == "-")	d = -this.dim + d
		else										d = this.dim + d

		this.moveTo(d);
	}
}

mySlideOutMenu.prototype.endSlide = function() {
	this.aniTimer = window.clearTimeout(this.aniTimer)
	this.moveTo(this.open ? this.outPos : this.homePos)
	if (!this.open){ 
		this.setVisibility(false);
	}
	if ((this.open && !this.over) || (!this.open && this.over)) {
		this.startSlide(this.over)
	}
}

mySlideOutMenu.prototype.setVisibility = function(bShow) { 
	var s = this.ns4 ? this.container : this.container.style
	s.visibility = bShow ? "visible" : "hidden"
}
mySlideOutMenu.prototype.moveTo = function(p) { 
	this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px";
}
mySlideOutMenu.prototype.getPos = function(c) {
	return parseInt(this.style[c])
}

// events
mySlideOutMenu.prototype.onactivate		= function() { }
mySlideOutMenu.prototype.ondeactivate	= function() { }


//标签切换
function o_tab(){
	var tab_menu,tab_main;
	var on,off;
	var type;
	
	function $( id ){ return document.getElementById( id );}
	
	function setListener(){
		for( var i = 0; i < tab_menu.length; i++ ){
			tab_menu[i].cur_no = i;
			if( type == "" ){
				tab_menu[i].onclick = setOnAndOff;
			} else {
				tab_menu[i].onclick = setOnAndOff;
			}
		}
	}
	
	function setOnAndOff(){
		for( var i=0; i<tab_menu.length; i++ ){
		   	$(tab_main+(i+1)).style.display = ( i==this.cur_no )?"block":"none";
			tab_menu[i].className = ( i==this.cur_no )?on:off;
		}
		return false;
	}
	
	this.init = function( tab_menu1,tagName,tab_main1,on1,off1,no1,type1 ){
		tab_menu = $(tab_menu1).getElementsByTagName( tagName );
		tab_main = tab_main1;
		on = on1;
		off = off1;
		type = type1;
		tab_menu[no1-1].className = on;
		$(tab_main+no1).style.display = "block";
		setListener();
	}

}

//ie6支持png
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
   var arVersion = navigator.appVersion.split("MSIE")
   var version = parseFloat(arVersion[1])
   if ((version >= 5.5) && (document.body.filters)) 
   {
      for(var j=0; j<document.images.length; j++)
      {
         var img = document.images[j]
         var imgName = img.src.toUpperCase()
         if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
         {
            var imgID = (img.id) ? "id='" + img.id + "' " : ""
            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
            var imgStyle = "display:inline-block;" + img.style.cssText 
            if (img.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.align == "right") imgStyle = "float:right;" + imgStyle
            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
            img.outerHTML = strNewHTML
            j = j-1
         }
      }
   }    
}
if(document.all){
		window.attachEvent("onload", correctPNG);
	}

//首页随机壁纸和漫画
function setWP()
{
	var WPNum = Math.ceil(Math.randomMax(12));
	
	//壁纸部分
	$("wp").src="http://image.91.com/jz/img/2009/03/20/wp"+WPNum +".jpg";
	//漫画部分
	var mhFile="";
	//alert(WPNum);
	switch(WPNum)
	{
		case 1:mhFile="2008-02-24/slu5d5hs23tn7bf";break;
		case 2:mhFile="2008-02-24/n7102bnel08eujs";break;
		case 3:mhFile="2008-02-24/xd1653s11sg3156";break;
		case 4:mhFile="2008-02-24/s6a036q3t17t8c0";break;
		case 5:mhFile="2008-02-24/1e34l52rwy8genk";break;
		case 6:mhFile="2008-02-24/3ji3eon181p6p5r";break;
		case 7:mhFile="2008-02-24/2yy2d1122qb30q6";break;
		case 8:mhFile="2008-02-24/2d2wr3cb0rhn7bn";break;
		case 9:mhFile="2008-02-24/qk53l4xklms852r";break;
		case 10:mhFile="2008-02-24/e73xm4o5b676jmi";break;
		case 11:mhFile="2008-02-24/306yt84qbd12go6";break;
		case 12:mhFile="2008-02-24/jl7725mkf21h8yy";break;
	}
	
	$("mh").innerHTML="<a href='http://photo.news.91.com/picfile/"+mhFile+".shtml' target='_blank' ><img src='http://image.91.com/jz/img/2009/03/20/mh"+WPNum+".jpg' /></a>";
}


//91问吧JS

function setBtn(m){
for(j=1;j<9;j++)
{
if(j==1)
document.writeln("<a style=\"color:yellow\" href=\"http:\/\/wb.91.com\/answerlist.php?CurrPage=" + j + "&parentid=12&status=" + m + "\" target=\"_blank\">[" + j + "]<\/a> ");
else
document.writeln("<a href=\"http:\/\/wb.91.com\/answerlist.php?CurrPage=" + j + "&parentid=12&status=" + m + "\" target=\"_blank\">[" + j + "]<\/a> ");
}
document.writeln("<a href=\"http:\/\/wb.91.com\/answerlist.php?parentid=12&status=" + m + "\" target=\"_blank\">[更多>>]<\/a>");
}


//设置鼠标经过显示隐藏
function setMouseShow(id,tagName,conTagName,className){
var list = document.getElementById(id).getElementsByTagName(tagName);
for(i=0;i<list.length;i++){
		list[i].onmouseover = function(){
			if(this.getElementsByTagName(conTagName)[0]){
				if(className){
						this.className='on';
					}
				this.getElementsByTagName(conTagName)[0].style.display="block";
				}
		}
		list[i].onmouseout = function(){
			if(this.getElementsByTagName(conTagName)[0]){
				if(className){
						this.className='';
					}
				this.getElementsByTagName(conTagName)[0].style.display="none";
				}
		}
	}
}



//标签切换主函数
function setTab(tabId, tag1, tabclass, conId, tag2, changeEvent, changeTime, isClick, isClickAll, fadeTime, isReturnFalse, isConIdNum, onNum) {
  var tli = document.getElementById(tabId).getElementsByTagName(tag1);
  if (!isConIdNum) {
    var cli = document.getElementById(conId).getElementsByTagName(tag2);
  }

  var opaStep = 0.1;
  var isScroll = true;
  for (i = 0; i < tli.length; i++) {
    if (isConIdNum) {
      document.getElementById(conId + i).style.display = "none";
    } else {
      cli[i].style.display = "none";
    }
  }
  tli[onNum].className = tabclass;
  if (isConIdNum) {
    document.getElementById(conId + onNum).style.display = "block";
  } else {
    cli[onNum].style.display = "block";
  }
  for (i = 0; i < tli.length; i++) {
    tli[i].value = i;
    tli[i].onmouseout = function() {
      isScroll = true;
    }
    tli[i].onmouseover = function() {
      isScroll = false;
    }
    if (changeEvent == "click") {
      tli[i].onclick = function() {
        setTabCon(this.value);
        if (isReturnFalse) {
          return false;
        }
      }
    } else if (changeEvent == "hover") {
      tli[i].onmouseover = function() {
        setTabCon2(this.value);
        isScroll = false;
      }
      tli[i].onclick = function() {
        setTabCon(this.value);
        if (isReturnFalse) {
          return false;
        }
      }
    }
  }

  //设置标签标题与内容切换
  function setTabCon(n) {
    if (isClickAll) {
      tli[n].className = (tli[n].className == tabclass) ? "": tabclass;
      if (fadeTime) {
        if (isConIdNum) { (document.getElementById(conId + n).style.display == "block") ? fadeOut(document.getElementById(conId + n)) : fadeIn(document.getElementById(conId + n));
        } else { (cli[n].style.display == "block") ? fadeOut(cli[n]) : fadeIn(cli[n]);
        }
      } else {
        if (isConIdNum) {
          document.getElementById(conId + n).style.display = (document.getElementById(conId + n).style.display == "block") ? "none": "block";
        } else {
          cli[n].style.display = (cli[n].style.display == "block") ? "none": "block";
        }
      }
    } else if (isClick) {
      for (j = 0; j < tli.length; j++) {
        if (n == j) {
          tli[j].className = (tli[j].className == tabclass) ? "": tabclass;
        } else {
          tli[j].className = "";
        }
        if (isConIdNum) {
          if (fadeTime) {
            if (n == j) {
              if (document.getElementById(conId + j).style.display == "none") {
                fadeIn(document.getElementById(conId + j));
              } else {
                fadeOut(document.getElementById(conId + j))
              };
            } else {
              document.getElementById(conId + j).style.display = "none";
              /*fadeOut(document.getElementById(conId+j));*/
            }
          } else {
            document.getElementById(conId + j).style.display = n == j ? "block": "none";
          }
        } else {
          if (fadeTime) {
            if (n == j) {
              if (cli[j].style.display == "none") {
                fadeIn(cli[j]);
              } else {
                fadeOut(cli[j])
              };
            } else {
              cli[j].style.display = "none";
              /*fadeOut(cli[j]);*/
            }
          } else {
            cli[j].style.display = n == j ? "block": "none";
          }
        }
      }
      onNum = n;
    } else {
      for (j = 0; j < tli.length; j++) {
        tli[j].className = n == j ? tabclass: "";
        if (isConIdNum) {
          if (fadeTime) {
            if (n == j) {
              if (document.getElementById(conId + j).style.display == "none") {
                fadeIn(document.getElementById(conId + j));
              }
            } else {
              document.getElementById(conId + j).style.display = "none";
              /*fadeOut(document.getElementById(conId+j));*/
            }
          } else {
            document.getElementById(conId + j).style.display = n == j ? "block": "none";
          }
        } else {
          if (fadeTime) {
            if (n == j) {
              if (cli[j].style.display == "none") {
                fadeIn(cli[j]);
              }
            } else {
              cli[j].style.display = "none";
              /*fadeOut(cli[j]);*/
            }
          } else {
            cli[j].style.display = n == j ? "block": "none";
          }
        }
      }
      onNum = n;
    }
  }

  //设置标签标题与内容切2
  function setTabCon2(n) {
    for (j = 0; j < tli.length; j++) {
      tli[j].className = n == j ? tabclass: "";
      if (isConIdNum) {
        if (fadeTime) {
          if (n == j) {
            if (document.getElementById(conId + j).style.display == "none") {
              fadeIn(document.getElementById(conId + j));
            }
          } else {
            document.getElementById(conId + j).style.display = "none";
            /*fadeOut(document.getElementById(conId+j));*/
          }
        } else {
          document.getElementById(conId + j).style.display = n == j ? "block": "none";
        }
      } else {
        if (fadeTime) {
          if (n == j) {
            if (cli[j].style.display == "none") {
              fadeIn(cli[j]);
            }
          } else {
            cli[j].style.display = "none";
            /*fadeOut(cli[j]);*/
          }
        } else {
          cli[j].style.display = n == j ? "block": "none";
        }
      }
    }
    onNum = n;
  }

  //设置透明度
  function setAlpha(obj, opa) {
    document.all ? obj.style.filter = "Alpha(opacity=" + opa * 100 + ")": obj.style.opacity = opa;
  }

  //渐显
  function fadeIn(obj) {
    obj.style.display = "block";
    var opa = 0;
    function setFadeIn() {
      if (opa < 1) {
        setAlpha(obj, opa);
        opa += opaStep;
        setTimeout(setFadeIn, fadeTime);
      }
    }
    setFadeIn();
  }

  //渐隐
  function fadeOut(obj) {
    var opa = 1;
    function setFadeOut() {
      if (opa > 0) {
        setAlpha(obj, opa);
        opa -= opaStep;
        setTimeout(setFadeOut, fadeTime);
      } else {
        obj.style.display = "none";
      }
    }
    setFadeOut();
  }

  //定时切换
  if (changeTime) {
    function setTiming() {
      if (isScroll) {
        setTabCon2(onNum);
        onNum++;
        onNum = (onNum == tli.length) ? 0 : onNum;
      }
      setTimeout(setTiming, changeTime);
    }
    setTiming();
  }
}






//back to top
var persistclose=0
var startX = 10
var startY = 400
var verticalpos="fromtop"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}


function staticbar(){
	barheight=document.getElementById("floatbar").offsetHeight
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var d = document;
	function ml(id){
		var el=d.getElementById(id);
		if (!persistclose || persistclose && get_cookie("remainclosed")=="")
		el.style.visibility="visible"
		if(d.layers)el.style=el;
		el.sP=function(x,y){this.style.right=x+"px";this.style.top=y+"px";};
		el.x = startX;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function(){
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : iecompattest().scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/5;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
		ftlObj.y += (pY - startY - ftlObj.y)/5;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 5);
	}
	ftlObj = ml("floatbar");
	stayTopLeft();
}

function backToTop() {
	 var x1 = x2 = x3 = 0; var y1 = y2 = y3 = 0;
	 if (document.documentElement) { x1 = document.documentElement.scrollLeft || 0; y1 = document.documentElement.scrollTop || 0;}
	 if (document.body) { x2 = document.body.scrollLeft || 0; y2 = document.body.scrollTop || 0;}
	 x3 = window.scrollX || 0;
	 y3 = window.scrollY || 0;
	 var x = Math.max(x1, Math.max(x2, x3));
	 var y = Math.max(y1, Math.max(y2, y3));
	 window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));
	 if (x > 0 || y > 0) { window.setTimeout("backToTop()", 5);}
}

// 通用显示flash函数 主要用于flash在sp2上需要点击一下的框架
function showFlash(iUrl,iWidth,iHeight,iWmode)
{
flash = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+ iWidth +'" height="' + iHeight +'" />';
flash = flash + '<param name="movie" value="'+ iUrl +'" />';
flash = flash + '<param name="quality" value="high" />';
flash = flash + '<param name="menu" value="false" />';
flash = flash + '<param name="allowScriptAccess" value="always" />';
if (iWmode == 1) {
	flash = flash + '<param name="wmode" value="transparent" />';		
}
flash = flash + '<embed src="' + iUrl + '" width="'+ iWidth +'" height="'+ iHeight +'" allowScriptAccess="always" menu="false" quality="high" ';
if (iWmode == 1) {
	flash = flash + 'wmode="transparent" ';		
}
flash = flash + ' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" mwode="transparent"></embed>';
flash = flash + '</object>';

document.writeln(flash); 
//alert(flash);
}

//设置左边侧栏
var myTemp=8;
function mychg(n){
                                if(n>9){n=9}
		myTemp = n-1;
	}

/*机体页面左侧导航样式修改*/
function jiti(){
  document.getElementById("gleft02").className="m2_1";
  document.getElementById("gleft04").className="m4";
}


//机战首页新版FLASH调用碎片

function playFlash(flashid,iUrl,iWmode,iWidth,iHeight){
	var fpic =document.getElementById(flashid).getElementsByTagName("img");
	var flink =document.getElementById(flashid).getElementsByTagName("a");
	var imag=new Array();
	var link=new Array();
	for(var i=0;i<fpic.length;i++){
	   imag[i]=fpic[i].src;
	   link[i]=flink[i].href;
	   } 

var flashvars="";
for(var i=0; i<imag.length; i++){
	if( i == imag.length-1 ){
	flashvars=flashvars+(imag[i] + "#" + link[i]);
	}else{
	flashvars=flashvars+(imag[i] + "#" + link[i]+"|");	
		}
}
//alert(imag.length);
flash = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+ iWidth +'" height="' + iHeight +'" />';
flash = flash + '<param name="movie" value="'+ iUrl +'" />';
flash = flash + '<param name="quality" value="high" />';
flash = flash + '<param name="menu" value="false" />';
if (iWmode == 1) {
	flash = flash + '<param name="wmode" value="transparent" />';		
}
flash = flash + '<param name="FlashVars" value="mylinkpic='+flashvars+'" />';
flash = flash + '<embed src="' + iUrl + '" width="'+ iWidth +'" height="'+ iHeight +'" menu="false" quality="high" ';
if (iWmode == 1) {
	flash = flash + 'wmode="transparent" ';		
}
flash = flash + ' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" mwode="transparent" flashvars="mylinkpic='+flashvars+'"></embed>';
flash = flash + '</object>';

document.writeln(flash); 

}

