/* $Id: global.js 15469 2008-12-19 06:34:44Z testyang $ */
Object.extend = function(destination, source)
{
  for (property in source) {
    destination[property] = source[property];
  }
  return destination;
}

Object.prototype.extend = function(object)
{
  return Object.extend.apply(this, [this, object]);
}

//封装getEelementById函数
function $()
{
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

//创建元素
function $ce(tagName)
{
    return document.createElement(tagName);
}

//定义类类型
var Class = {
  create : function()
  {
    return function()
    {
      this.initialize.apply(this, arguments);
    }
  }
}

//对象绑定
Function.prototype.bind = function(object) {
  var __method = this;
  return function()
  {
    __method.apply(object, arguments);
  }
}

if (!window.Event) {
  var Event = new Object();
}

Object.extend(Event, {
  element: function(event) {
    return event.target || event.srcElement;
  },

  pointerX: function(event) {
    return event.pageX || (event.clientX +
      (document.documentElement.scrollLeft || document.body.scrollLeft));
  },

  pointerY: function(event) {
    return event.pageY || (event.clientY +
      (document.documentElement.scrollTop || document.body.scrollTop));
  },

  stop: function(event) {
    if (event.preventDefault) {
      event.preventDefault();
      event.stopPropagation();
    } else {
      event.returnValue = false;
    }
  },

  position: function(element)
  {
    var t = element.offsetTop;
    var l = element.offsetLeft;
    while(element = element.offsetParent)
    {
        t += element.offsetTop;
        l += element.offsetLeft;
    }
    var pos={top:t,left:l};
    return pos;
  } ,

  observers: false,

  _observeAndCache: function(element, name, observer, useCapture) {
    if (!this.observers) this.observers = [];
    if (element.addEventListener) {
      this.observers.push([element, name, observer, useCapture]);
      element.addEventListener(name, observer, useCapture);
    } else if (element.attachEvent) {
      this.observers.push([element, name, observer, useCapture]);
      element.attachEvent('on' + name, observer);
    }
  },

  observe: function(element, name, observer, useCapture) {
    var element = $(element);
    useCapture = useCapture || false;

    if (name == 'keypress' &&
        ((navigator.appVersion.indexOf('AppleWebKit') > 0)
        || element.attachEvent))
      name = 'keydown';

    this._observeAndCache(element, name, observer, useCapture);
  },

  stopObserving: function(element, name, observer, useCapture) {
    var element = $(element);
    useCapture = useCapture || false;

    if (name == 'keypress' &&
        ((navigator.appVersion.indexOf('AppleWebKit') > 0)
        || element.detachEvent))
      name = 'keydown';

    if (element.removeEventListener) {
      element.removeEventListener(name, observer, useCapture);
    } else if (element.detachEvent) {
      element.detachEvent('on' + name, observer);
    }
  }
});

/*选择尺码触发事件*/
function selectcr(goodid, actid, sizeid, libaocat)
{
  var id = "sel_cm_" + libaocat;
  var colorid = "color_" + goodid + "_" + sizeid;
  var numid = "sizeBox_" + goodid;
  var thumbid = "thumbBox_" + goodid;
  var add_lb_id = "add_lb_" + goodid;
  var num = $(numid).getElementsByTagName('li').length;
  var thumbInputValue = $(thumbid).getElementsByTagName('input')[0].value;
  var y_InputValue = $(thumbid).getElementsByTagName('input')[1].value;
  $(numid).getElementsByTagName('input')[0].value = sizeid;
  $(id).innerHTML = sizeid;
  for(var i=0; i<num;i++)
  {
	  if($(numid).getElementsByTagName('li')[i].className != 'color_33')
	  {
		  $(numid).getElementsByTagName('li')[i].className = "";
	  }
  }
  $(add_lb_id).innerHTML = "<a href=\"javascript:;\" onclick=\"loadproduct("+thumbInputValue+","+y_InputValue+","+actid+",'"+sizeid+"'"+","+libaocat+");\" class=\"btn_add\">选择此商品</a>";
  var nav_color = $(colorid);
  nav_color.className = "current";
}

/*点击商品缩略图触发事件*/
function selectgoods(goodid, csid, actid, libaocat)
{
	$('libaoCm').value = 0;
	$('sel_cm_' + libaocat).innerHTML = "未选择";
	var numid = "thumbBox_" + csid;
	$(numid).getElementsByTagName('input')[0].value = goodid;
	$(numid).getElementsByTagName('input')[1].value = csid;
	Ajax.call('gift.php', 'act=select&id=' + goodid + '&csid=' + csid + '&actid=' + actid + '&libaocat=' + libaocat, changegoodsResponse, 'GET', 'JSON');
}
/*商品缩略图触发返回事件*/
function changegoodsResponse(res)
{
 if (res.err_msg.length > 0)
  {
    alert(res.err_msg);
  }
  else
  {
      var pid = "price_" + res.result.csid;
	  var colorid = "thumbPic_" + res.result.id;
	  var numid = "thumbBox_" + res.result.csid;
	  var add_lb_id = "add_lb_" + res.result.csid;
	  var num = document.getElementById(numid).getElementsByTagName('li').length;
	  var colnameid = "col_name_" + res.result.csid;
	  var picpanelid = "goods_img_" + res.result.csid;
	  var namepannel = "package_goods_name_" + res.result.csid;
	  var cm = '';
	  var boxid = "sizeBox_" + res.result.csid;
	  var inputvalue = document.getElementById(boxid).getElementsByTagName('input')[0].value;
	  http://test.pupai.cn/goods/sn_WS21B2A.html
	  document.getElementById(picpanelid).innerHTML = "<a class=\"photo\" href=\"goods/sn_"+res.result.goods_thumb_sn+".html\" target=\"_blank\"><img src="+res.result.thumb+" /></a>";
	  document.getElementById(colnameid).innerHTML = res.result.colorName;
	  document.getElementById(namepannel).innerHTML = "<a href=\"goods/sn_"+res.result.goods_thumb_sn+".html\">"+res.result.name+"</a><span class=\"market\">市场价￥"+res.result.market_price+"元</span>";
	  
	  for(j=0; j<res.result.cm.length; j++)
	  {
		  if(res.result.cm[j].b_id == '1')
		  {
			  cm += "<li id=\"color_"+res.result.csid+"_"+res.result.cm[j].attr_value+"\" onclick=\"selectcr('"+res.result.csid+"','"+res.result.actid+"','"+res.result.cm[j].attr_value+"','"+res.result.libaocat+"','"+res.result.cm[j].code+"');\">"+res.result.cm[j].attr_value+"</li>";
		  }else{
			  cm += "<li id=\"color_33\" class=\"color_33\" onclick=\"alert('此尺码暂无库！');\">"+res.result.cm[j].attr_value+"</li>";
		  }
	  }
	  document.getElementById(boxid).innerHTML = "<input id=\"libaoCm\" name=\"libaoCm\" type=\"hidden\" value="+inputvalue+" />" + cm;
	  for(var i=0; i<num;i++)
	  {
		  if(document.getElementById(numid).getElementsByTagName('li')[i].className != 'color_33')
		  {
			  document.getElementById(numid).getElementsByTagName('li')[i].className = "";
		  }
	  }
	  var nav_color = document.getElementById(colorid);
	  
      nav_color.parentNode.className = "current";
	  
	  $(add_lb_id).innerHTML = '<a href="javascript:;" onclick="loadproduct(0,0,0,0,0);" class="btn_add">选择此商品</a>';
  }
}

/*添加礼包触发事件*/
function loadproduct(goodid,y_goods_id,actid,cmid,libaocat)
{
   if(cmid == 0)
   {
      alert("请选择尺码！");
   }else{
      var sessionNum = document.getElementById('sessionnum').getElementsByTagName('input')[0].value;
	  document.getElementById('sessionnum').getElementsByTagName('input')[0].value = parseInt(sessionNum) + 1;
      Ajax.call('gift.php', 'act=add&id=' + goodid + '&y_id=' + y_goods_id + '&cmid=' + cmid + '&actid=' + actid + '&libaocat=' + libaocat, addgoodsResponse, 'GET', 'JSON');
   }
}

function addgoodsResponse(res)
{
 if (res.err_msg.length > 0)
  {
    alert(res.err_msg);
  }
  else
  {
      if(res.result == 2)
	  {
	     alert("您的礼包商品已满,请点击“放入购物车”按钮进入结算页面。如果更换套装商品,请先点击“取消选择”删除部分商品");
	  }else if(res.result == 1){
	     alert("您添加的商品非礼包的商品，请联系管理员！");
		 document.getElementById('sessionnum').getElementsByTagName('input')[0].value = document.getElementById('sessionnum').getElementsByTagName('input')[0].value - 1;
	  }else if(res.result == 3){
	     alert("您已添加了同类商品，请添加其它商品！");
		 document.getElementById('sessionnum').getElementsByTagName('input')[0].value = document.getElementById('sessionnum').getElementsByTagName('input')[0].value - 1;
	  }else if(res.result == 4)
	  {
		   alert("对不起！您选择的商品库存不足，请选择其他商品！");
	  }else{
		 var dif_price = 0;
		 var lbmarket = 0;
		 document.getElementById('ndlb2').innerHTML = '';
		 for(j = 0; j< res.result[0].num; j++)
		 {
		    if(res.result[j])
			{
		      document.getElementById('ndlb2').innerHTML += "<li id=\"ndlb\" class=\"current\"><a id=\"ndlb_img\" href=\"goods/sn_"+res.result[j].goods_sn_thumb+".html\" class=\"photo\" ><img src="+res.result[j].goods_thumb+" /></a><p id=\"ndlb_info\"><a href=\"goods/sn_"+res.result[j].goods_sn_thumb+".html\">"+res.result[j].goods_name+"</a></p><p><span>" + res.result[j].goods_col + "</span><span>" + res.result[j].goods_cm + "</span></p><p>市场价：￥"+res.result[j].market_price+"</p><p>折扣价：￥"+ res.result[j].goods_price +"</p><p id=\"ndlb_do\" class=\"line\"><span class=\"btn_del_on\" onclick=\"dropGoods("+res.result[j].time+",0,"+res.result[j].libaocat+","+res.result[j].act_id+");\">取消选择</span></p></li>";
			  dif_price = res.result[j].dis_price;
			  lbmarket = res.result[j].lbmarket;
			}else{
			  document.getElementById('ndlb2').innerHTML += "<li id=\"ndlb\" class=\"current\"><a id=\"ndlb_img\" href=\"javascript:;\" class=\"photo\"><img src=\"pic/cl_68.jpg\" /></a><p id=\"ndlb_info\">名称</p><p><span>款色</span><span>尺码</span></p><p>市场价：￥0.00</p><p>折扣价￥0.00</p><p id=\"ndlb_do\" class=\"line\"><span class=\"btn_del\">取消选择</span></p></li>";
			}
		 }
		 if(document.getElementById('sessionnum').getElementsByTagName('input')[0].value == document.getElementById('sessionnum').getElementsByTagName('input')[1].value)
		  {
			 document.getElementById('ndlb2').innerHTML += "<li class=\"save\">礼包售价为<span class=\"green\"> "+lbmarket+"元</span></li>";
			 document.getElementById('ndlb2').innerHTML += "<li class=\"save\">您节省了<span class=\"green\"> "+dif_price+"元</span></li>";
		  }
	  }
  }
}

function dropGoods(id, li_id, libaocatid, actid)
{
   Ajax.call('gift.php', 'act=delete&id=' + id + '&libaocat=' + libaocatid + '&actid=' + actid, dropgoodsResponse, 'GET', 'JSON');
}

function dropgoodsResponse(res)
{
 if (res.err_msg.length > 0)
  {
    alert(res.err_msg);
  }
  else
  {
     document.getElementById('sessionnum').getElementsByTagName('input')[0].value = document.getElementById('sessionnum').getElementsByTagName('input')[0].value - 1;
     if(res.result == 1)
	 {
		document.getElementById('ndlb2').innerHTML = '';
		 for(j = 0; j< res.num; j++)
		 {
		    document.getElementById('ndlb2').innerHTML += "<li id=\"ndlb\" class=\"current\"><a id=\"ndlb_img\" href=\"javascript:;\" class=\"photo\"><img src=\"pic/cl_68.jpg\" /></a><p id=\"ndlb_info\">名称</p><p><span>款色</span><span>尺码</span></p><p>市场价￥0.00</p><p>折扣价￥0.00</p><p id=\"ndlb_do\" class=\"line\"><span class=\"btn_del\">取消选择</span></p></li>";
		 }
	 }else{
	    document.getElementById('ndlb2').innerHTML = '';
		 for(j = 0; j< res.result[0].num; j++)
		 {
		    if(res.result[j])
			{
		      document.getElementById('ndlb2').innerHTML +=  "<li id=\"ndlb\" class=\"current\"><a id=\"ndlb_img\" href=\"goods/sn_"+res.result[j].goods_sn_thumb+".html\" class=\"photo\" ><img src="+res.result[j].goods_thumb+" /></a><p id=\"ndlb_info\"><a href=\"goods/sn_"+res.result[j].goods_sn_thumb+".html\">"+res.result[j].goods_name+"</a></p><p><span>" + res.result[j].goods_col + "</span><span>" + res.result[j].goods_cm + "</span></p><p>市场价￥"+ res.result[j].market_price +"</p><p>折扣价￥"+ res.result[j].goods_price +"</p><p id=\"ndlb_do\" class=\"line\"><span class=\"btn_del_on\" onclick=\"dropGoods("+res.result[j].time+",0,"+res.result[j].libaocat+","+res.result[j].act_id+");\">取消选择</span></p></li>";
			}else{
			  document.getElementById('ndlb2').innerHTML += "<li id=\"ndlb\" class=\"current\"><a id=\"ndlb_img\" href=\"javascript:;\" class=\"photo\"><img src=\"pic/cl_68.jpg\" /></a><p id=\"ndlb_info\">名称</p><p><span>款色</span><span>尺码</span></p><p>市场价￥0.00</p><p>折扣价￥0.00</p><p id=\"ndlb_do\" class=\"line\"><span class=\"btn_del\">取消选择</span></p></li>";
			}
		 }
	 }
  }
}

