/**
 * @author lin.sun
 */
//载入常用单元
document.write("<script src='"+ getFullPath("script/style.js") +"' type='text/javascript'></s"+"cript>");
document.write("<script src='"+ getFullPath("script/utils/paging.js") +"' type='text/javascript'></s"+"cript>");
document.write("<script src='"+ getFullPath("script/define.js") +"' type='text/javascript'></s"+"cript>");

//统一设置favicon
document.write("<link rel=\"icon\" href=\"resource/images/favicon.ico\" type=\"image/x-icon\">");

//判断IE6
var isIE6 = window.XMLHttpRequest?false:true;

/**
 * 初始加载
 */
$(function(){

});

//全选
function selAll(name,typ){
	switch(typ){
		case 1:	//全选
			$("[name="+ name +"]").attr("checked",true);
			break
		case 2: //取消 
			$("[name="+ name +"]").attr("checked",false);
			break;
		case 3: //反选
			$("[name="+ name +"]").each(function(){
				if($(this).attr("checked")){
					$(this).attr("checked",false);
				}else{
					$(this).attr("checked",true);
				}
			});
			break;
		default: //取值
			var data = [];
			$("[name="+ name +"]").filter(":checked").each(function(){
				data.push(this.value);
			});
			return data;
	}
}

//跳转
function go(url){
	window.location = url;
}

//返回
function back(){
	window.history.go(-1);
}

//刷新
function reload(){
	window.location.reload();
}

//刷新
function reload2(){
	window.location = window.location;
}

//刷新
function reload3(){
	var url = window.location.toString();
	url += url.indexOf("?")==-1 ? "?":"&";
	url += "uuid="+Math.random();
	window.location = url;
}

//删除确认
function delConfirm(){
	return confirm("确定要删除吗？");
}

//恢复确认
function renewConfirm(){
	return confirm("确定恢复吗？");
}

//关闭确认
function closeConfirm(){
	return confirm("确定关闭吗？");
}

//通过确认
function agreeConfirm(){
	return confirm("确定通过吗？");
}

//不通过确认
function disagreeConfirm(){
	return confirm("确定不通过吗？");
}

//移出确认
function moveoutConfirm(){
	return confirm("确定要移出吗？")
}


/**
 * 删除选择对象
 * @param string name checkbox 名称
 * @param string url 要提交到的网址
 * @param string param 以此名称提示参数,默认参数名为id
 */
function delSel(name,url,param){
	if (typeof(name) == "object") {
		var sel = name;
	}else {
		var sel = selAll(name);
	}
	if(sel == ""){
		alert("请选择要删除的对象！");
	}else{
		if(delConfirm()){
			doSel(name,url,param);
		}
	}
}

/**
 * 对选择的对象进行操作
 * 向url以param参数名提交选中的值
 */
function doSel(name,url,param,check){
	if (typeof(name) == "object") {
		var sel = name;
	}else {
		var sel = selAll(name);
	}
	if (sel == "") {
		return alert("请选择要操作的对象！");
	}
	var p = param || name;
	var pstr = "";
	var parr = [];	//收集参数值
	for(var i=0;i<sel.length;i++){
		pstr += p + "=" + sel[i] + "&";
		parr.push(sel[i]);
	}
	if(check){
		if(!check({name:name,url:url,param:param,pstr:pstr,parr:parr}))return;
	}	
	if(url.indexOf("?")==-1){
		window.location = url + "?"+pstr;
	}else{
		window.location = url + "&"+pstr;
	}
}

/**
 * 提交表单
 */
function doSubmit(form,url,check){
	if (typeof(form) == "string") {
		form = $("#" + form + ",[name=" + form + "]");
		if (form.length == 0) {
			return alert("提交失败，未找到Form对象");
		}
		form = form[0];
	}
	else {//object
		if (form.tagName != "FORM") {
			form = $(form).par("form")[0];
		}
	}
	if(check){
		if(!check(form))return;
	}
	$(form).find("[multiple]").find("option").attr("selected",true);
	form.action = url==-1?form.action:url;
	form.submit();	
}

/**
 * 以项目根目录为基础取资源完整地址
 * 例: 取images下的book.gif地址
 * getFullPath("images/book.gif");
 */
function getFullPath(path){
	return $.Jlib.jpath+"../../"+path;
}

/**
 * 给URL增加参数
 * @param param　参数可为string或名值对
 */
function addParam(url,param){
	url = url.replace(/#.*$/,"");
	url = url.replace(/&*$/,"");	
	url += url.indexOf("?")==-1 ? "?" : "&";
	if(typeof(param)=="string"){
		url += param;
	}else{
		for(key in param){
			url += key + "=" + param[key] + "&";
		}
	}
	url = url.replace(/&*$/,"");	
	return url;
}

/**
 * dump 
 * 调试用
 */
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' :\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

// for in obj
function eachObj(obj){
	var str = "";
	for(a in obj){
		str += (a + " = " + obj[a] + "\n");
	}
	return str;
}

// 在title中显示所有表单对象name,id
// 用于调试
function tempShowNameId(){
	$(":input").each(function(){
		$(this).attr("title", "name:  " + $(this).attr("name") + "  \nid:  " + $(this).attr("id"));
	});
}

/**
 * 显示一个对话框
 * @param mixed e 参数
 * {
 * 	title:标题
 *  width:宽度
 *  height:高度
 *  html:要显示的内容
 *  url:要调用的地址
 * }
 * @return 返回一个对话框象
 */
function dlg(e){
	return new Dialog(e);
}








