/*
 * 通用的一些js
 * 
 */
(function() {
  if (typeof window.ZMCC == "undefined" || !window.ZMCC) {
      window.ZMCC = {};
  }
  ZMCC.LOCATIONS = {'2':'衢州','3':'杭州','4':'湖州','5':'嘉兴','6': '宁波','7':'绍兴','8':'台州','9':'温州','10':'丽水','11':'金华','12':'舟山'};
})();

function chooseLoc(key, menu) {
	  var form = $('<form action="currLoc_changeArea.do" method="post"/>').appendTo($('body'));
	  var locationId = $('<input type="hidden" name="locationId">').appendTo(form);
	  var currMenu = $('<input type="hidden" name="currMenu">').appendTo(form);
      locationId.val(key);
      currMenu.val(menu);
      form.submit();
}

function MM_jumpMenu(url, pageIndex, pageParam, pageForm) {
	if (!pageForm || pageForm.length<0) {
		pageForm = "pageForm";
	}
	$("#" + pageForm + " input[name='" + pageParam + "']").val(pageIndex);
    $("#" + pageForm).submit();
}

function MM_jumpNumByType(numType) {
    if (!numType || numType.length < 0) {
        return false;
    }
    
    if (numType == "NBT_SELFHELP") {
      var numberSelfhelpForm = $("<form method='get'/>").appendTo($("body"));
      numberSelfhelpForm.attr("action", "number/findNumberSelector.do?numType=NBT_SELFHELP");
      numberSelfhelpForm.submit();
      return;
    }
    
    if (numType == "NBT_FUNNY") {
         var funnyNumForm = $("<form method='get'/>").appendTo($("body"));
		 funnyNumForm.attr("action", "number/numberSelector_listFunnyNumbers.do?numType=NBT_FUNNY");
		 funnyNumForm.submit();
		 return;
    }
    
    $("#numByTypePageForm input[name='numType']").val(numType);
    MM_jumpMenu('', '1', 'paging.pageNo', 'numByTypePageForm');
}

function searchBirthdayNumbers(monthValue) {
   $.post("number/numberSelector_listBirthdayNumbers_dataService.do",{month:monthValue}, function(data){
        $("#birthdayNumDiv").html(data).fadeIn("slow");
   });
   
   $("#currentMonth").text(monthValue);
}

function openpopup(url, width, height) {
    if (!url) return;
    var wid = "800";
    if (width) wid = width;
    var hei = "600";
    if (height) hei = height;
    var leftPos = (screen.width - wid) / 2;
    var topPos = (screen.height - hei) / 2;
    
    window.open(url, "phoneCompare", "width=" + wid + ", height=" + hei + ",resizable = no, status = no, left = " + leftPos + ", top =" + topPos + ", location = no, scrollbars = yes" );
 }
 
function add(aid, kid, pids, types, pkgids, adoids, lcnids, gid, process) {
  var sUrl = document.getElementsByTagName('base')[0].href + "order/shoppingCart_add_dataService.do";
  var params = "";
  var locId = -1;
  params += "itemInfo.activityId=" + aid;
  params += "&itemInfo.activityPackageId=" + kid;
  if(pids.length > 0) {
    for(i = 0; i < pids.length; i++) {
   	  params += "&itemInfo.productIds="
   	      + pids[i] + "&itemInfo.productTypes="
   	  	  + types[i] + "&itemInfo.numberPackageIds="
   	      + pkgids[i] + "&itemInfo.addonServiceIds="
   	  	  + adoids[i];
   	  		   
   	  if(types[i] == 0 && lcnids[i]!= -1) { // 手机
   	    locId = lcnids[i];
   	  }
   	}
  }
   
  params += "&itemInfo.locationId=" + locId;
  params += "&itemInfo.itemGroupId=" + gid;
  $.ajax({
    type: "POST",
	url: sUrl,
	data: params,
	success: function(data) {
	  var rs = eval('(' + data + ')' );
	  var result = rs.status;
	  var itemIds = rs.itemIds;
	  // alert("result:" + result);
	  process(result, itemIds);
	}
  });
}

function addToShoppingCart(aid, kid, pids, types, pkgids, adoids, lcnids, gid){
  var process = function (result) {
    switch (result) {
      case 0:
        if (initShoppingCartItemBar) {
	      initShoppingCartItemBar();
	    }
        if(window.confirm('恭喜！成功加入购物车。是否要进入购物车查看?')) {
          window.location.href = document.getElementsByTagName('base')[0].href + "order/shoppingCart.do";
        }
	    break;
      case 1:
        alert("添加失败！此号码已被别人锁定。");
        break;
      case 4:
        alert("添加失败！购物车中添加的卡号数超过上限。");
        break;
      case 7:
        alert("添加失败！活动信息不完整。");
        break;
      case 10:
        alert("添加失败！活动下架或过期下架。");
	    break;
      case 11:
        alert("添加失败！商品已下架。");
        break;
      case 16:
        alert("添加失败！您的购物车中已存在所选中的号码。");
        break;
      case 99:
        alert("您的购物车中已经存在此号码。请尽快完成购买。");
	    break;
      case 100:
	    if (initShoppingCartItemBar) {
          initShoppingCartItemBar();
        }
        if(window.confirm('恭喜！成功加入购物车。凡购买号码，请尽快完成购买。\n是否要进入购物车查看?')) {
          window.location.href = document.getElementsByTagName('base')[0].href + "order/shoppingCart.do";
        }
	    break;
      case 101:
        if(window.confirm('您的购物车中已经存在此号码。是否要进入购物车查看?')) {
          window.location.href = document.getElementsByTagName('base')[0].href + "order/shoppingCart.do";
        }
        break;
      case 102:
        alert("你所选择的商品有误，不能添加成功");
        break;
      default:
        alert('添加失败！请稍后再试。');
        break;
    }
  }
  
  add(aid, kid, pids, types, pkgids, adoids, lcnids, gid, process);
}

function checkOutDirectly(aid, kid, pids, types, pkgids, adoids, lcnids, gid){
  var process = function (result, itemIds) {
    switch (result) {
	  case 0:
	    // alert("0");
	    if (initShoppingCartItemBar) {
	      initShoppingCartItemBar();
	    }
      var params = "itemIds=" + itemIds;
	    // alert("params:" + params);
      window.location.href = document.getElementsByTagName('base')[0].href + "order/configItems.do?"+params/*.substr(1)*/;
      break;
    case 1:
	    alert("添加失败！此号码已被别人锁定。");
        break;
    case 4:
	    alert("添加失败！购物车中添加的卡号数超过上限。");
        break;
    case 7:
	    alert("添加失败！活动信息不完整。");
	    break;
	  case 10:
	    alert("添加失败！活动下架或过期下架。");
	    break;
	  case 11:
	    alert("添加失败！商品已下架。");
	    break;
	  case 16:
	    alert("添加失败！您的购物车中已存在所选中的号码, 请进入购物车进行结算");
	    break;
	  case 99:
	    alert("您的购物车中已经存在此号码。请尽快完成购买。");
	    break;
	  case 100:
	    if (initShoppingCartItemBar) {
	      initShoppingCartItemBar();
        }
	    if(window.confirm('恭喜！成功加入购物车。凡购买号码，请尽快完成购买。\n是否要进入购物车查看?')) {
  	   	  window.location.href = document.getElementsByTagName('base')[0].href + "order/shoppingCart.do";
  	    }
	    break;
	  case 101:
	    if(window.confirm('您的购物车中已经存在此号码。是否要进入购物车结算?')) {
  		  window.location.href = document.getElementsByTagName('base')[0].href + "order/shoppingCart.do";
  	    }
	    break;
	  case 102:
        alert("你所选择的商品有误，不能添加成功");
        break;
	  default:
	    alert('添加失败！暂时不能结算，请稍后再试。');
	    break;
    }
  }
  add(aid, kid, pids, types, pkgids, adoids, lcnids, gid, process);
}

var chrsz=8;
function str2binl(str) {
  var bin = Array();
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < str.length * chrsz; i += chrsz)
    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
  var seed = 0;
  for(i = 0; i < bin.length; i++)
	  seed += bin[i];
  return (seed & 0x0F) | 0x05;
}

//Faq导航
function faqNavigation(faqTypeName, scrollPosition, isNewWindow) {
    var href = String(window.location.href);
    var paramName = href.substr(href.indexOf("?") + 1, href.indexOf("=") - href.indexOf("?") - 1);
    var paramValue = href.substr(href.indexOf("=") + 1);
    
    //如果在Faq页面，则不需要页面跳转，直接滑动滚动条到指定的位置
    if (paramName == "faqTypeName" && paramValue == faqTypeName){
        if (scrollPosition != undefined && scrollPosition != "") {
            window.scrollTo(0, Number(scrollPosition));
        }
    } else {
        //页面最下面的Faq导航需要在新的窗口显示，但Faq主页面不需要新的窗口
        if (isNewWindow) {
            window.open($('base').attr("href") + "service/faq.do?faqTypeName=" + faqTypeName);
        } else {
            window.location.href = $('base').attr("href") + "service/faq.do?faqTypeName=" + faqTypeName;
            //右侧滚动条滑动到指定的位置
            if (scrollPosition != undefined && scrollPosition != "") {
                window.scrollTo(0, Number(scrollPosition));
            }
        }
    }
}
