
var form_is_opened=true;function hideFormSections(){try{for(var i=0;i<formSections.length;i++){var obj=getObject(formSections[i]);obj.style.height='0';obj.style.display='none';var tab=getObject(formTabs[i]);tab.className='';}}catch(error){}}
function showAllFormSections(){try{if(!form_is_opened){for(var i=0;i<formSections.length;i++){var obj=getObject(formSections[i]);obj.style.height='';obj.style.display='block';}
form_is_opened=true;}else{initFormSections();}}catch(error){}}
function showFormSection(sectionIndex){hideFormSections();try{var obj=getObject(formSections[sectionIndex]);obj.style.height='';obj.style.display='block';var tab=getObject(formTabs[sectionIndex]);tab.className='selected';form_is_opened=false;}catch(error){}}
function initFormSections(showAllTabs){if(showAllTabs===false){showFormSection(0);form_is_opened=false;}
return true;}
function slInitForm(showAllTabs){showAllTabs=showAllTabs!='undefined'?showAllTabs:true;initFormSections(showAllTabs);}
function setFormPhoto(objname){var img=getObject(objname+'img');var fname=getObject(objname);img.src='file:///'+fname.value;}
function viewFormPhoto(objname){var fname=getObject(objname);var imgpath='file:///'+fname.value;viewFullImg(imgpath);}
function viewFullImg(src){PicWin=window.open('','fullpicture','width=10,height=10,resizable=no,location=no,status=no,scrollbars=no');with(PicWin){document.open();document.write('<head><title>Plná velikost obrázku</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>');document.write('<html><body style="margin: 10px 0 0 0; padding: 0px; text-align:center;">');document.write('<a href="javascript: window.close();" title="Zavřít okno"><img src="'+src+'" alt="'+name+'" border="0" onLoad="window.resizeTo(this.width+20,this.height+60); window.innerWidth=this.width+6; window.innerHeight=this.height+40; return true;"/></a>');document.write('</body></html>');document.close();focus();};};function selectAllChoices(obj){var _count=obj.length;for(var i=0;i<_count;i++){obj.options[i].selected=true;}}
function adoptOption(selectObject,option,_document){if(!_document)_document=document;if(runningInGecko){selectObject.options[selectObject.length]=option;return true;}
if(selectObject.options.add){newoption=_document.createElement('OPTION');newoption.text=option.text;newoption.value=option.value;selectObject.options.add(newoption);option.parentElement.options[option.index]=null;return true;}
return false;}
function dualMultiselectAddOptions(objectname){var source=getObject('source'+objectname);var target=getObject(objectname);for(var i=source.length-1;i>=0;i--){if(source.options[i].selected){adoptOption(target,source.options[i]);}}}
function dualMultiselectRemoveOptions(objectname){source=getObject(objectname);target=getObject('source'+objectname);for(var i=source.length-1;i>=0;i--){if(source.options[i].selected){adoptOption(target,source.options[i]);}}}
function slFormFieldIsFilled(checked_form,field){var filled=false;var field_object=checked_form.elements[field]||checked_form.elements[field+'[]'];if(field_object&&field_object.item&&field_object.length){if(field_object.type&&(field_object.type=='select-one')){filled=(field_object.value!='');}else{for(var j=0;j<field_object.length;j++){if(field_object.item(j).checked){filled=true;}}}}else{filled=(field_object&&field_object.value!='');}
return filled;}
function slCheckForm(checkedForm){var errors='';with(checkedForm){for(var counter=0;counter<validated.length;counter++){var validated_element=slGetElementDetails(validated[counter]);if(eval('elements[validated['+counter+']]')){eval('var element_is_valid = '+validateFunctions[counter]+'(elements[validated['+counter+']].value);');}else{eval('var element_is_valid = '+validateFunctions[counter]+'();');}
if(element_is_valid){slRemoveValidatedErrorCssClass(validated_element)}else{var field_name=validateTitles[counter].replace(/<[^>]+>/g,'');errors=errors+sl.localization.messages.Field+" "+field_name+" "+sl.localization.messages.is_not_properly_filled+" !\n";slSetValidatedErrorCssClass(validated_element);}}
for(var counter=0;counter<required.length;counter++){var required_element=slGetElementDetails(required[counter]);if(slFormFieldIsFilled(checkedForm,required[counter])){slRemoveRequiredErrorCssClass(required_element)}else{var field_name=requiredTitles[counter].replace(/<[^>]+>/g,'');errors=errors+sl.localization.messages.Field_is_not_filled+": "+field_name+" !\n";slSetRequiredErrorCssClass(required_element)}}}
if(errors!=''){alert(sl.localization.messages.Following_errors_occured_while_submiting_form+":\n"+errors);form_is_opened=false;showAllFormSections()
return false;}else{return true;}}
function slSetRequiredErrorCssClass(element){setCssClass(element.title_id,element.title_css_class.replace('slFormRequiredValue','slFormRequiredErrorValue'));if(element.input_css_class.indexOf('slFormInputRequiredError')==-1){setCssClass(element.input_id,element.input_css_class+' slFormInputRequiredError');}}
function slRemoveRequiredErrorCssClass(element){setCssClass(element.title_id,element.title_css_class.replace('slFormRequiredErrorValue','slFormRequiredValue'));setCssClass(element.input_id,element.input_css_class.replace('slFormInputRequiredError',''));}
function slSetValidatedErrorCssClass(element){if(element.title_css_class.indexOf('slFormValueError')==-1){setCssClass(element.title_id,element.title_css_class+' slFormValueError');}
if(element.input_css_class.indexOf('slFormInputValueError')==-1){setCssClass(element.input_id,element.input_css_class+' slFormInputValueError');}}
function slRemoveValidatedErrorCssClass(element){setCssClass(element.title_id,element.title_css_class.replace('slFormValueError',''));setCssClass(element.input_id,element.input_css_class.replace('slFormInputValueError',''));}
function slGetElementDetails(element_name){var element=new Object();var title_id='sl_label_'+element_name.replace('[','_').replace(']','_').slice(0,-1);element.title_id=getObject(title_id);var input_id='sl_input_'+element_name.replace('[','_').replace(']','_').slice(0,-1);element.input_id=getObject(input_id);element.title_css_class=getCssClass(element.title_id);element.input_css_class=getCssClass(element.input_id);return element}
function slFormOnSubmit(submitedForm){var form_elements=submitedForm.elements;var elements_length=form_elements.length;for(var counter=0;counter<elements_length;counter++){if(form_elements[counter]&&form_elements[counter].type&&form_elements[counter].type=='select-multiple'&&sl.dom.hasClass(form_elements[counter],'slDualMultiSelect')&&sl.dom.hasClass(form_elements[counter],'slDualMultiSelectDontSendSource')==false){selectAllChoices(form_elements[counter]);}}
var user_function_result=true;for(var counter=0;counter<slOnSubmitFunctions.length;counter++){try{user_function_result=user_function_result&&eval(slOnSubmitFunctions[counter]+'(submitedForm);');if(user_function_result==undefined){user_function_result=true;}}catch(error){}}
return user_function_result&&slCheckForm(submitedForm);}
function slGetRequiredIndex(input_name){try{for(item_index in required){if(required[item_index]==input_name){return item_index;}}}catch(error){}
return null;}
function slSetRequired(input_name,input_title){if(slGetRequiredIndex(input_name)==null){required.push(input_name);requiredTitles.push(input_title);}}
function slSetNotRequired(input_name){var input_index=slGetRequiredIndex(input_name);if(input_index){required.splice(input_index,1);requiredTitles.splice(input_index,1);slRemoveRequiredErrorCssClass(slGetElementDetails(input_name));}}
function setDateInputState(objectName){myCheckBox=getObject(objectName+'_date_select_enable');myForm=myCheckBox.form
myForm.elements[objectName+'[year]'].disabled=!myCheckBox.checked;myForm.elements[objectName+'[month]'].disabled=!myCheckBox.checked;myForm.elements[objectName+'[day]'].disabled=!myCheckBox.checked;return true;}
function setTimeInputState(objectName){myCheckBox=getObject(objectName+'_date_select_enable');myForm=myCheckBox.form
myForm.elements[objectName+'[hour]'].disabled=!myCheckBox.checked;myForm.elements[objectName+'[minute]'].disabled=!myCheckBox.checked;return true;}
function setDateTimeInputState(objectName){setDateInputState(objectName);setTimeInputState(objectName);return true;}
function slGetDateInputValue(object_name){year_select=getObject('sl_input_'+object_name+'_year');month_select=getObject('sl_input_'+object_name+'_month');day_select=getObject('sl_input_'+object_name+'_day');return new Date(parseInt(year_select.value),parseInt(month_select.value)-1,parseInt(day_select.value));}
function loadPopUpMultiSelectItems(uri,element_id,width,height){var selectWin=open(escape(uri)+'?element_id='+escape(element_id),'Selektor','left=5,width='+width+',height='+height+',toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizeable=yes');};function multiSelectAddOption(elementName,optionValue,optionName){var myElement=window.opener.document.getElementById(elementName);var inS=false;for(var i=0;i<myElement.length;i++){if(myElement.options[i].value==optionValue)inS=true;}
if(!inS&&runningInGecko){myElement.options[myElement.length]=new Option(optionName,optionValue);}
if(!inS&&runningInMSIE){newoption=window.opener.document.createElement('OPTION');newoption.text=optionName;newoption.value=optionValue;myElement.options.add(newoption);}};function multiSelectRemoveOptions(objectName){var myElement=getObject(objectName);if(checkSelectedOptions(myElement)){for(var i=myElement.length-1;i>=0;i--){if(myElement.options[i].selected){myElement.options[i]=null;}}}};function loadPopUpMultiSelectEditItem(uri,elementname,edit,width,height){var selectWin=open(escape(uri)+'?element='+escape(elementname)+'&edit='+edit,'select','left=5,width='+width+',height='+height+',toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizeable=yes');};function checkSelectedOptions(myElement){var selected_count=0;for(var i=myElement.length-1;i>=0;i--){if(myElement.options[i].selected){selected_count++;}}
if(selected_count==0){alert(sl.localization.messages.To_use_this_button_please_select_item_in_list+'!');return false;}else{return selected_count;}}
function multiSelectEditOption(path,objectName){myElement=getObject(objectName);selected=checkSelectedOptions(objectName);if(selected==1){for(var i=myElement.length-1;i>=0;i--){if(myElement.options[i].selected){oldvalue=myElement.options[i].value;myElement.options[i]=null;loadPopUpMultiSelectEditItem(path,objectName,oldvalue,600,500);}}}else if(selected>1){alert(sl.localization.messages.Please_select_only_one_item);}};function slToggleCalendar(iframeid){var my_iframe=sl.dom.getElement(iframeid);var coordinates=slGetObjectOffset(my_iframe.parentNode);if(my_iframe.style.display=='block'){my_iframe.style.display='none';}else{my_iframe.style.display='block';var add_offset=runningInMSIE?my_iframe.parentNode.offsetWidth-15:my_iframe.parentNode.offsetWidth+2;my_iframe.style.left=coordinates.offsetLeft+add_offset+'px';my_iframe.style.top=coordinates.offsetTop+'px';try{var _document=my_iframe.contentWindow?my_iframe.contentWindow.document:my_iframe.contentDocument;sl.form.setDateValueToCalendar(iframeid.match(/(.+)(_iframe)$/)[1],_document);var table=sl.dom.getElementsByClass('slCalendarTable','table',_document)[0];my_iframe.style.width=table.scrollWidth+3+'px';my_iframe.style.height=table.scrollHeight+3+'px';}catch(e){}}}
function slSelectAllCheckboxes(button_object,element_name){var checkboxes=button_object.form.elements[element_name];if(checkboxes){if(checkboxes.length){for(i=0;i<checkboxes.length;i++){checkboxes[i].checked=!button_object.checked;}}else{checkboxes.checked=!button_object.checked;}
button_object.checked=!button_object.checked;}}
function slGeneratePasswd(requested_len){if(requested_len){var passwd_len=requested_len;}else{try{var passwd_len=sl.validator.PASSWORD_MIN_LENGTH;}catch(exception){var passwd_len=10;}}
var chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYZ0123456789-';var numbers='123456789';var number_position=Math.round(Math.random()*(passwd_len-1))
var result='';for(var i=0;i<passwd_len;i++){if(i==number_position){result+=numbers.charAt(Math.round(Math.random()*(numbers.length-1)));}else{result+=chars.charAt(Math.round(Math.random()*(chars.length-1)));}}
return result;}
