﻿// JScript File

document.write("<a id=\"pageLink\"></a>");
if(Prototype.Browser.IE || Prototype.Browser.Opera){
    window.attachEvent("onload",InitPageEvents);
}
else{
    window.addEventListener("load",InitPageEvents,false);
}

//初始化页面事件
function InitPageEvents(){
    SetDisabledControls();
    
    if(!Prototype.Browser.IE && !Prototype.Browser.Opera){
        $("pageLink").constructor.prototype.click = LinkClick;
    }
}

//取消页面完成事件
function DetachOnLoadEvent(){
    if(Prototype.Browser.IE || Prototype.Browser.Opera){
        window.detachEvent("onload",Xiaogug.Dialog.FinishLoading);
    }
    else{
        window.removeEventListener("load",Xiaogug.Dialog.FinishLoading);
    }
    $("Xgg_LoadingDialogDiv").style.visibility = "hidden";
}

//隐藏页面内容
function HidePage(){
    if(Prototype.Browser.IE || Prototype.Browser.Opera){
        window.attachEvent("onload",function(){document.form1.style.display = "none";});
    }
    else{
        window.addEventListener("load",function(){document.form1.style.display = "none";},false);
    }
}

function ShowList(){
  if(window.opener!=null && !window.opener.closed){
    window.opener.location.reload();
   }
  window.close();
}

//重载页面
function ReloadPage(url){
  if(url != null){
      self.location = url;
      return;
  }
  self.location = self.location;
}

//设置被禁用的控件风格
function SetDisabledControls(){
  var items = document.getElementsByTagName("input");
    for(var itemIndex=0;itemIndex<items.length;itemIndex++){
      if(items[itemIndex].disabled && (items[itemIndex].className == "NormalButton")){
        items[itemIndex].className = "DisabledButton";
      }
    }
    
    items = document.getElementsByTagName("img");
    for(var itemIndex=0;itemIndex<items.length;itemIndex++){
      if(items[itemIndex].disabled){
        items[itemIndex].style.cursor = "default";
      }
    }
    
    items = document.getElementsByTagName("a");
    for(var itemIndex=0;itemIndex<items.length;itemIndex++){
      if(items[itemIndex].disabled){
        items[itemIndex].className = items[itemIndex].className.replace("Normal","Disabled");
      }
    }
}

function MouseOver(obj){
  obj.className = "MouseOver";
}

function MouseOut(obj){
  obj.className = "MouseOut";
}

//数据哈希表
function Hashtable(){
    var table = new Array();
    
    this.Add = function(key,value){
        for(var i=0; i<table.length; i++){
            if(table[i][0] == key){
                table[i][1] = value;
                return;
            }
        }
        table.push(new Array(key,value));
        this.Count = table.length;
        this.Item = table;
    }
        
    this.Remove = function(key){
        var removeIndex = -1;
        for(var i=0; i<table.length; i++){
            if(table[i][0] == key){
                removeIndex = i;
                break;
            }
        }
        if(removeIndex != -1){
            //table.slice(removeIndex,1);
            table = table.slice(0,removeIndex).concat(table.slice(removeIndex+1,table.length));
            this.Count = table.length;
            this.Item = table;
        }
    }
    
    this.Clear = function(){
        table = new Array();
        this.Count = table.length;
        this.Item = new Array();
    }
    
     this.Contains = function(key){
        if(table.length <= 0){
            return false;
        }
        
        for(var i=0; i<table.length; i++){
            if(table[i][0] == key){
                return true;
            }
        }
        return false;
    }
    
    this.GetValue = function(key){
        if(table.length <= 0){
            return null;
        }
        
        for(var i=0; i<table.length; i++){
            if(table[i][0] == key){
                return table[i][1];
            }
        }
    }
    
    this.Item = new Array();
    this.Count = 0;
}


//验证日期格式
function IsDate(text){
  var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/; 
  return reg.test(text);
}

//是否为有效的邮箱地址
function IsValidEmail(strText)
{
    //var regexText = "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ";
    var regexText = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
    return CheckRegExp(regexText,strText);
}

//验证电子邮箱
function IsEmail(text){
  var reg = /^\w+((\-\w+)|(\.\w+))*\@\w+((\.|\-)\w+)*\.\w+$/; 
  return reg.test(text);
}

//验证网址
function IsUrl(text){
  var reg = /^((http|https)\:\/\/)?([\w\d\-]+\.)+[\w\d\-]+(\/?|(\/\w+\/?)+)*$/;
  return reg.test(text);
}

//验证是否匹配正则表达式
function CheckRegExp(regexText,strText)
{
    var regex = new RegExp(regexText);
    return regex.test(strText);
}

function ResponseProcessResult(xhrObj){
    var root = xhrObj.responseXML.documentElement;
    var item = root.selectSingleNode("Item");
    var result = eval(GetNodeValue(item.selectSingleNode("Succeed")));
    if(result){
        Xiaogug.Dialog.ShowMessage("",GetNodeValue(item.selectSingleNode("Text")),"ReloadPage();",false);
    }
    else{
        Xiaogug.Dialog.ShowMessage("",GetNodeValue(item.selectSingleNode("Text")),"Xiaogug.Void()",false);
        return;
    }
}

function LinkPage(url,target){
  if(target==null){
      target = "_self";
  }
  $("pageLink").target = target;
  $("pageLink").href = url;
  $("pageLink").click();
}

function LinkClick(){
  var executeAction = true;
  if (this.onclick) {
    executeAction = this.onclick({type: 'click'});
  }
  if (executeAction){
    open(this.href, this.target ? this.target : '_self');
  }
}

//判断字符串是否为数字
// strNum 被判断的字符串
// isInteger 是否必须为整数 true：必须为正数 false：可以带小数点
// canNegative 是否能为负数 true：可以为负数 false：不能为负数（必须为正数）
function IsNumeric(strNum,isInteger,canNegative){
    if(strNum==""){
        return false;
    }
    if(isNaN(strNum)){
        return false;
    }
    if(isInteger && strNum.toString().indexOf(".")>=0){
        return false;
    }
    else if(!isInteger && strNum.toString().indexOf(".")==0){
        return false;
    }
    if(!canNegative && strNum.toString().indexOf("-")>=0){
        return false;
    }
    return true;
}

//get node value
function GetNodeValue(node){
    var text = "";
    //for IE
    if(window.ActiveXObject){
        text = node.text;
    }
    else{
        text = node.textContent;
    }
    return text;
}

function GetRoundCode(){
    var t = new Date();
    var month = t.getMonth() + 1;
    if(month<10){
        month = "0"+month;
    }
    var day = t.getDate();
    if(day<10){
        day = "0"+day;
    }
    var hour = t.getHours();
    if(hour<10){
        hour = "0"+hour;
    }
    var minute = t.getMinutes();
    if(minute<10){
        minute = "0"+minute;
    }
    var second = t.getSeconds();
    if(second<10){
        second = "0"+second;
    }
    
    var str = ""+t.getFullYear()+month+day+hour+minute+second+t.getMilliseconds();
    return str;
}

function Trim(str){
    return str.toString().replace(/\s+/g,"");
}

//分页处理
var controlPage = "";
var controlPageSize = "";
var pagerUrl = "";
var defaultCurrentPage = 1;
var defaultPageSize = 20;

function TurnPage(targetPage){
    if(pagerUrl == ""){
        return;
    }
    else if(!IsNumeric(targetPage,true,false)){
        return;
    }
    
    targetPage = Trim(targetPage);
    targetPage = parseInt(targetPage);
    
    pagerUrl = pagerUrl.replace("Page=***", "Page="+targetPage)
    pagerUrl = pagerUrl + "&PageSize="+Trim($F(controlPageSize));
    LinkPage(pagerUrl);
}

function CheckPageNumeric(obj,defaultValue){
    if(!IsNumeric(obj.value,true,false)){
        obj.value = defaultValue;
    }
}


String.prototype.toTrim = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
