/*+--------------------------------------------------------------------+|CivicCRM版本4.2|+--------------------------------------------------------------------+|版权所有CiviCRM LLC(c)2004-2012|+--------------------------------------------------------------------+|此文件是CiviCRM的一部分|| ||CiviCRM是自由软件;您可以复制、修改和分发它||根据GNU事务通用公共许可证的条款||2007年11月19日第3版和CiviCRM许可例外|| ||CiviCRM的发布是希望它会有用,但||无任何担保;甚至没有||适销性或特定用途的适用性||有关更多详细信息,请参阅GNU事务通用公共许可证|| ||你应该已经收到了GNU Affero General Public的副本||许可证和CiviCRM许可例外||使用此程序;如果没有,请联系CiviCRM LLC||请访问info[at]civicrm[DOT]org。如果您对||GNU Affero通用公共许可证或CiviCRM许可证||请参阅CivicCRM许可证常见问题解答,网址为http://civicrm.org/licensing网站 |+--------------------------------------------------------------------+*//****@package CRM*@版权所有CiviCRM LLC(c)2004-2012*美元Id$**//** *此功能可用于清除输入字段中的默认“提示文本”*当光标移动到字段中时。* *它通常由输入字段的onFocus事件调用。使用保留的*单词this传递这个对象。EX:onFocus=“clearFldVal(this);”* *@access公共*@param fld要清除其值的表单字段对象*@param hideBlocks要隐藏的元素Id数组*@return无*/函数clearFldVal(fld){if(fld.value==fld.defaultValue){fld.value=“”;}}/** *默认情况下,在模板文件的底部调用此函数,模板文件具有*有条件地显示/隐藏节和元素。PHP负责生成*“要显示的块”和“要隐藏的块”列表,模板将这些参数传递给*此函数。* *@access公共*@param showBlocks要显示的元素Id数组*@param hideBlocks要隐藏的元素Id数组*@param elementType为showBlocks设置显示样式的值(例如“block”或“table-row”或…)*@return无*/函数on_load_init_blocks(showBlocks、hideBlocks和elementType){ if(elementType==null){var elementType=“块”;}/*此循环用于显示其ID出现在showBlocks数组中的块*/for(var i=0;i<showBlocks.length;i++){var myElement=文档.getElementById(showBlocks[i]);/*如果文档中不存在元素id,getElementById将返回null*/if(myElement!=null){myElement.style.display=元素类型;}其他{alert('showBlocks数组项不在.tpl='+showBlock[i]中);}}/*此循环用于隐藏其ID位于hideBlocks数组中的块*/对于(var i=0;i<hideBlocks.length;i++){var myElement=document.getElementById(hideBlocks[i]);/*如果文档中不存在元素id,getElementById将返回null*/if(myElement!=null){myElement.style.display=“无”;}其他{alert('showBlocks数组项不在.tpl='+hideBlocks[i]中);}}}/** *当我们需要显示或隐藏相关的表单元素(target_element)时,将调用此函数*基于另一个表单字段(triggerfield)的值(trigger值)。* *@access公共*@param trigger_field_id其onchange是触发器的字段的HTML id*@param trigger_value整数列表-触发target_field的show-element操作的选项值*@param target_element_id要显示或隐藏的元素的HTML id*@param target_element_type要显示或隐藏的元素类型('block'或'table-row')*@param field_type元素类型radio/select*@param invert Boolean-如果为true,则在值匹配时隐藏目标;如果为false,则在值匹配时显示目标*@return无*/函数showHideByValue(触发器字段id、触发器值、目标元素id、目标元素类型、字段类型、反转){if(target_element_type==空){var target_element_type=“块”;}else if(target_element_type==“table-row”){var target_element_type=“”;}if(field_type==“选择”){var触发器=trigger_value.split(“|”);var selectedOptionValue=document.getElementById(trigger_field_id).options[document.getElementById(trigger _field_id).selectedIndex].value; var目标=target_element_id.split(“|”);对于(var j=0;j<目标长度;j++){if(反转){显示(目标[j],目标元素类型);}其他{隐藏(target[j],target_element_type);}对于(var i=0;i<触发器长度;i++){if(selectedOptionValue==触发器[i]){if(反转){隐藏(target[j],target_element_type);}其他{显示(目标[j],目标元素类型);} }}}}else if(field_type==“收音机”){var目标=target_element_id.split(“|”);对于(var j=0;j<目标长度;j++){if(document.getElementsByName(trigger_field_id)[0].checked){if(反转){隐藏(目标[j],目标元素类型);}其他{显示(目标[j],目标元素类型);}}其他{if(反转){显示(目标[j],目标元素类型);}其他{隐藏(目标[j],目标元素类型);}}}}}/** *此函数用于显示页面元素(例如块或表行或…)。* *此函数由各种链接调用,这些链接处理显示隐藏块的请求。*例如[+]另一部手机扩展额外电话块的链接。*参数block_id必须具有必须显示的块的id。** *@access公共*@param block_id要显示的块(或行)的id值。*@param elementType显示元素时设置显示样式的值(例如“block”或“table-row”或…)*@return无*/函数show(block_id,elementType){if(elementType==null){var elementType=“块”;}else if(elementType==“table-row”&&navigator.appName==“Microsoft Internet Explorer”){var elementType=“block”;}var myElement=文档.getElementById(块id);if(myElement!=null){myElement.style.display=元素类型;}其他{alert('请求show()函数失败。元素id未定义='+block_id);}}/** *此函数用于隐藏块。* *此函数由各种链接调用,这些链接处理隐藏可见块的请求。*例如[-]隐藏电话隐藏电话块的链接。*参数block_id必须具有必须隐藏的块的id。**@access公共*@param block_id要隐藏的块的id值。*@return无*/函数hide(block_id){var myElement=文档.getElementById(块id);if(myElement!=null){myElement.style.display=“无”;}其他{alert('请求隐藏()函数失败。元素id undefined='+block_id);}}/****用于在结果集页面中选中全部或取消选中全部复选框的函数。**@access公共*@param fldPrefix-通用字符串,位于唯一复选框ID之前,将字段标识为*属于结果集的复选框集合*@param action-'select'=将所有设置为选中;'取消选择'=全部设置为未选中*@param form-复选框所属窗体的名称*示例用法:onClick=“javascript:changeCheckboxValues('chk_','select',myForm);”**@返回*/函数切换CheckboxVals(fldPrefix,对象){if(object.id==“toggleSelect”&&cj(object).is(“:checked”)){cj('输入[id*=“'+fldPrefix+'”],输入[id=“toggleSelect”]').attr('checked',true);}其他{cj('输入[id*=“'+fldPrefix+'”],输入[id=“toggleSelect”]').attr('checked',false);}/*调用函数以更改选定行的颜色*/on_load_init_checkbox(object.form.name);}函数countSelectedCheckbox(fldPrefix,表单){fieldCount=0;对于(i=0;i<form.elements.length;i++){fpLen=fld前缀长度;if(form.elements[i].type==“checkbox”&&form.element[i].name.slice(0,fpLen)==fldPrefix&form.eelements[i].checked==true){fieldCount++;}}return字段计数;}/***用于启用任务操作选择的函数*/功能切换TaskAction(状态){var radio_ts=document.getElementsByName('radio_ts');if(!radio_ts[1]){radio_ts[0].checked=true;}if(radio_ts[0].checked|radio.ts[1].checked){状态=true;}var formElements=['task','Go','Print'];对于(var i=0;i,
你想要改变**@access公共*@return空*/函数changeRowColor(行ID,窗体){开关(document.getElementById(rowid).className){case“偶数行”:document.getElementById(rowid).className=“选定的偶数行”;断裂;case'odd-row':document.getElementById(rowid).className='selected odd-row';断裂;案例“selected even-row”:document.getElementById(rowid).className='even-row';断裂;case“selected oddrow”:document.getElementById(rowid).className='oddrow';断裂;案例“form-item”:document.getElementById(rowid).className=“selected”;断裂;案例“selected”:document.getElementById(rowid).className=“form-item”;}}/***此功能用于以不同颜色显示选中复选框的行*@param form-复选框所属窗体的名称**@access公共*@return空*/函数on_load_init_check(表单){对于(i=0;i<document.forms[form].elements.length;i++){if((document.forms[form].elements[i].type==“复选框”&&document.forms[form].elements[i].checked==true)||(document.forms[form].elements[i].type==“隐藏”&&document.forms[form].elements[i].value==1)){var ss=document.forms[form].elements[i].id;var行=“rowid”+ss;changeRowColor(行,表单);}}}/***重置具有给定名称的所有单选按钮**@param string fieldName*@param对象窗体*@return空*/函数unselectRadio(fieldName,form){对于(i=0;i<document.forms[form].elements.length;i++){if(document.forms[form].elements[i].name==fieldName){document.forms[form].elements[i].checked=false;}}回报;}/***用于更改按钮文本并禁用所单击的按钮文本的函数**@param obj对象-单击的按钮*@param formID string-正在提交的表单的id*@param string procText-用户单击按钮后的文本*@return空*/var提交计数=0;/*更改提交时的按钮标签,并为较新的浏览器禁用提交后的按钮。对较旧的浏览器发出警报*/函数submitOnce(obj,formId,procText){//如果单击命名按钮,则更改文本if(obj.value!=空){obj.value=程序文本+“…”;}if(document.getElementById){//禁用新浏览器的提交按钮obj.disabled=真;document.getElementById(formId).submit();返回true;}else{//用于旧浏览器if(提交数量==0){submitcount++;返回true;}其他{alert(“您的请求正在处理中……请稍候。”);返回false;}}}/***函数在单击向导导航链接时提交引用的表单。*在POST之前填充targetPage隐藏字段。**@param formID string-正在提交的表单的id*@param targetPage-向导节目标的标识符*@return空*/函数submitCurrentForm(formId,targetPage){警报(formId+''+targetPage);document.getElementById(formId).targetPage.value=目标页面;document.getElementById(formId).submit();}/***函数统计并控制文本区域的最大字数。**@param essay_id string-文章(文本区域)字段的id*@param wc-int-允许的字数*@return空*/函数countit(essayid,wc){var text_area=文档.getElementById(“邮件”+邮件id);var count_element=文档.getElementById(“word_count_”+邮件id);var计数=0;var text_area_value=文本_area.value;var正则表达式=/\n/g;var论文=text_area_value.replace(regex,“”);var words=论文.split('');对于(z=0;z0){计数++;}}count_element.value=计数;如果(计数>=wc){/*text_area.value=论文*/var dataString=“”;对于(z=0;z0) {dataString=dataString+单词[z]+“”;}}text_area.value=数据字符串;文本区域模糊();计数=wc;count_element.value=计数;alert(“您已达到”+wc+“字数限制。”);}}函数popUp(URL){day=新日期();id=day.getTime();eval(“page”+id+“=window.open(URL,“+id+”,“toolbar=0,scrollbars=1,location=0,status=0,menubar=0,resizable=0,width=640,height=420,left=202,top=184');”);}函数imagePopUp(路径){window.open(路径,'popupWindow','toolbar=no,位置=no,目录=no,状态=no,菜单栏=no,滚动条=no,可调整大小=yes,复制历史=no,屏幕X=150,屏幕Y=150,顶部=150,左侧=150');}/***用于显示/隐藏optionFields中的行的函数**@param element name index,其innerHTML将隐藏else,它将显示隐藏的行。*/函数showHideRow(索引){if(索引){cj('tr#optionField_'+索引).hide();if(cj('表#optionField tr:hidden:first').length)cj('div#optionFieldLink').show();}其他{cj('表#optionField tr:hidden:first').show();if(!cj('table#optionFieldtr:hidden:last').length)cj('div#optionFieldLink').hide();}返回false;}/***检查与活动日期相关的活动状态的功能**@param元素消息JSON对象。*/功能活动状态(消息){var d=新日期(),时间=[],i;var currentDateTime=d.获取时间()var activityTime=cj(“输入#activity_date_time_time”).val().replace(“:”,“”);//将时间分成2组(小时、分钟、安培)对于(i=0;i=活动日期时间){如果(!confirm(message.scheduled)){返回false;}} }/***使多选框在小屏幕中表现为字段的功能*/函数advmultiselectResize(){var amswidth=cj(“#crm-container form:has(table.advmultiselect)”).width();如果(amswidth<700){cj(“form table.advmultiselect td”).each(function()){cj(this).css(“显示”,“块”);});}其他{cj(“form table.advmultiselect td”).each(function()){cj(this).css('display','table-cell');});}var contactwidth=cj('#crm-container#mainTabContainer').width();if(触点宽度<600){cj('#crm-container#mainTabContainer').addClass('narrowpage');cj('#crm-container#mainTabContainer').addClass('narrowpage');cj('#crm-container#mainTabContainer.nowlpage#contactTopBar td').each(函数(索引){if(索引>1){if(索引%2==0){cj(this).parent().after(')');}var项目=cj(本);cj(this).parent().next().append(item);}});}其他{cj('#crm-container#mainTabContainer.shorrepage').removeClass('narrowpage');cj('#crm-container#mainTabContainer#contactTopBar tr.narrowadded td').each(function(){var nitem=cj(本);var parent=cj(this).parent();cj(this).parent().prev().append(nitem);if(parent.children().size()==0){parent.remove();}}); cj('#crm-container#mainTabContainer.nowlpage#contactTopBar tr.added').detach();}var cformwidth=cj('#crm容器#Contact.Contact_basic_information-section').width();如果(cformwidth<720){cj('#crm-container.contact_basic_information-section').addClass('narrowform');cj('#crm-container.contact_basic_information-section table.form-lyout-compressed td.helpicon').parent().addClass('hashelpicon');如果(cformwidth<480){cj('#crm-container.contact_basic_information-section').addClass('xnarrowform');}其他{cj('#crm-container.contact_basic_information-section.xnarrowform').removeClass('xnarrowsform');}}其他{cj('#crm-container.contact_basic_information-section.narlorform').removeClass('narrowform');cj('#crm-container.contact_basic_information-section.xnarrowform').removeClass('xnarrowsform');}}