function doSubmit(formId){
    var _isValidForm=true;
    var _myinput=[];
    var _form=document.getElementById(formId);
    var _selects=_form.getElementsByTagName('SELECT');
    var _inputs=_form.getElementsByTagName('INPUT');
    var _texts=_form.getElementsByTagName('TEXTAREA');
    var _errmsg='';
    var _requiredNotFilled=0;
    for(var i=0;i<_inputs.length;i++){
        if(_inputs[i].getAttribute('requiredField') &&
            _inputs[i].value.length==0){
            _requiredNotFilled++;
            if(_errmsg.length>0) _errmsg+='\r\n';
            _errmsg+=_inputs[i].getAttribute('errmsg');
        }
    }
    for(var i=0;i<_selects.length;i++){
        if(_selects[i].getAttribute('requiredField') &&
            _selects[i].value=='-1'){
            _requiredNotFilled++;
            if(_errmsg.length>0) _errmsg+='\r\n';
            _errmsg+=_selects[i].getAttribute('errmsg');    
        }
    }
    for(var i=0;i<_texts.length;i++){
        if(_texts[i].getAttribute('requiredField') && 
            _texts[i].value.length==0){
            _requiredNotFilled++;
            if(_errmsg.length>0) _errmsg+='\r\n';
            _errmsg+=_texts[i].getAttribute('errorMsg');
        }
    }
    _isValidForm=_requiredNotFilled===0;
    if(!_isValidForm){
        alert(_errmsg);
        return false;
    }
    var _data='';
    _data+=('spformGuid='+_form.id);
    _data+=('&spformname='+_form.getAttribute('spformName'));
    _data+=('&spformReturnUrl='+_form.getAttribute('returnurl'));
    if(_form.getAttribute('email')) _data+=('&sp3emailnotify='+_form.getAttribute('email'));
    for(var i=0;i<_selects.length;i++){
        if(_data.length>0) _data+='&';
        _data+=(_selects[i].name+'='+getSelectValue(_selects[i]));
    }
    for (var j=0;j<_inputs.length;j++){
        var _type=_inputs[j].getAttribute('type').toLowerCase();
        if(_type=='text'){
            if(_data.length>0) _data+='&';
            _data+=(_inputs[j].name+'='+encodeURIComponent(_inputs[j].value));
        }
        if(_type=='checkbox' || _type=='radio'){
            var ret=getMyInput(_inputs[j].name,_form,_myinput);
            if(ret.length>0){
                if(_data.length>0) _data+='&';
                _data+=(_inputs[j].name+'='+ret);
            }
        }
    }
    for(var k=0;k<_texts.length;k++){
        if(_data.length>0) _data+='&';
        _data+=(_texts[k].name+'='+encodeURIComponent(_texts[k].value));
    }
    var _location=window.location.href.toLowerCase();
    var _checkList=['.aspx','.html','.htm'];
    var _index=-1;
    for(var i=0;i<_checkList.length;i++){
        _index=_location.lastIndexOf(_checkList[i]);
        if(_index>0) break;
    }
    var _url='';
    if(_index>0){
        _index=_location.lastIndexOf('/');
        _url=_location.substring(0,_index+1);
    }else{
        var _isEndWithSlash=false;
        _isEndWithSlash=_location.lastIndexOf('/')==_location.length-1;
        _url=_isEndWithSlash?_location:_location+'/';
    }
    _url+='form.ashx?';
    window.location.href=_url+_data;           
}
function getMyInput(name,form,checkList){    
    for(var i=0;i<checkList.length;i++){
        if(checkList[i]==name){
            return '';
        }
    }
    var ret='';
    var _inputs=getElementsByName(form,'input',name);
    //var _inputs=form.getElementsByName(name);
    for(var j=0;j<_inputs.length;j++){
        if(_inputs[j].checked){
            if(ret.length>0) ret+=';';
            ret+=encodeURIComponent(_inputs[j].value);
        }
    }
    checkList.push(name);
    return ret;
}
function getElementsByName(form,inputTag,name){
    var ret=[];
    var _inputs=form.getElementsByTagName(inputTag);
    for(var i=0;i<_inputs.length;i++){
        if(_inputs[i].getAttribute('name')==name)
            ret.push(_inputs[i]);
    }
    return ret;
}
function getSelectValue(select){
    var ret='';
    var options=select.options;
    for(var i=0;i<options.length;i++){
        if(options[i].selected){
            if(ret.length>0) ret+=';';
            ret+=encodeURIComponent(options[i].value);
        }

    }
    return ret;
}
