/********************************************************************************* ** The contents of this file are subject to the vtiger CRM Public License Version 1.0 * ("License"); You may not use this file except in compliance with the License * The Original Code is: vtiger CRM Open Source * The Initial Developer of the Original Code is vtiger. * Portions created by vtiger are Copyright (C) vtiger. * All Rights Reserved. * ********************************************************************************/ var globaldtlviewspanid = ""; var globaleditareaspanid = ""; var globaltxtboxid = ""; var itsonview=false; // to retain the old value if we cancel the ajax edit var globaltempvalue = ''; var globaluitype = ''; function showHide(showId, hideId) { show(showId); fnhide(hideId); } function hndCancel(valuespanid,textareapanid,fieldlabel) { showHide(valuespanid,textareapanid); if(globaluitype == '56') { if(globaltempvalue == 1) getObj(globaltxtboxid).checked = true; else getObj(globaltxtboxid).checked = false; } else if(globaluitype != '53' && globaluitype != '33') getObj(globaltxtboxid).value = globaltempvalue; globaltempvalue = ''; itsonview=false; return false; } function hndMouseOver(uitype,fieldLabel) { var mouseArea=""; mouseArea="mouseArea_"+ fieldLabel; if(itsonview) { return; } show("crmspanid"); globaluitype = uitype; globaldtlviewspanid= "dtlview_"+ fieldLabel;//valuespanid; globaleditareaspanid="editarea_"+ fieldLabel;//textareapanid; globalfieldlabel = fieldLabel; if(globaluitype == 53) { if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; if(assign_type_U == true) globaltxtboxid= 'txtbox_U'+fieldLabel; else if(assign_type_G == true) globaltxtboxid= 'txtbox_G'+fieldLabel; }else { globaltxtboxid= 'txtbox_U'+fieldLabel; } }else { globaltxtboxid="txtbox_"+ fieldLabel;//textboxpanid; } divObj = getObj('crmspanid'); crmy = findPosY(getObj(mouseArea)); crmx = findPosX(getObj(mouseArea)); if(document.all) { divObj.onclick=handleEdit; } else { divObj.setAttribute('onclick','handleEdit();'); } divObj.style.left=(crmx+getObj(mouseArea).offsetWidth -divObj.offsetWidth)+"px"; divObj.style.top=crmy+"px"; } function handleEdit() { show(globaleditareaspanid) ; fnhide(globaldtlviewspanid); if(globaluitype != 53) { globaltempvalue = getObj(globaltxtboxid).value; if(getObj(globaltxtboxid).type != 'hidden') getObj(globaltxtboxid).focus(); } fnhide('crmspanid'); itsonview=true; return false; } //Asha: Function changed to trim both leading and trailing spaces. function trim(str) { var s = str.replace(/\s+$/,''); s = s.replace(/^\s+/,''); return s; } var genUiType = ""; var genFldValue = ""; function dtlViewAjaxSave(fieldLabel,module,uitype,tableName,fieldName,crmId) { var dtlView = "dtlview_"+ fieldLabel; var editArea = "editarea_"+ fieldLabel; var groupurl = ""; if(globaluitype == 53) { if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; }else { var assign_type_U = document.DetailView.assigntype.checked; } if(assign_type_U == true) { var txtBox= 'txtbox_U'+fieldLabel; } else if(assign_type_G == true) { var txtBox= 'txtbox_G'+fieldLabel; var group_id = encodeURIComponent($(txtBox).options[$(txtBox).selectedIndex].text); var groupurl = "&assigned_group_id="+group_id+"&assigntype=T" } } else if(uitype == 15 || uitype == 16) { var txtBox= "txtbox_"+ fieldLabel; var not_access =document.getElementById(txtBox); pickval = not_access.options[not_access.selectedIndex].value; if(pickval == alert_arr.LBL_NOT_ACCESSIBLE) { document.getElementById(editArea).style.display='none'; document.getElementById(dtlView).style.display='block'; itsonview=false; //to show the edit link again after hiding the editdiv. return false; } } else if(globaluitype == 33) { var txtBox= "txtbox_"+ fieldLabel; var oMulSelect = $(txtBox); var r = new Array(); var notaccess_label = new Array(); for (iter=0;iter < oMulSelect.options.length ; iter++) { if (oMulSelect.options[iter].selected) { r[r.length] = oMulSelect.options[iter].value; notaccess_label[notaccess_label.length] = oMulSelect.options[iter].text; } } }else { var txtBox= "txtbox_"+ fieldLabel; } var popupTxt= "popuptxt_"+ fieldLabel; var hdTxt = "hdtxt_"+ fieldLabel; if(formValidate() == false) { return false; } $("vtbusy_info").style.display="inline"; var isAdmin = document.getElementById("hdtxt_IsAdmin").value; //overriden the tagValue based on UI Type for checkbox if(uitype == '56') { if(document.getElementById(txtBox).checked == true) { if(module == "Contacts") { var obj = getObj("email"); if((fieldName == "portal") && (obj == null || obj.value == '')) { tagValue = "0"; alert(alert_arr.PORTAL_PROVIDE_EMAILID); return false; } else tagValue = "1"; } else tagValue = "1"; }else { tagValue = "0"; } }else if(uitype == '156') { if(document.getElementById(txtBox).checked == true) { tagValue = "on"; }else { tagValue = "off"; } }else if(uitype == '33') { tagValue = r.join(" |##| "); }else if(uitype == '24' || uitype == '21') { tagValue = document.getElementById(txtBox).value.replace(//g, " "); }else { tagValue = trim(document.getElementById(txtBox).value); if(module == "Contacts") { if(getObj('portal')) { var port_obj = getObj('portal').checked; if(fieldName == "email" && tagValue == '' && port_obj == true) { alert(alert_arr.PORTAL_PROVIDE_EMAILID); return false; } } } } var data = "file=DetailViewAjax&module=" + module + "&action=" + module + "Ajax&record=" + crmId+"&recordid=" + crmId ; data = data + "&fldName=" + fieldName + "&fieldValue=" + escapeAll(tagValue) + "&ajxaction=DETAILVIEW"+groupurl; if(module == 'Users') { data += "&form_token=" + (document.getElementsByName('form_token')[0].value); } new Ajax.Request( 'index.php', {queue: {position: 'end', scope: 'command'}, method: 'post', postBody: data, onComplete: function(response) { if(response.responseText.indexOf(":#:FAILURE")>-1) { alert(alert_arr.ERROR_WHILE_EDITING); } else if(response.responseText.indexOf(":#:ERR")>-1) { alert_str = response.responseText.replace(":#:ERR",""); alert(alert_str); $("vtbusy_info").style.display="none"; } else if(response.responseText.indexOf(":#:SUCCESS")>-1) { //For HD & FAQ - comments, we should empty the field value if((module == "HelpDesk" || module == "Faq") && fieldName == "comments") { var comments = response.responseText.replace(":#:SUCCESS",""); if(getObj("comments_div") != null) getObj("comments_div").innerHTML = comments; if(getObj(dtlView) != null) getObj(dtlView).innerHTML = ""; if(getObj("comments") != null) getObj("comments").value = ""; } $("vtbusy_info").style.display="none"; } } } ); tagValue = get_converted_html(tagValue); if(uitype == '13' || uitype == '104') { var temp_fieldname = 'internal_mailer_'+fieldName; if($(temp_fieldname)) { var mail_chk_arr = $(temp_fieldname).innerHTML.split("####"); var fieldId = mail_chk_arr[0]; var internal_mailer_flag = mail_chk_arr[1]; if(internal_mailer_flag == 1) var email_link = ""+tagValue+" "; else var email_link = ""+tagValue+" "; } getObj(dtlView).innerHTML = email_link; if(fieldName == "email" || fieldName == "email1"){ var priEmail = getObj("pri_email"); if(priEmail) priEmail.value = tagValue; }else{ var secEmail = getObj("sec_email"); if(secEmail) secEmail.value = tagValue; } }else if(uitype == '11'){ if(typeof(use_asterisk) != 'undefined' && use_asterisk == true){ getObj(dtlView).innerHTML = ""+tagValue+""; }else{ getObj(dtlView).innerHTML = tagValue; } }else if(uitype == '17') { var matchPattern = /^[\w]+:\/\//; if(tagValue.match(matchPattern)){ getObj(dtlView).innerHTML = ""+tagValue+" "; }else{ getObj(dtlView).innerHTML = ""+tagValue+" "; } }else if(uitype == '85') { getObj(dtlView).innerHTML = ""+tagValue+" "; }else if(uitype == '53') { var hdObj = getObj(hdTxt); if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; }else { var assign_type_U = document.DetailView.assigntype.checked; } if(isAdmin == "0") { getObj(dtlView).innerHTML = hdObj.value; }else if(isAdmin == "1" && assign_type_U == true) { getObj(dtlView).innerHTML = ""+hdObj.value+" "; }else if(isAdmin == "1" && assign_type_G == true) { getObj(dtlView).innerHTML = ""+hdObj.value+" "; } } else if(uitype == '52' || uitype == '77') { if(isAdmin == "1") getObj(dtlView).innerHTML = ""+document.getElementById(txtBox).options[document.getElementById(txtBox).selectedIndex].text+" "; else getObj(dtlView).innerHTML = document.getElementById(txtBox).options[document.getElementById(txtBox).selectedIndex].text; } else if(uitype == '56') { if(tagValue == '1') { getObj(dtlView).innerHTML = alert_arr.YES; }else { getObj(dtlView).innerHTML = alert_arr.NO; } }else if(uitype == 116 || uitype == 117) { getObj(dtlView).innerHTML = document.getElementById(txtBox).options[document.getElementById(txtBox).selectedIndex].text; } else if(getObj(popupTxt)) { var popObj = getObj(popupTxt); if(uitype == '50' || uitype == '73' || uitype == '51') { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '57') { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '59') { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '75' || uitype == '81' ) { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '76') { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '78') { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '80') { getObj(dtlView).innerHTML = ""+popObj.value+" "; } else if(uitype == '53') { var hdObj = getObj(hdTxt); if(isAdmin == "0") { getObj(dtlView).innerHTML = hdObj.value; }else if(isAdmin == "1") { getObj(dtlView).innerHTML = ""+hdObj.value+" ";; } } else if(uitype == '56') { if(tagValue == '1') { getObj(dtlView).innerHTML = alert_arr.YES; }else { getObj(dtlView).innerHTML = ""; } } else { getObj(dtlView).innerHTML = popObj.value; } } else if(uitype == '15' || uitype == '16' || uitype == '31' || uitype == '32') { var notaccess =document.getElementById(txtBox); tagValue = notaccess.options[notaccess.selectedIndex].text; if(tagValue == alert_arr.LBL_NOT_ACCESSIBLE) getObj(dtlView).innerHTML = ""+get_converted_html(tagValue)+""; else getObj(dtlView).innerHTML = get_converted_html(tagValue); } else if(uitype == '33') { /* Wordwrap a long list of multi-select combo box items at the * item separator string */ var DETAILVIEW_WORDWRAP_WIDTH = "70"; // must match value in DetailViewUI.tpl. var lineLength = 0; for(var i=0; i < notaccess_label.length; i++) { lineLength += notaccess_label[i].length + 2; // + 2 for item separator string /*if(lineLength > DETAILVIEW_WORDWRAP_WIDTH && i > 0) { lineLength = notaccess_label[i].length + 2; // reset. notaccess_label[i] = '
 ' + notaccess_label[i]; // prepend newline. }*/ notaccess_label[i] = get_converted_html(notaccess_label[i]); // Prevent a browser splitting multiword items: //notaccess_label[i] = notaccess_label[i].replace(/ /g, ' '); notaccess_label[i] = notaccess_label[i].replace(alert_arr.LBL_NOT_ACCESSIBLE,""+alert_arr.LBL_NOT_ACCESSIBLE+""); // for Not accessible label. } /* Join items with item separator string (which must match string in DetailViewUI.tpl, * EditViewUtils.php and CRMEntity.php)!! */ getObj(dtlView).innerHTML = notaccess_label.join(", "); }else if(uitype == '19'){ var desc = tagValue.replace(/(^|[\n ])([\w]+?:\/\/.*?[^ \"\n\r\t<]*)/g, "$1$2"); desc = desc.replace(/(^|[\n ])((www|ftp)\.[\w\-]+\.[\w\-.\~]+(?:\/[^ \"\t\n\r<]*)?)/g, "$1$2"); desc = desc.replace(/(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)/i, "$1$2@$3"); desc = desc.replace(/,\"|\.\"|\)\"|\)\.\"|\.\)\"/, "\""); desc = desc.replace(/[\n\r]+/g, "
 "); getObj(dtlView).innerHTML = desc; } else { getObj(dtlView).innerHTML = tagValue.replace(/[\n\r]+/g, "
 "); } showHide(dtlView,editArea); //show,hide itsonview=false; } function SaveTag(tagfield,crmId,module) { var tagValue = $(tagfield).value; tagValue = encodeURIComponent(tagValue); $("vtbusy_info").style.display="inline"; new Ajax.Request( 'index.php', {queue: {position: 'end', scope: 'command'}, method: 'post', postBody: "file=TagCloud&module=" + module + "&action=" + module + "Ajax&recordid=" + crmId + "&ajxaction=SAVETAG&tagfields=" +tagValue, onComplete: function(response) { if(response.responseText.indexOf(":#:FAILURE") > -1) { alert(alert_arr.VALID_DATA) }else{ getObj('tagfields').innerHTML = response.responseText; $(tagfield).value = ''; } $("vtbusy_info").style.display="none"; } } ); } function setSelectValue(fieldLabel) { if(globaluitype == 53) { if(typeof(document.DetailView.assigntype[0]) != 'undefined') { var assign_type_U = document.DetailView.assigntype[0].checked; var assign_type_G = document.DetailView.assigntype[1].checked; if(assign_type_U == true) var selCombo= 'txtbox_U'+fieldLabel; else if(assign_type_G == true) var selCombo= 'txtbox_G'+fieldLabel; }else { var selCombo= 'txtbox_U'+fieldLabel; } }else { var selCombo= 'txtbox_'+fieldLabel; } var hdTxtBox = 'hdtxt_'+fieldLabel; var oHdTxtBox = document.getElementById(hdTxtBox); var oSelCombo = document.getElementById(selCombo); oHdTxtBox.value = oSelCombo.options[oSelCombo.selectedIndex].text; } //Added to ajax edit the folder name in Documents Module function hndMouseClick(fieldLabel) { var mouseArea=""; mouseArea="mouseArea_"+ fieldLabel; if(itsonview) { return; } globaldtlviewspanid= "dtlview_"+ fieldLabel;//valuespanid; globaleditareaspanid="editarea_"+ fieldLabel;//textareapanid; globalfieldlabel = fieldLabel; globaltxtboxid="txtbox_"+ fieldLabel;//textboxpanid; $(globaltxtboxid).value = $(globaldtlviewspanid).innerHTML; handleEdit(); $(globaltxtboxid).select(); }