// TEXTAREA不能正确校验，在ASP文件中，将第二行的TEXTAREA改为TEXT就可以了。
// 深圳升蓝软件, 2001-2006, www.hi-blue.com, www.upblue.com
// Ken, 2006-2-28 修订

//
var hb_dateSep;
var firstrowoffset = 1;
var tablename = 'ewlistmain';
var usecss = true;
var rowclass = 'hbtrrow';
var rowaltclass = 'hbtraltrow';
var rowmoverclass = 'hbtrover';
var rowselectedclass = 'hbtrselected';
var roweditclass = 'hbtredit';
var hb_dateSep = "-";

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MOWindowB(theURL,xname,features) {
	var w = '790';
	var h = '580';
	if ((screen.width) > 980){ w = '960';h = '720';}
	LeftP = (screen.width) ? (screen.width-w)/2 : 0; 
	TopP = (screen.height) ? (screen.height-h)/2 : 0; 
var pmswin = window.open(theURL,xname,'toolbar=no,scrollbars=yes,resizable=yes,top='+TopP+',left='+LeftP+',width='+w+',height='+h);
pmswin.focus();
}

function MOWindow(theURL,name,features) {
	var w = '790';
	var h = '590';
	if ((screen.width) > 980){ w = '880';h = '660';}
	LeftP = (screen.width) ? (screen.width-w)/2 : 0; 
	TopP = (screen.height) ? (screen.height-h)/2 : 0; 
 window.open(theURL,'','toolbar=no,scrollbars=yes,resizable=yes,top='+TopP+',left='+LeftP+',width='+w+',height='+h);
}

function MOWindowS(theURL,name,features) {
	var w = '756';
	var h = '520';
	LeftP = (screen.width) ? (screen.width-w)/2 : 0; 
	TopP = (screen.height) ? (screen.height-h)/2 : 0; 
	window.open(theURL,'','toolbar=no,scrollbars=yes,resizable=yes,top='+TopP+',left='+LeftP+',width='+w+',height='+h);
}

function MODialog(theURL,sw,sh){
	if (sw==""){sw = '500';}
	if (sh==""){sh = '360';}
	var sValue = showModelessDialog(theURL,'','center:yes;help:yes;resizable:yes;status:no;dialogWidth:' + sw + ';dialogHeight:' + sh);
	return sValue;
}

function hb_hasTxt(obj, obj_type) { //检查有没有足够的字数，
	if (obj.value.length < 6)
		return false;
	else
		return true;
}

function hb_selectKey(elem) {
	var f = elem.form;
	if (!f.key_d) return;
	if (f.key_d[0]) {
		for (var i=0; i<f.key_d.length; i++)
			f.key_d[i].checked = elem.checked;
	} else {
		f.key_d.checked = elem.checked;
	}
}
function hb_selected(elem) {
	var f = elem.form;
	if (!f.key_d) return false;
	if (f.key_d[0]) {
		for (var i=0; i<f.key_d.length; i++)
			if (f.key_d[i].checked) return true;
	} else {
		return f.key_d.checked;
	}
	return false;
}
function batbat(num) {
	if(window.confirm("确定要批量执行处理当前选中的项目？\n\n此过程不可恢复！") == true){
		var ff = document.getElementById('ListForm');
		ff.Batact.value=num;
		ff.action='hb_com_bat.asp';
		ff.encoding='application/x-www-form-urlencoded';
		ff.submit();}
}
function batmov(cid){
	var fff = document.getElementById('Listform');
	fff.Batact.value=9;
	fff.MoveCid.value=cid;
	fff.action='hb_com_bat.asp';
	fff.encoding='application/x-www-form-urlencoded';
	fff.submit();
}
function hb_submitForm(hb_this) {
	if (hb_HTMLArea) {
		for (var i=0; i<hb_HTMLArea.length; i++) {
			var html = hb_HTMLArea[i].getHTML();
			if (html == "<p />" || html == "<br />\n") html = "";
			hb_HTMLArea[i]._textArea.value = html;
		}
	}
	if (hb_checkMyForm(hb_this))
		hb_this.submit();
}

function hb_isHTMLArea(input_object, object_type) {
	return (object_type == "TEXTAREA" && hb_HTMLArea && input_object.style && input_object.style.display && input_object.style.display == "none");
}

function hb_onError(form_object, input_object, object_type, error_message) {
	alert(error_message);
	if (object_type == "RADIO" || object_type == "CHECKBOX") {
		if (input_object[0])
			input_object[0].focus();
		else
			input_object.focus();
	}	else if (!hb_isHTMLArea(input_object, object_type)) {
		input_object.focus();
	}
	if (object_type == "TEXT" || object_type == "PASSWORD" || object_type == "TEXTAREA" || object_type == "FILE") {
		if (!hb_isHTMLArea(input_object, object_type))
			input_object.select();
	}
	return false;
}

function hb_hasValue(obj, obj_type) {
	if (obj_type == "TEXT" || obj_type == "PASSWORD" || obj_type == "TEXTAREA" || obj_type == "FILE")	{
		if (obj.value.length == 0)
			return false;
		else
			return true;
	}	else if (obj_type == "SELECT") {
		if (obj.type != "select-multiple" && obj.selectedIndex == 0)
			return false;
		else if (obj.type == "select-multiple" && obj.selectedIndex == -1)
			return false;
		else
			return true;
	}	else if (obj_type == "RADIO" || obj_type == "CHECKBOX")	{
		if (obj[0]) {
			for (i=0; i < obj.length; i++) {
				if (obj[i].checked)
					return true;
			}
		} else {
			return (obj.checked);
		}
		return false;
	}
}


function hb_checkday(checkYear, checkMonth, checkDay) {
	maxDay = 31;

	if (checkMonth == 4 || checkMonth == 6 ||	checkMonth == 9 || checkMonth == 11) {
		maxDay = 30;
	} else if (checkMonth == 2)	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}

	return hb_checkrange(checkDay, 1, maxDay);
}

function hb_checkinteger(object_value) {
	if (object_value.length == 0)
		return true;

	var decimal_format = ".";
	var check_char;

	check_char = object_value.indexOf(decimal_format);
	if (check_char < 1)
		return hb_checknumber(object_value);
	else
		return false;
}

function hb_numberrange(object_value, min_value, max_value) {
	if (min_value != null) {
		if (object_value < min_value)
			return false;
	}

	if (max_value != null) {
		if (object_value > max_value)
			return false;
	}

	return true;
}

function hb_checknumber(object_value) {
	if (object_value.length == 0)
		return true;

	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	check_char = start_format.indexOf(object_value.charAt(0));
	if (check_char == 1)
		decimal = true;
	else if (check_char < 1)
		return false;

	for (var i = 1; i < object_value.length; i++)	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0) {
			return false;
		} else if (check_char == 1)	{
			if (decimal)
				return false;
			else
				decimal = true;
		} else if (check_char == 0) {
			if (decimal || digits)
			trailing_blank = true;
		}	else if (trailing_blank) {
			return false;
		} else {
			digits = true;
		}
	}

	return true;
}

function hb_checkrange(object_value, min_value, max_value) {
	if (object_value.length == 0)
		return true;

	if (!hb_checknumber(object_value))
		return false;
	else
		return (hb_numberrange((eval(object_value)), min_value, max_value));

	return true;
}

function hb_checktime(object_value) {
	if (object_value.length == 0)
		return true;

	isplit = object_value.indexOf(':');

	if (isplit == -1 || isplit == object_value.length)
		return false;

	sHour = object_value.substring(0, isplit);
	iminute = object_value.indexOf(':', isplit + 1);

	if (iminute == -1 || iminute == object_value.length)
		sMin = object_value.substring((sHour.length + 1));
	else
		sMin = object_value.substring((sHour.length + 1), iminute);

	if (!hb_checkinteger(sHour))
		return false;
	else if (!hb_checkrange(sHour, 0, 23))
		return false;

	if (!hb_checkinteger(sMin))
		return false;
	else if (!hb_checkrange(sMin, 0, 59))
		return false;

	if (iminute != -1) {
		sSec = object_value.substring(iminute + 1);
		if (!hb_checkinteger(sSec))
			return false;
		else if (!hb_checkrange(sSec, 0, 59))
			return false;
	}

	return true;
}

function hb_checkphone(object_value) {
	if (object_value.length == 0)
		return true;

	if (object_value.length != 12)
		return false;

	if (!hb_checknumber(object_value.substring(0,3)))
		return false;
	else if (!hb_numberrange((eval(object_value.substring(0,3))), 100, 1000))
		return false;

	if (object_value.charAt(3) != "-" && object_value.charAt(3) != " ")
		return false

	if (!hb_checknumber(object_value.substring(4,7)))
		return false;
	else if (!hb_numberrange((eval(object_value.substring(4,7))), 100, 1000))
		return false;

	if (object_value.charAt(7) != "-" && object_value.charAt(7) != " ")
		return false;

	if (object_value.charAt(8) == "-" || object_value.charAt(8) == "+")
		return false;
	else
		return (hb_checkinteger(object_value.substring(8,12)));
}

function hb_checkemail(object_value) {
	if (object_value.length == 0)
		return true;

	if (!(object_value.indexOf("@") > -1 && object_value.indexOf(".") > -1))
		return false;

	return true;
}

// Update a combobox with filter value (www.hi-blue.com)
function hb_updatecombo(obj, object_value_array, filter_value) {
	var value = obj.options[obj.selectedIndex].value;
	for (var i = obj.length-1; i > 0; i--) {
		obj.options[i] = null;
	}
	for (var j=0; j<object_value_array.length; j=j+4) {
		if (object_value_array[j+3].toUpperCase() == filter_value.toUpperCase()) {
			hb_newopt(obj, object_value_array[j], object_value_array[j+1], object_value_array[j+2]);
		}
	}
	hb_selectopt(obj, value);
}

// Create combobox option (www.hi-blue.com)
function hb_newopt(obj, value, text1, text2) {
	var text = text1;
	if (text2 != "")
		text += ", " + text2;
	var optionName = new Option(text, value, false, false)
	var length = obj.length;
	obj.options[length] = optionName;
}

// Select combobox option (www.hi-blue.com)
function hb_selectopt(obj, value) {
	for (var i = obj.length-1; i>=0; i--) {
		if (obj.options[i].value.toUpperCase() == value.toUpperCase()) {
			obj.selectedIndex = i;
			break;
		}
	}
}

// 获得图像的亮度和高度 (www.hi-blue.com)
function hb_getimagesize(file_object, width_object, height_object) {
	if (navigator.appVersion.indexOf("MSIE") != -1)	{
		myimage = new Image();
		myimage.onload = function () {
			width_object.value = myimage.width; height_object.value = myimage.height;
		}
		myimage.src = file_object.value;
	}
}

// Get Netscape Version (www.hi-blue.com)
function getNNVersionNumber() {
	if (navigator.appName == "Netscape") {
		var appVer = parseFloat(navigator.appVersion);
		if (appVer < 5) {
			return appVer;
		} else {
			if (typeof navigator.vendorSub != "undefined")
				return parseFloat(navigator.vendorSub);
		}
	}
	return 0;
}

// 多列排序，用Ctrl选择
function ewsort(e, url) {
	var ctrlPressed = 0;
	if (parseInt(navigator.appVersion) > 3) {
		if (navigator.appName == "Netscape") {
			var ua = navigator.userAgent;
    	var isFirefox = (ua != null && ua.indexOf("Firefox/") != -1);
			if ((!isFirefox && getNNVersionNumber() >= 6) || isFirefox)
				ctrlPressed = e.ctrlKey;
			else
				ctrlPressed = ((e.modifiers+32).toString(2).substring(3,6).charAt(1)=="1");
		} else {
		 ctrlPressed = event.ctrlKey;
		}
		if (ctrlPressed) {
			var newPage = "<scr" + "ipt language=\"JavaScript\">setTimeout('window.location.href=\"" + url + "&ctrl=1\"', 10);</scr" + "ipt>";
			document.write(newPage);
			document.close();
			return false;
		}
	}
	return true;
}

// 确认消息
function hb_confirm(msg)
{
	var agree=confirm(msg);
	if (agree)
		return true ;
	else {
		return false ;
	}
}

// 确认删除
function hb_confirmdelete(msg)
{
	var agree = confirm(msg);
	if (agree)
		return true ;
	else {
		hb_cleardelete();
		return false ;
	}
}

// 鼠标变色
function hb_mouseover(row) {
	row.mover = true;
	if (!row.selected) {
		if (usecss)
			row.className = rowmoverclass;
		else
			row.style.backgroundColor = rowmovercolor;
	}
}

// Set mouse out color
function hb_mouseout(row) {
	row.mover = false;
	if (!row.selected) {
		hb_setcolor(row);
	}
}

// Set row color
function hb_setcolor(row) {
	if (row.selected) {
		if (usecss)
			row.className = rowselectedclass;
		else
			row.style.backgroundColor = rowselectedcolor;
	}
	else if (row.edit) {
		if (usecss)
			row.className = roweditclass;
		else
			row.style.backgroundColor = roweditcolor;
	}
	else if ((row.rowIndex-firstrowoffset)%2) {
		if (usecss)
			row.className = rowaltclass;
		else
			row.style.backgroundColor = rowaltcolor;
	}
	else {
		if (usecss)
			row.className = rowclass;
		else
			row.style.backgroundColor = rowcolor;
	}
}

// Set selected row color
function hb_click(row) {
	if (row.deleteclicked)
		row.deleteclicked = false;
	else {
		var bselected = row.selected;
		hb_clearselected();
		if (!row.deleterow) row.selected = !bselected;
		hb_setcolor(row);
	}
}

// Clear selected rows color
function hb_clearselected() {
	var table = document.getElementById(tablename);
	for (var i = firstrowoffset; i < table.rows.length; i++) {
		var thisrow = table.rows[i];
		if (thisrow.selected && !thisrow.deleterow) {
			thisrow.selected = false;
			hb_setcolor(thisrow);
		}
	}
}

// Clear all row delete status
function hb_cleardelete() {
	var table = document.getElementById(tablename);
	for (var i = firstrowoffset; i < table.rows.length; i++) {
		var thisrow = table.rows[i];
		thisrow.deleterow = false;
	}
}

// Click all delete button
function hb_clickall(chkbox) {
	var table = document.getElementById(tablename);
	for (var i = firstrowoffset; i < table.rows.length; i++) {
		var thisrow = table.rows[i];
		thisrow.selected = chkbox.checked;
		thisrow.deleterow = chkbox.checked;
		hb_setcolor(thisrow);
	}
}

// Click single delete link
function hb_clickdelete() {
	hb_clearselected();
	var table = document.getElementById(tablename);
	for (var i = firstrowoffset; i < table.rows.length; i++) {
		var thisrow = table.rows[i];
		if (thisrow.mover) {
			thisrow.deleteclicked = true;
			thisrow.deleterow = true;
			thisrow.selected = true;
			hb_setcolor(thisrow);
			break;
		}
	}
}

// Click multi delete checkbox
function hb_clickmultidelete(chkbox) {
	hb_clearselected();
	var table = document.getElementById(tablename);
	for (var i = firstrowoffset; i < table.rows.length; i++) {
		var thisrow = table.rows[i];
		if (thisrow.mover) {
			thisrow.deleteclicked = true;
			thisrow.deleterow = chkbox.checked;
			thisrow.selected = chkbox.checked;
			hb_setcolor(thisrow);
			break;
		}
	}
}


