/**
 * checkbox全选
 */
function selectAllCheckbox()
{
	window.selectAllCheckboxState=!window.selectAllCheckboxState;
	var box=document.getElementsByName("checkbox");
	for(var i=0; i<box.length; i++)
	{
		box[i].checked=selectAllCheckboxState;		
	}
}

function privilegeCheckbox(obj)
{
	var box=document.getElementsByName("checkbox");
	if(obj.value.length == 2) //第一级，如果取消，第二级所有都取消
	{
		for(var i=0; i<box.length; i++)
		{
			if(box[i].value.indexOf(obj.value) == 0)
			{
				box[i].checked = obj.checked;
			}		
		}
	}
	else if(obj.value.length == 4) //第二级，如果选中，则把其第一级的也选中
	{
		for(var i=0; i<box.length; i++)
		{
			if(obj.value.indexOf(box[i].value) == 0)
			{
				box[i].checked = obj.checked;
				return;
			}		
		}
	}
}

/**
 * 验证复选框，至少选一个
 */
/*
function isSelectCheckbox(msg)
{
	alert(11111111111111);
	var box=document.getElementsByName("checkbox");
	for(var i=0; i<box.length; i++)
	{
		if(box[i].checked)
		{
			return true;
		}
	}
	alert(msg);
	return false;
}
*/
function isSelectCheckbox(msg, name)
{
	if(name == null)
	{
		name = "checkbox";
	}
	var box=document.getElementsByName(name);
	for(var i=0; i<box.length; i++)
	{
		if(box[i].checked)
		{
			return true;
		}
	}
	alert(msg);
	return false;
}

/**
 * 验证必填字段
 */
function checkRequiredField(fieldName, msgObjName, msg)
{
	if($(fieldName).value == "")
	{
		showMsg(msgObjName, msg);
		return false;
	}
	else
	{
		showMsg(msgObjName, "");
		return true;
	}
}

/**
 * 返回最大字节数
 */
function getByteLen(str)
{
	if(str == null)
	{
		return 0;
	}
    return str.replace(/[^\x00-\xFF]/g,'**').length;
}

/**
 * 验证最大字符数
 */
function checkMaxLength(fieldName, maxLength, msgObjName, msg)
{
	if(msg == "")
	{
		msg = "最多只能填写" + maxLength + "个字";
	}
	if(getByteLen($(fieldName).value) > maxLength)
	{
		showMsg(msgObjName, msg);
		return false;
	}
	else
	{
		showMsg(msgObjName, "");
		return true;
	}
}

/**
 * 验证必填和最大字符数
 */
function checkRequiredAndMaxLength(fieldName, maxLength, msgObjName)
{
	return checkRequiredField(fieldName, msgObjName, '此项必填') && checkMaxLength(fieldName, maxLength, msgObjName, '最多只能填写'+maxLength+'个字节');
}

/**
 * 验证是否是数字
 */
function checkNumber(fieldName, msgObjName, msg)
{
	if(isNaN($(fieldName).value))
	{
		showMsg(msgObjName, msg);
	}
	else
	{
		showMsg(msgObjName, "");
		return true;
	}
}

function $(msgObjName)
{
	return document.getElementById(msgObjName) == null ? document.getElementsByName(msgObjName)[0]:document.getElementById(msgObjName);
}

function getTinyMCEValue(editorArea)
{
	var val = tinyMCE.get(editorArea).getContent();
	return val;
}

function checkTinyMCERequired(editorArea, msgObjName, msg)
{
	var val = getTinyMCEValue(editorArea);
	if(val == "")
	{
		showMsg(msgObjName, msg);
		return false;
	}
	else
	{
		showMsg(msgObjName, "");
		return true;
	}
}

function checkTinyMCEMaxLength(editorArea, maxLength, msgObjName, msg)
{
	var val = getTinyMCEValue(editorArea);
	if(getByteLen(val.value) > maxLength)
	{
		showMsg(msgObjName, msg);
		return false;
	}
	else
	{
		showMsg(msgObjName, "");
		return true;
	}
}

function isEqual(name1, name2, msgObjName, msg)
{
	if($(name1).value != $(name2).value)
	{
		showMsg(msgObjName, msg);
		return false;
	}
	else
	{
		showMsg(msgObjName, "");
		return true;
	}
}

function checkTinyMCERequiredAndMaxLength(fieldName, maxLength, msgObjName, msg)
{
	if(msg == null)
	{
		msg = '此项必填';
	}
	return checkTinyMCERequired(fieldName, msgObjName, msg) && checkTinyMCEMaxLength(fieldName, maxLength, msgObjName, '最多只能填写'+maxLength+'个字节');
}

/**
 * 验证form中的元素
 */
function checkFormElements(formObj)
{
	var ret = true;
	for(var i = 0; i < formObj.elements.length; i++)
	{
		if(formObj.elements[i].onblur != null)
		{
			if(formObj.elements[i].onblur() == false)
			{
				ret = false;
			}
		}
	}
	return ret;
}

function openwin(url, width, height) 
{ 
	window.open(url, "_blank", "height=" + height + ", width=" + width + ", toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no");  
}

function showMsg(msgObjName, msg)
{
	if($(msgObjName) != null)
	{
		$(msgObjName).innerHTML = msg;
	}
	else if(msg != null && msg != "")
	{
		alert(msg);
	}
}

function formatMoney(s)
{
    if(/[^0-9\.\-]/.test(s)) return "invalid value";
    s=s.replace(/^(\d*)$/,"$1.");
    s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
    //s=s.replace(".",",");
    var re=/(\d)(\d{3},)/;
    while(re.test(s))
        s=s.replace(re,"$1,$2");
    s=s.replace(/,(\d\d)$/,".$1");
    return s.replace(/^\./,"0.")
}
