function str_replace(search,replace,subject,count){var i=0,j=0,temp='',repl='',sl=0,fl=0,f=[].concat(search),r=[].concat(replace),s=subject,ra=r instanceof Array,sa=s instanceof Array;s=[].concat(s);if(count){this.window[count]=0;}
for(i=0,sl=s.length;i<sl;i++){if(s[i]===''){continue;}
for(j=0,fl=f.length;j<fl;j++){temp=s[i]+'';repl=ra?(r[j]!==undefined?r[j]:''):r[0];s[i]=(temp).split(f[j]).join(repl);if(count&&s[i]!==temp){this.window[count]+=(temp.length-s[i].length)/f[j].length;}}}
return sa?s:s[0];}
function urlencode(str){var hash_map={},unicodeStr='',hexEscStr='';var ret=(str+'').toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace);};hash_map["'"]='%27';hash_map['(']='%28';hash_map[')']='%29';hash_map['*']='%2A';hash_map['~']='%7E';hash_map['!']='%21';hash_map['%20']='+';hash_map['\u00DC']='%DC';hash_map['\u00FC']='%FC';hash_map['\u00C4']='%D4';hash_map['\u00E4']='%E4';hash_map['\u00D6']='%D6';hash_map['\u00F6']='%F6';hash_map['\u00DF']='%DF';hash_map['\u20AC']='%80';hash_map['\u0081']='%81';hash_map['\u201A']='%82';hash_map['\u0192']='%83';hash_map['\u201E']='%84';hash_map['\u2026']='%85';hash_map['\u2020']='%86';hash_map['\u2021']='%87';hash_map['\u02C6']='%88';hash_map['\u2030']='%89';hash_map['\u0160']='%8A';hash_map['\u2039']='%8B';hash_map['\u0152']='%8C';hash_map['\u008D']='%8D';hash_map['\u017D']='%8E';hash_map['\u008F']='%8F';hash_map['\u0090']='%90';hash_map['\u2018']='%91';hash_map['\u2019']='%92';hash_map['\u201C']='%93';hash_map['\u201D']='%94';hash_map['\u2022']='%95';hash_map['\u2013']='%96';hash_map['\u2014']='%97';hash_map['\u02DC']='%98';hash_map['\u2122']='%99';hash_map['\u0161']='%9A';hash_map['\u203A']='%9B';hash_map['\u0153']='%9C';hash_map['\u009D']='%9D';hash_map['\u017E']='%9E';hash_map['\u0178']='%9F';ret=encodeURIComponent(ret);for(unicodeStr in hash_map){hexEscStr=hash_map[unicodeStr];ret=replacer(unicodeStr,hexEscStr,ret);}
return ret.replace(/(\%([a-z0-9]{2}))/g,function(full,m1,m2){return"%"+m2.toUpperCase();});}
function Validate(){this.isInteger=function(string){return(string.toString().search(/^-?[0-9]+$/)==0);}
this.isObject=function(data){return(data&&"object"==typeof data||this.isFunction(data));}
this.isFunction=function(o){return('function'==typeof o);}
this.isArray=function(o){return(this.isObject(o)&&o.constructor==Array);}
this.notEmpty=function(value){if(value==undefined||value=="undefined"||value.length<=0)
return false;else
return true;}
this.email=function(value){return this.custom('^[^0-9][a-zA-Z0-9_\.\-]+([.][a-zA-Z0-9_\-]+)*[@][a-zA-Z0-9_\-]+([.][a-zA-Z0-9_\-]+)*[.][a-zA-Z]{2,4}$',value);}
this.custom=function(reg,value){if(value.match(reg)){return true;}else
return false;}
this.date=function(value){return this.custom('^([0-9]{2}/[0-9]{2}/[0-9]{4})*$',value);}
this.confirm=function(obj){var confirm_id=obj.attr('confirm_id');var oldVal='';var vaild=true;$("[confirm_id="+confirm_id+"]").each(function(){if(!vaild)
return;if(oldVal=='')
oldVal=$(this).val();else{if(oldVal!=$(this).val()){vaild=false;}}});return vaild;}}
function getUrl(text){var URL=new String(window.location);URL=URL.substr(URL.indexOf('q='));URL=str_replace('/','~',URL);URL=urlencode(URL);if(text!=undefined){URL+=text}
return URL;}
function urlArrayToString(arr){if(arr==undefined||arr=='undefined'||arr=='')
return'';var validate=new Validate();if(validate.isArray(arr)){arr=arr.join('/');arr="?q="+arr;}
return arr;}
function redirect(to){window.location=urlArrayToString(to);return true;}
var additionalHtmlHolder=new Array();function viewTable(){this.BasicHtmlTable='<table width="100%" class="view_table" cellpadding="0" cellspacing="0">HTML_TABLE_DATA</table>';this.BasicHtmlLegeng='<tr><td colspan="2" class="table_hader">HTML_LAGEND_NAME</td></tr>';this.BasicHtmlDescription='<br/><span class="view_description">HTML_DESCRIPTION</span>';this.BasicHtmlRow='<tr><td valign="top" class="table_variable_name" width="200">HTML_NAME</td><td valign="top">HTML_VALUE HTML_DESCRIPTION</td></tr>';this.basicHtmlButton='<a href="%url%" class="submit"><span>%title%</span></a>';this.basicHtmlButtons='<tr><td colspan="2" class="table_buttons">HTML_BUTTONS</td></tr>';this.HtmlContainer='<div class="form_set"><div class="form_set_top">&nbsp;</div><div class="form_set_content">HTML_CONTENT</div><div class="form_set_bottom">&nbsp;</div></div>';this.validation=new Validate();this.make=function(obj,where,type){var html=this.Container(this.table(this.process(obj)));switch(type){case'append':$(where).append(html);break;case'prepend':$(where).prepend(html);break;default:$(where).html(html);break;}}
this.Container=function(htmlTable){return str_replace('HTML_CONTENT',htmlTable,this.HtmlContainer);}
this.check=function(value){if(value==undefined||value=='undefined'||value==null||value==''||!value)
return false;else
return true;}
this.table=function(innerHTMLCode){return str_replace('HTML_TABLE_DATA',innerHTMLCode,this.BasicHtmlTable);}
this.legend=function(legendName){return str_replace('HTML_LAGEND_NAME',legendName,this.BasicHtmlLegeng);}
this.description=function(value){if(!this.check(value))
return'';else
return str_replace('HTML_DESCRIPTION',value,this.BasicHtmlDescription);}
this.variableField=function(name,value,description){return str_replace(['HTML_NAME','HTML_VALUE','HTML_DESCRIPTION'],[name,value,description],this.BasicHtmlRow);}
this.field=function(name,value,description){return this.variableField(name,value,this.description(description));}
this.button=function(title,url,id,modelName){url=urlArrayToString(url);url=str_replace(['%id%','%model%','%url%'],[id,modelName,getUrl()],url);if(!this.check(url)||url==' ')
url='javascript:void(0)';return str_replace(['%url%','%title%'],[url,title],this.basicHtmlButton);}
this.buttons=function(buttonsJSONData,id,modelName){if(this.check(buttonsJSONData)){var html='';for(var key in buttonsJSONData){var button=buttonsJSONData[key];if(this.check(button)){html+=this.button(button.title,button.url,id,modelName);}}
return str_replace('HTML_BUTTONS',html,this.basicHtmlButtons);}
return'';}
this.process=function(obj,values,structure){var html='';if(!this.check(values))
values=obj.values;if(!this.check(structure))
structure=obj.structure;for(var key in values){if(this.validation.isInteger(key)){html+=this.process({structure:undefined,values:undefined},values[key],structure);}else{try{var dataType=false;for(var number in values[key]){if(this.validation.isInteger(values[key][number])){dataType=true;break;}}
if(dataType){html+=this.processOne(structure[key],values);}else{for(var numKey in values[key]){var obj2=new Object();obj2[key]=values[key][numKey];if(numKey!=0)
structure[key]['data']['legend']='';html+=this.processOne(structure[key],obj2);}}}catch(err){}}}
return html;}
this.processOne=function(structure,value,modelName,recursive){var html='';if(!this.check(recursive)&&!this.check(modelName))
modelName=structure.modelName;var loopIn=structure;if(!this.check(recursive))
loopIn=structure.data;for(var key in loopIn){var obj=structure.data[key];if(this.validation.isInteger(key)){html+=this.processOne(structure.data,value,modelName,true);}else{if(key=='buttons'){try{html+=this.buttons(obj,value[modelName]['id'],modelName);}catch(err){}
continue;}else if(key=='legend'){html+=this.legend(obj);continue;}
try{var thisValue=value[modelName][key];if(!this.check(thisValue))
thisValue='';html+=this.field(obj.label,thisValue,obj.description);}catch(err){}}}
return html}}
var gridHolder=new Array();function gridRetrival(url,index){$(".grid_bottons_set").attr("class","grid_bottons_set loading_div");if(gridHolder[index].cond!=undefined){url+="&cond="+gridHolder[index].cond;}
url+='&ajax=yes';$.getJSON(url,function(data,textStatus){gridHolder[index].inialize(data);});}
function goToPage(obj,index,url){gridRetrival(url+'/'+obj[obj.options.selectedIndex].value,index);}
function grid(){var chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var string_length=8;this.randomstring='';for(var i=0;i<string_length;i++){var rnum=Math.floor(Math.random()*chars.length);this.randomstring+=chars.substring(rnum,rnum+1);}
this.set='<div class="form_set_2"><div class="form_set_top_2">&nbsp;</div><div class="form_set_content_2">%html%</div><div class="form_set_bottom_2">&nbsp;</div></div>';this.table='<table class="grid" cellpadding="0" cellspacing="0" border="0" width="100%" >%html%</table>';this.row='<tr class="%class%">%html%</tr>';this.cell='<td class="%class%" title="%title%">%html%</td>';this.href='<a class="%class%" title="%title%" href="%url%">%html%</a>'
this.targetHref='<a class="%class%"  title="%title%" target="%target%" href="%url%">%html%</a>'
this.clickableHref='<a class="%class%" onclick="%onclick%"  href="javascript:void(0)">%html%</a>'
this.head='<h1 class="grid_header">%html%</h1>';this.validator=new Validate();this.url='';this.footer='<tr class="grid_bottom"><td colspan="%col_count%"><div class="grid_bottons_set">%html%</div></td></tr>';this.pageNumber=1;this.modelName='';this.sortType='down_sort';this.sortByFieldName='id';this.colCount=0;this.holderCount=0;this.last_id=undefined;this.first_id=undefined;this.whereto='';this.type='html';this.getUrl=function(arr){if(arr==undefined){arr=urlArrayToString(arr);}else{arr=urlArrayToString(this.url)+'/'+arr.join('/');}
return str_replace(['%model%','%sort_field%','%sort_type%','%old_url%'],[this.modelName,this.sortByFieldName,this.sortType,this.getOldUrl()],arr);}
this.titleUrl=function(field,type){if(type==undefined||type==null||type=='undefined'||type=='up_sort'){type='down_sort'}else{type='up_sort'}
return"gridRetrival('"+this.getUrl(['sort',field,type])+"',"+this.holderCount+")";}
this.aaaa=false;this.getOldUrl=function(){var URL=new String(window.location);URL=URL.substr(URL.indexOf('q='));var endPoint=URL.indexOf('&');var additionalUrlInfo='';if(URL.indexOf('/',endPoint+1)!=-1){additionalUrlInfo=URL.substr(endPoint+1,URL.indexOf('/',endPoint+1));}else{additionalUrlInfo=URL.substr(endPoint+1);}
if(endPoint!=-1)
URL=URL.substr(0,endPoint);if(!isNaN(parseInt(additionalUrlInfo))){additionalUrlInfo=parseInt(additionalUrlInfo);URL+='/'+additionalUrlInfo;}
URL+='/none/'+this.sortByFieldName+'/'+this.sortType+'/'+this.pageNumber+'&cond=';URL=str_replace('/','~',URL);URL=urlencode(URL);return URL+urlencode(this.cond);}
this.buttonUrl=function(id,field,url){return str_replace(['%model%','%id%','%field%'],[this.modelName,id,field],urlArrayToString(url));}
this.indexUrl=function(url,id,type){return str_replace(['%model%','%id%','%type%','%old_url%'],[this.modelName,id,type,this.getOldUrl()],urlArrayToString(url));}
this.footerUrl=function(type,page){return"gridRetrival('"+this.getUrl([type,'%sort_field%','%sort_type%',page])+"',"+this.holderCount+")";}
this.pagesUrl=function(){return'goToPage(this,'+this.holderCount+',\''+this.getUrl(['pages','%sort_field%','%sort_type%'])+'\')';}
this.createHeader=function(structure){html='';for(var field in structure){this.colCount++;var data=structure[field];if(field=='index_column'||field=='buttons'){html+=str_replace(['%class%','%html%'],['',data.label],this.cell);}else{value=str_replace(['%class%','%onclick%','%html%'],[data.sort_type,this.titleUrl(field,data.sort_type),data.label],this.clickableHref);html+=str_replace(['%class%','%html%'],['',value],this.cell);}}
return str_replace(['%class%','%html%'],['grid_header',html],this.row);}
this.createRow=function(structure,data,rowNumber){var html='';for(var field in structure){var structureData=structure[field];if(field=='index_column'){var upButton=str_replace(['%title%','%class%','%url%','%html%','%old_url%'],['','grid_up grid_tool',this.indexUrl(structureData.url,data.id,'up'),'',this.getOldUrl()],this.href);var downButton=str_replace(['%title%','%class%','%url%','%html%','%old_url%'],['','grid_down grid_tool',this.indexUrl(structureData.url,data.id,'down'),'',this.getOldUrl()],this.href);if(this.first_id==data.id){downButton='';}
if(this.last_id==data.id){upButton='';}
html+=str_replace(['%class%','%title%','%html%'],['keys','',(upButton+downButton)],this.cell);}else if(field=='buttons'){var btns='';for(var key in structureData){if(key=='label'){continue;}
var className=structureData[key].class_name;var hrefUrl=structureData[key].url;var compareField=structureData[key].compare_with;var compareValue=structureData[key].compare_value;var altClassName=structureData[key].alt_class_name;var altUrl=structureData[key].alt_url;if(compareField!=undefined&&compareValue!=undefined){if(data[compareField]!=compareValue){if(altClassName!=undefined)
className=altClassName;if(altUrl!=undefined)
hrefUrl=altUrl;}}
className='grid_'+className+' grid_tool';var btnTitle=structureData[key].title;if(structureData[key].target!=undefined)
btns+=str_replace(['%title%','%class%','%url%','%html%','%old_url%','%target%'],[btnTitle,className,this.buttonUrl(data.id,field,hrefUrl),'',this.getOldUrl(),structureData[key].target],this.targetHref);else
btns+=str_replace(['%title%','%class%','%url%','%html%','%old_url%'],[btnTitle,className,this.buttonUrl(data.id,field,hrefUrl),'',this.getOldUrl()],this.href);}
html+=str_replace(['%class%','%title%','%html%'],['keys','',btns],this.cell);}else{var value=data[field];if(value==undefined)
value='';var tmpValue=value;var allTags=/<\S[^>]*>/g;var allTags2=/[\>\<\'\"]+/g;value=value.replace(allTags," ").replace(allTags2," ");tmpValue=tmpValue.replace(allTags," ").replace(allTags2," ");if(value.length>20){value=value.substr(0,20)+' ...';}else if(value.length==0||value.length==undefined){value='-';}
html+=str_replace(['%class%','%title%','%html%'],['',tmpValue,value],this.cell);}}
var styleName='one';if(rowNumber%2==0)
styleName='two';return str_replace(['%class%','%html%'],[styleName,html],this.row);}
this.createFooter=function(page,count,limit,resultText){var from=(limit*page-limit);var to=from+limit;if(from==0)
from=1;if(to>count)
to=count;var pages=Math.ceil(count/limit);resultText='<p>'+str_replace(['%to%','%from%','%count%'],[to,from,count],resultText)+'</p>';var options='';for(var i=1;i<=pages;i++){if(i!=page)
options+='<option>'+i+'</option>';else
options+='<option selected>'+i+'</option>';}
var select='<select onchange="'+this.pagesUrl()+'">'+options+'</select>';var html='<a href="javascript:void(0)" onclick="'+this.footerUrl('first',page)+'" class="grid_first grid_tool"></a>';html+='<a href="javascript:void(0)" onclick="'+this.footerUrl('back',page)+'" class="grid_back grid_tool"></a>';html+=select;html+='<a href="javascript:void(0)" onclick="'+this.footerUrl('next',page)+'" class="grid_next grid_tool"></a>';html+='<a href="javascript:void(0)" onclick="'+this.footerUrl('last',page)+'" class="grid_last grid_tool"></a>';html+=resultText;return str_replace(['%html%','%col_count%'],[html,this.colCount],this.footer);}
this.process=function(obj){this.cond=urlencode(obj.cond);this.first_id=obj.frst_id;this.last_id=obj.last_id;this.modelName=obj.model_name;this.url=obj.url;this.sortType=obj.sortType;this.sortByFieldName=obj.sortField;this.pageNumber=obj.page;var html='';html+=this.createHeader(obj.structure);var counter=0;for(var key in obj.data){html+=this.createRow(obj.structure,obj.data[key],counter);counter++;}
html+=this.createFooter(obj.page,obj.count,obj.limit,obj.footer_text);html=str_replace(['%html%'],[html],this.table);html=str_replace(['%html%'],[obj.header],this.head)+html;return str_replace(['%html%'],[html],this.set);}
this.inialize=function(obj){var whereto=this.whereto;var type=this.type;switch(type){case'append':$(whereto).append('<div id="'+this.randomstring+'">'+this.process(obj)+"</div>");break;case'prepend':$(whereto).prepend('<div id="'+this.randomstring+'">'+this.process(obj)+"</div>");break;default:$(whereto).html('<div id="'+this.randomstring+'">'+this.process(obj)+"</div>");break;}
this.type='html';this.whereto='#'+this.randomstring;}
this.make=function(obj,whereto,type){gridHolder[gridHolder.length]=this;this.holderCount=gridHolder.length-1;this.whereto=whereto;this.type=type;this.inialize(obj);}}
var langDateArray={};function onDateChange(id){var obj=$(id);var errorId=obj.attr("error_id");var validId=obj.attr("valid_id");if(isInline(obj)){errorId=obj.parent().attr("error_id");validId=obj.parent().attr("valid_id");}
$("#"+errorId).hide();$("#"+validId).hide();}
function onDateShow(id){var obj=$(id);var errorId=obj.attr("error_id");var validId=obj.attr("valid_id");if(isInline(obj)){errorId=obj.parent().attr("error_id");validId=obj.parent().attr("valid_id");}
$("#"+errorId).hide();$("#"+validId).hide();}
var removingArray=new Array();function form(){var chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var string_length=8;var randomstring='';for(var i=0;i<string_length;i++){var rnum=Math.floor(Math.random()*chars.length);randomstring+=chars.substring(rnum,rnum+1);}
this.valudate=new Validate();this.prefix_id=randomstring+"_";this.counter=0;this.name="data[%model%][%name%]";this.ModelNameIndex=0;this.multiNameData="data[%model%][%index%][%name%]";this.model='';this.after_render=new Array();this.after_render['editor']=new Array();this.after_render['rtl_editor']=new Array();this.after_render['ltr_editor']=new Array();this.after_render['date']=new Array();this.lang="ar";this.multiName=false;this.lang_context={en:{date:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekMin:'#'},dateValidation:"Error please check the date you entered",add:"add",remove:'remove',confirm:"are you sure that you would like to delete this ?",loading:'loading',error01:'error in removing the file'},ar:{date:{days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["يناير","فبراير","مارس","نيسان","مايو","يونيو","يوليو","أغسطس","سبتمبر","اكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],weekMin:'#'},dateValidation:"الرجاء كتابة التاريخ على صيغة<br>شهر/يوم/سنة",add:"اضافة",remove:'حذف',confirm:"هل تريد متابعة عملية الحذق؟",loading:'جاري التحميل',error01:"حصل خطأ اثناء حذف الملف"}};this.afterRender=function(where){for(var key in this.after_render['editor']){var edtitorLang='ar';var edtitorDirection='rtl';if(this.lang=="en"){edtitorLang="en";edtitorDirection='ltr'}
CKEDITOR.replace(this.after_render['editor'][key],{language:edtitorLang,contentsLangDirection:edtitorDirection});}
for(var key2 in this.after_render['rtl_editor']){CKEDITOR.replace(this.after_render['rtl_editor'][key2],{language:'ar',contentsLangDirection:'rtl'});}
for(var key3 in this.after_render['ltr_editor']){CKEDITOR.replace(this.after_render['ltr_editor'][key3],{language:'en',contentsLangDirection:'ltr'});}
var align="right";if(this.lang=="ar")
align="left";var jsCode='';langDateArray=this.lang_context[this.lang]["date"];for(var key2 in this.after_render['date']){var id='#'+this.after_render['date'][key2];jsCode+='$("'+id+'").DatePicker({';jsCode+='format:"m/d/Y",';jsCode+='starts:5,';jsCode+='date:  $("'+id+'").val(),';jsCode+='current: $("'+id+'").val(),';jsCode+='locale: langDateArray,';jsCode+='position:"'+align+'",';jsCode+='onChange: function(formated, dates){';jsCode+='onDateChange("'+id+'");';jsCode+='$("'+id+'").val(formated);';jsCode+='return true;';jsCode+='},';jsCode+='onHide:function(formated, dates) {';jsCode+='afterValidate($("'+id+'"));';jsCode+='return true;';jsCode+='},';jsCode+='onShow:function(formated, dates) {';jsCode+='onDateShow("'+id+'");';jsCode+='return true;';jsCode+='}';jsCode+='});';}
$(where).append('<script type="text/javascript"> $(function() { '+jsCode+' }) </script>')
$(".textarea").keyup(modifyMassage).blur(modifyMassage);$(".textarea").each(modifyMassage);$(".component").hover(component_hover_in,component_hover_out);$(".text").focus(component_focus).blur(component_blur)
$(".file").focus(component_focus).blur(component_blur);$(".date").focus(component_focus).blur(component_blur)
$(".textarea").focus(component_focus).blur(component_blur)
$(".list").focus(component_focus).blur(component_blur);$(".combo").focus(component_focus).blur(component_blur);}
this.add=function(id,type){this.after_render[type].push(id);}
this.getName=function(name){var nameData=this.name;if(this.multiName){nameData=this.multiNameData;return str_replace(['%name%','%model%','%index%'],[name,this.model,this.ModelNameIndex],nameData);}
return str_replace(['%name%','%model%'],[name,this.model],nameData);}
this.create=function(obj,lang){if(lang!=undefined)
this.lang=lang;return this.container(this.startForm()
+this.process(obj)
+this.endForm());}
this.process=function(obj,inline){var html='';if(obj.multiModel!=undefined&&obj.multiModel!='undefined'&&obj.multiModel!=null&&obj.multiModel!=''){for(var key44 in obj){if(this.valudate.isInteger(key44)){html+=this.process(obj[key44]);}}
return html;}
var width=undefined;if(obj.modelName!=undefined)
this.model=obj.modelName;if(inline==undefined){inline=false;html+='<div class="parent_div">';}else{inline=true;var count=0;for(var key2 in obj)
if(!this.valudate.isInteger(key2)&&key2!='label'&&key2!='description'&&key2!='separator')
count++;width=400/count-5-5;}
var labels=new Array();for(var key in obj){var value=obj[key];if(value==undefined)
continue;if(value.label!=undefined&&value.label!="undefined"&&value.validation_type!=undefined&&value.validation_type!="undefined"&&value.type!='radio'&&value.type!='check'&&value.type!='cobo'&&value.type!='list'){try{if(value.label.indexOf("*</span>")==-1)
value.label+="<span class='red'> *</span>";}catch(e){}}
if(this.valudate.isInteger(key)){if(value=='separator'){html+=this.separator();}else if(value.type=='script'){eval(value.value);}else if(!this.valudate.isArray(value)&&!this.valudate.isObject(value)){html+=value;}else if(value.multiple==true||value.multiple==1){value.multiple=false;var index=additionalHtmlHolder.length;html+='<fieldset><legend>'+value.legend+'</legend>';html+='<div class="multy_data" id="'+this.id()+'">';var lastId=this.lastId();additionalHtmlHolder[index]={obj:value,formClass:this,lastId:lastId,modelName:obj.modelName};if(value.values!=undefined){for(var key32 in value.values){html+=addEntry(index,value.values[key32],true);}}
html+='</div>';html+=this.process({add:({type:"button",label:this.lang_context[this.lang]['add'],url:'javascript:addEntry('+index+')'})});html+='</fieldset>';}else if(value.legend==undefined){html+='<div id="'+this.id()+'" inline="inline" class="component">';html+=this.label(value.label);html+=this.process(value,true);html+=this.multiLangDescription(value.description);html+="</div>";html+="</div>";}else{html+='<fieldset><legend>'+value.legend+'</legend>';html+=this.process(value);html+='</fieldset>';}}else{var field=key;var type=value.type;var attributes_string='';if(value.attributes!=undefined&&value.attributes!='undefined'&&value.attributes!=''){for(var key2 in value.attributes)
attributes_string+=" "+key2+"=\'"+value.attributes[key2]+"\'";}
var name=this.getName(field);if(inline){labels.push(value.label);value.label=undefined;value.description=undefined;}else{if(type!=undefined&&type!="hidden"&&type!="submit"&&type!="html"&&type!="button"&&type!="file")
html+='<div id="'+this.id()+'" class="component">';}
switch(type){case"hidden":html+=this.hidden(name,value.value,attributes_string);break;case"text":html+=this.text(value.label,name,value.value,value.description,value.max,value.error_msg,value.validation_type,width,attributes_string);break;case"password":html+=this.password(value.label,name,value.value,value.description,value.max,value.error_msg,value.validation_type,width,attributes_string);break;case"date":html+=this.date(value.label,name,value.value,value.description,value.error_msg,value.validation_type,width,attributes_string);this.add(this.lastId(),"date");break;case"textarea":html+=this.textarea(value.label,name,value.value,value.description,value.max,value.error_msg,value.validation_type,value.height,attributes_string);break;case"editor":html+=this.editor(value.label,name,value.value,value.description,value.error_msg,value.validation_type,value.height,attributes_string);if(value.direction==undefined)
this.add(this.lastId(),"editor");else if(value.direction=='rtl')
this.add(this.lastId(),"rtl_editor");else
this.add(this.lastId(),"ltr_editor");break;case"file":value.error_msg=str_replace(['%size%','%types%'],[value.size,value.types],value.error_msg);value.description=str_replace(['%size%','%types%'],[value.size,value.types],value.description);if(!this.valudate.isArray(value.value)&&value.value!=undefined&&value.value!=null&&value.value!=''){var index2=removingArray.length;var object=new Object();object['label']=value.label;object['name']=name;object['value']=value.value;object['description']=value.description;object['error_msg']=value.error_msg;object['attributes_string']=attributes_string;object['classObj']=this;removingArray[index2]=object;html+=this.displayFile(value.label,value.value,value.display,value.model_id,value.upload_dir,value.remove_url,this.prefix_id,field,index2);}else{html+=this.file(value.label,name,value.value,value.description,value.error_msg,attributes_string);}
break;case"combo":html+=this.combo(value.label,name,value.data,value.value,value.description,value.error_msg,value.validation_type,width!=undefined?width+10:undefined,attributes_string)
break;case"list":html+=this.list(value.label,name,value.data,value.value,value.description,value.error_msg,value.validation_type,value.size,width,attributes_string)
break;case"radio":html+=this.radio(value.label,name,value.data,value.value,value.description,value.display,attributes_string);break;case"check":html+=this.check(value.label,name,value.data,value.value,value.description,value.display,attributes_string);break;case"submit":html+=this.submit(value.label,value.url,value.submit_type,value.beforeSubmit,attributes_string);break;case"button":html+=this.btn(value.label,value.url,attributes_string);break;case"html":html+=value.value;break;}
if(!inline){if(type!=undefined&&type!="hidden"&&type!="submit"&&type!="html"&&type!="button"&&type!="file")
html+="</div>";}}}
if(inline){var size=labels.length;labels.reverse();html+="<div style='width:450px;'>";for(var i=0;i<size;i++)
html+=this.maltiLabel(labels.pop(),width+10);}else{html+='</div>';}
return html;}
this.margin=function(){return this.br();}
this.displayFile=function(label,value,display,model_id,upload_dir,remove_url,form_id,fieldname,index){remove_url=urlArrayToString(remove_url);remove_url=str_replace(['%id%','%field%'],[model_id,fieldname],remove_url);var image='<a class="download" href="'+(PATH+upload_dir+value)+'" target="_blank"></a>';if(display!=undefined){image='<a class="uploaded_img" href="'+(PATH+upload_dir+value)+'" target="_blank"><img src="'+(PATH+upload_dir+display+value)+'" /></a>';}
return'<div class="remove_uploaded_file">'
+'<label class="label">'+label+'</label>'
+image
+'<a class="remove" href="javascript:void(0)" onclick="remove_submit(\''+remove_url+'\',\''+form_id+'\','+index+',this)"></a></div>';}
this.submit=function(label,url,submit_type,beforeSubmit,attributes_string){if(url!=undefined&&url!='undefined'&&url!="")
url=urlArrayToString(url);else
url='';if(beforeSubmit==undefined||beforeSubmit=='undefined'||beforeSubmit=="")
beforeSubmit='';if(submit_type==undefined||submit_type=='undefined'||submit_type=="")
submit_type='';return'<div style="height:34px;"><input type="submit" style="display:none"><a href="#submit" beforeSubmit="'+beforeSubmit+'" url="'+url+'" submit_type="'+submit_type+'" onClick="formSubmit(\''+this.prefix_id+'\',this)" class="submit" '+attributes_string+' ><span>'+label+'</span></a></div>';}
this.btn=function(label,url,attributes_string){if(url!=undefined&&url!='undefined'&&url!="")
url=urlArrayToString(url);else
url='';return'<div style="height:34px; "><a href="'+url+'" class="submit" '+attributes_string+' ><span>'+label+'</span></a></div>';}
this.separator=function(){return'<div class="separator"></div>';}
this.container=function(html){return'<div class="form_set"><div class="form_set_top">&nbsp;</div><div class="form_set_content">'
+html
+'</div><div class="form_set_bottom">&nbsp;</div></div>'}
this.startFieldset=function(head){if(head==undefined)
head='';return'<fieldset><legend>'+head+'</legend>';}
this.endFieldset=function(){return"</fieldset>";}
this.startForm=function(action,method,hasFiles){if(hasFiles==undefined||hasFiles)
hasFiles='enctype="multipart/form-data"';else
hasFiles='';if(method==undefined)
method="POST";if(action==undefined)
action="";var id=this.prefix_id;return str_replace(['%method%','%action%','%files%','%id%'],[method,action,hasFiles,id],'<form onSubmit="return formSubmit(\'%id%\',null);" method="%method%" action="%action%" id="%id%" %files% >');}
this.endForm=function(){return"</form>";}
this.hidden=function(name,value,attributes_string){if(name==undefined)return'';return str_replace(['%name%','%value%'],[name,value],'<input '+attributes_string+' type="hidden" name="%name%" value="%value%">');}
this.check=function(label,name,data,value,description,inline,attributes_string){var id=this.id();var html=this.label(label,id);var size=data.length-1;var counter=0;for(var radio in data){radio=data[radio];var selected=false;if(radio.value==1)
selected=true;html+=this.baseCheck(name,radio.value,radio.label,radio.name,(selected||radio.checked),attributes_string);if((inline==undefined||!inline)&&counter++!=size)
html+=this.br();}
return(html+this.description(description)+this.br());}
this.radio=function(label,name,data,value,description,inline,attributes_string){var id=this.id();var html=this.label(label,id);var size=data.length-1;var counter=0;if(value==undefined||value==null||value==''||value=="undefined"&&data[0]['value']!=undefined)
value=data[0]['value'];for(var radio in data){radio=data[radio];var checked=false;if(value==radio.value)
checked=true;html+=this.baseRadio(name,radio.value,radio.label,checked,attributes_string);if((inline==undefined||!inline)&&counter++!=size)
html+=this.br();}
return(html+this.description(description)+this.br());}
this.baseCheck=function(name2,value,label,name,checked,attributes_string){name=this.getName(name);if(checked!=undefined&&checked)
checked=' checked ';else
checked='';return str_replace(['%name%','%value%','%label%','%name%','%checked%'],[name,value,label,name,checked],'<label class="radio_check_label"><input type="hidden"  name="%name%" value="0"><input name="%name%" '+attributes_string+' type="checkbox" name="%name%" class="check" %checked%  value="1" />%label%</label>');}
this.baseRadio=function(name,value,label,checked,attributes_string){if(checked!=undefined&&checked)
checked=' checked ';else
checked='';return str_replace(['%name%','%value%','%label%','%checked%'],[name,value,label,checked],'<label class="radio_check_label"><input type="radio" '+attributes_string+' name="%name%" class="radio" %checked%  value="%value%" />%label%</label>');}
this.list=function(label,name,data,value,description,errorMsg,validate,size,width,attributes_string){var id=this.id();var html=this.label(label,id);html+=this.comboStart(id,name,width,errorMsg,validate,true,size,attributes_string);for(var option in data){if(!this.valudate.isArray(data[option])&&!this.valudate.isObject(data[option])){var selected=false;for(var val in value)
if(value[val]==option){selected=true;break;}
html+=this.option(data[option],option,selected);}else{option=(data[option]);var txt=option.text;var val=option.value;var selected=false;for(var key in value)
if(value[key]==val){selected=true;break;}
html+=this.option(txt,val,selected);}}
return html+=this.comboEnd()+this.description(description);}
this.combo=function(label,name,data,value,description,errorMsg,validate,width,attributes_string){var id=this.id();var html=this.label(label,id);html+=this.comboStart(id,name,width,errorMsg,validate,false,1,attributes_string);for(var option in data){if(!this.valudate.isArray(data[option])&&!this.valudate.isObject(data[option])){var cheked=false;if(option==value)
cheked=true;html+=this.option(data[option],option,cheked);}else{option=(data[option]);var cheked=false;var txt=option.text;var val=option.value;if(val==value)
cheked=true;html+=this.option(txt,val,cheked);}}
return html+=this.comboEnd()+this.description(description);}
this.textarea=function(label,name,value,description,max,errorMsg,validate,height,attributes_string){if(value==undefined)value="";var counter='<br /><span class="counter" id="%counter_id%"></span>';if(max==undefined){counter="";max="";}else
max='max="'+max+'"';if(height==undefined)height="";else{height='style="height:'+height+'px"';}
if(errorMsg!=undefined)errorMsg=' errormsg="'+errorMsg+'" ';else errorMsg="";if(validate!=undefined)validate=' validate="'+validate+'" ';else validate="";var dir='';if(name.indexOf('ar_')!=-1){dir='rtl';}
if(name.indexOf('en_')!=-1){dir='ltr';}
var id=this.id();var counter_id=this.id();return this.label(label,id)
+str_replace(['%id%','%name%','%max%','%counter_id%','%value%','%error_msg%','%validate%','%height%'],[id,name,max,counter_id,value,errorMsg,validate,height],'<textarea dir="'+dir+'" id="%id%" %height% '+attributes_string+'  name="%name%" class="textarea" %max% counter="#%counter_id%" rows="5" cols="20" %error_msg% %validate%>%value%</textarea>'+counter)
+this.description(description);}
this.editor=function(label,name,value,description,errorMsg,validate,height,attributes_string){if(value==undefined)value="";if(height==undefined)height="";else{height='style="height:'+height+'px"';}
if(errorMsg!=undefined)errorMsg=' errormsg="'+errorMsg+'" ';else errorMsg="";if(validate!=undefined)validate=' validate="'+validate+'" ';else validate="";var id=this.id();return this.label(label,id)
+str_replace(['%id%','%name%','%value%','%error_msg%','%validate%','%height%'],[id,name,value,errorMsg,validate,height],'<textarea id="%id%" %height%  name="%name%" class="textarea" '+attributes_string+' counter="#aaa" rows="5" cols="20" %error_msg% %validate%>%value%</textarea>')
+this.EditorDescription(description);}
this.date=function(label,name,value,description,errorMsg,validate,width,attributes_string){if(value==undefined)
value="";else{if(value!=''&&value!=' '&&value.indexOf('-')!=-1){valueArray=value.split('-');value=valueArray[1]+'/'+valueArray[2]+'/'+valueArray[0];}}
if(width!=undefined)
width=' style="width:'+width+'px" ';else
width="";errorMsg='errormsg="'+this.lang_context[this.lang]['dateValidation']+'"';var hidden_id=this.id();var id=this.id();return this.label(label,id)
+str_replace(['%id%','%name%','%value%','%error_msg%','%validate%','%width%','%hidden_id%'],[id,name,value,errorMsg,validate,width,hidden_id],'<input type="text" '+attributes_string+' class="date" id="%id%" %error_msg% %validate% %width% name="%name%" value="%value%" />')
+this.description(description);}
this.text=function(label,name,value,description,maxLength,errorMsg,validate,width,attributes_string){var id=this.id();return this.label(label,id)
+this.baseText(id,name,value,maxLength,width,errorMsg,validate,attributes_string)
+this.description(description);}
this.password=function(label,name,value,description,maxLength,errorMsg,validate,width,attributes_string){var id=this.id();return this.label(label,id)
+this.basePassword(id,name,value,maxLength,width,errorMsg,validate,attributes_string)
+this.description(description);}
this.lastId=function(){return this.prefix_id+this.counter;}
this.id=function(){this.counter++;return this.prefix_id+this.counter;}
this.label=function(value,foor){if(value==undefined)return"";if(foor!=undefined)
return str_replace(['%value%','%foor%'],[value,foor],'<label class="label" for="%foor%">%value%</label>');else
return str_replace('%value%',value,'<label class="label">%value%</label>');}
this.maltiLabel=function(value,width){if(value==undefined)return"";return str_replace(['%value%','%width%'],[value,width],'<span class="space" style="width:%width%px;">%value%</span>');}
this.br=function(){return"<br />";}
this.multiLangDescription=function(value){if(value==undefined)return'';return this.br()+str_replace('%value%',value,'<span class="space_tip">%value%</span>')+this.br();}
this.description=function(value){if(value==undefined)return'';return this.br()+str_replace('%value%',value,'<span class="tip">%value%</span>');}
this.EditorDescription=function(value){if(value==undefined)return'';return this.br()+str_replace('%value%',value,'<div class="tip">%value%</div>');}
this.file=function(label,name,value,description,errorMsg,attributes_string){var id=this.id();if(description=="undefined")
description="";return'<div id="'+this.id()+'" class="component">'
+this.label(label,id)
+this.baseFile(id,name,value,errorMsg,attributes_string)
+this.description(description)
+'</div>';}
this.baseFile=function(id,name,value,errorMsg,attributes_string){if(errorMsg!=undefined)errorMsg=' errormsg="'+errorMsg+'" ';else errorMsg="";return str_replace(['%id%','%name%','%errormsg%'],[id,name,errorMsg],'<input id="%id%" %errormsg% class="file" '+attributes_string+' type="file" name="%name%" >');}
this.comboStart=function(id,name,width,errorMsg,validate,list,size,attributes_string){if(name==undefined)return'';if(list!=undefined&&list)list=' multiple="multiple" ';else list="";if(size!=undefined)size=' size="'+size+'" ';else size="";if(width!=undefined)width=' style="width:'+width+'px;" ';else width="";if(errorMsg!=undefined)errorMsg=' errormsg="'+errorMsg+'" ';else errorMsg="";if(validate!=undefined)validate=' validate="'+validate+'" ';else validate="";return str_replace(['%id%','%name%','%width%','%errorMsg%','%validate%','%list%','%size%'],[id,name,width,errorMsg,validate,list,size],'<select id="%id%" name="%name%" '+attributes_string+' class="combo" %width% %errorMsg% %list% %size% %validate% >');}
this.comboEnd=function(){return'</select>';}
this.option=function(text,value,selected){if(value==undefined)
value=text;if(selected!=undefined&&selected)
selected=' selected="selected" ';else
selected='';return str_replace(['%text%','%value%','%selected%'],[text,value,selected],'<option %selected% value="%value%">%text%</option>');}
this.baseText=function(id,name,value,maxLength,width,errorMsg,validate,attributes_string){if(name==undefined)return'';if(maxLength!=undefined)maxLength=' maxlength="'+maxLength+'" ';else maxLength="";if(value!=undefined)value=' value="'+value+'" ';else value="";if(width!=undefined)width=' style="width:'+width+'px;" ';else width="";if(errorMsg!=undefined)errorMsg=' errormsg="'+errorMsg+'" ';else errorMsg="";if(validate!=undefined)validate=' validate="'+validate+'" ';else validate="";var dir='';if(name.indexOf('ar_')!=-1){dir='rtl';}
if(name.indexOf('en_')!=-1||name.indexOf('email')!=-1){dir='ltr';}
return str_replace(['%id%','%name%','%value%','%max%','%width%','%errorMsg%','%validate%'],[id,name,value,maxLength,width,errorMsg,validate],'<input dir="'+dir+'" id="%id%" type="text" class="text" '+attributes_string+'  name="%name%" %max% %value% %width% %errorMsg% %validate% />');}
this.basePassword=function(id,name,value,maxLength,width,errorMsg,validate,attributes_string){if(name==undefined)return'';if(maxLength!=undefined)maxLength=' maxlength="'+maxLength+'" ';else maxLength="";if(value!=undefined)value=' value="'+value+'" ';else value="";if(width!=undefined)width=' style="width:'+width+'px;" ';else width="";if(errorMsg!=undefined)errorMsg=' errormsg="'+errorMsg+'" ';else errorMsg="";if(validate!=undefined)validate=' validate="'+validate+'" ';else validate="";return str_replace(['%id%','%name%','%value%','%max%','%width%','%errorMsg%','%validate%'],[id,name,value,maxLength,width,errorMsg,validate],'<input id="%id%" dir="ltr" type="password" class="text" '+attributes_string+' name="%name%" %max% %value% %width% %errorMsg% %validate% />');}}
var valid=new Validate();var hoverInputField=new Array();var formers=new form();function modifyMassage(){var maax=$(this).attr("max");var length=$(this).val().length;if(length>maax){$(this).val($(this).val().substr(0,maax));$($(this).attr("counter")).html(maax+"/"+maax);}else
$($(this).attr("counter")).html(length+"/"+maax);$(this).attr({scrollTop:$(this).attr("scrollHeight")});}
function component_hover_in(){$(this).attr("class","component_hover");}
function component_hover_out(){if(!hoverInputField[$(this).attr("id")])
$(this).attr("class","component");}
function component_focus(){var parent=$(this).parent();hoverInputField[parent.attr("id")]=true;parent.attr("class","component_hover");}
function component_blur(){var parent=$(this).parent();hoverInputField[parent.attr("id")]=false;parent.attr("class","component");afterValidate($(this));}
function formSubmit(id,obj){var isValid=true;$("#"+id+" input, #"+id+" textarea ").each(function(){var objId=$(this).attr('id');if(objId==''||objId==null||objId==undefined||objId=="undefined")return;var validateText=$(this).attr('validate');if(validateText==undefined||validateText=='undefined'||validateText==null||validateText=='')
return;if(!afterValidate($(this))){isValid=false;}});if(isValid){if(obj==undefined||obj==null){obj=$('a[class=submit]');}
obj=$(obj);if(obj.attr('beforeSubmit')!=''&&obj.attr('beforeSubmit')!=undefined){var external=eval(obj.attr('beforeSubmit')+"(id,obj)");if(external==''||external==null||external==undefined||external=="undefined")
isValid=external;}
if(obj.attr('submit_type')=='ajax'){$.post(obj.attr('url'),$('#'+id).serialize(),function(data){});}else{$("#"+id+" textarea ").each(function(){try{$(this).val(document.getElementById("wysiwyg"+$(this).attr('id')).contentWindow.document.body.innerHTML);}catch(c){}});$("#"+id).attr('action',obj.attr('url'));$("#"+id).submit();}}
return isValid;}
function validate(obj){if(dropValidation(obj))return;var className=obj.attr("class");var type=obj.attr("validate");if(className=='date'){return valid.date(obj.val());}else if(type=="notEmpty")
return valid.notEmpty(obj.val());else if(type=="email")
return valid.email(obj.val());else if(type=='confirm')
return valid.confirm(obj);else
return valid.custom(type,obj.val());}
function isInline(obj){return obj.parent().attr("inline")!=undefined&&obj.parent().attr("inline")!="undefined";}
function createValidationIcons(obj){if(isInline(obj))
obj=obj.parent();if(obj.attr("error_id")==undefined&&obj.attr("valid_id")==undefined||isInline(obj)){var error_id=formers.id();var valid_id=formers.id();$("#container").append('<div class="error_icon" id="'+error_id+'"></div>');obj.attr("error_id",error_id);$("#container").append('<div class="valid_icon" id="'+valid_id+'"></div>');obj.attr("valid_id",valid_id);$("#"+valid_id+",#"+error_id).hide();}}
function afterValidate(obj,ignoreInline){if(dropValidation(obj))return;createValidationIcons(obj);var errorId=obj.attr("error_id");var validId=obj.attr("valid_id");var inline=false;if(isInline(obj)){errorId=obj.parent().attr("error_id");validId=obj.parent().attr("valid_id");if(ignoreInline!=true)
inline=true;}
if(!validate(obj)){$("#"+validId).hide();var error=$("#"+errorId);error.html(obj.attr("errormsg"));error.fadeIn();error.css({top:obj.offset().top-2});return false;}else{if(inline)
validateInline(obj.parent());else{$("#"+errorId).hide();var valid=$("#"+validId);valid.fadeIn();valid.css({top:obj.offset().top-2});}
return true;}}
function validateInline(obj){$(obj).each(function(){if($(this).attr("inline")!=undefined&&$(this).attr("inline")!="undefined"){var id=$(this).attr("id");var found=false;var lastObj=null;$("#"+id+" input, #"+id+" textarea ,"+" #"+id+" select ").each(function(){if(found)return;if(!validate($(this))){found=true;afterValidate($(this),true);}
lastObj=$(this);});if(!found){$("#"+obj.attr("error_id")).hide();var validId=obj.attr("valid_id");var valid=$("#"+validId);valid.fadeIn();valid.css({top:lastObj.offset().top-2});}}});}
function dropValidation(obj){var className=obj.attr("class");if((obj.attr("validate")==undefined||obj.attr("validate")=="undefined")&&(className!='date'))return true;return false;}
function remove_submit(to,form_id,index,obj){var classData=removingArray[index];fileForm=classData.classObj.file(classData.label,classData.name,classData.value,classData.description,classData.error_msg,classData.attributes_string);var parent=$(obj).parent();parent.html('<div class="loading">'+classData.classObj.lang_context[classData.classObj.lang]['loading']+'</div>');$.ajax({url:to,cache:false,success:function(html){if(html.indexOf('done')!=-1){parent.replaceWith(fileForm);}else{parent.replaceWith('<div class="error">'+classData.classObj.lang_context[classData.classObj.lang]['error01']+'</div>');}},error:function(){parent.replaceWith('<div class="error">'+classData.classObj.lang_context[classData.classObj.lang]['error01']+'</div>');}});}
function applyForm(obj,where,type){var former=new form();switch(type){case'append':$(where).append(former.create(obj,LANG));break;case'prepend':$(where).prepend(former.create(obj,LANG));break;default:$(where).html(former.create(obj,LANG));break;}
former.afterRender(where);}
function removeEntry(id,index){var formCLass=additionalHtmlHolder[index].formClass;if(confirm(formCLass.lang_context[formCLass.lang]['confirm'])){$("#"+id+" input, #"+id+" textarea ,"+" #"+id+" select ").each(function(){$('#'+$(this).attr("error_id")).hide();$('#'+$(this).attr("valid_id")).hide();});$("#"+id).empty();}}
var MainIndexOfAddEntry=undefined;function clone(obj){if(obj==null||typeof(obj)!='object')
return obj;var temp=new obj.constructor();for(var key in obj)
temp[key]=clone(obj[key]);return temp;}
function addEntry(index,value,returnHtml){var lastId=additionalHtmlHolder[index].lastId;var obj=clone(additionalHtmlHolder[index].obj);var formCLass=additionalHtmlHolder[index].formClass;var modelName=additionalHtmlHolder[index].modelName;try{if(value!=undefined){for(var ky in obj){if(obj[ky].type=="check"){for(var ky2 in obj[ky].data){var checkObj=obj[ky].data[ky2];var nameOfField=checkObj.name;if(value[nameOfField]==1){checkObj.checked=true;}else{checkObj.checked=false;}}}}
for(var field in value){obj[field]['value']=value[field];}}else{}}catch(err){}
var length=obj.length;if(length==undefined)
length=0;if(MainIndexOfAddEntry!=undefined)
length=MainIndexOfAddEntry;else
MainIndexOfAddEntry=length;var id=formCLass.id();obj['remove']=({type:"button",label:formCLass.lang_context[formCLass.lang]['remove'],url:'javascript:removeEntry(\''+id+'\','+index+')'});obj[length]='separator';formCLass.model=modelName;formCLass.multiName=true;var html='<div id="'+id+'">'+formCLass.process(obj)+'</div>';formCLass.multiName=false;formCLass.ModelNameIndex++;if(returnHtml){return html;}
$('#'+lastId).append(html);formCLass.afterRender();}
