window.$ = function(name) 
{
		return document.getElementById(name);
};
function getPara(paraName)
{
	var pageUrl;
	var urlPara;
	var urlParaName;
	var urlParaValue;
	pageUrl=document.location;
	pageUrl=pageUrl.toString();
	urlPara=pageUrl.split("?");
	urlPara=urlPara[1];
	if (urlPara == undefined)
		return "";
	
	urlPara=urlPara.split("&");

	for(i=0;i<urlPara.length;i++)
	{
		urlParaName=urlPara[i].split("=")[0];
		urlParaValue=urlPara[i].split("=")[1];
		if(paraName==urlParaName)
		{
			return urlParaValue;
			break;
		}
	}
	
	return "";
}

function setSelect(selobj, value)
{
	for (var i=0; i<selobj.length; i++)
	{
		if (selobj.options[i].value == value || selobj.options[i].value + "省" == value || selobj.options[i].value + "区" == value || selobj.options[i].value + "市" == value)
			selobj.options[i].selected = true;
		else
			selobj.options[i].selected = false;
	}
}
function set_select_by_text(sel_obj, target_text, sublength)
{
	target_text = target_text.substr(0, sublength);
	var hit = false;
	for (var i=0; i < sel_obj.length; i++)
	{
		var option_text = sel_obj.options[i].text;
		option_text = option_text.substr(0, sublength)
		if (target_text == option_text)
		{
			sel_obj.options[i].selected = true;
			hit = true;
		}
		else
		{
			sel_obj.options[i].selected = false;
		}
	}

	return hit;
}

function tuneHeight(frame_name)
{
	var frm = document.getElementById(frame_name);
	var subWeb = document.frames ? document.frames[frame_name].document : frm.contentDocument;
	if(frm != null && subWeb != null)
	{
		if (subWeb.body.scrollHeight > 600)
			frm.height = subWeb.body.scrollHeight;
		else
			frm.height = 600;
	}
}
function getAbsolutePos(el)
{
		var SL = 0, ST = 0;
		var is_div = /^div$/i.test(el.tagName);
		if (is_div && el.scrollLeft)
				SL = el.scrollLeft;
		if (is_div && el.scrollTop)
				ST = el.scrollTop;

		var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
		if (el.offsetParent) 
		{
				var tmp = getAbsolutePos(el.offsetParent);
				r.x += tmp.x;
				r.y += tmp.y;
		}
		return r;
};

function addLoadEvent(func) 
{	
	var oldonload = window.onload;	
	if (typeof window.onload != 'function') 
	{		
		window.onload = func;	
	}	
	else 
	{		
		window.onload = function() 
		{			
			oldonload();			
			func();		
		}	
	}
}
function htmlEncode(s) {
		var str = new String(s);
		str = str.replace(/&/g, "&amp;");
		str = str.replace(/</g, "&lt;");
		str = str.replace(/>/g, "&gt;");
		str = str.replace(/"/g, "&quot;");
		return str;
}

function setCookie(name,value,expires,path,domain,secure)
{
	var cookie_str = name + "=" + escape(value);

	// set date
	var expireTime = new Date();
	if ( expires )
	{
		var expDays = expires*24*60*60*1000;
		expireTime.setTime(expireTime.getTime() + expDays);

		cookie_str += "; expires=" + expireTime.toGMTString();
	}
	//cookie_str += "; expires=" + expireTime.toGMTString();

	if( path )
	{
			cookie_str += "; path=" + path;
	}

	if( domain )
	{
			cookie_str += "; domain=" + domain;
	}

	if( secure )
	{
			cookie_str += "; secure=" + secure;
	}


	document.cookie = cookie_str

}

function getCookieValue(name)
{
	var m = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));

	if (m)
	{
		return unescape(m[2])
	}

	return null;
}

function clearCookie(name)
{
    var expireTime=new Date();
    expireTime.setTime(expireTime.getTime()-10000);
    document.cookie = name + "=; expires=" + expireTime.toGMTString();
}


function load_user_menu(url)
{
	window.location = url;
}

function clear_old_cookie_var()
{
	clearCookie("main_menu_id");
	clearCookie("left_menu_id");
	clearCookie("msg_box_flag");
}


function transform_newline(content)
{
	return content.replace(/#r/g, "<br>");
}

//密保卡随机密码
function checkppc(ppc) {
	return /^\d{3,9}$/.test(ppc); 
}

//将军令随机密码
function checkotp(otp) {
	return /^\d{6}$/.test(otp); 
}

var xmlhttp = null;
function trim(str)
{
	return str.replace(/(^\s*)|(\s*$)/g, "");
}
function $(id)
{
	return document.getElementById(id);
}
function get_response()
{
	return trim(xmlhttp.responseText);
}
function get_select_value(select_id)
{
	var s = $(select_id);
	var index = s.selectedIndex;
	var val = s.options[index].value;
	return val;
}
function get_select_text(select_id)
{
	var s = $(select_id);
	var index = s.selectedIndex;
	var val = s.options[index].text;
	return val;
}

function error(str)
{
	alert(str);
}


function get_xmhttp(){
	 function try_xmlhttp() {
	    var returnValue;
	    for (var i = 0, length = arguments.length; i < length; i++) {
  	    var lambda = arguments[i];
  	    try {
    	    returnValue = lambda();
    	    break;
    	  } catch (e) { }
    	}
    return returnValue
	}
	
	return try_xmlhttp(
      	function() {return new XMLHttpRequest()},
      	function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      	function() {return new ActiveXObject('Microsoft.XMLHTTP')}
   ) || false; 
}

function execute_ajax(callback, url,data) {
	/*
    xmlhttp = (window.ActiveXObject) ? 
			new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
	*/
	xmlhttp = get_xmhttp();
	if (xmlhttp)
	{
		xmlhttp.onreadystatechange = callback;
		url = url + "?" + data;
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
	}
}

/* 
*
* Javascript Template
*
*/
var $extend = function(){
	var args = arguments;
	if (!args[1]) args = [this, args[0]];
	for (var property in args[1]) args[0][property] = args[1][property];
	return args[0];
};

var Class = function(properties){
	var klass = function(){
		return (arguments[0] !== null && this.initialize && (typeof this.initialize) == 'function') ? this.initialize.apply(this, arguments) : this;
	};
	$extend(klass, this);
	klass.prototype = properties;
	klass.constructor = Class;
	return klass;
};

String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g, ''); }

var Template = new Class({
	initialize: function(){
		this.options = {
			"tag_re": /<%=?(.*?)%>/g
		};
	},
	
	get_template : function(el_id){
		return $(el_id).innerHTML.trim().replace(/^<!--|-->$|\n|\r/g, "");	
	},

	run : function(panel_id, template_id, data_obj){
		$(panel_id).innerHTML = this.render(template_id, data_obj);
	},

	render : function(template_id, data_obj){
		// get template
		this.template = this.get_template(template_id);
		
		var context   = new Object();
		context       = $extend(context, data_obj);
		context.__run = this.compile();
		
		return context.__run();
	},
	
	compile: function(){
		var start = 0;  
		var delimeter = '_%_';  
                     
		var body = this.template.replace(
				this.options.tag_re, 
				function (matchedString, group, offset, fullString){
					var replace = delimeter + ";\n";
					if (matchedString.charAt(2) == "="){
						replace += "  __out += " + group + ";\n";
					}else{
						replace += "  " + group + "\n";
					}
					replace += "  __out += " + delimeter;
					return replace;
				}
		)
                  
		var functionBody = "var __out = " + delimeter 
				+ body + delimeter + ";\n" + "return __out;\n";

		// Convert ' to \' and then change the delimeter to '
		functionBody = functionBody.replace(/'/g, "\\'");
		var regex = new RegExp(delimeter, 'g');
		functionBody = functionBody.replace(regex, "'");

		// Compile our function and return it
		return new Function(functionBody);
	}
	
})

function lpc_2_js(lpc_str){
	var convert_dict = {
		"(["  : "{",
		"])"  : "}",
		",])" : "}",
		
		"({"  : "[",
		"})"  : "]",
		",})" : "]"
	};
	function convert($1){
		var match_str = $1.replace(/\s+/g, '');
		return convert_dict[match_str];
	}
	var parser = new RegExp("\\(\\[|,?\s*\\]\\)|\\({|,?\\s*}\\)", 'g');
	return lpc_str.replace(parser, convert);
}
function js_eval(js_str){
	return eval("(" + js_str + ")");
}

function safe_attr(attr){
	if(attr == null || attr==undefined){
		return "";
	} else {
		return attr;
	}
}

function set_position_center(obj)
{
	obj_width = obj.clientWidth;
	obj_height = obj.clientHeight;
	with(obj.style)
	{
		left = document.documentElement.scrollLeft + (document.documentElement.clientWidth - obj_width)/2 + "px";
		top = document.documentElement.scrollTop + (document.documentElement.clientHeight - obj_height)/2 + "px";
	}
}

function get_documentsize()
{
	var size = Object();
	with(document.documentElement)
	{
		size.width = (scrollWidth>clientWidth)?scrollWidth:clientWidth;
		size.height = (scrollHeight>clientHeight)?scrollHeight:clientHeight;
	}
	return size;
}

function search_equip_name(form_obj, ename_data)
{
	keyword = form_obj.search_text.value.trim();
	if (!keyword || keyword=="输入物品名称进行搜索")
	{
		alert("请输入物品名称进行搜索！");
		return false;
	}
	var result = [];
	for (j=0;j<ename_data.length;j++)
	{
		var ename = ename_data[j][0];
		if ((ename+"").indexOf(keyword) != -1)
		{
			result = result.concat(ename_data[j][2]);
		}
	}

	form_obj.equip_type_ids.value = result.join();
	form_obj.submit();
	return true;
}

function addLoadEvent(func) 
{
	var oldonload = window.onload;
	if(typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function() 
		{
			oldonload();
			func();
		}
	}
}

function check_user()
{
	var username = $('urs');
	var txt = username.value;
	if (txt == "") return true;
	var v_index = txt.indexOf("@");
	if (v_index != -1)
	{
		$('login_tips').style.display = "";
		setTimeout("$('login_tips').style.display = 'none';",5000);
		username.value = txt.substring(0, v_index);
		return false;
	}
	return true;
}

