﻿//普通信息框【Error，询问，信息，确认】
function ShowMessage(tit,msg,handler)
{
  if(hasParent())
  {
     window.top.showMessage(tit,msg,handler);
  }
  else
  {
    alert(msg);
  }
}
//右下角弹出信息框，没有遮罩显示
function ShowTip(title,url,msg,handler)
{
  if(hasParent())
  {
    window.top.showTip(title,url,msg,handler);
  }
}
//弹出确认信息
function ShowConfirm(msg,handler)
{
  if(hasParent())
  {
    window.top.showConfirm(msg,handler);
  }
  
}
//弹出错误信息
function ShowError(msg,handler)
{
  if(hasParent())
  {
    window.top.showError(msg,handler);
  }
  else{
    alert(msg);
  }
  
}
//弹出普通消息
function ShowInfo(msg,handler)
{
  if(hasParent())
  {
    window.top.showInfo(msg,handler);
  }
  else{
    alert(msg);
  }
}
//打开新窗口
function ShowNewForm(tit,src,wid,hei,handler,obj)
{
  if(hasParent())
  {
    window.top.showNewForm(tit,src,wid,hei,handler,obj);
  }
  else
  {
    window.open(url);
  }
}
//右边打开新链接
function showDetail(url)
{
    if(hasParent())
    {
        window.top.showDetail(url);
    }
    else
    {
        window.open(url);
    }
}
//右边打开新链接
function showDetail2(url,back)
{
    if(hasParent())
    {
        window.top.showDetail(url,back);
    }
    else
    {
        window.open(url);
    }
}
//关闭弹出窗口
function CloseNewForm(callback)
{
   if(hasParent())
   {
        window.top.closeNewForm(callback);
   }
   else
   {
     window.close();
   }
   //if(callback)
   //{
   //    
   //    eval(callback+'();');
   //}
}
//关闭弹出窗口
function ClosePopus(flag,tagValue)
{
   if(hasParent())
   {
        window.top.closePopus(flag,tagValue);
   }
   else
   {
     window.close();
   }
}
function hasParent()
{
	if(parent)
	{
		//return  window.top.location != window.location;
		return true;
	}
	else
	{
		return false;
	}
}
//
function hilite(obj){
	//obj.oldclassname = obj.className;
	obj.className ='itemhot';
}

// 
function rownormal(obj){
	if(obj.oldclassname){
		obj.className  = obj.oldclassname;
		//obj.oldclassname ='';
	}else{
		obj.className  ='itemnormal';
	}
}
function rowselect(obj){
	
	//var parentTable = $(tagtable);
	// obj.className=obj.oldclassname;
	//obj.className ='itemselect';
	//obj.style.backgroundColor="white";
/*	alert(obj.tagtable);
	if(obj.tagtable.constructor==Array) {
		alert("OK");
	}else{
		alert("false");
	}*/
	if(obj.radioname){
		/*var index =  obj.rowindex -1;
		var tagElements = document.getElementsByName(obj.radioname);
		if(tagElements && tagElements.length > index && index >= 0){
			//if(tagElements[index])tagElements[index].checked = 'checked';
			if(tagElements[index])tagElements[index].click();
		}*/
		for(var index = 0; index < obj.cells.length;index ++){
			for(var i= 0; i <  obj.cells[index].children.length;i++){
				var objRadio = obj.cells[index].children[i];
				if(objRadio && objRadio.name && objRadio.name == obj.radioname){
					objRadio.click();
				}
			}
		}
	}
	if(obj.callback){
		eval(obj.callback +"("+ obj + ",'"+obj.rowindex+"');");
	}
}
function rowDoubleClick(obj){
	if(obj){
		if(obj.tagbutton){
			if($(obj.tagbutton)){
				eval("$('"+ obj.tagbutton + "').click();");
			}
		}
	}
}
//获得查询字符长的值
function QueryString(obj,item)
{ 
    var sValue=obj.search.match(new RegExp("[?&]"+item+"=([^&]*)(&?)","i")) 
    return sValue?sValue[1]:sValue 
}
//鼠标经过
function rowover(obj)
{
  obj.style.cursor='hand';
  hilite(obj);
}
//添加成功消息
function AddSecuss(msg)
{
    CloseNewForm();
    ShowInfo(msg);
}
//打开查询窗口
function ShowSearchForm(objId,objName,tit,src,wid,hei,callback)
{
    if(hasParent())
    {
        window.top.showSearchForm(objId,objName,tit,src,wid,hei,callback);
    }
    else
    {
        window.open(url);
    }
}
//获得IE版本
function getIEVersion()
{
    var  version=0;
    if(navigator.appName.indexOf("Internet Explorer") != -1)
    {
       temp=navigator.appVersion.split("MSIE");
       version=parseFloat(temp[1]);
       return version;
    }
    return 0;
}
//获得对象
function $(objectId) { 
	if(document.getElementById && document.getElementById(objectId)) { 
		// W3C DOM 
		return document.getElementById(objectId); 
	} 
	else if (document.all && document.all(objectId)) { 
		// MSIE 4 DOM 
		return document.all(objectId); 
	} 
	else if (document.layers && document.layers[objectId]) { 
		// NN 4 DOM.. note: this won't find nested layers 
		return document.layers[objectId]; 
	} 
	else { 
		return false; 
	} 
}

//date添加Format方法
Date.prototype.format = function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
//frame自适应高度
function autoHeight(src)
{
if(hasParent() && hasParent().document.all(src))
{
    hasParent().document.all(src).style.height=document.body.scrollHeight +20; 
}
}
function FileNameCheck(str) {
	//if( str.match( /^.*[(\\|/| \*|?|\"|<|>|\|)].*$/ ) ) {
	//	return 1;
	//} else if (str=="") {
	//	return 2;
	//}
	return 0;
}
function justNumberText(){//只能输入数字
	if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) 
	|| (window.event.keyCode == 13) || (window.event.keyCode == 46) 
	|| (window.event.keyCode == 45)))
	{
	   window.event.keyCode = 0 ;
	}
	return ;
}
function justIntegerText() {//只能输入整数
	if ( !(window.event.keyCode >= 48 && window.event.keyCode <= 57)) {
	   window.event.keyCode = 0 ;
	}
	return ;
}
function isEmail(param){
	 return (param.match("^[0-9A-Za-z._-]+@[0-9A-Za-z_-]+[.]{1}[A-Za-z_-]+[A-Za-z_0-9.]*$"));
}
function UrlEncode(str)
{ 
    var ret=""; 
    var strSpecial="!\"#$%&()*+,/:;<=>?[]^`{|}~%"; var tt="";
    for(var i=0;i<str.length;i++)
    { 
        var chr = str.charAt(i); 
        var c=str2asc(chr); 
        tt += chr+":"+c+"n"; 
        if(parseInt("0x"+c) > 0x7f)
        { 
            ret+="%"+c.slice(0,2)+"%"+c.slice(-2); 
        }
        else
        { 
            if(chr==" ") 
                ret+="+"; 
            else if(strSpecial.indexOf(chr)!=-1) 
                ret+="%"+c.toString(16); 
            else 
                ret+=chr; 
        } 
    } 
    return ret; 
} 

function UrlDecode(str){ 
    var ret=""; 
    for(var i=0;i<str.length;i++)
    { 
        var chr = str.charAt(i); 
        if(chr == "+")
        { 
            ret+=" "; 
        }
        else if(chr=="%")
        { 
            var asc = str.substring(i+1,i+3); 
            if(parseInt("0x"+asc)>0x7f)
            { 
                ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6))); 
                i+=5; 
            }
            else
            { 
                ret+=asc2str(parseInt("0x"+asc)); 
                i+=2; 
            } 
        }
        else
        { 
            ret+= chr; 
        } 
    } 
    return ret; 
} 

String.prototype.format = function(){
    var args = arguments;
    return this.replace(/\{(\d+)\}/g,function(m,i,o,n){
        return args[i];
    });
}
String.prototype.padLeft = function(totalWidth, paddingChar)
{
	if ( paddingChar != null )
	{
		return this.padHelper(totalWidth, paddingChar, false);
	} else {
	return this.padHelper(totalWidth, ' ', false);
	}
}
String.prototype.padRight = function(totalWidth, paddingChar)
{
	if ( paddingChar != null )
	{
		return this.padHelper(totalWidth, paddingChar, true);
	} else {
		return this.padHelper(totalWidth, ' ', true);
	}
}
String.prototype.padHelper = function(totalWidth, paddingChar, isRightPadded)
{
	if ( this.length < totalWidth)
	{
		var paddingString = new String();
		for (i = 1; i <= (totalWidth - this.length); i++)
		{
			paddingString += paddingChar;
		}
		if ( isRightPadded )
		{
			return (this + paddingString);
		} else {
			return (paddingString + this);
		}
	} else {
		return this;
	}
}
String.prototype.trim = function() 
{ 
	return this.replace(/(^s*)|(s*$)/g, ""); 
} 
String.prototype.ltrim = function() 
{ 
	return this.replace(/(^s*)/g, ""); 
} 
String.prototype.rtrim = function() 
{ 
	return this.replace(/(s*$)/g, ""); 
} 
function trim(str){ //删除左右两端的空格 
	return str.replace(/(^\s*)|(\s*$)/g, ""); 
} 
function ltrim(str){ //删除左边的空格 
	return str.replace(/(^\s*)/g,""); 
} 
function rtrim(str){ //删除右边的空格 
	return str.replace(/(\s*$)/g,""); 
} 




function isMobile(param) { 
	//return param.match("^0{0,1}?(?:13\d|14[1-3]|15[0|3|6|7|8|9]|18[7|8|9]|16[7])-?\d{5}(\d{3}|\*{3})$");
	var partten = /^1[3,5,8]\d{9}$/;
	return partten.test(param);
} 
function isTel(param)
{
	var partten = /^0(([1-9]\d)|([3-9]\d{2}))\d{8}$/;
	return partten.test(param);
}
function isTime(param)
{
	if(!param)return false;
	param = param.padLeft(4,"0");
	var hour = parseInt(param.substring(0,2));
    var minute = parseInt(param.substring(2,2));
	if(hour <0 || hour > 23)
	{
		return false;
	}
	if(minute < 0 || minute >59)
	{
		return false;
	}
	return true;
}

//返回字符长度 数字字母是1 ,汉字为2
function strlen(s) {
	 var l = 0;
	 var a = s.split("");
	 for (var i=0;i<a.length;i++) {
	  if (a[i].charCodeAt(0)<299) {
	   	l++;
	  } else {
	   l+=2;
	  	}
	 }
	 return l;
}
/*
 * 检索结果的显示效果
 * id 指定显示效果的table的id
 * space 是否将null值转换为空格
 * even 是否指定偶数行颜色
 * hot 是否指定鼠标经过动态效果
 * radioname 指定点击当前行选中的单选按钮名称
 * tagbutton 指定双击事件一样操作的按钮名称
 */
function formatTable(id,space,even,hot,radioname,tagbutton,callback){
	var arr ;
	if(id.constructor==Array) {
		arr = id;
	}else{
		arr = new Array(id);
	}
	var startIndex = 1;
	var tableHeadrows = 0;
	for(var i = 0; i < arr.length;i++){
		var tagTable =$(arr[i]);
		if(!tagTable){
			continue;
		}
		tableHeadrows = 0;
		for(var iRow=0;iRow< tagTable.rows.length; iRow++) {
			var inx = startIndex + iRow;

			tagTable.rows[iRow].radioname = radioname;
			tagTable.rows[iRow].rowindex = inx - tableHeadrows;
			tagTable.rows[iRow].tagtable = id;
			tagTable.rows[iRow].tagbutton = tagbutton;
			tagTable.rows[iRow].callback = callback;
			
			if(even && tagTable.rows[iRow] && inx > 0 ){
				if( inx %2==0){
					tagTable.rows[iRow].oldclassname='itemeven';
					tagTable.rows[iRow].className ='itemeven';
				}else{
					tagTable.rows[iRow].oldclassname='itemodd';
					tagTable.rows[iRow].className ='itemodd';
				}
			}
			for(var iCol=0;iCol<tagTable.rows[iRow].cells.length;iCol++){
				var current= tagTable.rows[iRow].cells[iCol];
				if(space){
					if(!current||!current.innerHTML){
						current.innerHTML = '&nbsp;';
					}
				}
			}
			//如果是标题，则跳过
			if(tagTable.rows[iRow].cells.length > 0){
				var tagcellname = tagTable.rows[iRow].cells[0].tagName;
				if(tagcellname && tagcellname.toLowerCase() == 'th'){
					tableHeadrows ++;
					continue;
				}
			}
			if(hot){
				tagTable.rows[iRow].oldclassname = tagTable.rows[iRow].className;
				tagTable.rows[iRow].onmouseover =  function() { rowover(this);};
				tagTable.rows[iRow].onmouseout = function() {rownormal(this);};
				tagTable.rows[iRow].onclick =function(){rowselect(this);};
			}
			if(tagbutton){
				tagTable.rows[iRow].ondblclick  = function(){rowDoubleClick(this);};
			}
			if(tagTable.rows[iRow].style.backgroundColor){
				tagTable.rows[iRow].nomalcolor=tagTable.rows[iRow].style.backgroundColor;
			}else{
				tagTable.rows[iRow].nomalcolor=tagTable.style.backgroundColor;
			}
		}
		startIndex = startIndex + tagTable.rows.length;
	}
}
//颜色选择器
var ocolorPopup = window.createPopup();
var ecolorPopup=null;
var ecolorTagid ;

function colordialogmouseout(obj){
    obj.style.borderColor="";
    obj.bgColor="";
}

function colordialogmouseover(obj){
    obj.style.borderColor="#0A66EE";
    obj.bgColor="#EEEEEE";
}

function colordialogmousedown(color){
    ecolorPopup.value=color;
    var tagid = ecolorTagid;
    if(tagid && $(tagid)) {$(tagid).style.background=color;}
    ocolorPopup.document.body.blur();
}

function colordialogmore(){
    var sColor=dlgHelper.ChooseColorDlg(ecolorPopup.value);
    sColor = sColor.toString(16);
    if (sColor.length < 6) {
        var sTempString = "000000".substring(0,6-sColor.length);
        sColor = sTempString.concat(sColor);
    }
    ecolorPopup.value="#"+sColor.toUpperCase();
    var tagid = ecolorTagid;
    if(tagid && $(tagid)){$(tagid).style.background="#"+sColor.toUpperCase();}
}

function colordialog(tagid){
    var e=event.srcElement;
    e.onkeyup=colordialog;
    ecolorPopup=e;
    var ocbody;
    var oPopBody = ocolorPopup.document.body;
    var colorlist=new Array(40);
    oPopBody.style.backgroundColor = "#f9f8f7";
    oPopBody.style.border = "solid #999999 1px";
    oPopBody.style.fontSize = "12px";
    colorlist[0]="#000000";colorlist[1]="#993300";colorlist[2]="#333300";colorlist[3]="#003300";
    colorlist[4]="#003366";colorlist[5]="#000080";colorlist[6]="#333399";colorlist[7]="#333333";
    colorlist[8]="#800000";colorlist[9]="#FF6600";colorlist[10]="#808000";colorlist[11]="#008000";
    colorlist[12]="#008080";colorlist[13]="#0000FF";colorlist[14]="#666699";colorlist[15]="#808080";
    colorlist[16]="#FF0000";colorlist[17]="#FF9900";colorlist[18]="#99CC00";colorlist[19]="#339966";
    colorlist[20]="#33CCCC";colorlist[21]="#3366FF";colorlist[22]="#800080";colorlist[23]="#999999";
    colorlist[24]="#FF00FF";colorlist[25]="#FFCC00";colorlist[26]="#FFFF00";colorlist[27]="#00FF00";
    colorlist[28]="#00FFFF";colorlist[29]="#00CCFF";colorlist[30]="#993366";colorlist[31]="#CCCCCC";
    colorlist[32]="#FF99CC";colorlist[33]="#FFCC99";colorlist[34]="#FFFF99";colorlist[35]="#CCFFCC";
    colorlist[36]="#CCFFFF";colorlist[37]="#99CCFF";colorlist[38]="#CC99FF";colorlist[39]="#FFFFFF";
    ocbody = "";
    ocbody += "<table CELLPADDING=0 CELLSPACING=3>";
    ocbody += "<tr height=\"20\" width=\"20\"><td align=\"center\"><table style=\"border:1px solid #808080;\" width=\"12\" height=\"12\" bgcolor=\""+e.value+"\"><tr><td></td></tr></table></td><td bgcolor=\"eeeeee\" colspan=\"7\" style=\"font-size:12px;\" align=\"center\">当前颜色</td></tr>";
    for(var i=0;i<colorlist.length;i++){
        if(i%8==0)
            ocbody += "<tr>";
        ocbody += "<td width=\"14\" height=\"16\" style=\"border:1px solid;\" onMouseOut=\"parent.colordialogmouseout(this);\" onMouseOver=\"parent.colordialogmouseover(this);\" onMouseDown=\"parent.colordialogmousedown('"+colorlist[i]+"')\" align=\"center\" valign=\"middle\"><table style=\"border:1px solid #808080;\" width=\"12\" height=\"12\" bgcolor=\""+colorlist[i]+"\"><tr><td></td></tr></table></td>";
        if(i%8==7)
            ocbody += "</tr>";
    }
    ocbody += "<tr><td align=\"center\" height=\"22\" colspan=\"8\" onMouseOut=\"parent.colordialogmouseout(this);\" onMouseOver=\"parent.colordialogmouseover(this);\" style=\"border:1px solid;font-size:12px;cursor:default;\" onMouseDown=\"parent.colordialogmore()\">其它颜色</td></tr>";
    ocbody += "</table>";
    oPopBody.innerHTML=ocbody;
    ecolorTagid= tagid;
    ocolorPopup.show(530,170, 158, 147, document.body);
    //ocolorPopup.show(e.offsetLeft, e.offsetTop+e.offsetHeight, 158, 147, document.body);
}
function doBack(callback){
	var form = document.forms[0];
	form.action =$('backurl').value;
	if(callback){
		eval(callback +"("+$('backurl').value+"');");
	}
	form.submit();
}

//左右之间的单个的相互选择
//obj,源选择框，targetobj目标选择框
function moveOne(o, to) {
	var obj = document.getElementById(o);
	var targetObj = document.getElementById(to);
	for(var i=0; i<obj.options.length; i++){
		if(obj.options[i].selected) {
			var option = new Option(obj.options[i].text, obj.options[i].value);
			targetObj.options[targetObj.options.length] = option;
			obj.options[i] = null;
			i--;
		}
	}
}

//左框与右框的全部的相互选择
//obj,源选择框，targetobj目标选择框
function moveAll(o,to){
	var obj = document.getElementById(o);
	var targetObj = document.getElementById(to);
	for(var i=0; i<obj.options.length; i++) {
		var option = new Option(obj.options[i].text, obj.options[i].value);
		targetObj.options[targetObj.options.length] = option;	
	}
	obj.options.length = 0;
}

//保持选中的结果页面的行数信息
//add by dengjun 2010.05.10
function setRowIndex(obj) {
	if(obj.parentElement.parentElement.rowIndex) {
		$('rowIndex').value=obj.parentElement.parentElement.rowIndex;
	}
}

