/**
 +------------------------------------------------------------------------------
 * 一些通用的JS
 +------------------------------------------------------------------------------
 */


// 发票税率 5%
var taxRate = 0.05;
var liquidExp = 13;

// 四舍五入到小数点后某一位
function myRound(Dight,How){
	return Math.round(Dight*Math.pow(10,How))/Math.pow(10,How);
}

//
function getTax(taxPrice){
	var tax = taxPrice / 1.03 * taxRate;
	return myRound(tax,2);
}

// 获取页面尺寸
function getPageSize(){
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY){
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	}else if (document.body.scrollHeight > document.body.offsetHeight){
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	}else{
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight){
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	}else if (document.documentElement && document.documentElement.clientHeight){
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	}else if (document.body){
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	if (yScroll < windowHeight){
		pageHeight = windowHeight;
	}else {
		pageHeight = yScroll;
	}
	if (xScroll < windowWidth) {
		pageWidth = windowWidth;
	}else{
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);
	return arrayPageSize;
}

// 检测用户浏览器是否支持cookie
function cookieEnable(){
	if(navigator.cookieEnabled){// 支持cookie
		return true;
	}else{// 不支持cookie
		return false;
	}
}

// 设置cookie
function setCookie(name,value){
  var Days = 30; //此 cookie 将被保存 30 天
  var exp  = new Date();    //new Date("December 31, 9998");
  exp.setTime(exp.getTime() + Days*24*60*60*1000);
  document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
}

// 获取cookie
function getCookie(name){
  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  if(arr != null) return unescape(arr[2]); return null;
}

// 删除cookie
function delCookie(name){
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null) document.cookie=name +"="+cval+";expires="+exp.toGMTString();
}

//首页ajax登录
function submitForm(){
  var username,password,evenlast;
  username = getValue("username");
  password = getValue("password");
  evenlast = $("#evenlast").attr("checked")==true?1:0;
  if("" == username){
    alert("用户名不能为空");
    return false;
  }
  if("" == password){
    alert("密码不能为空");
    return false;
  }
  if(!checkEMail(username)){
    alert("EMail格式不对");
    return false;
  }
  $.post(
      APP+"/Index/checkLogin",
      {account:username,
       password:password,
       evenlast:evenlast},
       function(msg){
         if(0 == msg.status){
           //alert(msg.info);
           window.location.href=APP+"/Index/login";
         }else{
			 if(2 == msg.status){
				 window.location.href = APP+"/User/shop/";
			 }else{
				 if(module.toLowerCase() == 'index' || module.toLowerCase() == 'register'){

					 window.location.href=APP+"/Brand/";
				 }else{
					 window.location.reload();
				 }
			 }
         }
       },
       "json"
      );
  return false
}

/**
 * 验证字符串是否为汉字
 * @author Lorry
 * @return bool
 * @param str string
 */
function checkChinese(str){
  var reg = /^[\u4e00-\u9fa5]+$/i;
  if(!reg.test(str)){
    return false;
  }else{
    return true;
  }
}

/**
 * 判断字符串是不是数字
 * @param $number
 * @return boolean
 */
function isNumber(number)
{
	if(number == '') return false;
	var reg = /^\d*$/i;
	if(!reg.test(number))
	{
		return false;
	}
	return true;
}

/**
 * 判断字符串是否由数字和字母组成
 */
function isAlphaDigit(str)
{
	if(str == '') return false;
	var reg = /^[a-z\d]+$/i;
	return reg.test(str);
}

/**
 * 获取相关id元素的值并去除两头的空白
 * @author Lorry
 * @return string
 * @param id string
 */
function getValue(id){
  return $.trim($("#"+id).val());
}

/**
  * 验证是否为正确的EMail格式
  * @author Lorry
  * @return bool
  * @param email
  */
function checkEMail(email){
  var emailPat=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
  if(emailPat.test(email)){
	  return true;
  }else{
	  return false;
  }
}

// 进货单开发票信息
function getTaxInfo() {
	var dataCount = $("#allList .goodsInfo").size();
	// 有记录存在才统计数据
	var totalNum = 0;
	var totalPrice = 0;
	var pids = '';
	var result = [totalNum,totalPrice,pids];
	if (dataCount > 0) {
		$("#allList .goodsInfo").each(function(){
			if ($(".dotax",$(this)).is(":checked")){
				// 开发票金额不能超过商品零售价
				var count = Number($(".count",$(this).parent().parent().parent()).val());
				var price = myRound($(".goodsInfo .goodsTotalPrice",$(this).parent().parent().parent()).html().replace(" 元",""),2);
				var taxMoney = $(".taxprice",$(this).parent()).val();
				var rprice = $(".taxprice",$(this).parent()).attr("rprice");
				var allRprice = myRound(rprice * count,2);
				if (taxMoney > allRprice){
					alert("开发票金额不能超过商品的零售价 "+allRprice+" 元！");
					$(".taxprice",$(this).parent()).val(allRprice);
					$("#taxPrice").html(allRprice);
					return false;
				}

				totalNum += 1;
				var count = Number($(".count",$(this)).val());
				var pid = $(".dotax",$(this)).attr('pid');
				var taxMoney = Number($(".taxprice",$(this)).val());
				totalPrice += taxMoney;
				pids += (pid + ':' + taxMoney + '_');
			}
		});
		pids = pids.substring(0,pids.length-1);
		totalPrice = myRound(totalPrice,2);
		var tax = getTax(totalPrice);
		var isTax = 0;
		if (totalNum >0) {
			isTax = 1;
			$("#doTax").attr("checked","checked");
			$("#taxPrice").html(totalPrice);
			$("#tax").html(tax + ' 元');
		}else {
			isTax = 0;
			$("#doTax").removeAttr("checked");
			$("#taxPrice").html('0');
			$("#tax").html('0 元');
		}
		result = [isTax,totalPrice,pids];
	}

	// "进货单是否开发票,开发票金额,开发票的商品"
	var str = result.toString();

	return str;
}

// 统计进货单的总重量与总金额
function countCartInfo() {
	var dataCount = $("#allList .goodsInfo").size();
	// 有记录存在才统计数据
	var totalNum = 0;
	var totalWeight = 0;
	var totalPrice = 0;
	var result = [totalNum,totalWeight,totalPrice];
	if (dataCount > 0) {
		$("#allList .goodsInfo").each(function(){
			var count = Number($(".count",$(this)).val());
			if (0 == count){
				alert("订购数量不能为0！");
				return false;
			}
			var storage = parseInt($(".count",$(this)).attr("storage"));
			if (count > storage){
				alert("订购数量不能超过库存数量！");
				return false;
			}
			var price = Number($(".goodsPrice",$(this)).html().replace(' 元',''));
			var weight = Number($(".goodsWeight",$(this)).html().replace(' kg',''));
			totalNum += count;
			totalWeight += (weight * count);
			totalPrice += (price * count);
		});
		totalWeight = myRound(totalWeight,3);
		totalPrice = myRound(totalPrice,2);
		result = [totalNum,totalWeight,totalPrice];
	}

	// "总数量,总重量,总价格"
	var str = result.toString();

	return str;
}

var selectedMenu = {};


function reg_check_url(url){
	var reg = /^((https|http|ftp|rtsp|mms)?:\/\/)?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-z_!~*'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+\/?)$/;
	if(url.indexOf("http://")==-1)
	{
		return false;
	}
	if(!url.match(reg))
	{
		return false;
	}
	return true;
}

function reg_address(address)
{
	var addressExp = /[\u4e00-\u9fa5]+/i;
	if(!addressExp.test(address)){
		return false;
	}
	return true;
}
function G(id){return document.getElementById(id);}
function login_pane()
{
	$.get(APP+'/Index/loginPane',{},function(data){
		$.blockUI({
			//message:'<div style="border:3px solid #FF7E00;width:494px;height:294px;color:#000;">'+data+'</div>',
			message:data,
			fadeIn: 100,
	        fadeOut: 100,
	        showOverlay: false,
	        centerY: false,
	        css: {
	            width: '506px',
	            height:'266px',
	            overflow:'auto',
	            top: ($(window).height() - 306) /2 + 'px',
	            left:($(window).width() - 506) /2 + 'px',
	            border: 'none',
	            backgroundColor: '#fff',
	            color: '#fff' ,
	            cursor:'normal'
	        } });
	});


	return false;
}

function fookuu_alert_box(strTitle, strContent){
	var strClose = '$.unblockUI();';
	$.blockUI({
		message: '<div class="fookuu_tips_box"><div class="fookuu_tips_box_close_btn"><img src="' + PUBLIC + 'Images/btn_miniclose.gif" width="9" height="9" border="0" onclick="' + strClose + '" alt="关闭" /></div><div class="fookuu_tips_box_content"><h3>' + strTitle + '</h3>' + strContent + '</div><div class="fookuu_tips_box_button"><img src="' + PUBLIC + 'Images/btn_close.gif" width="43" height="25" border="0" onclick="' + strClose + '" /></div></div>',
		timeout: 20000,
		css: { border: 'none', background: '#FFF6D9', width: '341px' }
	});
}

function getFileSize(obj)
{
	if($.browser.msie)
	{
		var img = new Image();
		img.dynsrc = obj.value;

		return img.fileSize;
	}
	else
	{
		return obj.files[0].fileSize;
	}
}

function checkFileSize(obj)
{
	var fileSize = getFileSize(obj);
	if(fileSize > 2097152)
	{
		alert('文件大小不能超过2MB！');
		return false;
	}
	return true;
}


function flashUploadFile(spanButtonPlaceHolder,uploadUrl,btnImg,txtFieldId,progressBar,fdiv,params)
{
	var settings = {
				flash_url : PUBLIC+"Js/swfupload.swf",
				upload_url: uploadUrl,
				file_post_name:'fileToUpload',
				post_params: params,
				file_size_limit : "2 MB",
				file_types : "*.jpg;*.jpeg;*.gif;*.png",
				file_types_description : "Images",
				file_upload_limit : 2097152,
				file_queue_limit : 0,
				custom_settings : {
					progressTarget:progressBar,
					txtFieldId:txtFieldId,
					fdiv:fdiv
				},
				debug: true,


				// Button settings
				button_image_url: btnImg,
				button_width: "27",
				button_height: "20",
				button_placeholder_id: spanButtonPlaceHolder,
				button_text: '<span class="theFont">浏览</span>',
				button_text_style: ".theFont { font-size: 12; }",
				button_text_left_padding: 0,
				button_text_top_padding: 1,

				// The event handler functions are defined in handlers.js
				file_queued_handler : fileQueued,
				file_queue_error_handler : fileQueueError,
				file_dialog_complete_handler : fileDialogComplete,
				upload_start_handler : uploadStart,
				upload_progress_handler : uploadProgress,
				upload_error_handler : uploadError,
				upload_success_handler : uploadSuccess,
				upload_complete_handler : uploadComplete,
				queue_complete_handler : queueComplete	// Queue plugin event
			};
			return settings;
}


function flashUploadFile2(spanButtonPlaceHolder,uploadUrl,btnImg,txtFieldId,progressBar,fdiv,params)
{
	var settings = {
				'uploader'       : PUBLIC+'Js/uploadify.swf',
				'script'         : uploadUrl,
				'cancelImg'      : PUBLIC+'Images/cancel.png',
				'folder'         : 'uploads',
				'queueID'        : 'fileQueue',
				'buttonImg'      : PUBLIC+'Images/browser.jpg',
				'fileDataName'   :'fileToUpload',
				'auto'           : false,
				'multi'          : false,
				'height'         :'20',
				'width'          :'27',
				'sizeLimit':2097152,
				'fileExt':'*.jpg;*.jpeg;*.png;*.gif',
				'fileDesc':'图片(*.jpg;*.jpeg;*.png;*.gif)',
				'onSelect':function(e,id,obj){
					if(obj.size > 2097152)
					{
						alert('目前支持的上传文件的大小不能超过2MB！\n\r请重新选择文件！');
						uploadifyCancel(id);

						return;
					}
					document.getElementById(txtFieldId).value = obj.name;

				},
				'onAllComplete':function(){
					$.unblockUI();
					window.location.reload();
				}

			};
			return settings;
}


function drawStar(s,g,id,clk)
{
	var str = '<ul class="starss">';
	if(clk)
	{
		for(var i=1;i<=s;i++)
		{
			str += '<li><a href="javascript:void(0);" id="qstar'+id+''+i+'" p="'+id+'" class="star star1" val="'+i+'" onmouseover="onover1(this);" onmouseout="onout1(this);" onclick="score(this);">&nbsp;&nbsp;</a></li>';
		}
		if(s<5 && g>0 && g==(5-s))
		{
			for(var i=1;i<=g;i++)
			{
				str += '<li><a href="javascript:void(0);" id="qstar'+id+''+(s+i)+'" p="'+id+'" class="star_gray star1" val="'+(s+i)+'" onmouseover="onover1(this);" onmouseout="onout1(this);" onclick="score(this);">&nbsp;&nbsp;</a></li>';
			}
		}
	}
	else
	{
		for(var i=1;i<=s;i++)
		{
			str += '<li><a href="#" id="qstar'+id+''+i+'" p="'+id+'" class="star star1" val="'+i+'" >&nbsp;&nbsp;</a></li>';
		}
		if(s<5 && g>0 && g==(5-s))
		{
			for(var i=1;i<=g;i++)
			{
				str += '<li><a href="#" id="qstar'+id+''+(s+i)+'"  p="'+id+'" class="star_gray star1" val="'+(s+i)+'" >&nbsp;&nbsp;</a></li>';
			}
		}
	}

	return str+'</ul>';
}

$(document).ready(function(){

	$('.loginInput').mouseover(function(){
		$(this).addClass('loginInputHover');
	}).mouseout(function(){
		if($(this).attr('focused') != 1) $(this).removeClass('loginInputHover');
	}).focus(function(){
		$(this).addClass('loginInputHover');
		$(this).attr('focused', 1);
	}).blur(function(){
		$(this).removeClass('loginInputHover');
		$(this).attr('focused', 0);
	});

	$('#password').keydown(function(event){
		if(event.keyCode == 13)$('#img_login').focus();
	});

	// 分页跳转选项
	$("#page").change(function(){
		var loc = $(this).val();
		if(/^\d+$/.test(loc)){
			var href = document.location.href;
			if(href.indexOf('cpage') > 0){
				href = href.replace(/\/cpage\/\d+/, '/cpage/'.concat(loc));
			}else{
				href = href.concat('/cpage/', loc);
			}
		}else{
			var href = loc;
		}
		document.location.href = href;
	});
	onover = null;
	$('a','.menus').mouseover(function(event){
		if(linker !== null){
			linker = linker.toLowerCase();
			if(onover != linker.toLowerCase()){
				$('#'+onover).attr('class','');
			}

			$('#ac_'+module.toLowerCase()).css('display','none');
		}else
		if(onover != module.toLowerCase()){
			$('#'+onover).attr('class','');
		}

		if($(this).attr('name') == module.toLowerCase() || $(this).attr('name') == linker){
			selectedMenu = this;
			onover = null;
		}else{
			onover = $(this).attr('name');
		}
		if(linker != null){
			$('#ac_'+linker).css('display','none');
		}else
		$('#ac_'+module.toLowerCase()).css('display','none');
		$('#ac_'+onover).css('display','none');
		$('#ac_'+$(this).attr('name')).css('display','');
		$(this).attr('class','selected');

	}).mouseout(function(e){
		if(onover != null){
			$(this).attr('class','');
			$('#'+module.toLowerCase()).attr('class','selected');
			$('#ac_'+$(this).attr('name')).css('display','none');
			if(linker != null){
				$('#ac_'+linker).css('display','');
			}else
			$('#ac_'+module.toLowerCase()).css('display','');
			$('#ac_'+onover).css('display','none');
		}
	});

	$('#search_and_submenu').bind("mouseenter",function(e){
		if(onover != null && onover != linker){
			//alert(onover);
			$('#'+onover).attr('class','selected');
			if(linker)
			$('#ac_'+linker).css('display','none');
			else
			$('#ac_'+module.toLowerCase()).css('display','none');
			$('#ac_'+onover).css('display','');
		}
	}).bind("mouseleave",function(e){
		if(onover != null && onover != linker){
			$('#'+onover).attr('class','');
			if(linker)
			$('#ac_'+linker).css('display','');
			else
			$('#ac_'+module.toLowerCase()).css('display','');
			$('#ac_'+onover).css('display','none');
			onover = null;
			$('#'+module.toLowerCase()).attr('class','selected');
		}
	});

	$('.hf_div1').mouseover(function(e){
		if($(this).attr('i') == 'inner')
			$(this).css('background','url('+PUBLIC+'Images/footer_i_div1_bg.jpg) repeat-x left bottom');
		else
			$(this).css('background','url('+PUBLIC+'Images/footer_div1_bg.jpg) repeat-x left bottom');
		$('#img'+$(this).attr('imgid')).attr('src',PUBLIC+'Images/foot_pointer2.jpg');
	}).mouseout(function(e){
		$(this).css('background-image','');
		$('#img'+$(this).attr('imgid')).attr('src',PUBLIC+'Images/foot_pointer.jpg');
	});

	$('.hf_div2').mouseover(function(e){
		if($(this).attr('i') == 'inner')
			$(this).css('background','url('+PUBLIC+'Images/footer_i_div2_bg.jpg) repeat-x left bottom');
		else
			$(this).css('background','url('+PUBLIC+'Images/footer_div2_bg.jpg) repeat-x left bottom');
		$('#img'+$(this).attr('imgid')).attr('src',PUBLIC+'Images/foot_pointer2.jpg');
	}).mouseout(function(e){
		$(this).css('background-image','');
		$('#img'+$(this).attr('imgid')).attr('src',PUBLIC+'Images/foot_pointer.jpg');
	});

	/*if(logined && user_grade==0)
	{
		$.growlUI('Growl Notification', 'Have a nice day!');
	}*/

	var strQtipTitle = '推荐加盟赢现金';
	var strQtipContent = '寻找推荐人，索要推荐码或推荐链接，您成功加盟后，即刻拿 50 元现金！<div style="float:right;"><a href="' + ROOT + '/gm/affiliate.html" target="_blank" style="color:#0061FD;">点击查看活动详情</a></div>';
	if(logined){
		strQtipTitle = '推荐好友赢现金';
	}
	if(module != 'Register' && $("#affiliate").size()){
		var d = new Date();
		$("#affiliate").qtip({
			content: {
				text: strQtipContent,
				title: { text: strQtipTitle, button: '关闭' },
				url: APP.concat('/Notice/popup/', d.getTime())
			},
			position: {
				corner: { target: 'bottomMiddle', tooltip: 'topRight' },
				adjust: { screen: true }
			},
			show: {
				ready: true,
				when: { event: 'mouseover' },
				effect: { type: 'fade', length: 300 }
			},
			hide: false,
			style: {
				tip: true,
				border: { width: 0, radius: 1, color: '#D7D7D7' },
				name: 'light',
				title: { 'font-size': '14px', 'color': '#C41706', 'background': 'url("' + PUBLIC + 'Images/qtip_title_bg.gif")', 'padding': '5px 12px 5px 29px' },
				button: { 'font-size': '12px', 'font-weight': 'normal', 'color': 'black', 'margin-top': '2px' },
				classes: { content: 'fookuu_qtip_content' }
			},
			api: {
				beforeShow: function(ev){
					if(ev && typeof(ev) == 'object'){
						if(ev.type == 'mouseover') return true;
					}
					var bClosed = $.cookie('AffiliatePopupClosed');
					if(bClosed == 'YES') return false;
					if(logined && affil_quota <= 0){
						return false;
					}
					if(false && ! ev){
						var q_tip = this.options.show.when;
						setTimeout(function(){ q_tip.target.trigger(q_tip.event); }, 1000);
						return false;
					}
					return true;
				},
				onHide: function(){
					$.cookie('AffiliatePopupClosed', 'YES', { path: '/' });
				}
			}
		});
	}
});

// 搜索表单提交检测
function fookuuCheckSearchForm(oForm){
	var strKey = $.trim(oForm.key.value);
	if(strKey == ''){
		alert('请输入搜索关键字！');
		oForm.key.focus();
		oForm.key.select();
		return false;
	}
	var reg = /[\?\#\/]+/;
	if(reg.test(strKey)){
		alert('关键字中不能含有“/ ? #”等特殊字符！');
		oForm.key.focus();
		oForm.key.select();
		return false;
	}
	oForm.key.value = strKey;
	var iMaxLen = 1;
	if(strKey.length < iMaxLen){
		alert('您输入的关键字太短，请至少输入 ' + iMaxLen + ' 个字符！');
		oForm.key.focus();
		return false;
	}
	return true;
}

// 检测邮编
function checkPostCode(str){
	if ('' == str){
		return false;
	}
	var reg = /^[0-9]\d{5}$/;
	if (!reg.test(str)){
		return false;
	}else{
		return true;
	}
}

function copyToClipboard(txt) {
  if(window.clipboardData) {
    window.clipboardData.clearData();
    window.clipboardData.setData("Text", txt);
    alert("链接已经复制到粘贴板");
  } else if(navigator.userAgent.indexOf("Opera") != -1) {
    window.location = txt;
  } else if (window.netscape) {
    try {
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    } catch (e) {
      alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
    }
    var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
    if (!clip)
      return;
    var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
    if (!trans)
      return;
    trans.addDataFlavor('text/unicode');
    var str = new Object();
    var len = new Object();
    var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
    var copytext = txt;
    str.data = copytext;
    trans.setTransferData("text/unicode",str,copytext.length*2);
    var clipid = Components.interfaces.nsIClipboard;
    if (!clip)
      return false;
    clip.setData(trans,null,clipid.kGlobalClipboard);
    alert("链接已经复制到粘贴板");


  }
}


function chgPath(path)
{
	if(path)
		return path.split("<img src=\"/").join("<IMG src=\"http://www.fookuu.com/");
}

// 判断指定值是否在数组中
function in_array(str, arr){
	var s1 = "", s2 = "", ss = "\t";
	try{
		s1 = s1.concat(ss, ss, arr.join("\t,\t"), ss);
	}catch(e){
		s1 = s1.concat(ss, ss, arr.toString(), ss);
	}
	s2 = s2.concat(ss, str, ss);
	return (s1.indexOf(s2) > 0 ? true : false);
}
