/*----------------------------------------------------------------------------------| www.giz.de |----/ Deutsche Gesellschaft für International Zusammenarbeit (GIZ) Gmb /-------------------------------------------------------------------------------------------------------/ @version 3.3.7 @build 24th February, 2016 @created 15th June, 2012 @package Cost Benefit Projection @subpackage intervention.js @author Llewellyn van der Merwe @owner Deutsche Gesellschaft für International Zusammenarbeit (GIZ) Gmb @copyright Copyright (C) 2015. All Rights Reserved @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html /-------------------------------------------------------------------------------------------------------/ Cost Benefit Projection Tool. /------------------------------------------------------------------------------------------------------*/ // Some Global Values jform_PLEbHUmNyB_required = false; jform_PotrAOoulv_required = false; // Initial Script jQuery(document).ready(function() { var type_PLEbHUm = jQuery("#jform_type input[type='radio']:checked").val(); PLEbHUm(type_PLEbHUm); var type_LIidPRB = jQuery("#jform_type input[type='radio']:checked").val(); LIidPRB(type_LIidPRB); var company_PotrAOo = jQuery("#jform_company").val(); PotrAOo(company_PotrAOo); }); // the PLEbHUm function function PLEbHUm(type_PLEbHUm) { // set the function logic if (type_PLEbHUm == 2) { jQuery('#jform_interventions').closest('.control-group').show(); if (jform_PLEbHUmNyB_required) { updateFieldRequired('interventions',0); jQuery('#jform_interventions').prop('required','required'); jQuery('#jform_interventions').attr('aria-required',true); jQuery('#jform_interventions').addClass('required'); jform_PLEbHUmNyB_required = false; } } else { jQuery('#jform_interventions').closest('.control-group').hide(); if (!jform_PLEbHUmNyB_required) { updateFieldRequired('interventions',1); jQuery('#jform_interventions').removeAttr('required'); jQuery('#jform_interventions').removeAttr('aria-required'); jQuery('#jform_interventions').removeClass('required'); jform_PLEbHUmNyB_required = true; } } } // the LIidPRB function function LIidPRB(type_LIidPRB) { // set the function logic if (type_LIidPRB == 1) { jQuery('#jform_intervention').closest('.control-group').show(); } else { jQuery('#jform_intervention').closest('.control-group').hide(); } } // the PotrAOo function function PotrAOo(company_PotrAOo) { if (isSet(company_PotrAOo) && company_PotrAOo.constructor !== Array) { var temp_PotrAOo = company_PotrAOo; var company_PotrAOo = []; company_PotrAOo.push(temp_PotrAOo); } else if (!isSet(company_PotrAOo)) { var company_PotrAOo = []; } var company = company_PotrAOo.some(company_PotrAOo_SomeFunc); // set this function logic if (company) { jQuery('#jform_country').closest('.control-group').show(); if (jform_PotrAOoulv_required) { updateFieldRequired('country',0); jQuery('#jform_country').prop('required','required'); jQuery('#jform_country').attr('aria-required',true); jQuery('#jform_country').addClass('required'); jform_PotrAOoulv_required = false; } } else { jQuery('#jform_country').closest('.control-group').hide(); if (!jform_PotrAOoulv_required) { updateFieldRequired('country',1); jQuery('#jform_country').removeAttr('required'); jQuery('#jform_country').removeAttr('aria-required'); jQuery('#jform_country').removeClass('required'); jform_PotrAOoulv_required = true; } } } // the PotrAOo Some function function company_PotrAOo_SomeFunc(company_PotrAOo) { // set the function logic if (company_PotrAOo == 0) { return true; } return false; } // update required fields function updateFieldRequired(name,status) { var not_required = jQuery('#jform_not_required').val(); if(status == 1) { if (isSet(not_required) && not_required != 0) { not_required = not_required+','+name; } else { not_required = ','+name; } } else { if (isSet(not_required) && not_required != 0) { not_required = not_required.replace(','+name,''); } } jQuery('#jform_not_required').val(not_required); } // the isSet function function isSet(val) { if ((val != undefined) && (val != null) && 0 !== val.length){ return true; } return false; } jQuery(document).ready(function() { var inter_type = jQuery("#jform_type input[type='radio']:checked").val(); var interventions = jQuery('#jform_intervention').val(); if (1 == inter_type && interventions) { getBuildTable(interventions,'jform_intervention','nee'); } else if (2 == inter_type && interventions) { getBuildTable(interventions,'jform_interventions','ja'); } jQuery('.save-modal-data').text('Done'); }); function getClusterData(array,idName){ var cluster = JSON.stringify(array); getClusterData_server(cluster,idName).done(function(result) { if(result.table){ buildTable(result.table,idName); // ubdate the main set of values jQuery('#jform_intervention').val(result.values); } else { jQuery('#table_'+idName).remove(); jQuery('#jform_intervention').val(''); jQuery('.btn-wrapper').show(); jQuery('#inputYYYNote').remove(); } }) } function getClusterData_server(cluster,idName){ var getUrl = "index.php?option=com_costbenefitprojection&task=ajax.getClusterData&format=json"; if(token.length > 0 && cluster.length > 0 && idName.length > 0){ var request = 'token='+token+'&idName='+idName+'&cluster='+cluster; } return jQuery.ajax({ type: 'GET', url: getUrl, dataType: 'jsonp', data: request, jsonp: 'callback' }); } function getBuildTable_server(string,idName,cluster){ var getUrl = "index.php?option=com_costbenefitprojection&task=ajax.interventionBuildTable&format=json"; if(token.length > 0 && string.length > 0 && idName.length > 0){ var request = 'token='+token+'&idName='+idName+'&oject='+string+'&cluster='+cluster; } return jQuery.ajax({ type: 'GET', url: getUrl, dataType: 'jsonp', data: request, jsonp: 'callback' }); } function getBuildTable(intervention,idName,cluster){ if ('ne' == cluster) { var intervention = JSON.stringify(intervention); cluster = 'nee'; } getBuildTable_server(intervention,idName,cluster).done(function(result) { if(result){ buildTable(result,idName); } else { jQuery('#table_'+idName).remove(); } }) } function buildTable(result,idName){ jQuery('#table_'+idName).remove(); jQuery('#'+idName).closest('.control-group').append(result); // check if we have cross match values if (jQuery(".eRrOr").length > 0){ jQuery('.btn-wrapper').hide(); if (jQuery('#inputYYYNote').length <= 0){ jQuery('#system-message-container').append('

Values cross match between selected interventions please update all in red!

'); } } else { jQuery('.btn-wrapper').show(); jQuery('#inputYYYNote').remove(); } } function updateSelection(row) { var groupId = jQuery(row).find("select:first").attr("id"); var percentValue = jQuery(row).find(".text_area:first").val(); var arr = groupId.split('-'); if (arr[1] != 1) { var selection = {}; jQuery(row).find("select:first option").each(function() { // first get the values and text selection[jQuery(this).text()] = jQuery(this).val(); }); jQuery.each(causerisk, function(i, group){ jQuery(row).find("select:first option[value='"+group+"']").remove(); }); if (percentValue) { var text = jQuery(row).find(".chzn-single:first span").text(); jQuery(row).find("select:first").append(jQuery('