// getElementById
function $i(e) {
	return (typeof e=='object' ? e : document.getElementById(e));
}

// 初始化Select默认值
function initSelect(e, v) {
	e = $i(e);
	if(e==null) return;
	var $ops = e.options;
	for(var i=0; i<$ops.length; i++) {
		if($ops[i].value.toLowerCase()==v.toLowerCase()) {
			e[i].selected = true;
			break;
		}
	}
}

// 搜索
function initSearch () {
	// 关键字
	var $key = $('#Keyword');
	var $default = '名称、货号';
	$key.bind('focus', function() {
		if(this.value==$default) {
			this.value = '';
		}else{
			this.select();
		}
	}).bind('blur', function() {
		if(this.value=='') {
			this.value = $default;
		}
	});
	if($key.val()=='') $key.val($default);
	
	// 种类
	var $selector = $('#ClassSelector');
	var $text = $selector.find('dt');
	var $list = $selector.find('dd');
	var $item = $list.find('a');
	
	$text.bind('click', function() {
		$list.toggleClass('hidden');
	});
	$item.each(function(){
		var $val = $(this).attr('href').replace(/#/gi, '');
		if($('#Class').val()==$val) {
			$text.text($(this).text());
		}
	}).bind('click', function() {
		var $val = $(this).attr('href').replace(/#/gi, '');
		$text.text($(this).text());
		$('#Class').val($val);
		$list.addClass('hidden');
		return false;
	})
	
	// 价格范围
	var $switch = $('#PriceSwitch');
	var $option = $('#MoreOption .details');
	$option.css('display', ($switch.attr('checked') ? '' : 'none'));
	$switch.bind('click', function(){
		$option.css('display', ($(this).attr('checked') ? '' : 'none'));
	});
	
	// 提交
	$('#Btn_Submit').bind('click', function() {
		return checkSearch();
	});
}

function checkSearch() {
	var $default = '名称、货号';
	var $postUrl = 'Product.asp?/Search-'+ $('#Class').val();
	
	if($('#Keyword').val()=='' || $('#Keyword').val()==$default) {
		alert('请输入搜索关键字');
		$('#Keyword').focus();
		return false;
	}
	$postUrl += '-'+ escape($('#Keyword').val().replace(/-/gi, '—'));
	
	if($('#PriceSwitch').attr('checked')) {
		var $priceMin = $('#PriceMin').val();
		var $priceMax = $('#PriceMax').val();
		var $rule = /^\d{1,}$/;
		
		if(!$rule.test($priceMin)) {
			alert('请输入正确价格范围');
			$('#PriceMin').focus();
			return false;
		}else if($priceMin<=0){
			alert('最低价格必须大于0');
			$('#PriceMin').focus();
			return false;
		}
		if(!$rule.test($priceMax)) {
			alert('请输入正确价格范围');
			$('#PriceMax').focus();
			return false;
		}else if($priceMax<=parseInt($priceMin, 10)){
			alert('最高价格必须大于最低价格');
			$('#PriceMax').focus();
			return false;
		}
		$postUrl += '-'+ $priceMin +'-'+ $priceMax;
	}
	
	$postUrl += '.html';
	$('#Search').attr('action', $postUrl);
	return true;
}

// 输出验证码
function getCheckCode(e) {
	e = document.getElementById(e);
	if(!e) return;
	if(e.innerHTML=='') e.innerHTML = '<a href="###" onclick="$(\'Img_CheckCode\').src=\'Common/CheckCode.asp?\'+ Math.random();return false;"><img id="Img_CheckCode" src="Common/CheckCode.asp?'+ Math.random() +'" width="50" height="20" alt="看不清楚？点我换一组" style="margin: 0 0 0 20px; border: solid 1px #007db4" /> 换一组</a>';
}

// 表单验证
function checkForm(f) {
	var $check = true;
	try{
		$check = Validator.Validate(f);
	}catch(e) {}
	return $check;
}

// 模态窗
function dialog(title, msg) {
	$html = '<div id="dialogBox"><div class="title"><h2>'+ title +'</h2><a href="#" class="close">关闭</a></div><div class="content">'+ msg +'</div></div>'+
			'<iframe id="dialogMask" src="about:blank"></iframe>';
	$(document.body).append($html);
	
	// 定位
	$('#dialogBox')
		.css({
			 'left' : ($(window).width()-$('#dialogBox').width())/2,
			 'top' : ($(window).height()-$('#dialogBox').height())/2+$(window).scrollTop()
		});
	$('#dialogMask')
		.css('opacity', .3)
		.css({
			 'width' : $(document.body).outerWidth(true),
			 'height' : $(document.body).outerHeight(true)
		});
	
	// 关闭
	$('#dialogBox a.close').bind('click', function(){
		closeDialog();
		return false;
	});
}

function closeDialog() {
	$('#dialogBox, #dialogMask').remove();
}

// 在线客服、投票说明
var VoteData = {};
function FloatIM() {
	$('#floatIM').bind('mouseenter', function(){
		$(this).removeClass('IMHidden');
	}).bind('mouseleave', function() {
		$(this).addClass('IMHidden');
	});
	
	$('#voteInfo > a').bind('click', function(){
		var msg = '<div algin="center" style="text-align:center">竞投说明</div><div>&nbsp;&nbsp;各买家可在每周期(一周期$date$天)推出新款时进行投票，各买家每周期（$date$天）持有$count$票(<b>一票代表80双</b>，可重复投票，当期未用完票数，不予累加至下一周期)，如在一周期内单款达到1200双(即总数15票)！并各买家付完百分30预订款额，我司便可在第一时间投入生产！谢谢！！！</div><div>&nbsp;&nbsp;到期时间（到期时间：<b>$next$</b>）投票数有限，用完就得等到下次更新了，请珍惜您所剩余的投票。<br/><div algin="center" style="text-align:center">优惠方法</div><div> &nbsp;&nbsp;买家所投款式单价可优惠1元以上咯，方法如下：</div><div>只要买家A介绍另一买家B投同一款的票达400双以上，并让其完成预付款，那买家A可在此款式上优惠1元/双，介绍800双，A并可优惠2元/双；以此类推。</div>例：A 买家  B买家<div>A投票下单900双</div><div>B经由A介绍下1200双（完成预付款后）</div><div>则：A的900双单价可优惠每双3元。</div><div>注：B买家可用同样方式获取同样的优惠活动。 谢谢。</div></div>'
		var r = null;
		for(var t in VoteData) {
			r = new RegExp("\\$"+ t +"\\$", "gi");
			msg = msg.replace(r, VoteData[t]);
		}
		dialog('投票说明', msg);
		this.blur();
		return false;
	});
	
	$('#dingdanqu > a').bind('click', function(){
		var msg = '<div>&nbsp;&nbsp;主要承接买家所提供样品下单。目前此区所陈列产品仅供参考，即我司可生产的样品款式。详情请咨询客服部。谢谢。</div>'
		var r = null;
		for(var t in VoteData) {
			r = new RegExp("\\$"+ t +"\\$", "gi");
			msg = msg.replace(r, VoteData[t]);
		}
		dialog('订单区说明', msg);
		this.blur();
		return false;
	});
	$('#suchanqu > a').bind('click', function(){
		var msg = '<div>&nbsp;&nbsp;可直接挑选本司现有的款式（即现有的冲刀，楦头，模具等配套）进行下单或贴牌下单。数量不少于150双（头层皮材料）；二层皮材料下单双数不可少于200双。（注：所打确认样费用将在下单时返还给买家公司）</div>'
		var r = null;
		for(var t in VoteData) {
			r = new RegExp("\\$"+ t +"\\$", "gi");
			msg = msg.replace(r, VoteData[t]);
		}
		dialog('速产区说明', msg);
		this.blur();
		return false;
	});
	
	$('#xiepeijian > a').bind('click', function(){
		var msg = '<div>&nbsp;&nbsp;各类鞋类辅料，皮革，鞋底，鞋机等等，详情可咨询右边QQ客服或右上角邮件/固定电话客服联系。</div>'
		var r = null;
		for(var t in VoteData) {
			r = new RegExp("\\$"+ t +"\\$", "gi");
			msg = msg.replace(r, VoteData[t]);
		}
		dialog('配件区说明', msg);
		this.blur();
		return false;
	});
	
	$('#kucunqu > a').bind('click', function(){
		var msg = '<div>&nbsp;&nbsp;各类鞋款库存样区。（因库存款比较易在第一时间被强买，所以此区图片尚少）</div>'
		var r = null;
		for(var t in VoteData) {
			r = new RegExp("\\$"+ t +"\\$", "gi");
			msg = msg.replace(r, VoteData[t]);
		}
		dialog('库存区说明', msg);
		this.blur();
		return false;
	});
	
	$('#floatIM, #voteInfo').each(function() {
		$(this).data('top', parseInt($(this).css('top'), 10));
	});
	
	$(window).bind('scroll', function() {
		$('#floatIM, #voteInfo').each(function() {
			$(this).css('top', ($(this).data('top')+$(window).scrollTop()));
		});
	});
	
	$('#floatIM, #dingdanqu').each(function() {
		$(this).data('top', parseInt($(this).css('top'), 10));
	});
	
	$(window).bind('scroll', function() {
		$('#floatIM, #dingdanqu').each(function() {
			$(this).css('top', ($(this).data('top')+$(window).scrollTop()));
		});
	});
	
	$('#floatIM, #suchanqu').each(function() {
		$(this).data('top', parseInt($(this).css('top'), 10));
	});
	
	$(window).bind('scroll', function() {
		$('#floatIM, #suchanqu').each(function() {
			$(this).css('top', ($(this).data('top')+$(window).scrollTop()));
		});
	});
	
	$('#floatIM, #xiepeijian').each(function() {
		$(this).data('top', parseInt($(this).css('top'), 10));
	});
	
	$(window).bind('scroll', function() {
		$('#floatIM, #xiepeijian').each(function() {
			$(this).css('top', ($(this).data('top')+$(window).scrollTop()));
		});
	});
	
	$('#floatIM, #kucunqu').each(function() {
		$(this).data('top', parseInt($(this).css('top'), 10));
	});
	
	$(window).bind('scroll', function() {
		$('#floatIM, #kucunqu').each(function() {
			$(this).css('top', ($(this).data('top')+$(window).scrollTop()));
		});
	});
}

// 加入购物车
function addShopcar(e, id) {
	var stock = parseInt($('#proStock').html());
	var count = parseInt($('#Quantity').val());
	if(isNaN(stock) || stock==0) stock=0;
	//if(isNaN(count) || count==0 || count>stock) {
	//	alert('请输入有效数量，供货量为：'+ stock +'双。');
	if(isNaN(count) || count==0) {
		alert('请输入有效数量。');
		$('#Quantity').select().focus();
		return false;
	}
	
	$(e).attr('href', 'ShopCar.asp?Add-'+ id +'-'+ count);
	return true;
}

// 收藏
function favorite(id) {
	id = parseInt(id);
	if(isNaN(id) || id==0) return;
	
	var title = $('h1').eq(0).html();
	var url = self.location.href;
	url = url.substr(url.indexOf('?')+1);
	
	$.ajax({
		url : 'Ajax.asp',
		cache: false,
		data : 'Action=Favorite&ID='+ id +'&Title='+ escape(title) +'&Url='+ escape(url),
		success : function(f) {
			f = parseInt(f);
			if(f==1) {
				alert('收藏失败，您还没有登录或登录已超时。');
			}else if(f==2) {
				alert('收藏失败，您已经收藏了该商品。');
			}else if(f==3) {
				alert('收藏成功，商品已加入您的收藏夹。');
			}
		},
		error : function() {
			alert('收藏失败，网络错误。');
		}
	});
}

// 投票
function vote(id) {
	id = parseInt(id);
	if(isNaN(id) || id==0) return;
	
	var left = parseInt($('#voteLeft').html());
	var count = parseInt($('#Quantity').val());
	if(isNaN(left) || left==0) left=0;
	if(isNaN(count) || count==0 || count>left) {
		alert('请输入有效票数，剩余票数为：'+ left +'。');
		$('#Quantity').select().focus();
		return;
	}

	var title = $('h1').eq(0).html();
	var url = self.location.href;
	url = url.substr(url.indexOf('?')+1);

	$.ajax({
		url : 'Ajax.asp',
		cache: false,
		data : 'Action=Vote&ID='+ id +'&Count='+ count +'&Title='+ escape(title) +'&Url='+ escape(url),
		success : function(f) {
			f = parseInt(f);
			if(f==1) {
				alert('投票失败，您还没有登录或登录已超时。');
			}else if(f==2) {
				alert('投票失败，您不属于【授权会员】，权限不足。');
			}else if(f==3) {
				alert('投票失败，您的剩余票数不足投票数。');
			}else if(f==4) {
				var vCount = parseInt($('#voteCount').html());
				$('#voteCount').html(vCount+count);
				$('#voteLeft').html(left-count);
				alert('投票成功，感谢您的支持。');
			}
		},
		error : function() {
			alert('收藏失败，网络错误。');
		}
	});
}

// 清除投票
function cleanVote() {
	$('#voteCount').html(0);
	$('#voteLeft').html(VoteData.count);
}

// 浏览器收藏
function AddFavorite(sURL, sTitle) {
	try {
		window.external.addFavorite(sURL, sTitle);
	}catch (e) {
		try{
			window.sidebar.addPanel(sTitle, sURL, "");
		}catch (e) {
			alert("加入收藏失败，请使用Ctrl+D进行添加");
		}
	}
}

function SetHome(obj,url){
	try{
		obj.style.behavior='url(#default#homepage)';obj.setHomePage(url);
	}catch(e){
		if(window.netscape) {
			try {
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			}catch (e) {
				//alert("此操作被浏览器拒绝！请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
			}
			try {
				var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
				prefs.setCharPref('browser.startup.homepage',url);
			}catch (e) {}
		}
	}
} 

// 倒计时
var timeCountDown = function(i){
	var
	d = i.date || Date.UTC(2050, 0, 1),
	o = $i(i.obj) || null,
	f = i.format || '$y$年 $M$月 $d$天 $h$小时 $m$分 $s$秒',
	
	t = {
		zero: function(n){
			var n = parseInt(n, 10);
			return n;
		},
		dv: function(){
			var future = new Date(d), now = new Date();
			//现在将来秒差值
			var
			dur = Math.round((future.getTime() - now.getTime()) / 1000) + future.getTimezoneOffset() * 60,
			pms = {
				s : '0',
				m : '0',
				h : '0',
				d : '0',
				M : '0',
				y : '0'
			};
			if(dur > 0){
				pms.s = t.zero(dur % 60);
				pms.m = Math.floor((dur / 60)) > 0? t.zero(Math.floor((dur / 60)) % 60) : "0";
				pms.h = Math.floor((dur / 3600)) > 0? t.zero(Math.floor((dur / 3600)) % 24) : "0";
				pms.d = Math.floor((dur / 86400)) > 0? t.zero(Math.floor((dur / 86400)) % 30) : "0";
				//月份，以实际平均每月秒数计算
				pms.M = Math.floor((dur / 2629744)) > 0? t.zero(Math.floor((dur / 2629744)) % 12) : "0";
				//年份，按按回归年365天5时48分46秒算
				pms.y = Math.floor((dur / 31556926)) > 0? Math.floor((dur / 31556926)) : "0";
			}
			return pms;
		},
		ui: function(){
			if(o){
				var time = t.dv();
				var html = f;
				for(var tmp in time) {
					html = html.replace('$'+ tmp +'$', time[tmp]);
				}
				o.innerHTML = html;
				setTimeout(t.ui, 1000);
			}
		}
	};	
	t.ui();
};

// Ready
$(document).ready(function(){
	FloatIM();
});
