﻿// JScript 文件

//function:replace space by null
String.prototype.Trim = function()
{
	var regEx = /\s*/g;
	return this.replace(regEx,''); 
}
//------------------------------------------------------	
//function:replace html mark by null
String.prototype.HtmlEncodeNew = function () {
	return this
		.replace(/&/g, "&amp;")
		.replace(/^[ ]/, '&nbsp;')
		.replace(/"/g, "&quot;")
		.replace(/</g, "&lt;")
		.replace(/>/g, "&gt;");
}
String.prototype.endcodeDot = function ()
{
	return this
		.replace(/&/g, "%26")
		.replace(/\+/g, "%2b");//only this row has semicolon(;)
}

//function to get file's suffixal name
//example: var newimgpath=imgpath.GetExtensionName();
String.prototype.GetExtensionName = function()
{
	var regEx = /^.*\/[^\/]*(\.[^\.\?]*).*$/;
	return this.replace(regEx,'$1');
}

var Main = Object();

Main.newWindow = null;

Main.$ = function(id){
    return document.getElementById ? document.getElementById(id) : null;
}

//弹出窗体
Main.Openwin = function(url,stoolbar){
    if (! Main.newWindow || Main.newWindow.closed)
		Main.newWindow = window.open(url,"",stoolbar);
	else
		Main.newWindow = window.open(url,"",stoolbar);
		Main.newWindow.focus();
}
//打开窗体，指定宽高
Main.Openurl = function(url,nu_width,nu_height){
    var nu_left=(window.screen.width-nu_width)/2-5;
	var nu_top=(window.screen.height-nu_height)/2-40;
	Main.Openwin(url,"toolbar=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,top="+nu_top+",left="+nu_left+",width=" + nu_width + ",height=" + nu_height);
}

//加载列表
Main.LoadList = function(_url,_data,_type,_div){
    $.ajax({
        type:_type,
        url: _url,
        data:_data,
        success:function(html){
            _div ="#"+_div; 
            $(_div).html(html);
        }
    });
}
//加载列表完成后执行的方法
Main.LoadFunList = function(_url,_data,_type,_div,fun){
    $.ajax({
        type:_type,
        url: _url,
        data:_data,
        success:function(html){
            _div ="#"+_div;
            $(_div).html(html);
            eval((fun+"()"));
        }
    });
}
//为<select>加载json数据
Main.LoadJson = function(_url,_data,_type,_id){
    $.ajax({
        type:_type,
        url: _url,
        data:_data,
        success:function(json){
            Main.SelJson(_id,json);
        }
    });
}
//数据删除
Main.DelRecord = function(_id,_type,_url,_data,_msg,_fun){
    if(confirm(_msg)){
        if(_type){
            _data += _id;}else{
            _data += GetSetChecked();
            }
        $.ajax({
            type:"GET",
            url: _url,
            data:_data,
            success:function(msg){
               if(msg == "True"){
                alert("操作成功！");
                eval((_fun+"('1')"));
               }else{
                alert(msg);
                return;
               }
            }
        });
    }
}

//根据状态Id获取状态名称
Main.WriteState = function(_pre,_num,_sel){
    for(var i=0;i<_num;i++){
            var elem = Main.$(_pre+i);
            if(elem!=null){
                var _val =','+ elem.innerHTML+',';
                $("#"+_sel+" option").each(function(){
                    var _id = parseInt(this.value);
                    if(_val.indexOf(','+_id+',')!=-1){
                        _val = _val.replace((','+_id+','),(','+this.innerHTML+','));
                    }
                });
                elem.innerHTML = _val;
            }
       }
}

//检查文件后缀名是否为图片
Main.FileFiter = function(_elem){
    var exName = _elem.value.Trim();
    if(exName.length < 1)
        return false;
    exName = exName.substr(exName.lastIndexOf(".")+1).toLowerCase();
    if(exName!="jpg"){
            if(exName!="gif"){
                if(exName!="jpeg"){
                    return false;
                }
            }
        }
     return true;
}
//将Select改变的值赋值给Hidden
Main.SelChange = function(_elem,_id){
    Main.$(_id).value=_elem.value;
}
//绑定CheckBox的点击事件
Main.BindChk = function(_name,_id){
    var elems = document.getElementsByName(_name);
    _id ="#"+_id;
    for(var i =0; i <elems.length;i++){
        elems[i].onclick = function(){
            var _hnval = $(_id).val();
            var _idval = parseInt(this.value);
            if(this.checked){
                if(_hnval.indexOf(","+ _idval +",") != -1)
                    return;
                _hnval += _idval+",";
                $(_id).val(_hnval);
            }else{
                if(_hnval.indexOf(","+ _idval +",") == -1)
                    return;
                _hnval = _hnval.replace(_idval + ",", "");
                $(_id).val(_hnval);
            }
        }
    }
}
//初始化CheckBox绑定数据
Main.InitChk = function(_name,_id){
    var elems = document.getElementsByName(_name);
    _id ="#"+_id;
    var _hnval =","+$(_id).val()+",";
    for(var i=0;i<elems.length;i++){
        elems[i].checked=false;
        var _idval = parseInt(elems[i].value);
        if(_hnval.indexOf(","+ _idval +",") != -1){
            elems[i].checked = true;
            continue;
        }
    }
}

//创建从minNum到maxNum的随即数
Main.RandomNum = function(minNum,maxNum){
    if(parseInt(maxNum/minNum)<2)
            return maxNum;//防止堆栈溢出
    var randomValue =Math.random();
    var result=parseInt(maxNum*randomValue);
    if(result>=minNum)
    {
        return result;
    }
    return RandomNum(minNum,maxNum);
}
//获取Url传值，类似于Request.QueryString("param");
Main.QueryString = function(qs){
    s = location.href;
	var SharpIndex=s.indexOf("#");
	if (SharpIndex!=-1) {
		s=s.substring(0,SharpIndex);
	}
	s = s.replace("?","?&").split("&");
	re = "";
	for(var i=1;i<s.length;i++)
	{
		if(s[i].indexOf(qs+"=")==0)
		{
			re = s[i].replace(qs+"=","");
		}
	}
	return re;
}
//获取FCK内容的长度，不包含上传的图片所形成的HTML代码
Main.GetMessageLength = function(str){
    var oEditor = FCKeditorAPI.GetInstance(str) ;
    var oDOM = oEditor.EditorDocument ;
    var iLength ;
    if ( document.all )        // If Internet Explorer.
    {
        iLength = oDOM.body.innerText.length ;
    }
    else                    // If Gecko.
    {
        var r = oDOM.createRange() ;
        r.selectNodeContents( oDOM.body ) ;
        iLength = r.toString().length ;
    }
    return iLength;
}
//创建<select>的<option>对象
Main.CreateOption = function(txt,value){
    var _option=document.createElement("option");
    _option.value=value;
    _option.text=txt;
    return _option;
}
//处理获取到的Json对象，并赋值给<select>对象
Main.SelJson = function(id,json){
    var elem = document.getElementById(id);
    var _options = eval(json);
    if(_options.length>0){
        elem.options.length=0;
        for(var i=0;i<_options.length;i++){
            var varitem = Main.CreateOption(_options[i].name,_options[i].value);
            elem.options.add(varitem);
        }
    }
}


//Begin pagination 
function JudgeNumOnly(obj) 
{ 
	obj.value=obj.value.replace(/\D/g,'');
}
function JudgeGoPage(p_txtNumName, p_PageCount)
{ 
	var m_ret = true;
	var m_toPage = document.getElementById(p_txtNumName);
	if ( m_toPage.value == '' ) 
	{ 
		alert('抱歉，转到的页数不能为空，请重新输入!');
		m_toPage.focus(); 
		m_ret = false;
	} 
	else if( parseInt(m_toPage.value)<1 || parseInt(m_toPage.value)>p_PageCount ) 
	{ 
		alert('抱歉，只能输入1至'+p_PageCount+'的整数，请重新输入！');
		m_toPage.focus();
		m_ret = false;
	}
	return m_ret;
}

function JudgePageCount(elem,fun){
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if(keyCode==13){
    var pcount =elem.value.Trim();
    if(isNaN(parseInt(pcount))){
        alert("每页显示的数据量只能为大于0的正整数！");
        elem.value = "15";
        return;
    }
    if(parseInt(pcount)<0){
        alert("每页显示的数据量只能为大于0的正整数！");
        elem.value = "15";
        return;
    }
    eval((fun+"('1');"));
  }
}

//function to get all selected values
function GetSetChecked()
{
    var list = document.documentElement.getElementsByTagName("input"); 
    var strid="";
    for(i=0;i<list.length;i++)
    {  
        if(list[i].type == "checkbox"&& list[i].checked)
        {
        if(list[i].name=="chk"){
            if(strid=="")
                strid=list[i].value;
            else
                strid+=","+list[i].value;
                }
        }
    } 
    return strid;   
}

///function to select all checkboxs in this page
function SelChecked()
{
    var cboxAll=$("cboxAll");
    var list = document.documentElement.getElementsByTagName("input");
    for(i=0;i<list.length;i++)
    {  
        if(list[i].type == "checkbox")
        {
            if(list[i].name=="chk"){
            list[i].checked =true;
            }
        }
    }
}
///function to SELECT INVERT 
function RevChecked()
{
    var cboxAll=$("cboxAll");
    var list = document.documentElement.getElementsByTagName("input");
    for(i=0;i<list.length;i++)
    {  
        if(list[i].type == "checkbox")
        {
             if(list[i].name=="chk"){
            list[i].checked =!list[i].checked;
             }
        }
    }
}
//end pagination
