/* $Id : common.js 4865 2007-01-31 14:04:10Z paulgao $ */

/* *
 * 添加商品到购物车
 * 增加对商品列表可修改数量添加到购物车的修改
 *	mod by River
 */
function addToCart(goodsId,goodsNum)
{
  var goods        = new Object();
  var spec_arr     = new Array();
  var fittings_arr = new Array();
  var number       = 1;
  var formBuy      = document.forms['ECS_FORMBUY'];

  //如果goodsNum有值，代表数量是从商品列表来的
  //add by River
  if(typeof goodsNum != 'undefined')
  {
	number = parseInt(goodsNum);
  }

  // 检查是否有商品规格
  if (formBuy)
  {
    j = 0;
    for (i = 0; i < formBuy.elements.length; i ++ )
    {
      var prefix = formBuy.elements[i].name.substr(0, 5);

      if (prefix == 'spec_' && (
        (formBuy.elements[i].type == 'radio' && formBuy.elements[i].checked) ||
        formBuy.elements[i].tagName == 'SELECT'))
      {
        spec_arr[j] = formBuy.elements[i].value;
        j ++ ;
      }
    }

    if (formBuy.elements['number'])
    {
      number = formBuy.elements['number'].value;
    }
  }

  // 检查是否有配件
  var formFittings = document.forms['ECS_FORMFITTINGS'];

  if (formFittings)
  {
    var fittings = formFittings.elements['fittings'];

    if (fittings != undefined)
    {
      if (fittings.length != undefined)
      {
        for (i = 0; i < fittings.length; i ++ )
        {
          if (fittings[i].checked)
          {
            fittings_arr[i] = fittings[i].value;
          }
          else
          {
            fittings_arr[i] = "0";
          }
        }
      }
      else
      {
        if (fittings.checked) fittings_arr[0] = fittings.value;
      }
    }
  }

  goods.spec     = spec_arr;
  goods.fittings = fittings_arr;
  goods.goods_id = goodsId;
  goods.number   = number;

  Ajax.call('flow.php?step=add_to_cart', 'goods=' + goods.toJSONString(), addToCartResponse, 'POST', 'JSON');
}

/* *
 * 处理添加商品到购物车的反馈信息
 */
function addToCartResponse(result)
{
  if (result.error > 0)
  {
    // 如果需要缺货登记，跳转
    if (result.error == 2)
    {
      AlertDialog(result.message);//
      //if (confirm(result.message))
      //{
        //location.href = 'user.php?act=add_booking&id=' + result.goods_id;
      //}
    }
    else
    {
      alert(result.message);
    }
  }
  else
  {
    var cartInfo = document.getElementById('ECS_CARTINFO');

    if (cartInfo)
    {
      cartInfo.innerHTML = result.content;
    }

	AlertDialog(result.message);
/*    if (!confirm(result.message))
    {
      	//alert(result.message);
	  	location.href = 'flow.php';
    }else{
		if(location.pathname.indexOf("flow.php")!=-1)
			location.href = "index.php";
	}*/
  }
}

/* *
 * 添加商品到收藏夹
 */
function collect(goodsId)
{
  Ajax.call('user.php?act=collect', 'id=' + goodsId, collectResponse, 'GET', 'JSON');
}

/* *
 * 处理收藏商品的反馈信息
 */
/* *
 *修改，如果客户未进行登录，则弹出窗体要求客户先进行登录后再进行操作
 *
 */
function collectResponse(result)
{
  if ( result.error > 1 ){
  	if (window.confirm(result.message)){
  		openwindow('signup.php', '523', '300');
  	}
  }else{
  	alert(result.message);
  }
}

/* *
 * 处理会员登录的反馈信息
 */
function signInResponse(result)
{
  toggleLoader(false);

  var done    = result.substr(0, 1);
  var content = result.substr(2);

  if (done == 1)
  {
    document.getElementById('member-zone').innerHTML = content;
  }
  else
  {
    alert(content);
  }
}

/* *
 * 评论的翻页函数
 */
function gotoPage(page, id, type)
{
  Ajax.call('comment.php?act=gotopage', 'page=' + page + '&id=' + id + '&type=' + type, gotoPageResponse, 'GET', 'JSON');
}

function gotoPageResponse(result)
{
  document.getElementById("ECS_COMMENT").innerHTML = result.content;
}

/* *
 * 取得格式化后的价格
 * @param : float price
 */
function getFormatedPrice(price)
{
  if (currencyFormat.indexOf("%s") > - 1)
  {
    return currencyFormat.replace('%s', advFormatNumber(price, 2));
  }
  else if (currencyFormat.indexOf("%d") > - 1)
  {
    return currencyFormat.replace('%d', advFormatNumber(price, 0));
  }
  else
  {
    return price;
  }
}

/* *
 * 夺宝奇兵会员出价
 */

function bid(step)
{
  var price = '';
  var msg   = '';
  if (step != - 1)
  {
    var frm = document.forms['formBid'];
    price   = frm.elements['price'].value;
    if (price.length == 0)
    {
      msg += price_not_null + '\n';
    }
    else
    {
      var reg = /^[\.0-9]+/;
      if ( ! reg.test(price))
      {
        msg += price_not_number + '\n';
      }
    }
  }
  else
  {
    price = step;
  }

  if (msg.length > 0)
  {
    alert(msg);
    return;
  }

  Ajax.call('snatch.php?act=bid', 'price=' + price, bidResponse, 'POST', 'JSON')
}

/* *
 * 夺宝奇兵会员出价反馈
 */

function bidResponse(result)
{
  if (result.error == 0)
  {
    document.getElementById('ECS_SNATCH').innerHTML = result.content;
    if (document.forms['formBid'])
    {
      document.forms['formBid'].elements['price'].focus();
    }
    newPrice(); //刷新价格列表
  }
  else
  {
    alert(result.content);
  }
}

/* *
 * 夺宝奇兵最新出价
 */

function newPrice()
{
  Ajax.call('snatch.php?act=new_price_list', '', newPriceResponse, 'GET', 'TEXT');
}

/* *
 * 夺宝奇兵最新出价反馈
 */

function newPriceResponse(result)
{
  document.getElementById('ECS_PRICE_LIST').innerHTML = result;
}

/* *
 *  返回属性列表
 */
function getAttr(cat_id)
{
  var tbodies = document.getElementsByTagName('tbody');
  for (i = 0; i < tbodies.length; i ++ )
  {
    if (tbodies[i].id.substr(0, 10) == 'goods_type')tbodies[i].style.display = 'none';
  }

  var type_body = 'goods_type_' + cat_id;
  try
  {
    document.getElementById(type_body).style.display = '';
  }
  catch (e)
  {
  }
}

/* *
 * 截取小数位数
 */
function advFormatNumber(value, num) // 四舍五入
{
  var a_str = formatNumber(value, num);
  var a_int = parseFloat(a_str);
  if (value.toString().length > a_str.length)
  {
    var b_str = value.toString().substring(a_str.length, a_str.length + 1);
    var b_int = parseFloat(b_str);
    if (b_int < 5)
    {
      return a_str;
    }
    else
    {
      var bonus_str, bonus_int;
      if (num == 0)
      {
        bonus_int = 1;
      }
      else
      {
        bonus_str = "0."
        for (var i = 1; i < num; i ++ )
        bonus_str += "0";
        bonus_str += "1";
        bonus_int = parseFloat(bonus_str);
      }
      a_str = formatNumber(a_int + bonus_int, num)
    }
  }
  return a_str;
}

function formatNumber(value, num) // 直接去尾
{
  var a, b, c, i;
  a = value.toString();
  b = a.indexOf('.');
  c = a.length;
  if (num == 0)
  {
    if (b != - 1)
    {
      a = a.substring(0, b);
    }
  }
  else
  {
    if (b == - 1)
    {
      a = a + ".";
      for (i = 1; i <= num; i ++ )
      {
        a = a + "0";
      }
    }
    else
    {
      a = a.substring(0, b + num + 1);
      for (i = c; i <= b + num; i ++ )
      {
        a = a + "0";
      }
    }
  }
  return a;
}

/* *
 * 根据当前shiping_id设置当前配送的的保价费用，如果保价费用为0，则隐藏保价费用
 *
 * return       void
 */
function set_insure_status()
{
  // 取得保价费用，取不到默认为0
  var shippingId = getRadioValue('shipping');
  var insure_fee = 0;
  if (shippingId > 0)
  {
    if (document.forms['theForm'].elements['insure_' + shippingId])
    {
      insure_fee = document.forms['theForm'].elements['insure_' + shippingId].value;
    }
    // 每次取消保价选择
    if (document.forms['theForm'].elements['need_insure'])
    {
      document.forms['theForm'].elements['need_insure'].checked = false;
    }

    // 设置配送保价，为0隐藏
    if (document.getElementById("ecs_insure_cell"))
    {
      if (insure_fee > 0)
      {
        document.getElementById("ecs_insure_cell").style.display = '';
        setValue(document.getElementById("ecs_insure_fee_cell"), getFormatedPrice(insure_fee));
      }
      else
      {
        document.getElementById("ecs_insure_cell").style.display = "none";
        setValue(document.getElementById("ecs_insure_fee_cell"), '');
      }
    }
  }
}

/* *
 * 当支付方式改变时出发该事件
 * @param       pay_id      支付方式的id
 * return       void
 */
function changePayment(pay_id)
{
  // 计算订单费用
  calculateOrderFee();
}

function getCoordinate(obj)
{
  var pos =
  {
    "x" : 0, "y" : 0
  }

  pos.x = document.body.offsetLeft;
  pos.y = document.body.offsetTop;

  do
  {
    pos.x += obj.offsetLeft;
    pos.y += obj.offsetTop;

    obj = obj.offsetParent;
  }
  while (obj.tagName.toUpperCase() != 'BODY')

  return pos;
}

function showCatalog(obj)
{
  var pos = getCoordinate(obj);
  var div = document.getElementById('ECS_CATALOG');

  if (div && div.style.display != 'block')
  {
    div.style.display = 'block';
    div.style.left = pos.x + "px";
    div.style.top = (pos.y + obj.offsetHeight - 1) + "px";
  }
}

function hideCatalog(obj)
{
  var div = document.getElementById('ECS_CATALOG');

  if (div && div.style.display != 'none') div.style.display = "none";
}

/*
*	重新调整图片大小
*   add by River
*	@param  obj  操作对象
*           wt   指定宽度
*			ht 	 指定高度
*/
function resizepics(obj,wt,ht){
	if(obj.height>ht)
	{
		oheight=obj.height;
		owidth=obj.width;
		obj.height=ht;
		obj.width=owidth*(ht/oheight);
	}
	if(obj.width>wt)
	{
		oheight=obj.height;
		owidth=obj.width;
		obj.width=wt;
		obj.height=oheight*(wt/owidth);
	}
}

/*
*	参数：(url,width,height)
*   add by river
*/
function openwindow(){
	var url;
	var width = 800;
	var height = 600;
	if(arguments[0] == undefined) return false;
	else url = arguments[0];
	if(arguments[1] != undefined) width = arguments[1];
	if(arguments[2] != undefined) height = arguments[2];

	var t1 =  "scrollbars=0,toolbar=0,location=0,directorys=0,status=0,menubar=0,"
	var t2 =  t1 + "top='+(screen.height-"+ height +")/2+',left='+(screen.width- "+ width + ")/2+',width="+ width +",height=" + height;

	eval("open(url,'_blank','" + t2 + "')");
}

/*
 * 页面读取时，预读取以下的图片信息
 *
 * add by Jeff Kwok
 */

function preLoadImg(a) {
		var d = document;
		if (d.images) {
			for (i = 0; i < a.length; i++) {
				try{				
						var img = new Image();
						img.src = a[i];
				}catch(e){}
			}
		}
	}
function preLoadImageInit( imagePath ){
	var preLoadImageUrl = new Array();
	preLoadImageUrl.push( imagePath+"images/btn_teach_0.gif" );
	preLoadImageUrl.push( imagePath+"images/btn_club_0.gif" );
	preLoadImageUrl.push( imagePath+"images/img_navbg.gif" );
	//preLoadImg(preLoadImageUrl);
	//return;
	/*
	var myimages=new Array()
	for (i=0;i< preLoadImageUrl.length;i++){
	myimages[i]=new Image()
	myimages[i].src=preLoadImageUrl[i]
	}
	*/
	
	/*
	preLoadImageUrl.push( "btn_club_0.gif" );
	preLoadImageUrl.push( "btn_teach_0.gif" );
	preLoadImageUrl.push( "button1-over.gif" );
	preLoadImageUrl.push( "button2-over.gif" );
	preLoadImageUrl.push( "button3-over.gif" );
	preLoadImageUrl.push( "button4-over.gif" );
	preLoadImageUrl.push( "button5-over.gif" );
	preLoadImageUrl.push( "button6-over.gif" );
	preLoadImageUrl.push( "button7-over.gif" );
	preLoadImageUrl.push( "button8-over.gif" );
	preLoadImageUrl.push( "button9-over.gif" );
*/
	preLoad=document.createElement('div');
	preLoad.style.display = 'none';

	preloadCount =  preLoadImageUrl.length;
	for (i=0;i<preloadCount;i++){
		imgs = document.createElement('img');
		imgs.setAttribute('id','preImgId_'+i);
		imgs.setAttribute('src',imagePath  + preLoadImageUrl[i]);
		imgs.style.display = 'none';
		preLoad.appendChild(imgs);
	}

	document.body.appendChild(preLoad);
}

/*
 * window在onload时候使用的function整合函数。
 * 加入有程序需要整合在onload中，请先将此过程整理为一个函数，然后
 * 使用addLoadEvent(functionname)的方式整合到一起。
 *
 * add by Jeff Kwok
 */

function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	}else{
		window.onload =  function(){
			oldonload();
			func();
		}
	}
}

function giftClickTips (){
	/*if( !document.getElementbyId('giftTips')) {
		giftTipsLayer = document.createElement('div');
		giftTipsLayer.setAttribute('id','giftTips');
		textContent = document.createTextNode('此选项为折扣项，不可以点击查看')；
		giftTipsLayer.appendChild(textContent);
		document.body.appendChild(giftTipsLayer);
	}*/

	return false;
}

/*输入框显示效果
 *
 *Append by Jeff
 */
inputTextBehaviou = function( textEle, defaultText ){
	inputTextValue = textEle.value;
	if ( inputTextValue == '' ){
		textEle.value = defaultText;
	}

	inputTextValue = textEle.value;

	if ( inputTextValue == defaultText ){
		textEle.style.color = '#bbbbbb';
	}else{
		textEle.style.color = '#000000';
	}
}

inputTextBehaviouOnFocus = function ( textEle, defaultText ){
	inputTextValue = textEle.value;
	if ( inputTextValue == defaultText){
		textEle.value = '';
	}
	textEle.style.color = '#000000';
	//inputTextBehaviou(textEle, defaultText);
}

/* *
 * AJAX方式退出登录
 */
function userExit()
{
  if ( confirm('是否要退出您的帐号？')){
  		Ajax.call('user.php', 'act=user_exit',exitResponse, 'GET', 'JSON');
  }
}

/* *
 * 处理退出帐号的反馈信息
 */
function exitResponse(result)
{
  var URIString = new String(window.location); 
  if ( URIString.indexOf('user.php') > -1 ){
	window.location.href = 'user.php?act=login';
  }else{ 

    var mzone = document.getElementById("mzone");
  	if ( mzone ){
	  alert ( result.alertText );
	  mzone.innerHTML = result.pageContent;
  	}else 	window.location.reload();
  }
}

/* *
 * 判断输入的字符串是否为空
 */
isBlank = function ( str ) {
	for( i=0; i<str.length; i++ ){
		if( str.charAt(i) != ' ' ){
			return false;
	   };
	}
	return true;
}

/*
 * 页面预载入程序，用于可以多个onload脚本的执行。
 */
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	}else{
		window.onload =  function(){
			oldonload();
			func();
		}
	}
}

function sendResponse(result)
{
  var mzone = document.getElementById("customer_send_email");
  var res   = result.parseJSON();

  if (res.error > 0)
  {
    // 发送失败
    alert(res.content);
  }
  else
  {
	var frm = document.getElementById('sendFeedback');
	frm.elements['contact_email'].value = '';
	frm.elements['email_content'].value = '';
	alert(res.content);
  }
}

is_email = function ( Els ){  //判断是否一个合法的Email地址格式
	s = Els.value;
	if ( s != "" ){
		if (/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(s)) {
			return true;
		} else {
			alert ('你输入的电子邮箱格式不正确！' );
			Els.value = "";
			return false;
		}
	}else{
		return true;
	}
}

/*
 * 检查搜索是否有输入关键字。
 */
keywordEmptyCheck = function(){
	var keyWordValue = document.getElementById('keyword').value;
	var actObj = document.getElementById('act');

	var defaultKeyWordReg = '请输入关键词';

	if ((isBlank(keyWordValue)) || (keyWordValue.indexOf( defaultKeyWordReg ) > -1 )){
		var categoryValue = document.getElementById('category').value;
		if(categoryValue==0){
		    actObj.value = 'advanced_search';
		    window.location = 'search.php?act=advanced_search';
		}
		else{
	        actObj.value = 'category';
		    window.location = 'category.php?id=' + categoryValue;
		    //window.location = "product_classify.php?javascript:switchTab('TabPage1','Tab5')";
		}
		return false;
	}
	return true;
}

seniorSearchSelectBox = function(){
	minPrice = document.getElementById('min_price');
	maxPrice = document.getElementById('max_price');

	if ( minPrice.value < 0 ){
		maxPrice.selectedIndex = 0;
		maxPrice.setAttribute ('disabled', 'disabled');
	} else {
		maxPrice.removeAttribute ('disabled');
	}
}


limitTextareaWords = function(obj,maxnum){	
	if(isNaN(maxnum))  maxnum = 200;
	
 	if (obj.value.length > maxnum) {
		obj.value = obj.value.substring(0,maxnum);
 		alert("内容最多不能超过 "+maxnum+" 个字!");
	 }
}
/*
 * 使用指定域名服务;
 */
//document.domain = 'lipindao.com';

function checkMonthDay(mm,dd,yy){
	var mm_o=document.getElementById(mm);
	if (!mm_o) {return false;}
	var mm_v=mm_o[mm_o.selectedIndex].value;
	var delarr=[];
	var ddarr=['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'];
	if (mm_v!=""){
		if (mm_v==2) {
			
			try{
			  if (yy){
				var yy_v=document.getElementById(yy).value;
				var year=parseInt(yy_v);               
				var check4=(0==year%4);          
				var check100=(0==year%100);        
				var check400=(0==year%400);        
				if((check4 && !check100) || check400) ddarr=ddarr.slice(0,29);else ddarr=ddarr.slice(0,28);
			  } else ddarr=ddarr.slice(0,28);
			} catch(e){alert(e.message);}
			
		}
		if (mm_v==4 || mm_v==6 || mm_v==9 || mm_v==11) ddarr=ddarr.slice(0,30);
		
	}

	var dd_o=document.getElementById(dd);
	var dd_selected=dd_o.selectedIndex;

	try{
		var len=dd_o.options.length;
		for (var i=len-1;i>0;i--){
			dd_o.removeChild(dd_o.options[i]);
		}
	} catch(e){alert(e.message);}

	for (var i=0;i<ddarr.length;i++){
		var opt = document.createElement("option");
		  opt.setAttribute('value',ddarr[i]);
		  optText = document.createTextNode(ddarr[i]);
		  opt.appendChild(optText);
		  dd_o.appendChild( opt );
	}
	try{
		if (dd_selected) dd_o.options[dd_selected].selected=true;;
	} catch(e){}
}
