// SWAP IMAGES +++++++++++++++++++++++++++++++++++//
function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0; a&&i<a.length&&(x=a[i])&&x.oSrc; i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
	var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0; !x&&i<d.forms.length; i++) x=d.forms[i][n];
	for(i=0; !x&&d.layers&&i<d.layers.length; i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0; i<(a.length-2); i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
// PRELOAD IMAGES ++++++++++++++++++++++++++++++++//
function preloadImages(the_images_array) {
	for(var loop = 0; loop < the_images_array.length; loop++) {
		var an_image = new Image();
		an_image.src = the_images_array[loop];
	}
}

function doPreload(pagecategory) {
	if ( pagecategory == "product" || pagecategory == "search" || pagecategory == "vote" || pagecategory == "login" || "member" || pagecategory == "inquire" || pagecategory == "advice" ) {
		var the_images = new Array(
		'/product/image/btn_comment_01_ovr.gif',
		'/product/image/btn_comment_02_ovr.gif',
		'/product/image/btn_s_list_02_ovr.gif',
		'/product/image/btn_s_list_03_ovr.gif',
		'/product/image/btn_s_list_04_ovr.gif',
		'/product/image/btn_s_list_05_ovr.gif',
		'http://image.beaubeau.com.cn/remote/common/image/btn_detail_01_ovr.gif',
		'http://image.beaubeau.com.cn/remote/common/image/btn_entry_01_ovr.gif',
		'/member/image/btn_member_01_ovr.gif',
        '/product/image/btn_s_list_06_ovr.gif'
		);

	preloadImages(the_images);
	}else if(pagecategory == "bbs") {
		var the_images = new Array(
		'http://image.beaubeau.com.cn/remote/common/image/btn_detail_01_ovr.gif',
		'http://image.beaubeau.com.cn/remote/common/image/btn_entry_02_ovr.gif',
		'/bbs/image/btn_newtopic_01_ovr.gif',
		'/bbs/image/btn_comment_01_ovr.gif'
		);

	preloadImages(the_images);
	}else if(pagecategory == "questionnaire") {
		var the_images = new Array(
		'http://image.beaubeau.com.cn/remote/common/image/btn_detail_01_ovr.gif',
		'http://image.beaubeau.com.cn/remote/common/image/btn_entry_01_ovr.gif',
		'http://image.beaubeau.com.cn/remote/common/image/btn_entry_02_ovr.gif'
		);

	preloadImages(the_images);
    } else if(pagecategory == "index") {
		var the_images = new Array(
        'http://image.beaubeau.com.cn/remote/common/image/indexnew/txt_center_1_ovr.gif',
        'http://image.beaubeau.com.cn/remote/common/image/indexnew/txt_center_2_ovr.gif',
        'http://image.beaubeau.com.cn/remote/common/image/indexnew/txt_center_3_ovr.gif',
        'http://image.beaubeau.com.cn/remote/common/image/indexnew/txt_center_4_ovr.gif'
		);
        preloadImages(the_images);
    } else if(pagecategory == "beau_index") {
		var the_images = new Array(
        '/beauty/index/btn_change_ovr.gif',
        '/beauty/index/btn_makeup_ovr.gif',
        '/beauty/index/btn_mika_ovr.gif',
        '/beauty/index/btn_niko_ovr.gif',
        '/beauty/index/btn_skincare_ovr.gif',
        '/beauty/index/btn_wm_ovr.gif',
        '/beauty/index/prt_change.jpg',
        '/beauty/index/prt_column.jpg',
        '/beauty/index/prt_lesson.jpg',
        '/beauty/index/prt_makeup.jpg',
        '/beauty/index/prt_mika.jpg',
        '/beauty/index/prt_niko.jpg',
        '/beauty/index/prt_skincare.jpg'
		);
        preloadImages(the_images);
    }
    
}

// SWAP_IMAGES +++++++++++++++++++++++++++++++++++++++++++//
var stockUaObj,stockUaSrc;
function setOverAction(_obj){
	stockUaObj = _obj;
	stockUaSrc = _obj.firstChild.src;
	if(stockUaSrc.indexOf("_cur.jpg") > 0){
		s = stockUaSrc.indexOf("_cur.gif");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + "_ovr.jpg";
	}else if(stockUaSrc.indexOf(".jpg") > 0){
		s = stockUaSrc.indexOf(".jpg");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + "_ovr.jpg";
    }else if(stockUaSrc.indexOf(".png") > 0){
		s = stockUaSrc.indexOf(".png");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + "_ovr.png";
	}else{
		s = stockUaSrc.indexOf(".gif");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + "_ovr.gif";
	}
}
function setOutAction(){
	stockUaObj.firstChild.src = stockUaSrc;
}
function setOutAction2(_obj){
	stockUaObj = _obj;
	stockUaSrc = _obj.firstChild.src;
	if(stockUaSrc.indexOf("_ovr.jpg") > 0){
		s = stockUaSrc.indexOf("_ovr.jpg");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + ".jpg";
    }else if(stockUaSrc.indexOf("_ovr.png") > 0){
		s = stockUaSrc.indexOf("_ovr.png");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + ".png";
	}else if(stockUaSrc.indexOf("_ovr.gif") > 0){
		s = stockUaSrc.indexOf("_ovr.gif");
		_obj.firstChild.src = stockUaSrc.substring(0,s) + ".gif";
	}
}


// DEFAULT_CLEAR +++++++++++++++++++++++++++++++++++++++++++//
function defClear(_obj) {
	if(_obj.defaultValue==_obj.value)_obj.value='';
}

// SUBWINDOW +++++++++++++++++++++++++++++++++++++//
function Openwin(html,name,width,height,menubar,scroll,resize) {
SubWindow=window.open(html,name,"width="+width+",height="+height+",toolbar=0,location=0,status=0,menubar="+menubar+",scrollbars="+scroll+",resizable="+resize+"");
	SubWindow.focus();
}

// SUBWINDOW position center +++++++++++++++++++++++++++++++++++++//
function OpenwinCenter(html,name,width,height){
	var str="height="+height+",width="+width+",scrollbars=0,status=0";
	if(parseInt(navigator.appVersion)>3){
		str+=",left="+(screen.width-width)/2+",top="+parseInt((screen.height -height)/2);
	}
	win=window.open(html,name,str);
	win.focus();
}

// edit by Nixiaofeng 2007-02-09
function keyword_txt_check_1(pDefStr, pErrStr) {
	arguments['3'].value = arguments['2'].value + ' AND 美优专栏';

	var err = false;
	for(var i=2; i<arguments.length; i++){
		var val = arguments[i].value;
		if(val!=pDefStr && val!=""){
			return true;
		}
		err = true;
	}
	if(err){
		if(pErrStr!="")
			alert(pErrStr);
		return false;
	}
}

// NULL_CHECK +++++++++++++++++++++++++++++++++++++//
function keyword_txt_check(pDefStr, pErrStr) {
	var err = false;
	for(var i=2; i<arguments.length; i++){
		var val = arguments[i].value;
		if(val!=pDefStr && val!=""){
			return true;
		}
		err = true;
	}
	if(err){
		if(pErrStr!="")
			alert(pErrStr);
		return false;
	}
}

function keyword_select_check(pErrStr, pSelectObj) {
	if(pSelectObj.selectedIndex<0){
		if(pErrStr!="")
			alert(pErrStr);
		return false;
	}else{
		return true;
	}
}
function keyword_select_check2(pErrStr, pSelectObj) {
	if(pSelectObj.selectedIndex<1){
		if(pErrStr!="")
			alert(pErrStr);
		return false;
	}else{
		return true;
	}
}
function keyword_radio_check(pErrStr) {
	var err = false;
	for(var i=1; i<arguments.length; i++){
		var len = arguments[i].length;
		for(var k=0; k<len; k++){
			if(arguments[i][k].checked)
			return true;
		}
		err = true;
	}
	if(err){
		if(pErrStr!="")
			alert(pErrStr);
		return false;
	}
}
function mobile_club(msg) {
	if(!((keyword_txt_check('', '', document.form.elements['member[address]'])) && (keyword_txt_check('', '',document.form.elements['member[postcode]'])) && (keyword_txt_check('', '',document.form.elements['member[tel_mobile_all]'])) &&(keyword_select_check2('', document.form.elements['member[district_id]']) ))){alert(msg); } 
}
// SCROLL +++++++++++++++++++++++++++++++++++++//
var __scroll = {sp:6, fps:16, timer:0};
function setScrollSp(sp) {
	if(typeof sp == "number") {
		this.__scroll.sp = sp;
	}
}
function setScrollFps(fps) {
	if(typeof fps == "number") {
		this.__scroll.fps = fps;
	}
}
function scrollToTop() {
	pageScroll(0, 0);
}
function getScrollLeft() {
	if(navigator.userAgent.indexOf("MSIE") != -1) {
		return (document.compatMode=="CSS1Compat")?document.documentElement.scrollLeft:document.body.scrollLeft;
	} else {
 	 return (window.pageXOffset) ? window.pageXOffset : 0;
 }
}
function getScrollTop() {
	if(navigator.userAgent.indexOf("MSIE") != -1) {
		return (document.compatMode=="CSS1Compat")?document.documentElement.scrollTop:document.body.scrollTop;
	} else {
 	 return (window.pageYOffset) ? window.pageYOffset : 0;
 }
}
function pageScroll(toX, toY, cuX, cuY) {
	clearTimeout(this.__scroll.timer);
	toX = (!toX || toX < 0) ? 0 : toX;
	toY = (!toY || toY < 0) ? 0 : toY;
	cuX = (!cuX) ? 0 + getScrollLeft() : cuX;
	cuY = (!cuY) ? 0 + getScrollTop() : cuY;
	cuX += (toX - getScrollLeft()) / this.__scroll.sp; 
	cuY += (toY - getScrollTop()) / this.__scroll.sp; 
	if(cuX < 0) { cuX = 0; }
	if(cuY < 0) {	cuY = 0;	}
	window.scrollTo(Math.floor(cuX), Math.floor(cuY));
	if(Math.floor(cuX) != toX || Math.floor(cuY) != toY) {
		this.__scroll.timer = setTimeout("pageScroll("+toX+","+toY+"," +cuX+","+cuY+")",this.__scroll.sp);
	}
}

// SCROLL_PAGE_LINK +++++++++++++++++++++++++++++++++++++//
ScrollClass.prototype.speed = 12;
ScrollClass.prototype.timer = 0;
ScrollClass.prototype.direction = new Object();
ScrollClass.prototype.offset = new Object();

ScrollClass.prototype.isCompatMode = document.compatMode == "CSS1Compat";
ScrollClass.prototype.major = parseInt(navigator.appVersion);
ScrollClass.prototype.minor = parseFloat(navigator.appVersion);
ScrollClass.prototype.isIE = navigator.userAgent.indexOf("MSIE") != -1;
ScrollClass.prototype.isOpera = window.opera;
ScrollClass.prototype.isMozilla = navigator.userAgent.indexOf("Gecko") != -1;
ScrollClass.prototype.isNN  = navigator.userAgent.indexOf("Netscape") != -1;
ScrollClass.prototype.isMac = navigator.userAgent.indexOf("Mac") != -1;

var scroll = new ScrollClass();
function ScrollClass() {}
ScrollClass.prototype.setScrollSpeed = function(num) {
	if(typeof num == "number") {
		this.speed = num;
	}
}
ScrollClass.prototype.getScrollSpeed = function() {
	return this.speed;
}
ScrollClass.prototype.getMaxScroll = function() {
	var pos = new Object();
	if(this.isNN) {
		pos.x = this.major <= 5 ? document.documentElement.offsetWidth - window.innerWidth + 16 : document.documentElement.offsetWidth - window.innerWidth + 17;
		pos.y = this.major <= 5 ? document.documentElement.offsetHeight - window.innerHeight + 16 : document.documentElement.offsetHeight - window.innerHeight + 17;
	} else {
		if(this.isMac) {
			pos.x = document.body.offsetWidth- document.body.clientWidth + 1;
			pos.y = document.body.offsetHeight - document.body.clientHeight + 1;
		} else {
			pos.x = this.isCompatMode ? document.documentElement.scrollWidth - document.documentElement.clientWidth : document.body.scrollWidth - document.body.clientWidth;
			pos.y = this.isCompatMode ? document.documentElement.scrollHeight - document.documentElement.clientHeight : document.body.scrollHeight - document.body.clientHeight;
		}
	}
	if(pos.x < 0) { sc.x = 0; }
	if(pos.y < 0) { sc.y = 0; }
	return {x:pos.x, y:pos.y };
}
ScrollClass.prototype.getScrollLeft = function() {
	if(this.isIE) {
		return this.isCompatMode ? document.documentElement.scrollLeft : document.body.scrollLeft;
	} else {
		return window.pageXOffset ? window.pageXOffset : 0;
	}
}
ScrollClass.prototype.getScrollTop = function() {
	if(this.isIE) {
		return this.isCompatMode ? document.documentElement.scrollTop : document.body.scrollTop;
	} else {
		return window.pageYOffset ? window.pageYOffset : 0;
	}
}
ScrollClass.prototype.scrollTo = function() {
	clearTimeout(this.timer);
	this.offset.x = null;
	this.offset.y = null;
	var toX = this.parse("x", this.findAnchor(arguments[0]) ? this.getAnchorPos(arguments[0]).x : arguments[0]);
	var toY = this.parse("y", this.findAnchor(arguments[1]) ? this.getAnchorPos(arguments[1]).y : arguments[1]);
	this.direction.is_x = toX - this.getScrollLeft() >= 0 ? true : false;
	this.direction.is_y = toY - this.getScrollTop() >= 0 ? true : false;
	this.pageScroll(toX, toY);
}
ScrollClass.prototype.findAnchor = function(id) {
	return (document.getElementsByName(id)[0] || document.anchors[id]);
}
ScrollClass.prototype.getAnchorPos = function(id) {
	if(document.getElementsByName(id)[0]) {
		var element = document.getElementsByName(id)[0];
		var obj = new Object();
		do {
			obj.x = (!obj.x) ? element.offsetLeft : obj.x + element.offsetLeft;
			obj.y = (!obj.y) ? element.offsetTop : obj.y + element.offsetTop;
		} while((element = element.offsetParent) != null);
		return {x:obj.x < 0 ? 0 : obj.x, y:obj.y };
	} else if(document.layers) {
		var element = document.anchors[id];
		return {x:element.x, y:element.y };
	} else {
		return {x:0, y:0};
	}
}
ScrollClass.prototype.parse = function(direction, value) {
	var maxScroll = this.getMaxScroll();
	var range = {min_x:0, max_x:maxScroll.x, min_y:0, max_y:maxScroll.y };
	switch(direction) {
		case "x":
			if(typeof value == "boolean") {
				return value ? 0 : this.getScrollLeft();
			} else if(typeof value == "number") {
				if(!this.isOpera) {
					if(value < 0) {
						return 0;
					} else if(value > range.max_x) {
						return range.max_x;
					}
				}
				return value;
			} else if(typeof value == "string") {
				switch(value) {
					case "left": return 0;
					case "center": return Math.floor(range.max_x / 2);
					case "right": return range.max_x;
					default: this.getScrollLeft();
				}
			}
			return this.getScrollLeft();
			break;
		case "y":
			if(typeof value == "boolean") {
				return value ? 0 : this.getScrollTop();
			} else if(typeof value == "number") {
				if(value < 0) {
					return 0;
				} else if(value > range.max_y) {
					return range.max_y;
				}
				return value;
			} else if(typeof value == "string") {
				switch(value) {
					case "top": return 0;
					case "middle": return Math.floor(range.max_y / 2);
					case "bottom": return range.max_y;
					default: this.getScrollTop();
				}
			}
			return this.getScrollTop();
			break;
	}
}
ScrollClass.prototype.pageScroll = function(toX, toY) {
	if(this.isOpera) {
		window.scrollTo(toX, toY);
		return;
	}
	clearTimeout(this.timer);
	var dX = this.direction.is_x;
	var dY = this.direction.is_y;
	var scX = this.getScrollLeft();
	var scY = this.getScrollTop();
	var cuX = dX ? Math.ceil((toX - scX) / this.speed) : Math.floor((toX - scX) / this.speed);
	var cuY = dY ? Math.ceil((toY - scY) / this.speed) : Math.floor((toY - scY) / this.speed);
	if(((dX && scX + cuX < toX -1) || (!dX && scX + cuX > toX + 1)) || ((dY && scY + cuY < toY - 1) || (!dY && scY + cuY > toY +1))) {
		if(this.offset.x != null && this.offset.y != null) {
			if(this.offset.x == scX && this.offset.y == scY) {
				return;
			} else if((dX && this.offset.x > scX) || (!dX && this.offset.x < scX)) {
				return;
			} else if((dY && this.offset.y > scY) || (!dY && this.offset.y < scY)) {
				return;
			}
		}
		window.scrollTo(scX + cuX, scY + cuY);
		this.timer = setTimeout("ScrollClass.prototype.pageScroll("+toX+","+toY+")",this.speed);
		this.offset.x = scX;
		this.offset.y = scY;
	} else {
		clearTimeout(this.timer);
		window.scrollTo(toX, toY);
		return false;
	}
}


// GET_COUNT +++++++++++++++++++++++++++++++++++++//
function getComment(){
	var f = document.getElementById('RK17');
    
    // add by Nixiaofeng @ 20071227 for keyword_txt_check
    var cc = f.comment.value;
    cc=cc.replace(/(^[\s+|　+])|([\s+|　+]{2,})/g," ");
    // add end
    
    // commit out by Nixiaofeng @ 20071227 for keyword_txt_check
	//document.getElementById('comment_length').innerHTML = f.comment.value.replace(/\r?\n/g,"\r\n").length;
    // commit out end
    
    // add by Nixiaofeng @ 20071227 for keyword_txt_check
	document.getElementById('comment_length').innerHTML = cc.replace(/\r?\n/g,"\r\n").length;
	document.getElementById('comment2').value = cc;
    // add end
}

// INPUT_CHECK +++++++++++++++++++++++++++++++++++++//
var mobile =new Array("area02","address","zip","mobile");

function change_selectable_type_On(){
	var L=mobile.length;
	for(var i=0;i<L;i++){
		var ob=MM_findObj(mobile[i]);
		ob.style.backgroundColor='#FFFFCC';
	}
}
function change_selectable_type_Off(name1,name2){
	var L=mobile.length;
	for(var i=0;i<L;i++){
		var ob=MM_findObj(mobile[i]);
		ob.style.backgroundColor='#FFF';
	}
	select_getNum(MM_findObj(name1),name2);
}
var member =new Array("password01","password02","name","mail","year","month","day","income","skin","hair01","hair02","area01","area02","address","zip","tel","academic","work","code");

function change_selectable_type_All_On(){
	var L=member.length;
	for(var i=0;i<L;i++){
		var ob=MM_findObj(member[i]);
		ob.style.backgroundColor='#FFFFCC';
	}
}
function change_selectable_type_All_Off(name1,name2){
	var L=member.length;
	for(var i=0;i<L;i++){
		var ob=MM_findObj(member[i]);
		ob.style.backgroundColor='#FFF';
	}
	select_getNum(MM_findObj(name1),name2);
}
// SELECT_CHECK +++++++++++++++++++++++++++++++++++++//
function select_getNum(obj,name) {
	var num = obj.selectedIndex;
	var ob=MM_findObj(name);
	if(num==1){
		ob.style.backgroundColor='#FFFFCC';
	}else{
		ob.style.backgroundColor='#FFF';
	}
}

// OUTPUT_FLASH +++++++++++++++++++++++++++++++++++++//
function getHttps(){
	url = document.URL;
	if (url.match(/^https:/)) {
		return true;
	} else {
		return false;
	}
}
function output_flash(value){
	document.write(value);
}
function insertFlash(url, width, height) {
	document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="' + width + '" height="' + height + '" id="top" align="middle" loop="true" menu="false">');
	document.writeln('<param name="allowScriptAccess" value="sameDomain">');
	document.writeln('<param name="movie" value="' + url + '">');
	document.writeln('<param name="quality" value="high">');
	document.writeln('<param name="bgcolor" value="#ffffff">');
	document.writeln('<param name="menu" value="false">');
	document.writeln('<param name="play" value="true">');
	document.writeln('<param name="loop" value="true">');
    document.writeln('<param name="wmode" value="transparent">');
	document.writeln('<embed src="' + url + '" quality="high" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="top" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" loop="true" menu="false" wmode="transparent"></embed>');
	document.writeln('</object>');
}

function mousePosX(ev) {
    ev= ev || window.event;
    var mousePos = mouseCoords(ev);
    return mousePos.x;
}

function mousePosY(ev) {
    ev= ev || window.event;
    var mousePos = mouseCoords(ev);
    return mousePos.y;
}

function mouseCoords(ev) {
    if(ev.pageX || ev.pageY){
       return {x:ev.pageX, y:ev.pageY};
    }
    return {
         x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
         y:ev.clientY + document.body.scrollTop - document.body.clientTop
    };
}

function setStyle(element, key, value) {
    element.style[key] = value;
}

function setAlpha(_obj,value) {
    setStyle(_obj.firstChild, 'opacity', value);
    setStyle(_obj.firstChild, 'filter', 'alpha(opacity=' + value * 100 + ')');
}

function openLink(url, method, params) {
	if (method == "_blank") {
		window.open(url);
	} else {
		window.location = url;
	}
	
}

/** 最新点评 START */
var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}

/** 菜单列表 */
var MenuList = Class.create();
MenuList.prototype = {

	/**
	 * 构造方法
	 * id: 菜单列表
	 * opacity: 不透明度 (0.0 - 1.0, 0.0 为全透明, 1.0 为不透明)
	 */
	initialize: function(id, opacity) {
		// 获取菜单列表
		this.obj = document.getElementById(id);
		if (!this.obj) { return; }

		// 对菜单列表内的所有菜单进行处理
		var menus = this.obj.childNodes;
		for (var i = 0; i < menus.length; i++) {
			var menu = menus[i];
			if (menu.tagName == 'LI') {
				// 构建菜单
				new Menu(menu, opacity);
			}
		}
	}
}

/** 菜单 */
var Menu = Class.create();
Menu.prototype = {

	/**
	 * 构造方法
	 * target: 目标菜单
	 * opacity: 不透明度 (0.0 - 1.0, 0.0 为全透明, 1.0 为不透明)
	 */
	initialize: function(target, opacity) {
		this.util = new Util();

		// 获取目标菜单 (没多余元素)
		this.obj = this.util.cleanWhitespace(target);

		// 定义透明度, 默认透明
		this.opacity = 0;
		this.maxopacity = opacity || 1;

		// 获取菜单
		this.menu = this.obj.childNodes

		// 重要! 如果菜单不包含菜单项, 则不进行处理
		if (this.menu.length < 2) { return; }

		// 菜单标题和菜单体
		this.title = this.menu[0];
		this.body = this.menu[1];

		// 定义初始样式
		this.util.setStyle(this.body, 'visibility', 'hidden');
		this.util.setStyle(this.body, 'position', 'absolute');
		this.util.setStyle(this.body, 'overflow', 'hidden');
		this.util.setStyle(this.body, 'display', 'block');

		// 添加监听器
		this.addListener(this.obj, 'mouseover', this.util.bind(this, this.activate), false);
		this.addListener(this.obj, 'mouseout', this.util.bind(this, this.deactivate), false);
	},

	/**
	 * 激活方法
	 * 当鼠标移动到菜单标题是激活
	 */
	activate: function() {
		// 获取当前菜单体的位置
		var pos = this.util.cumulativeOffset(this.title);
		var left = pos[0];
		var top = pos[1] + this.util.getHeight(this.title);

		// 定义激活时样式
		this.util.setStyle(this.body, 'left', left + 'px');
		this.util.setStyle(this.body, 'top', top + 'px');
		this.util.setStyle(this.body, 'visibility', 'visible');
		this.util.setStyle(this.body, 'opacity', this.opacity);
		this.util.setStyle(this.body, 'filter', 'alpha(opacity=' + this.opacity * 100 + ')');

		if(this.tid) {
			clearTimeout(this.tid);
		}
		// 不断加强菜单的不透明度
		this.tid = setInterval(this.util.bind(this, this.appear), 30);
	},

	/**
	 * 解除方法
	 * 当鼠标移动出菜单标题是激活
	 */
	deactivate: function(){
		if(this.tid) {
			clearTimeout(this.tid);
		}
		// 不断减弱菜单的不透明度
		this.tid = setInterval(this.util.bind(this, this.fade), 30);

		// 定义解除时样式
		//this.util.setStyle(this.body, 'visibility', 'hidden');
	},

	/**
	 * 加强不透明度, 直到最大不透明度
	 */
	appear: function() {
		this.opacity += 0.1;
		if(this.opacity >= this.maxopacity) {
			this.opacity = this.maxopacity;
			// 取消循环调用
			clearTimeout(this.tid);
		}
		// 重新设定透明度
		this.util.setStyle(this.body, 'opacity', this.opacity);
		this.util.setStyle(this.body, 'filter', 'alpha(opacity=' + this.opacity * 100 + ')');
	},

	/**
	 * 减小不透明度, 直到完全透明隐藏菜单
	 */
	fade:function() {
		this.opacity -= 0.1;
		if(this.opacity <= 0) {
			this.opacity = 0;
			// 隐藏菜单
			this.util.setStyle(this.body, 'visibility', 'hidden');
			// 取消循环调用
			clearTimeout(this.tid);
		}
		// 重新设定透明度
		this.util.setStyle(this.body, 'opacity', this.opacity);
		this.util.setStyle(this.body, 'filter', 'alpha(opacity=' + this.opacity * 100 + ')');
	},

	/**
	 * 监听方法
	 * element: 监听对象
	 * name: 监听方法
	 * observer: 执行的方法
	 * useCapture: 浏览器调用事件的方式 (true 为 Capture 方式, false 为 Bubbling 方式)
	 */
	addListener: function(element, name, observer, useCapture) {
		if(element.addEventListener) {
			element.addEventListener(name, observer, useCapture);
		} else if(element.attachEvent) {
			element.attachEvent('on' + name, observer);
		}
	}
}

/** Functions */
var Util = Class.create();
Util.prototype = {
	initialize: function() {
	},

	$: function(id) {
		return document.getElementById(id);
	},

	$A: function(iterable) {
		if(!iterable) {
			return [];
		}
		if(iterable.toArray) {
			return iterable.toArray();
		} else {
			var results = [];
			for(var i = 0; i < iterable.length; i++) {
				results.push(iterable[i]);
			}
			return results;
		}
	},

	bind: function() {
		var array = this.$A(arguments);
		var func = array[1];
		var _method = func, args = array, object = args.shift();
		var param = new Array();
		for (var i=1;i<array.length;i++) {
			param.push(array[i]);
		}
		return function() {
			return _method.apply(object, param);
		}
	},

	getHeight: function(element) {
		return element.offsetHeight;
	},

	setStyle: function(element, key, value) {
		element.style[key] = value;
	},

	getStyle: function(element, key) {
		return element.style[key];
	},

	cleanWhitespace: function(list) {
		var node = list.firstChild;
		while (node) {
			var nextNode = node.nextSibling;
			if(node.nodeType == 3 && !/\S/.test(node.nodeValue)) {
				list.removeChild(node);
			}
			node = nextNode;
		}
		return list;
	},

	cumulativeOffset: function(element) {
		var valueT = 0, valueL = 0;
		do {
			valueT += element.offsetTop  || 0;
			valueL += element.offsetLeft || 0;
			element = element.offsetParent;
		} while (element);
		return [valueL, valueT];
	},

	addListener: function(element, name, observer, useCapture) {
		if(element.addEventListener) {
			element.addEventListener(name, observer, useCapture);
		} else if(element.attachEvent) {
			element.attachEvent('on' + name, observer);
		}
	}
}

function display_menu(times,id) {
	if (times) {
		menu = document.getElementById(id);
		if (menu) {
			menu.style.display = "block";
			menu.style.top = (22 * times + 6) + (times - 1) + "px" ;
		}
	} else {
		menu = document.getElementById(id);
		if (menu) {
			menu.style.display = "block";
		}
	}
}
function close_menu(id) {
	menu = document.getElementById(id);
	if (menu) {
		menu.style.display = "none";
	}
}

function over_menu(obj,id) {
	if (id == 'district') {
		obj.style.background = "#BCFEBE";
	} else if (id == 'skin') {
		obj.style.background = "#DBE9F2";
	} else if (id == 'item_class') {
		obj.style.background = "#B38075";
	} else if (id == 'item') {
		obj.style.background = "#B38075";
	}
}
function out_menu(obj) {
	obj.style.background = "#FFFFFF";
}
function go_submit() {
	document.comment_form.submit();
}
function set_value(key, index) {
	document.getElementById('search[district]').value = "";
	document.getElementById('search[skin_type]').value = "";
	document.getElementById('search[product_item_class]').value = "";
	document.getElementById('search[product_item]').value = "";
    
	if (key == 'district') {
		document.getElementById('search[district]').value = index;
	} else if (key == 'skin') {
		document.getElementById('search[skin_type]').value = index;
	} else if (key == 'item_class') {
		document.getElementById('search[product_item_class]').value = index;
	} else if (key == 'item') {
		document.getElementById('search[product_item]').value = index;
	}
	go_submit();
}
/** 最新点评 END */

function imgSwap(_obj, _img, _xpos, _ypos) {
    if (_img != "") _obj.style['background'] = "url(" + _img + ")";
    
    var xpos = "";
    var ypos = "";
    xpos = (_xpos != "") ? _xpos + "px" : "0px";
    ypos = (_ypos != "") ? _ypos + "px" : "0px";
    _obj.style['backgroundPosition'] = xpos + " " + ypos;  // for non-ie
    _obj.style['backgroundPositionX'] = xpos;  // for ie
    _obj.style['backgroundPositionY'] = ypos;  // for ie
}

function loginMouseClick() {
    var email = document.getElementById('login_email').value;
    var passwd = document.getElementById('login_passwd').value;
    if (email == '' || passwd == '') {
        alert('请输入电子邮件和密码');
        return;
    }
    document.form_login.submit();
}