////////////////////////////////////////////////////////////////////////////////
// JS 验证代码
////////////////////////////////////////////////////////////////////////////////
//    r: 判断空值
//    n: 数字类型
//    d: 日期类型(ex. 20090101, 2009年1月1日)
//    l: 内容长度
//    t: 时间类型
//    w: 月份类型(1-12)
//    i: 日期类型
//    u: URL类型
//    e: email类型
//    v: 浮点类型

function f_valid_chk(a_arr) {
    if (a_arr[3].indexOf("r") != -1) if (!f_req_chk   (a_arr)) return false;
    if (a_arr[3].indexOf("n") != -1) if (!f_number_chk(a_arr)) return false;
    if (a_arr[3].indexOf("v") != -1) if (!f_float_chk (a_arr)) return false;
    if (a_arr[3].indexOf("d") != -1) if (!f_nalja_chk (a_arr)) return false;
    if (a_arr[3].indexOf("l") != -1) if (!f_len_chk   (a_arr)) return false;
    if (a_arr[3].indexOf("t") != -1) if (!f_sigan_chk (a_arr)) return false;
    if (a_arr[3].indexOf("w") != -1) if (!f_month_chk (a_arr)) return false;
    if (a_arr[3].indexOf("i") != -1) if (!f_day_chk   (a_arr)) return false;
    if (a_arr[3].indexOf("u") != -1) if (!f_url_chk   (a_arr)) return false;
    if (a_arr[3].indexOf("e") != -1) if (!f_email_chk (a_arr)) return false;
    if (a_arr[3].indexOf("j") != -1) if (!f_juminsaup_chk (a_arr)) return false;
    return true;
}

////////////////////////////////////////////////////////////////////////////////
// 具体函数
////////////////////////////////////////////////////////////////////////////////
// 时间
function f_sigan_chk(a_arr) {
    if (!f_time_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 准确输入时间");

        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}
function CheckForm(a_arr)
{
    if ((document.frm1.shangyemingcheng.value)=="" && (document.frm1.qita.value)=="")
  {
        alert("必须在搜索名称和其它内容中填写一项！");
        document.frm1.qita.focus();
        return false;
  }

  return true;
 }
// 空值
function f_req_chk(a_arr) {
    if (f_empty_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' Please select this item.");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 电子箱邮
function f_email_chk(a_arr) {
    if (!f_valid_email(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("E-mail应是'帐户@域名'的形式");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// URL
function f_url_chk(a_arr) {
    if (!f_valid_url(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("主页的地址应是'http://域名'的形式");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 字符串长度
function f_len_chk(a_arr) {
    if (f_lenb(a_arr[0].value) > a_arr[2]) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 超过了用户名长度.\n英文 " + a_arr[2] + "子, 中文 " + a_arr[2] / 2 + "字以内输入.");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 月份
function f_month_chk(a_arr) {
    if (!f_weol_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 请正确输入月份");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 日期
function f_day_chk(a_arr) {
    if (!f_il_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 请正确输入日期");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 日期格式
function f_nalja_chk(a_arr) {
    if (!f_date_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 清正确输入日期.(例:20090101, 2009年1月1日)");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 数字类型
function f_number_chk(a_arr) {
    if (!f_jeongsu_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 请准确输入数字.");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

// 浮点数字
function f_float_chk(a_arr) {
    if (!f_budong_sosu_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 请准确输入数字");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

function f_juminsaup_chk(a_arr) {
    if (a_arr[0].value.length == 10) {
        return f_saup_chk(a_arr);
    } else if (a_arr[0].value.length == 13) {
        return f_jumin_chk(a_arr);
    } else {
        alert("营业执照号码请勿输入连接符（—）（输入10位）, 身份证号码请勿输入连接符（—）（输入1－19位）");
        return false;
    }
}

function f_jumin_chk(a_arr) {
    if (!f_juminno_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        alert("'" + a_arr[1] + "' 要正确填写此项");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;      // ??? ???? ???????.
    }
    return true;
}

function f_saup_chk(a_arr) {
    if (!f_saupno_chk(a_arr[0].value)) {
        if (a_arr[4]) eval(a_arr[4]);
        //alert("'" + a_arr[1] + "' 要正确填写此项");
        alert("请正确输入营业执照号码");
        if (a_arr[3].indexOf("f") == -1) {
            a_arr[0].select();
        }
        if (a_arr[3].indexOf("h") == -1) {
            a_arr[0].focus();
        }
        return false;
    }
    return true;
}

////////////////////////////////////////////////////////////////////////////////
// IMPEMENTATIONS(Private)
////////////////////////////////////////////////////////////////////////////////

function f_lenb(a_str) {
    var j = a_str.length;
    var l = j;
    for (var i = 0; i < l; i++) if (a_str.charCodeAt(i) > 255) j++;
    return j;
}

function f_juminno_chk(a_obj) {
    var str_f_num = a_obj.substring(0, 6);
    var str_l_num = a_obj.substring(6, 13);

    if (f_lenb(a_obj) != 13) return false;
    if (!f_jeongsu_chk(a_obj)) return false;

    var i3 = 0;
    for (var i = 0; i < str_f_num.length; i++) {
        var ch1 = str_f_num.substring(i, i + 1);
        if (ch1 < '0' || ch1 > '9') { i3 = i3 + 1; }
    }

    if ((str_f_num == '') || (i3 != 0)) {
        a_obj.focus();
        return false;
    }

    var i4 = 0;
    for (var i = 0; i < str_l_num.length; i++) {
        var ch1 = str_l_num.substring(i, i + 1);
        if (ch1 < '0' || ch1 > '9') { i4 = i4 + 1; }
    }
    if ((str_l_num == '') || ( i4 != 0 )) {
        return false;
    }

    if (str_l_num.substring(0, 1) > 2) {
        return false;
    }

    if ((str_f_num.length > 7) || (str_l_num.length > 8)) {
        return false;
    }

    var f1 = str_f_num.substring(0, 1);
    var f2 = str_f_num.substring(1, 2);
    var f3 = str_f_num.substring(2, 3);
    var f4 = str_f_num.substring(3, 4);
    var f5 = str_f_num.substring(4, 5);
    var f6 = str_f_num.substring(5, 6);
    var hap = f1 * 2 + f2 * 3 + f3 * 4 + f4 * 5 + f5 * 6 + f6 * 7;

    var l1 = str_l_num.substring(0, 1);
    var l2 = str_l_num.substring(1, 2);
    var l3 = str_l_num.substring(2, 3);
    var l4 = str_l_num.substring(3, 4);
    var l5 = str_l_num.substring(4, 5);
    var l6 = str_l_num.substring(5, 6);
    var l7 = str_l_num.substring(6, 7);
    hap = hap + l1 * 8 + l2 * 9 + l3 * 2 + l4 * 3 + l5 * 4 + l6 * 5;
    var rem = hap % 11;
    rem = (11 - rem) % 10;
    if (rem != l7) {
        return false;
    }
    return true;
}

function f_saupno_chk(vencod) {
    var sum = 0;
    var getlist = new Array(10);
    var chkvalue = new Array("1", "3", "7", "1", "3", "7", "1", "3", "5");
    for (var i = 0; i < 10; i++) { getlist[i] = vencod.substring(i, i + 1); }
    for (var i = 0; i < 9; i++) { sum += getlist[i] * chkvalue[i]; }

    sum = sum + parseInt((getlist[8] * 5) / 10);
    sidliy = sum % 10;
    sidchk = 0;

    if (sidliy != 0) { sidchk = 10 - sidliy; }
    else { sidchk = 0; }
    if (sidchk != getlist[9]) { return false; }

    return true;
}

function f_jeongsu_chk(a_num) {
	numstr = "+-0123456789,"; /* +- ????? ???? */
	for (var i = 0; i < a_num.length; i++){
		if (numstr.indexOf(a_num.charAt(i)) == -1)
		    return false;
        if ((a_num.charAt(i) == "+" || a_num.charAt(i) == "-" ) && i != 0)  // +, -? ????? ??? return false;
            return false;
	}
	return true;
}

function f_budong_sosu_chk(a_num) {
    //  grammar check needed.
	numstr = "+-0123456789.,"; /* +- ????? ???? */
	for (var i = 0; i < a_num.length; i++){
		if (numstr.indexOf(a_num.charAt(i)) == -1)
		    return false;
        if ((a_num.charAt(i) == "+" || a_num.charAt(i) == "-" ) && i != 0)  // +, -? ????? ??? return false;
            return false;
	}
	return true;
}

function f_empty_chk(a_data) {
    for (var i = 0; i < a_data.length; i++ ) {
        if (a_data.substring(i, i + 1) != " ")
            return false;
    }
    return true;
}

function f_gongbaeg_chk(a_data) {
    if (a_data.indexOf(' ') == -1) return false;
    return true;
}

function f_weol_chk(a_weol) {
    if (a_weol == '') return false;
    if (!f_jeongsu_chk(a_weol)) return false;
    if (f_gongbaeg_chk(a_weol)) return false;
    if (parseInt(a_weol) > 12) return false;
    return true;
}

function f_il_chk(a_il) {
    if (a_il == '') return false;
    if (!f_jeongsu_chk(a_il)) return false;
    if (f_gongbaeg_chk(a_il)) return false;
    if (parseInt(a_il) > 31) return false;
    return true;
}

function f_time_chk(a_time) {
    if (a_time == '') return false;
    if (a_time.length != 4) return false;
    if (!f_jeongsu_chk(a_time)) return false;
    if (f_gongbaeg_chk(a_time)) return false;

    var si  = a_time.substring(0, 2);
    var bun = a_time.substring(2, 4);

    if (parseInt(si)  > 24) return false;
    if (parseInt(bun) > 60) return false;
    return true;
}

function f_date_chk(a_date) {
    var result = true;
    a_date = a_date.replace(/-/gi, "");
    if (a_date == '') return result;
    if (!(a_date.length == 8 || a_date.length == 0)) result = false;
    if (!f_jeongsu_chk(a_date)) result = false;
    if (f_gongbaeg_chk(a_date)) result = false;

    var nyeondo = a_date.substring(0, 4);
    var weol    = a_date.substring(4, 6);
    var il      = a_date.substring(6, 8);

    var mal_il
    mal_il = new Array(12);
    mal_il[0] = 31;
    mal_il[1] = 28;
    mal_il[2] = 31;
    mal_il[3] = 30;
    mal_il[4] = 31;
    mal_il[5] = 30;
    mal_il[6] = 31;
    mal_il[7] = 31;
    mal_il[8] = 30;
    mal_il[9] = 31;
    mal_il[10] = 30;
    mal_il[11] = 31;

    if (parseInt(weol) == 2) {
        if (!(nyeondo % 4) && ((nyeondo % 100) || !(nyeondo % 400))) mal_il[1] = 29;
    }
    if (weol > 12 || weol < 1) { result = false; }
    if (il > mal_il[parseInt(weol) - 1] || il < 1) { result = false; }

    return result;
}

function f_valid_email(a_email) {
    if (f_empty_chk(a_email)) return true;
    if (a_email.search(/(\S+)@(\S+)\.(\S+)/) == -1) return false;
    return true;
}


function f_valid_url(a_url) {
    if (f_empty_chk(a_url)) return true;
    var re;
    re = /^http:\/\/(\S+)\.(\S+)/ig;
    if (!re.exec(a_url)) return false;
    return true;
}

//消息窗口  需要jquery支持
function showMsgBox(msg) {
	if (null == jQuery("#commonMsgDiv").html()) {
		var box = new Array();
		box.push("<div id=\"commonMsgDiv\" title=\"消息窗\" style='display:none'>");
		box.push("<div id=\"commonMsgDivMsg\">"+msg+"</div>");
		box.push("</div>");
		jQuery("body").append(box.join(""));
		jQuery("#commonMsgDiv").dialog({ autoOpen: false, minHeight: 100, minWidth: 200 });
	} else {
		jQuery("#commonMsgDivMsg").html(msg);
	}
	if (!jQuery("#commonMsgDiv").dialog('isOpen')) {
		jQuery("#commonMsgDiv").dialog('open');
	} else {
		jQuery("#commonMsgDiv").dialog('close');
		jQuery("#commonMsgDiv").dialog('open');
	}
}

//cookie操作函数
function getCookie(name)
{
	  var start = document.cookie.indexOf( name + "=" );
	  var len = start + name.length + 1;
	  if ((!start) && (name != document.cookie.substring(0,name.length)))
	  {
		return null;
	  }
	  
	  if( start == -1 )
		return null;
	  var end = document.cookie.indexOf(';',len);
	  if (end == -1)
		end = document.cookie.length;
	  return unescape(document.cookie.substring(len,end));
}

//cookie操作函数
function Deletecookie (name) {  //删除名称为name的Cookie
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = getCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}


function checkAll(name)
{
	var el = document.getElementsByTagName('input');
	
	document.searchForm.multiautoid.value="";
	var len = el.length;
	for(var i=0; i<len; i++)
	{
		if((el[i].type=="checkbox") && (el[i].name==name))
		{
			el[i].checked = true;

			setPaautoids(el[i].value);
		}
	}
}
function clearAll(name)
{
	var el = document.getElementsByTagName('input');
	var len = el.length;
	for(var i=0; i<len; i++)
	{
		if((el[i].type=="checkbox") && (el[i].name==name))
		{
			el[i].checked = false;
			removePaautoid(el[i].value);
		}
	}
	document.searchForm.multiautoid.value="";
}

function setPaautoids(a){
	document.searchForm.multiautoid.value+=a + ',';
}

function removePaautoid(a){
	var temp = document.searchForm.multiautoid.value;
	document.searchForm.multiautoid.value = deleteString(temp,a+',');
}

//提取查找字符串前面所有的字符
function getFront(mainStr,searchStr){
	foundOffset=mainStr.indexOf(searchStr);
	if(foundOffset==-1){
	   return null;
	}
	return mainStr.substring(0,foundOffset);
}
//提取查找字符串后面的所有字符
function getEnd(mainStr,searchStr){
	foundOffset=mainStr.indexOf(searchStr);
	if(foundOffset==-1){
	   return null;
	}
	return mainStr.substring(foundOffset+searchStr.length,mainStr.length);
}
//在字符串 searchStr 前面插入字符串 insertStr
function insertString(mainStr,searchStr,insertStr){
	var front=getFront(mainStr,searchStr);
	var end=getEnd(mainStr,searchStr);
	if(front!=null && end!=null){
	   return front+insertStr+searchStr+end;
	}
	return null;
}
//删除字符串 deleteStr
function deleteString(mainStr,deleteStr){
	return replaceString(mainStr,deleteStr,"");
}
//将字符串 searchStr 修改为 replaceStr
function replaceString(mainStr,searchStr,replaceStr){
	var front=getFront(mainStr,searchStr);
	var end=getEnd(mainStr,searchStr);
	if(front!=null && end!=null){
	   return front+replaceStr+end;
	}
	return null;
}

/*fckeditor*/
function getEditorTextContents(EditorName) {
	  var oEditor = FCKeditorAPI.GetInstance(EditorName);
	  return(oEditor.GetXHTML(true));
}

function clearEditorTextContents(EditorName) {
	  var oEditor = FCKeditorAPI.GetInstance(EditorName);
	  oEditor.SetHTML("");
}




//////////////////////////////////////////////////////////////////////////
/////////////////////////年月日下拉框联动/////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/*
<form name="form1">
	<select name="YYYY" onchange="YYYYDD(this.value)">
		<option value="" selected>请选择年</option>
	</select>
	<select name="MM" onchange="MMDD(this.value)">
		<option value="" selected>选择月</option>
	</select>
	<select name="DD">
		<option value="" selected>选择日</option>
	</select>
</form>
<script language="javascript">
if (document.attachEvent) 
	window.attachEvent("onload", YYYYMMDDstart);
else 
	window.addEventListener('load', YYYYMMDDstart, false);">
</script>
*/


//发送短消息
function sendSms(path, obj) {
	if(obj == undefined || obj.userId == undefined) {
		alert("参数错误");
		return;
	}
	var url = path + "/handler/Common-SendSMS";
	var params = "dialogWidth=450px;dialogHeight=350px;status:no;scroll:no;";
	window.showModalDialog(url, obj, params);
}

//存储鼠标光标处文本
function storeCaret(name) {
	var textEl = document.getElementById(name);
	if(textEl.createTextRange) { 
		textEl.caretPos = document.selection.createRange().duplicate();
	}    
}
//在鼠标光标文本处插入文本
function insertAtCaret(name, text) {
	var textEl=document.getElementById(name);
	if(textEl.createTextRange && textEl.caretPos) {
		var caretPos = textEl.caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;      
	}      
	else {        
		textEl.value = text;
	}
}

//////////////////////////////////////////////////////////////////////////
/////////////////////////年月日下拉框联动/////////////////////////////////
//////////////////////////////////////////////////////////////////////////

//取屏幕滚动上去的高度
function getScrollTop()
{
	var scrollTop=0;
	if(document.documentElement&&document.documentElement.scrollTop)
	{
		scrollTop=document.documentElement.scrollTop;
	}
	else if(document.body)
	{
		scrollTop=document.body.scrollTop;
	}
	return scrollTop;
}

//剪贴板拷贝
function copyToClipBoard(){
	var clipBoardContent='';
	clipBoardContent+=window.location;
	window.clipboardData.setData("Text",clipBoardContent);
	alert("你已复制URL地址，请粘贴发给好友!");
}

//FLASH播放
function FlashCommon( id, ObjUri, vWidth, vHeight ) {

	var str = "";
	str  = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + vWidth + '" height="' + vHeight + ' id="' + id + '" align="middle">';
	str += '<param name="movie" value="' + ObjUri + '">';
	str += '<param name="quality" value="high">';
	str += '<param name="wmode" value="transparent">';
	str += '<param name="bgcolor" value="#ffffff">';
	str += '<embed src="' + ObjUri + '" quality="high" wmode="transparent" bgcolor="#ffffff" width="' + vWidth + '" height="' + vHeight + '" id="' + id + '" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
	str += '</object>';

	document.writeln(str);
}

//图片按比例缩放
//<img src="images/toplogo.gif" onload="javascript:DrawImage(this,100,100)">
function DrawImage(ImgD,iwidth,iheight) {
	var image=new Image();
	image.src=ImgD.src;
	if(image.width>0 && image.height>0){
		if(image.width/image.height>= iwidth/iheight){
			if(image.width>iwidth){
				ImgD.width=iwidth;
				ImgD.height=(image.height*iwidth)/image.width;
			}else{
				ImgD.width=image.width;
				ImgD.height=image.height;
			}
		} else {
			if(image.height>iheight){
				ImgD.height=iheight;
				ImgD.width=(image.width*iheight)/image.height;
			}else{
				ImgD.width=image.width;
				ImgD.height=image.height;
			}
		}
	}
}

//加入收藏夹
function bookmark(title, url) {
  if (document.all)
    window.external.AddFavorite(url, title);
  else if (window.sidebar)
    window.sidebar.addPanel(title, url, "");
}





