﻿//window.onerror = function(){return true;}
//application
var application = {
  	isIE : window.navigator.appName.indexOf("Microsoft") == 0,
	isFF : window.navigator.appName == "Netscape",
	isOpera : window.navigator.appName == "Opera"
};
//ajax
var ajax = {
  method : 'POST',
  create : function(){
   if(application.isFF)this.method = 'GET';
   var Ajax = null;
	if(window.XMLHttpRequest){
	  Ajax = new XMLHttpRequest();
	  if(Ajax.overrideMimeType)Ajax.overrideMimeType("text/xml");
	}else if(window.ActiveXObject){
	   try{
	      Ajax = new ActiveXObject("Microsoft.XMLHTTP");
	   }catch(e){
	      try{
		     Ajax = new ActiveXObject("Msxml2.XMLHTTP");
		  }catch(e2){
		    for(var i=3;i<=5;i++){
			   Ajax = new ActiveXObject("Msxml2.XMLHTTP."+i+".0");
			   if(Ajax)break;
			}
		  }
	   }
	}
	if(!Ajax){
	   alert('Not xmlHttpRequest Object.');return null;
	}
   return Ajax;
 },
  response : function(Ajax,url,readyStateChange){
    Ajax.open(this.method,url,true);
	Ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	Ajax.setRequestHeader("Content-Length",url.length);
	Ajax.send(null);
	if(readyStateChange!=null) Ajax.onreadystatechange = readyStateChange;
  },
  request : function(Ajax){
	 var read = Ajax.readyState;
	 if(read==4||read=='complate'){
		var html = Ajax.responseText;
			return html;
	   }else{return 'loading..'+read+'0%';}
	 }
};
var xml = ajax.create();
//DOM
function $(e){
  return document.getElementById(e) || e;
}
function $tag(obj,e){
  return obj.getElementsByTagName(e);
}
function $createElement(e){
  return document.createElement(e);
}
function include_css(file){
  var css = $createElement('link');
  css.setAttribute('rel','stylesheet');
  css.setAttribute('type','text/css');
  css.setAttribute('href',file);
  $tag(document,'head')[0].appendChild(css);
}

function include_js(file){
  var js = $createElement('script');
  js.setAttribute('type','text/javascript');
  js.setAttribute('src',file);
  $tag(document,'head')[0].appendChild(js);
}
//RegExp
function isNumeric(number){
   if(number.isNull()) return false;
   var pattern  =  /^[0-9]*$/;
　 flag = pattern.test(number); 
   return flag;
}
function isEmail(Email){
      var pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	  var flag = pattern.test(Email);
　　　return flag;
}
function isEmails(Email){
	var pattern = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	var flag = pattern.test(Email);
	return flag;
}
//trim
String.prototype.trim = function(){
  return this.replace(/(^\s*)|(\s*$)/g,'');
}
//trimall
String.prototype.trimall = function(){
  return this.replace(/\s/g,'');
}
//获取字符串内数字
String.prototype.getNumber = function(){
  return this.replace(/[^\d]/g,'');
}
String.prototype.len = function(){
    var arr = this.match(/[^x00-xff]/ig);
    return this.length + (arr == null ? 0 : arr.length);
}
String.prototype.left = function(len){
    return this.substring(0,len)+'..';
}
String.prototype.isNull = function(){
  return this.trimall()=='';
}
String.prototype.serverCode = function(){
 return this.replace(/%/g,"&#x25;")
			  .replace(/&/g,"＆")
			  .replace(/\'/g, "&#39;")
			  .replace(/\+/g,"＋")
			  .replace(/&lt;/g,"<")
			  .replace(/&gt;/g,">");		  
}
//替换一些非法字符
function regexp(str){
 str = str.replace(/'/g,"＇");
 str = str.replace(/%/g,"％");
 str = str.replace(/#/g,"＃");
 str = str.replace(/&/g,"＆");
 return str;
}
//url
function goUrl(url){
  window.location = url;
}
function winreload(){
  window.location.reload();
}
function winclose(){
  window.opener = null;window.close();
}
function get(item){
  var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
  return svalue ? svalue[1] : svalue;
}
//event
function mouseCoords(ev){
 if(ev.pageX || ev.pageY){
   return {x:ev.pageX, y:ev.pageY};
}
return{
 x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
 y:ev.clientY + document.body.scrollTop - document.body.clientTop
 };
}

function showmsg(obj,className,innerHTML){
	$(obj).className = className;$(obj).innerHTML = innerHTML;
}
function setDisplay(obj,display){
  $(obj).style.display = display;
  $(obj).style.zIndex = max_zIndex();
}
function setVisibility(obj,visibility){
  $(obj).style.visibility = visibility;	
}
function showhide(obj){
  ($(obj).style.display=='none') ? setDisplay(obj,'block') : setDisplay(obj,'none');
}
function visible_hidden(obj){
  ($(obj).style.visibility=='hidden') ? setVisibility(obj,'visible') : setVisibility(obj,'hidden');
}
function showbg(obj,top){
   if(!obj) return;
   var clientWidth = document.body.clientWidth;
   var clientHeight = document.body.clientHeight;
   var scrollTop = document.body.scrollTop;
   var bg = $createElement('div');
   bg.id = 'bg';
   bg.className = 'alpha';
   with(bg.style){
	   width=clientWidth
	   height=clientHeight + scrollTop;
	   left=0;top=0;
	   zIndex = max_zIndex();
	   filter = 'Alpha(Opacity=20)';
   }
   document.body.appendChild(bg);
   if(!top)top = document.body.scrollTop + 150;
   $(obj).style.top = top;
   with($(obj).style){
	  position = 'absolute';display = 'block';zIndex = max_zIndex();
	  //top = (clientHeight / 2) - $(obj).offsetHeight;
	  left = (clientWidth / 2) - ($(obj).offsetWidth / 2);
   }
}
function hidebg(obj){
   if(!obj)return;
   $(obj).style.display = 'none';
   document.body.removeChild($('bg'));
}
//设置层样式
function showdiv(obj,classname,position,display,width,height,top,left,html){
	with($(obj)){
	  	className = classname;
		style.position = position;
		style.display = display;
		style.width = width;
		style.height = height;
		style.top = top;
		style.left = left;
		if(html)innerHTML = html;
 }
}
//拖拽
function initDrag(){
  var dragObjs = $tag(document,'div');
  for(i=0;i<dragObjs.length;i++){
    if(dragObjs[i].lang=='drag'){
	   Drag.init(dragObjs[i],dragObjs[i].parentNode);
	}
  }
}
//元素绝对位置
function getPos(e){
 var y=e.offsetTop;var x=e.offsetLeft;
 while(e=e.offsetParent){y+=e.offsetTop;x+=e.offsetLeft;this.y = y;this.x = x;}
}
//获取最大zIndex
function max_zIndex(){
  var div = $tag(document,'div');
  var len = div.length;
  if(len==0) return 0;
  var maxZindex = div[0].style.zIndex;
  var maxIndex = 1;
  for(var i=maxIndex;i<len;i++){
    if(maxZindex<div[i].style.zIndex){
	   maxZindex = div[i].style.zIndex;maxIndex = i;
	}
  }
  if(maxZindex>=99999)doc.initDrag();
  return parseInt(maxZindex)+1;
}

//是否是日期格式
function isDate(sDate){
	var iYear, iMonth, iDay, iIndex
    var	reg
	reg = new RegExp('[^0-9-]','')
	if (sDate.search(reg) >= 0)
		return false;
	iIndex = sDate.indexOf('-');
	if ( iIndex == -1 )
		return false;
	else {
		iYear = parseFloat(sDate.substr(0, iIndex));
		if ( isNaN(iYear) || iYear < 1900 || iYear > 2099 )
			return false;
		else
			sDate = sDate.substring(iIndex + 1, sDate.length);
	}
	iIndex = sDate.indexOf('-');
	if ( iIndex == -1 )
		return false;
	else {
		iMonth = parseFloat(sDate.substr(0, iIndex));
		if ( isNaN(iMonth) || iMonth < 1 || iMonth > 12 )
			return false;
		else
			sDate = sDate.substring(iIndex + 1, sDate.length);
	}
	iIndex = sDate.indexOf('-');
	if ( iIndex >= 0 )
		return false;
	else {
		iDay = parseFloat(sDate);
		if ( isNaN(iDay) || iDay < 1 || iDay > 31 )
			return false;
	}
	switch(iMonth) {
		case 4:
		case 6:
		case 9:
		case 11:
			if ( iDay > 30 )
				return false;
			else
				break;
		case 2:
			if ( ( ( iYear % 4 == 0 && iYear % 100 != 0 ) || iYear % 400 == 0 ) && iDay > 29 )
				return false;
			else if ( (iYear % 4 != 0 || (iYear % 100 == 0 && iYear % 400 != 0)) && iDay > 28 )
				return false;
			else
				break;
		default:
	}
	return true;
}
//--------------------------------------------------------------------------------------------------------
function isen(str){//匹配英文 字母 下划线组合
   var pattern  =  /^[A-Za-z0-9+_]+$/;
　 flag = pattern.test(str); 
   return flag;
}
function iscn(str){  //匹配中文
   var pattern  =  /[\u4e00-\u9fa5]/;
　 flag = pattern.test(str); 
   return flag;
}
function IsNulls(str){//是否空串
   var num = '';
   for(var i=0;i<str.length;i++){
	     num+=' ';
	   }
	  return (str==num);
}
