﻿/*
 * 定义一些通用方法
 * 莫小明
 * create time:2009-1-3
 */
var Base_Util={
     
	 /**
	   *  设置自动返回
	   *  div：数据动态显示
	   *  callBack： 自动处理的回调函数
	   *  有可能在N个地方时用 
	   */
	  retoppage : function (div,callBack){
		 var o=this; 
		 if(i>0){
			 div.html("<font color='red'>"+i+" 秒后自动退出!</font>");
			 i--;
			 //以一秒为间隔，在setTimeout的第一个参数传递函数本身做为回调函数
			 setTimeout(function(){o.retoppage(div,callBack);},1000);
		 }else{
			 //执行回调
			 callBack();
		 }
	  },
	  
	  
	  /**
	   * 判断是否为数字
	   */ 
	  isNumber : function(str){   
		exp=/[^0-9()-]/g;   
		return (str.search(exp)!=-1)  ? true : false;   
	  }, 
	
	/**
	 * 创建随机数据
	 */
	createRandom : function ()
	{
		var rnd = String(Math.round(Math.random()*10000));
		var date = new Date();
		//取秒为单位，以免重复
		var s = date.getSeconds();
		return new String(rnd+s);
	},
	
	
     /**
	  * 动态创建加提示信息窗体
	  */
	 createDivForMsg : function (id,title)
	 {
		   if(!document.getElementById(id)){
			   //开始动态创建层  
			   var loaddiv=document.createElement("div");
			   //设置其ID名
			   loaddiv.id=id;
			   //设置CSS样式
			   loaddiv.className="Loading_Div_Class";
			   loaddiv.innerHTML=title;
			   //装载到body中
			   document.body.appendChild(loaddiv); 
		   }
		   
	 },
	 
	 /**
	  * 移除对象
	  */
	  removeDivForMsg : function (id)
	 {
		   if(document.getElementById(id)){
			  document.body.removeChild(document.getElementById(id)); 
		   }
	 },
	  
   /**
    * 执行AJAX操作
	* url 请求地址,
	* callBack 回调请求后的处理函数,
	* dataType 请求类型： html,json,xml,
	* type     请求方式：post,get
	*/
   doAjax : function(url,callBack,dataType,type)
   {
		var mdataType = dataType || "html"  ;
		var mtype =  type || "GET" ;
		//执行Ajax
		$.ajax({url :url ,
				type:mtype,    
				dataType: mdataType,
				cache :false,
				success : function(complete) {
					var o = complete;
					//执行回调函数
					callBack(o);
				}
			});
	},
	
	/**
	 * 装载下拉列数据
	 */
	appendOption : function(selectId,defaultTitle,childList) {
		 var list = childList.split("|||");
		//设置默认的标题
		$("#"+selectId).html('<option value="0">'+defaultTitle+'</option>');
		//遍历XML节点
		for(var i=0;i<list.length;i++){
			//获得ID属性
			var itime = list[i].split("___");	
			var item_id =Number(itime[0]);
			//获得文字信息
			var item_text =itime[1];
			//alert(item_id+","+item_text);
			//动态加入select的option对象
			$("#"+selectId).append("<option value='"+item_id+"'>"+item_text+"</option>"); 
		}
	},
	
	
	/**
	 * 统一化删除更能
	 */
	del : function(url){
		if(confirm("确定删除？一旦删除不可恢复！")){
	    	//执行ajax 
			Base_Util.doAjax(url,
			 function(rs)
			 {
                //alert(rs);				 
				var number = Number(rs);
				var msg = (number>0) ?"删除成功！":"删除失败,可能存在关联，请先删除关联数据！";
				alert(msg);
				history.go(0);
			 });
		}
	}
}

// ajax获得子分类
// 莫小明
// create time 2009-1-3
function  getChildList(id) {
    if(id<1) return;
	var url ="ajax_getChildList.php?prodect_big_type_code="+id ;
	$("#prodect_type_Code").html('<option value="0">正在加载数据...</option>');
	$("#prodect_type_Code").attr("disabled",true);
	//执行ajax 
	Base_Util.doAjax(url,
		function(childList)
		{
		    Base_Util.appendOption('prodect_type_Code','选择产品子分类',childList);
			$("#prodect_type_Code").attr("disabled",false);
		});
}


// 获得子分类的默认排序
function getProdectTypeNumber(prodect_big_type_code)
{
   var url ="ajax_prodect_big_type_Number.php?prodect_big_type_code="+prodect_big_type_code ;
   //执行ajax 
   Base_Util.doAjax(url,
				 function(rs)
				 {
				    var number = Number(rs);
					$("#prodect_type_sort").attr("value",number);
				 });
}

// ajax获得子分类
// 莫小明
// create time 2009-1-3
function  getOfMunuChildList(id) {
    if(id<1) return;
	var url ="ajax_getChildList.php?menu_big_code="+id ;
	$("#menu_small_code").html('<option value="0">正在加载数据...</option>');
	$("#menu_small_code").attr("disabled",true);
	//执行ajax 
	Base_Util.doAjax(url,
		function(childList)
		{
		    Base_Util.appendOption('menu_small_code','选择文章子分类',childList);
			$("#menu_small_code").attr("disabled",false);
		});
}

// 获得子分类的默认排序
function getMenuSmallNumber(menu_big_code)
{
   var url ="ajax_menu_big_code.php?menu_big_code="+menu_big_code ;
   //执行ajax 
   Base_Util.doAjax(url,
				 function(rs)
				 {
				    var number = Number(rs);
					$("#menu_small_sort").attr("value",number);
				 });
}


//登录
function login() {
    if($("#login_n")) {
		if($("#login_p")) {
		    //获得数据
			var n = $("#login_n").attr("value");
			var p = $("#login_p").attr("value");
			//判断
			if(n=="") {
				alert("请输入用户名！");
				$("#login_n").focus();
				return false;
			}else if(p=="") {
			    alert("请输入密码！");
				$("#login_p").focus();
				return  false;
			}else {
			    var url = encodeURI("userLogin_post.php?action=login&n="+n+"&p="+p);
				//alert(url);
				Base_Util.doAjax(url,
				function(rs)
				{
					//alert(rs); 
					var msg = "提示：";
					if(rs.indexOf("empty_n")>0) {
					   msg+="请输入用户名！";
					   $("#login_n").focus();
					   alert(msg);
					}else if(rs.indexOf("empty_p")>0)
					{
						msg+="请输入密码！";
						$("#login_p").focus();
						alert(msg);
					}else if(rs.indexOf("empty_rs")>0)
					{
						msg+="不存在该用户或输入的密码有错！";
						$("#login_p").attr("value","");
						$("#login_n").attr("value","");
						$("#login_n").focus();
						alert(msg);
				    }else {
					    history.go(0);
					}
					return ;
				});
			}
	    }
	}
}

//退出
function unlogin(){
	if(confirm("您确定要退出管理吗？")){
		var url = "userLogin_post.php?action=unlogin";
		Base_Util.doAjax(url,
		function(rs)
		{ 
		   history.go(0);
		});
	}
}


// ajax获得市区
// 莫小明
// create time 2009-1-15
function  getCityList(id) {
    if(id<1) return;
	var url ="user_ajax_getCity.php?province_code="+id ;
	$("#city_code").html('<option value="0">正在加载数据...</option>');
	$("#city_code").attr("disabled",true);
	//执行ajax 
	Base_Util.doAjax(url,
		function(childList)
		{
		    Base_Util.appendOption('city_code','选择市区',childList);
			$("#city_code").attr("disabled",false);
		});
}

//收藏
function  addCollection(id) {
    if(id<1) return;
	var url ="user_ajax_collection.php?prodect_code="+id ;
	//执行ajax 
	Base_Util.doAjax(url,
		function(rs)
		{
		   alert(rs); 
		});
}

/**
 * 用户激活和注销
 */
function chanceState(type,id)
{ 
    var msg ="";
	if(type=="1") {
	   msg = "确认要激活码？";
	}else if(type=="0")
	{
	    msg = "确认要注销码？";	
	}
    if(confirm(msg)){
	    if(id<1) return;
		var url ="ajax_setUserState.php?type=" + type + "&id="+ id;
		//alert(url);
		//执行ajax 
		Base_Util.doAjax(url,
			function(rs)
			{
			   alert(rs); 
			   history.go(0);
			});
	}
}



//购物车
//-------------------------------


function addCar(product_id,product_big_type_name,product_small_type_name,product_name,product_price,product_count)
{

	if(product_id<1) return;
	var url = "car_ajax_add.php?product_id="+product_id
	        +"&product_big_type_name="+product_big_type_name
			+"&product_small_type_name="+product_small_type_name
			+"&product_name="+product_name
			+"&product_price="+product_price
			+"&product_count="+product_count ;
	//alert(url);
	//执行ajax 
	Base_Util.doAjax(encodeURI(url),
		function(rs)
		{
		  var arr = rs.split("|||");
		  if(arr[2]=="1") {
		     alert("该商品已经在购物车中！");
		  }else {
		      alert("恭喜，成功放入购物车，您目前商品总数为："+arr[0]+" 个，需付总金额为："+arr[1]+" 元");  
		  }
		});
}


/**
 *
 * 修改购物车
 */
function modifyCar(product_id,price)
{
    if(product_id<1) return;
	var product_count =1;
	var num = $("#num_"+product_id).attr("value");
	//记录产品数量
	if(num!="")
    {
	   //检测为数字
	   if(num.CheckNumber()){
	       if(num>0 && num<99999)
		   {
		       product_count = num ;
			   
		   }else {
			  alert("您输入的数字不符合数字范围！");
			  $("#num_"+product_id).select();
			  return;
 		   } 
	   }else{
	      alert("商品数量必须为数字！");
		  $("#num_"+product_id).select();
		  return;
	   }
    }
	var url = "car_ajax_modify.php?product_id="+product_id+"&product_count="+product_count;
	//alert(url);
	//执行ajax 
	Base_Util.doAjax(encodeURI(url),
		function(rs)
		{
		  var arr = rs.split("|||");
		  if(arr[2]==1) {
			  //
			  var val = "共："+(price*product_count)+"&nbsp;元";
			  $("#price_"+product_id).html(val);
			  //
			  $("#allCount").html(arr[0]+"个");
			  //
			  $("#All_Price").html(arr[1]+"元");
		  }else {
		      alert("修改失败！");
		  }
		});
}


function getObjVal(obj) 
{
    var str = "";
    $(obj).each(function(i)
	{
	    if(i==0){
		  str =$(this).attr("value");
		}else {
		  str += "|"+$(this).attr("value");
		}
	});
	return str;
}

