﻿//WorkerScript类
var worker = {};

//判断Money控件输入
worker.MoneyControl = function()
{
    var realKey = String.fromCharCode(event.keyCode) 
    var myReg = /^(-|\+)?\d+(((\.\d+)|(\.))|((\/\d+)|(\/)))?$/;
    if (myReg.test(event.srcElement.value + realKey) == false)
    {
        event.returnValue = false;
    }
};

//判断Number控件输入
worker.NumberControl = function()
{
    var realKey = String.fromCharCode(event.keyCode) 
    var myReg = /^(-|\+)?\d+$/;
    if (myReg.test(event.srcElement.value + realKey) == false)
    {
        event.returnValue = false;
    }
};

//获取值
worker.GetValue = function(Element)
{
    //CheckboxList
    if(Element.Type == "CheckboxList")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
        var returnValue = "";
        for(i = 0; i<elementChildren.length ; i++)
        {
            if(elementChildren[i].checked)
                returnValue = returnValue + "-" + elementChildren[i].value;
        }
        if(returnValue.length != 0)
            returnValue = returnValue.substr(1 , returnValue.length);
            
        return returnValue;
    }
    
    //RadioList
    if(Element.Type == "RadioList")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
        for(i = 0; i<elementChildren.length ; i++)
        {
            if(elementChildren[i].checked)
                return elementChildren[i].value;
        }
        return "";
    }
    
    //CheckboxListWithText
    if(Element.Type == "CheckboxListWithText")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
        var returnValue = "";
        for(i = 0; i<elementChildren.length-1 ; i++)
        {
            if(elementChildren[i].checked)
                returnValue = returnValue + "-" + elementChildren[i].value;
        }
        
        if(elementChildren[elementChildren.length - 1].checked)
            returnValue = returnValue + "-" + $get(Element.ID + "_Item_" + (elementChildren.length - 1) + "_TextBox").value;
        
        if(returnValue.length != 0)
            returnValue = returnValue.substr(1 , returnValue.length);
            
        return returnValue;
    }
    
    //RadioListWithText
    if(Element.Type == "RadioListWithText")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
        for(i = 0; i<elementChildren.length ; i++)
        {
            if(elementChildren[i].checked)
                if(elementChildren[i].value != -1)
                    return elementChildren[i].value;
                else
                    return $get(Element.ID + "_Item_" + (elementChildren.length - 1) + "_TextBox").value;
        }
    }
    
    //File
    if(Element.Type == "File")
    {
        return "";
    }
        
    //Hidden
    if(Element.Type == "Hidden")
    {
        return $get(Element.ID).value;
    }
    
    //Image
    if(Element.Type == "Image")
    {
        return "";
    }
    
    //Password
    if(Element.Type == "Password")
    {
        return $get(Element.ID).value;
    }
    
    //Text
    if(Element.Type == "Text")
    {
        return $get(Element.ID).value;
    }
    
    //Number
    if(Element.Type == "Number")
    {
        return $get(Element.ID).value;
    }

    //Money
    if(Element.Type == "Money")
    {
        return $get(Element.ID).value;
    }
    
    //DateTime
    if(Element.Type == "DateTime")
    {
        return $get(Element.ID).value;
    }   
    
    //TextArea
    if(Element.Type == "TextArea")
    {
        return $get(Element.ID).value;
    }   
    
    //Select
    if(Element.Type == "Select")
    {
        return $get(Element.ID).value;
    }  
    
    //Custom
    if(Element.Type == "Custom")
    {
        return "";
    }  
    
    //默认
    return "";
};

//判空
worker.IsNull = function(Element)
{
    //CheckboxList
    if(Element.Type == "CheckboxList")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
        var checkedCount = 0
        for(i = 0; i<elementChildren.length ; i++)
        {
            if(elementChildren[i].checked)
                checkedCount ++ ;
        }
        if(checkedCount == 0)
            return false;
        else
            return true;
    }
    
    //RadioList
    if(Element.Type == "RadioList")
    {
        return true;
    }
    
    //CheckboxListWithText
    if(Element.Type == "CheckboxListWithText")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
        
        //自填信息必须填写
        if(elementChildren[elementChildren.length - 1].checked)
            if($get(Element.ID + "_Item_" + (elementChildren.length - 1) + "_TextBox").value == "")
                return false;
        
        var checkedCount = 0
        for(i = 0; i<elementChildren.length ; i++)
        {
            if(elementChildren[i].checked)
                checkedCount ++ ;
        }
        if(checkedCount == 0)
            return false;
        else
            return true;
    }
    
    //RadioListWithText
    if(Element.Type == "RadioListWithText")
    {
        var elementChildren = document.getElementsByName(Element.ID + "_Item");
            if(elementChildren[elementChildren.length - 1].value == -1)
                if($get(Element.ID + "_Item_" + (elementChildren.length - 1) + "_TextBox").value == "")
                    return false;
        
        return true;
    }
    
    //File
    if(Element.Type == "File")
    {
        return true;
    }
        
    //Hidden
    if(Element.Type == "Hidden")
    {
        return true;
    }
    
    //Image
    if(Element.Type == "Image")
    {
        return true;
    }
    
    //Password
    if(Element.Type == "Password")
    {
        return $get(Element.ID).value != "";
    }
    
    //Text
    if(Element.Type == "Text")
    {
        return $get(Element.ID).value != "";
    }
    
    //Number
    if(Element.Type == "Number")
    {
        return $get(Element.ID).value != "";
    }

    //Money
    if(Element.Type == "Money")
    {
        return $get(Element.ID).value != "";
    }
    
    //DateTime
    if(Element.Type == "DateTime")
    {
        return $get(Element.ID).value != "";
    }   
    
    //TextArea
    if(Element.Type == "TextArea")
    {
        return $get(Element.ID).value != "";
    }   
    
    //Select
    if(Element.Type == "Select")
    {
        return $get(Element.ID).value != "";
    }  
    
    //Custom
    if(Element.Type == "Custom")
    {
        return true;
    }
    
    //默认
    return true; 
};

//注册WorkerScript类
FormFactory.Worker = worker;


