function bsFormToggleCheckbox(formName,fieldName){if(document.forms[formName].elements[fieldName].checked){document.forms[formName].elements[fieldName].checked=false;}else{document.forms[formName].elements[fieldName].checked=true;}}
function bsFormToggleContainer(containerName){if(document.getElementById){var elm=document.getElementById(containerName);if(typeof(elm)!='undefined'){elm.style.display=(elm.style.display=='none')?'block':'none';return;}}
if(document.all){if(document.all[containerName].style.display=="none"){document.all[containerName].style.display="block";}else{document.all[containerName].style.display="none";}}}
function bsFormCheckMail(url,fieldObj,checkType){var fieldName=fieldObj.name;var fieldID=fieldObj.id;var email=fieldObj.value;var iFrameObj=document.getElementById('bsMailCheck'+ fieldName);url+="?email="+ email+"&checkType="+ checkType;var zeit=new Date();url+="&random="+ zeit.getMilliseconds();iFrameObj.src=url;}
function bsFormJumpToFirstError(fieldName,formName,doSelect){if(document.forms[formName].elements[fieldName]){if(doSelect&&(document.forms[formName].elements[fieldName].value!='')){if(document.forms[formName].elements[fieldName].select){document.forms[formName].elements[fieldName].select();}}
if(document.forms[formName].elements[fieldName].focus){document.forms[formName].elements[fieldName].focus();}}}
function bsFormEnterSubmit(ev,myForm){var ev=('object'==typeof(window.event))?window.event:ev;if(ev&&ev.keyCode==13){myForm.submit();}
return true;}
function bsFormNoEnter(ev){var ev=('object'==typeof(window.event))?window.event:ev;if(ev)return(ev.keyCode!=13);return true;}
function bsFormEnterToTab(ev){ev=('object'==typeof(window.event))?window.event:ev;if(ev&&ev.keyCode==13)ev.keyCode=9;return true;}
function bsFormHandleEnter(ev,functionName){var ev=('object'==typeof(window.event))?window.event:ev;if(ev&&ev.keyCode==13){return eval(functionName+'();');}
return true;}
function bsFormFieldSetFocusAndSelect(field,force){if(typeof(field)=='string'){field=document.getElementById(field);}
if(!field)return false;try{if(force||!field.hasFocus){field.focus();field.select();}}catch(e){return false;}
return true;}
function bsFormDoHiddenSubmit(exitScreen,exitAction,nextScreen,nextAction,dataHash,submitToAction){var formOutArray=new Array();var ii=0;formOutArray[ii++]='<form name="smSubmitForm" action="'+ submitToAction+'" method="post">';formOutArray[ii++]='<input type="hidden" name="bs_todo[nextScreen]" value="'+ nextScreen+'">';formOutArray[ii++]='<input type="hidden" name="bs_todo[exitScreen]" value="'+ exitScreen+'">';switch(typeof(nextAction)){case'string':formOutArray[ii++]='<input type="hidden" name="bs_todo[nextAction]" value="'+ nextAction+'">';break;case'object':for(var key in nextAction){formOutArray[ii++]='<input type="hidden" name="bs_todo[nextAction]['+ key+']" value="'+ nextAction[key]+'">';}
default:}
switch(typeof(exitAction)){case'string':formOutArray[ii++]='<input type="hidden" name="bs_todo[exitAction]" value="'+ exitAction+'">';break;case'object':for(var key in exitAction){formOutArray[ii++]='<input type="hidden" name="bs_todo[exitAction]['+ key+']" value="'+ exitAction[key]+'">';}
default:}
dataHash=_recursiveObj2Hash(dataHash);for(var matrixStr in dataHash){if(typeof(dataHash[matrixStr])=='function')continue;var valStr=bs_filterForHtml(dataHash[matrixStr]+'');formOutArray[ii++]='<input type="hidden" name="'+"bs_todo[dataHash]"+ matrixStr+'" value="'+ valStr+'">';}
formOutArray[ii++]='</form>';var body=document.getElementsByTagName('body').item(0);body.innerHTML=formOutArray.join('');var form=document.smSubmitForm;form.submit();}
function _recursiveObj2Hash(aObject,matrixStr,flatObjHash){if(!flatObjHash){flatObjHash=new Object();matrixStr='';}
if(typeof(aObject)!='object'){flatObjHash[matrixStr]=aObject;}else{for(var key in aObject){var newMatrixStr=matrixStr+'['+key+']';_recursiveObj2Hash(aObject[key],newMatrixStr,flatObjHash);}}
return flatObjHash;}
