/**
 * @author kun_he at 2010-2-22
 */
//定位控件
function point(fncX,fncY,content){
	var _this = this;
	this.body = typeof content=="string" ? $(content) : content;
	
	updateWinHeight();
	this.fncX = fncX;
	this.fncY = fncY;
	this.isTopTip = arguments[3];
	
	$(document.body).append(this.body);	
	if($.browser.msie && $.browser.version<7){
		this.body.css({position:"absolute",zIndex:99,left:this.fncX()+"px",top:this.fncY()+"px"});
		jQuery.windowResize(function(){
			updateWinHeight();
			_this.x = _this.fncX();
			_this.y = _this.fncY();
			_this.body.css({position:"absolute",zIndex:99,left:_this.fncX()+"px",top:_this.fncY()+"px"});
		});
	}else{
		this.body.css({position:"fixed",zIndex:99,left:this.fncX()+"px",top:this.fncY()+"px"});
		jQuery.windowResize(function(){
			updateWinHeight();
			_this.x = _this.fncX();
			_this.y = _this.fncY();
			_this.body.css({position:"fixed",zIndex:99,left:_this.fncX()+"px",top:_this.fncY()+"px"});
		});
	}
	
	jQuery.windowScroll(function(){
		if($.browser.msie && $.browser.version<7){
			_this.x = _this.fncX();
			_this.y = _this.fncY();
			_this.body.css({position:"absolute",zIndex:99,left:_this.fncX()+"px",top:_this.fncY()+"px"});
		}
		
		if(_this.isTopTip){
			if(getTOP()>0){
				if(!_this.body.is(":visible"))_this.body.fadeIn("slow");
			}else{
				if(_this.body.is(":visible"))_this.body.fadeOut("slow");
			}			
		}
	});
	
	if(getTOP()>0 && this.isTopTip){
		this.body.fadeIn("slow");
	}
}
function getTOP(){
	return document.body.scrollTop>document.documentElement.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
}
var winH = null;
function updateWinHeight(){
	winH = document.documentElement.clientHeight;
}
//弹出窗口
function win(content,w,h){
	var _height = ((document.documentElement.clientHeight>document.documentElement.scrollHeight)?document.documentElement.clientHeight:document.documentElement.scrollHeight)+"px";
	var _width  = ((document.documentElement.clientWidth>document.documentElement.scrollWidth)?document.documentElement.clientWidth:document.documentElement.scrollWidth)+"px";
	this.winBg = $('<div style="filter:alpha(opacity=50);opacity:0.5;background-color:#000000;position:'+(($.browser.msie&&$.browser.version<7)? 'absolute' : 'fixed ')+';z-index:999;left:0px;top:0px;width:'+_width+';height:'+_height+';" />'); 
	this.winBd = $('<div style="background-color:#ffffff;position:'+(($.browser.msie&&$.browser.version<7)? 'absolute' : 'fixed ')+';z-index:1000;left:50%;top:50%;'+(w ? 'width:'+w+'px;' : '')+(h ? 'height:'+h+'px;' : '')+'" />');
	$(document.body).append(this.winBg);
	$(document.body).append(this.winBd);
	$(this.winBd).css({marginLeft: '-' + parseInt((w / 2),10) + 'px',marginTop: '-' + parseInt((h / 2),10) + 'px'});
	$(this.winBg).bind("click",{win:this},function(event){event.data.win.close();});
	
	if($.browser.msie && $.browser.version <7){
		$("body","html").css({height: "100%", width: "100%"});
		$("html").css("overflow","hidden");
		this.fixIE(w,h);
	}
	
	$(this.winBd).append(content);
	try{
		content.show();
	}catch(e){}
}
win.prototype.close = function(){
	$(this.winBd).remove();
	$(this.winBg).remove();
	if($.browser.msie && $.browser.version <7){
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
}
win.prototype.fixIE = function(w,h){
	var top = (document.body.scrollTop>document.documentElement.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop)-parseInt((h / 2),10)+'px';
	var left = (document.body.scrollLeft>document.documentElement.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft)-parseInt((w / 2),10)+'px';
	$(this.winBd).css({position:'absolute',marginTop:top,marginLeft:left}); 
}
//阻止事件冒泡
function cancleEventBubble(event){
	if(jQuery.browser.msie){
		event.cancelBubble = true;
	}else{
		event.stopPropagation();
	}
}
//获取事件
function getEvent(evt){
  evt=(jQuery.browser.msie)?(window.event?window.event:null):evt;
  if(!evt){
    return null;
  }
  if(jQuery.browser.mozilla){
    evt.btn=evt.button+1;
    evt.srcElement=evt.target;
  }else {
    evt.btn=evt.button;
  }
  return evt;
}
//Coockie 操作方法集
function setFileCookie(name, value, timeout, dm) {
    var expires = new Date();
    if (!timeout) {
        timeout = 10 * 12 * 30 * 24 * 3600 * 1000;
    }
    if (!dm) {
        dm = ".do93.com";
    }
    expires.setTime(expires.getTime() + timeout);
    document.cookie = name + "=" + value + ";expires=" + expires.toGMTString() + "; path=/; domain=" + dm;
}
function setCookie(name, value, path, domain) {
    if (!path) {
        path = "/";
    }
    if (!domain) {
        domain = ".do93.com";
    }
    document.cookie = name + "=" + value + "; path=" + path + "; domain=" + domain;
}
function getCookie(name) {
    var r = new RegExp("(\\b)" + name + "=([^;]*)(;|$)");
    var m = document.cookie.match(r);
    return (!m ? "" : m[2]);
}
function deleteCookie(name, path, domain) {
    if (!path) {
        path = "/";
    }
    if (!domain) {
        domain = ".do93.com";
    }
    document.cookie = name + "=" + "; path=" + path + "; domain=" + domain + "; expires=Thu,1 Jan 1970 00:00:01 UTC";
}


//迷你购物车
function onmouseoverShopCart(){
	showMCart();
}
function onmouseoutShopCart(){
	hideMCart();		
}
function showMCart(){
	var pos = $("#b_gwc").offset();
	var h = $("#b_gwc").height();
	$("#apDiv2").css({left:(pos.left-40)+"px",top:(pos.top+h)+"px"});
	$("#apDiv2").show();
}
function hideMCart(){
	$("#apDiv2").hide();
}
function clearMiniCart(){
	var uid = getCookie("NSOS_USERID") || "";
	$.getJSON("/reqorder.do?method=clearProInCar",{uid:uid},function(json){
		if($.trim(json.state).toLowerCase()=="ok"){
			updateMiniCart();
		}
	});
}
function showMiniCart(uid,pid,ptype,c,s,n,pips,callback) {
	var isShow = arguments[9];
	var isNoCart = arguments[10];
    if (arguments.length>0) {
        //购物篮内容更新
		var url = "/reqorder.do?method=addProInCar";
		if(pips){
			$(pips).each(function(index,v){
				url += "&pips=" + v;
			});
		}
        $.getJSON(url, {uid:uid,pid:pid,ptype:ptype,c:c,s:s,n:n},function(json){
			if($.trim(json.state).toLowerCase()=="ok"){
				if(parseInt(json.flag)>0 && parseInt(ptype)!=1){
					if(!isNoCart){
						$("#buy_num_warn").html("该商品每单最大购买数量为"+$("#limit_num").val()+"件！");
						$("#buy_num_warn").show();
					}
				}else{
					if(!isNoCart){
						$("#productCount").html(new Number(json.totalAmount).toString());
						$("#totalPrice").html(new Number(json.totalPrice).toString());
						buildMiniCartHtml(uid,json.list||[],json.totalPrice);
						miniCartPos();						
					}
					
					callback(json);
					if(!isShow){
						$("#apDiv2").show();
						showMiniCart.timer = setTimeout(function() {
						     $("#apDiv2").fadeOut("slow");
						     clearTimeout(showMiniCart.timer);
						}, 2000);
					}
				}
			}
         });
    } else {
		miniCartPos();
        $("#apDiv2").show();
    }
}
function miniCartPos(){
	var pos = $("#b_gwc").offset();
	var h = $("#b_gwc").height();
	$("#apDiv2").css({left:pos.left+"px",top:pos.top+h+20+"px"});
}
function updateMiniCart(){
	var uid = getCookie("NSOS_USERID") || "";
	$.getJSON("/reqorder.do?method=showProCar",uid ? {uid:uid} : {},function(json){
		if($.trim(json.state).toLowerCase()=="ok"){
			$("#productCount").html(json.totalAmount+"");
			$("#totalPrice").html(json.totalPrice+"");
			
			buildMiniCartHtml(uid,json.list||[],json.totalPrice);	
		}
	});
}
function buildMiniCartHtml(uid,products,total){
	  var miniCartHTML  = '<div id="apDiv2_top"><img src="/images/v3/apDiv2_menu_top.gif" width="270" height="10" /></div>';
	  	  miniCartHTML += '<div id="apDiv2_bg">';
		  miniCartHTML += '	 <div id="listContainer">';
	  for (var i = 0; i < products.length; i++) {
	  	  miniCartHTML += '		<div id="apDiv2_bg_box1" onmouseover="this.id=\'apDiv2_bg_box2\'" onmouseout="this.id=\'apDiv2_bg_box1\'">';
	  	  if (!products[i].pips) {
		  miniCartHTML += '			<img src="/images/v3/apDiv2_menu_doc.gif" width="8" height="8" /> <span class="fB"><a href="/products/commodity-'+products[i].pid+'-app-1.html" class="c3 s">'+products[i].pname+'</a></span><br />';
		  miniCartHTML += '			<span class="c3">'+products[i].color+' - '+products[i].size+' （'+products[i].num+'件）</span><span class="crd">￥'+products[i].price+'</span>';
		  }else{
		  miniCartHTML += '			<img src="/images/v3/apDiv2_menu_doc.gif" width="8" height="8" /> <span class="fB">'+products[i].pname+'</span><br />';
		  miniCartHTML += '			<span class="c3">                                             （'+products[i].num+'套）</span><span class="crd">￥'+products[i].price+'</span>';
		  }
		  miniCartHTML += '		</div>';
	  }
	  	  miniCartHTML += '	 </div>';
	  	  miniCartHTML += '	 <div id="apDiv2_btn">';
		  miniCartHTML += '			<a href="javascript:pay()"><img src="/images/v3/apDiv2_btn1.jpg" width="103" height="26" /></a>';
		  miniCartHTML += '			<a href="javascript:clearMiniCart()"><img src="/images/v3/apDiv2_btn2.jpg" width="102" height="26" /></a>';
		  miniCartHTML += '	 </div>';
		  miniCartHTML += '</div>';
		  miniCartHTML += '<div id="apDiv2_end"><img src="/images/v3/apDiv2_menu_end.gif" width="270" height="10" /></div>';
		  miniCartHTML += '<div id="clearer"></div>';
	   $("#apDiv2").html(miniCartHTML);
}
function pay(){
	var isExitProduct = false;
	if(arguments.length>0){
		if(new Boolean(arguments[1]).valueOf()){
			isExitProduct = new Boolean(arguments[0]).valueOf();
		}else{
			alert("你的购物车中有部分商品已经没有库存，请删除没有库存的商品后再结算");
			return;
		}
	}else{
		if($("#listContainer").children().size()>0)isExitProduct = true;
	}
	
	if(isExitProduct){
		if(arguments.length>0){
			window.location.href = '/payment/mall_v3_orderform.jsp';
		}else{
			window.location.href = '/payment/mall_v3_cart.jsp';			
		}
	}else{
		alert("请购买商品后再结算");
	}
}
//导航菜单栏
function menuOnmouseover(event,id){
	cancleEventBubble(getEvent(event));
	var offset = jQuery("#"+id+"_m").offset();
	var h = jQuery("#"+id+"_m").height();
	jQuery("#"+id).css({
		position: "absolute",
		left: (offset.left - 5) + "px",
		top: (offset.top + h) + "px"
	}).show();
}
function menuOnmouseout(event,id){
	cancleEventBubble(getEvent(event));
	jQuery("#"+id).hide();
}
//第二层导航菜单栏
function menu2Onmouseover(event,id){
	cancleEventBubble(getEvent(event));
	jQuery("#"+id+"_m").find("img:first-child").attr("src","/images/v4/banner/"+id+"_on.gif");
	var offset = jQuery("#"+id+"_m").offset();
	var h = jQuery("#"+id+"_m").height();
	jQuery("#"+id).css({
		position: "absolute",
		zIndex: 999,
		left: (offset.left + 1) + "px",  
		top: (offset.top + h) + "px"
	}).show();
}
function menu2Onmouseout(event,id){
	cancleEventBubble(getEvent(event));
	jQuery("#"+id+"_m").find("img:first-child").attr("src","/images/v4/banner/"+id+"_off.gif");
	jQuery("#"+id).hide();
}
//删除浏览历史
function delHistroy(key) {
    deleteCookie(key);
    window.frames["history_browse"].location.reload();
	$("#history_browse").height(130);
}
//自适应浏览历史大小
function reHisBrowse(obj){
	var _height = window.frames[$(obj).attr("id")]._height;
	if(_height)$(obj).height(_height+10);
}
//列表页幻灯片
function listPPTClick(index){
	listPPTChange(index);
}
function listPPTOnmouseover(){
	jQuery("#list_ppt").data("isOver",true);
}
function listPPTOnmouseout(){
	jQuery("#list_ppt").data("isOver",false);
}
function listPPTChange(index){
	jQuery(".jq_simg").each(function(){
		jQuery(this).removeClass("overSel");
	});
	jQuery("#list_ppt_s"+index).addClass("overSel");
	jQuery("#list_ppt_left_con").animate({left:-(590*index)},450,jQuery.easing.backout);
	jQuery("#list_ppt").data("index",index);
}
function listPPTAutoRun(){
	if(jQuery("#list_ppt").data("isOver"))return;
	var index = jQuery("#list_ppt").data("index") || 0;
	if(index<jQuery(".jq_simg").size()-1 ){
		index += 1;
		listPPTChange(index);
	}else{
		index = 0;
		listPPTChange(index);
	}
}
//动态导入flash
function insertFlash(flashArguments,requiredVersion){
  var params="",embedArgm="",objArgm="";
  for(var k in flashArguments){
    switch(k){
    case "movie":
      continue ;
      break ;
    case "id":
    case "name":
    case "width":
    case "height":
    case "style":
      objArgm+=k+"='"+flashArguments[k]+"' ";
      embedArgm+=k+"='"+flashArguments[k]+"' ";
      break ;
    default:
      params+="<param name='"+((k=="src")?"movie":k)+"' value='"+flashArguments[k]+"' />";
      embedArgm+=k+"='"+flashArguments[k]+"' ";
    }
  }
  if(requiredVersion){
    objArgm+="codeBase='http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version="+requiredVersion+"' ";
  }
  fixFlashBug();
  if(jQuery.browser.msie){
    return "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' "+objArgm+">"+params+"</object>";
  }else {
    return "<embed "+embedArgm+" pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash'></embed>";
  }
}
function fixFlashBug(){
  __flash_unloadHandler=function(){
  };
  __flash_savedUnloadHandler=function(){
  };
}
//播放猫叫
function catSound(){
	if(!jQuery("#cat_home")[0]){
		jQuery(document.body).append('<div id="cat_home"></div>');		
	}
	var object = insertFlash({id:"catObject",src:"/images/cat.swf",width:0,height:0,allowscriptaccess:"always",FlashVars:"startplay=1"},"9.0");
	jQuery("#cat_home").html(object);
}
//数据采集方法体
function dataCollection(url,preurl,comid){
	//过滤管理后台页面采集
	if(url.toLowerCase().indexOf("/admin/")!=-1)return;
	var site = false;//是否为一次访问网站的起始标准
	last_time = getCookie("last_time");
	last_url = getCookie("last_url");
	
	//判断是否为一次登录网站
	if(!last_time || (new Date().getTime()-parseInt(last_time.split("_")[1]))>60000)site = true;
	$.post("/common/data_collection_proxy.jsp",{url:url,preurl:preurl,comid:comid||"",time:new Date().getTime(),lasttime:last_time,lasturl:last_url,site:site},function(v){
		var obj = eval("("+$.trim(v)+")");
		id = obj.id;
		//如果符合一次访问网站标准   
		if(obj.siteid)siteid = obj.siteid;
	}); 
}
//定时采集时间
function collectionTimer(){
	if(id)setFileCookie('track_'+id,id+"_1_"+new Date().getTime());
}
function matchUrl(url){
	if(url.toLowerCase().indexOf('commodity')!=-1 || url.toLowerCase().indexOf('unitized')!=-1){
		try{
			return url.match(/\-\d*/ig)[0].replace(/\-(\d*)/ig,'$1');
		}catch(e){
			return null;
		}	
	}else{
		return null;
	}
}
//关闭页面时清理记录
window.onbeforeunload = function(){
	if(id)setFileCookie('track_'+id,id+"_0_"+new Date().getTime());

	if(siteid){
		setFileCookie("last_time",siteid+"_"+new Date().getTime());
		setFileCookie("last_url",url);
	}else{
		if(last_time){
			siteid = last_time.split("_")[0];
			setFileCookie("last_time",siteid+"_"+new Date().getTime());
			setFileCookie("last_url",url);
		}
	}
}
window.onunload = function(){
	if(id)setFileCookie('track_'+id,id+"_0_"+new Date().getTime());	
	
	if(siteid){
		setFileCookie("last_time",siteid+"_"+new Date().getTime());
		setFileCookie("last_url",url);
	}else{
		if(last_time){
			siteid = last_time.split("_")[0];
			setFileCookie("last_time",siteid+"_"+new Date().getTime());
			setFileCookie("last_url",url);
		}
	}
}
//用户数据采集，进入页面时开始采集数据
var id = null;
var siteid = null;
var last_time = null;
var last_url = null;
var url = window.location.href;
var preurl = window.document.referrer;
var comid = matchUrl(url);

jQuery.documentReady(function(){
	dataCollection(url,preurl,comid);
	jQuery.appendTimer(collectionTimer,1);
	jQuery.runTimer();
});
  




