Sindbad~EG File Manager

Current Path : /home/escuelai/public_html/biblioteca.escuelaintegral.edu.uy/javascript/
Upload File :
Current File : /home/escuelai/public_html/biblioteca.escuelaintegral.edu.uy/javascript/pricing_systems.js

// +-------------------------------------------------+
// � 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
// +-------------------------------------------------+
// $Id: pricing_systems.js,v 1.29 2022/03/31 14:17:55 dgoron Exp $

/**
 * Affichage Oui/Non de la grille dans la liste
 */
function display_grid(id) {
	var whichEl = document.getElementById('pricing_system_grid_'+id);
	var whichIm = document.getElementById('pricing_system_img_'+id);
	if (whichEl.style.display=='none') {
		whichEl.style.display='';
		if (whichIm)whichIm.src = imgOpened.src;
	} else {
		whichEl.style.display='none';
		if (whichIm)whichIm.src = imgClosed.src;
	}	
}

/**
 * Ajout d'un intervalle dans la gestion du minutage
 */
function pricing_system_grid_add_interval(){

	var intervals_content = document.getElementById('intervals_content');
	var interval_max = document.getElementById('pricing_system_grid_interval_max');
	var indice = parseInt(interval_max.value);
	
	var div_row=document.createElement('div');
	div_row.className='row';
	div_row.setAttribute('id','pricing_system_grid_interval_'+indice);
	
	var previous_node_id = intervals_content.children[intervals_content.children.length-1].id;
	var previous_indice = previous_node_id.substring(previous_node_id.length-1);
	var time_start_value=parseInt(document.getElementById('pricing_system_grid_interval_time_end_'+previous_indice).value) +1;
		
	var div_row_1=document.createElement('div');
	div_row_1.className='colonne10';
	var time_start = document.createElement('input');
	time_start.setAttribute('name','pricing_system_grid_intervals['+indice+'][time_start]');
	time_start.setAttribute('id','pricing_system_grid_interval_time_start_'+indice);
	time_start.setAttribute('type','number');
	time_start.setAttribute('min','0');
	time_start.className='saisie-5em';
	time_start.setAttribute('value',time_start_value);
	div_row_1.appendChild(time_start);
	
	var div_row_2=document.createElement('div');
	div_row_2.className='colonne10';
	var time_end = document.createElement('input');
	time_end.setAttribute('name','pricing_system_grid_intervals['+indice+'][time_end]');
	time_end.setAttribute('id','pricing_system_grid_interval_time_end_'+indice);
	time_end.setAttribute('type','number');
	time_end.setAttribute('min','0');
	time_end.className='saisie-5em';
	time_end.setAttribute('value','');
	div_row_2.appendChild(time_end);	
	
	var div_row_3=document.createElement('div');
	div_row_3.className='colonne10';
	var price = document.createElement('input');
	price.setAttribute('name','pricing_system_grid_intervals['+indice+'][price]');
	price.setAttribute('id','pricing_system_grid_interval_price_'+indice);
	price.setAttribute('type','text');
	price.className='saisie-5em';
	price.setAttribute('value','');
	div_row_3.appendChild(price);	

	var div_row_4=document.createElement('div');
	div_row_4.className='colonne10';
	var delete_button = document.createElement('input');
	delete_button.setAttribute('type','button');
	delete_button.className='bouton';
	delete_button.setAttribute('value','X');
	delete_button.setAttribute('onclick','pricing_system_grid_delete_interval(\"pricing_system_grid_interval_'+indice+'\");');
	div_row_4.appendChild(delete_button);	

	div_row.appendChild(div_row_1);
	div_row.appendChild(div_row_2);
	div_row.appendChild(div_row_3);
	div_row.appendChild(div_row_4);

	intervals_content.appendChild(div_row);
	document.getElementById('pricing_system_grid_interval_time_end_'+indice).focus();
	interval_max.setAttribute('value', (indice+1));
}

/**
 * Suppression d'une ligne d'intervalle
 * @param interval_id
 */
function pricing_system_grid_delete_interval(interval_id){

	var interval_node = document.getElementById(interval_id);
	interval_node.parentNode.removeChild(interval_node);
}

function pricing_system_grid_add_percent(){
	var percents_content = document.getElementById('percents_content');
	var percent_max = document.getElementById('pricing_system_grid_percent_max');
	var indice = parseInt(percent_max.value);
	
	var div_row=document.createElement('div');
	div_row.className='row';
	div_row.setAttribute('id','pricing_system_grid_percent_column_'+indice);
	
	var div_row_1=document.createElement('div');
	div_row_1.className='colonne10';
	var percent = document.createElement('input');
	percent.setAttribute('name','pricing_system_grid_percents['+indice+']');
	percent.setAttribute('id','pricing_system_grid_percent_'+indice);
	percent.setAttribute('type','text');
	percent.className='saisie-5em';
	div_row_1.appendChild(percent);
	
	var div_row_2=document.createElement('div');
	div_row_2.className='colonne10';
	var delete_button = document.createElement('input');
	delete_button.setAttribute('type','button');
	delete_button.className='bouton';
	delete_button.setAttribute('value','X');
	delete_button.setAttribute('onclick','pricing_system_grid_delete_percent(\"pricing_system_grid_percent_column_'+indice+'\");');
	div_row_2.appendChild(delete_button);
	
	div_row.appendChild(div_row_1);
	div_row.appendChild(div_row_2);
	percents_content.appendChild(div_row);
	document.getElementById('pricing_system_grid_percent_'+indice).focus();
	percent_max.setAttribute('value', (indice+1));
}

function pricing_system_grid_delete_percent(percent_id){
	var percent_node = document.getElementById(percent_id);
	percent_node.parentNode.removeChild(percent_node);
}

/**
 * Demande de confirmation pour l'initialisation de la grille
 */
function pricing_system_grid_confirm_reset() {
	if(confirm(msg_pricing_system_grid_reset_confirm)) {
		document.location='./admin.php?categ=acquisition&sub=pricing_systems&id_entity=!!id_entity!!&action=grid_reset&id=!!id!!';
	}
}

function set_style_elements(form, elems, flag_error, msg_error) {
	for(var i = 0; i < elems.length; i++) {
		if(flag_error) {
			form.elements[elems[i]].setAttribute('style','border: 2px solid; border-color: red');
			form.elements[elems[i]].setAttribute('title',msg_error);
		} else {
			form.elements[elems[i]].setAttribute('style','');
			form.elements[elems[i]].setAttribute('title','');
		}
	}		
}

/**
 * V�rification des informations du formulaire
 * @param form
 * @returns {Boolean}
 */
function pricing_system_grid_check_form(form){
	var elems_with_intervals_errors = new Array();
	var elems_without_intervals_errors = new Array();
	var elems_with_values_errors = new Array();
	var elems_without_values_errors = new Array();
	var flag_error = false;
	var interval_max = document.getElementById('pricing_system_grid_interval_max').value;
	var time_start = 0;
	var time_end = 0;
	var price = '0.00';
	var previous_time_end = -1;
	for(var i = 0; i < interval_max; i++) {
		if(form.elements['pricing_system_grid_intervals['+i+'][time_start]'].value) {
			time_start = parseInt(form.elements['pricing_system_grid_intervals['+i+'][time_start]'].value);
			time_end = parseInt(form.elements['pricing_system_grid_intervals['+i+'][time_end]'].value);
			price = parseFloat(form.elements['pricing_system_grid_intervals['+i+'][price]'].value);
			if(!isNaN(time_start) && !isNaN(time_end) && !isNaN(price)) {
				elems_without_intervals_errors.push('pricing_system_grid_intervals['+i+'][time_end]');
				elems_without_intervals_errors.push('pricing_system_grid_intervals['+i+'][price]');
				if((previous_time_end+1) != time_start) {
					if(i == 0 && (time_start != 0)) {
						set_style_elements(form, ['pricing_system_grid_intervals['+i+'][time_start]'], true, msg_pricing_system_grid_error_first_interval);
						flag_error = true;
					} else {
						elems_with_intervals_errors.push('pricing_system_grid_intervals['+i+'][time_start]');
					}
				} else {
					elems_without_intervals_errors.push('pricing_system_grid_intervals['+i+'][time_start]');
				}
				previous_time_end = time_end;
			} else {
				if(isNaN(time_start)) {
					elems_with_values_errors.push('pricing_system_grid_intervals['+i+'][time_start]');
				} else {
					if(i == 0 && (time_start != 0)) {
						set_style_elements(form, ['pricing_system_grid_intervals['+i+'][time_start]'], true, msg_pricing_system_grid_error_first_interval);
						flag_error = true;
					} else {
						elems_without_values_errors.push('pricing_system_grid_intervals['+i+'][time_start]');
					}
				}
				if(isNaN(time_end)) {
					elems_with_values_errors.push('pricing_system_grid_intervals['+i+'][time_end]');
				} else {
					elems_without_values_errors.push('pricing_system_grid_intervals['+i+'][time_end]');
				}
				if(isNaN(price)) {
					elems_with_values_errors.push('pricing_system_grid_intervals['+i+'][price]');
				} else {
					elems_without_values_errors.push('pricing_system_grid_intervals['+i+'][price]');
				}
			}
		}
	}
	if(isNaN(parseInt(form.elements['pricing_system_grid_extra[0][time]'].value))) {
		elems_with_values_errors.push('pricing_system_grid_extra[0][time]');
	} else {
		elems_without_values_errors.push('pricing_system_grid_extra[0][time]');
	}
	if(isNaN(parseFloat(form.elements['pricing_system_grid_extra[0][price]'].value))) {
		elems_with_values_errors.push('pricing_system_grid_extra[0][price]');
	} else {
		elems_without_values_errors.push('pricing_system_grid_extra[0][price]');
	}
	if(isNaN(parseFloat(form.elements['pricing_system_grid_not_used[0][price]'].value))) {
		elems_with_values_errors.push('pricing_system_grid_not_used[0][price]');		
	} else {
		elems_without_values_errors.push('pricing_system_grid_not_used[0][price]');
	}
	var percent_max = document.getElementById('pricing_system_grid_percent_max').value;
	for(var i = 0; i < percent_max; i++) {
		if(form.elements['pricing_system_grid_percents['+i+']'].value) {
			if(isNaN(parseFloat(form.elements['pricing_system_grid_percents['+i+']'].value))) {
				elems_with_values_errors.push('pricing_system_grid_percents['+i+']');
			} else {
				elems_without_values_errors.push('pricing_system_grid_percents['+i+']');
			}
		}		
	}
	if(elems_without_intervals_errors.length) {
		set_style_elements(form, elems_without_intervals_errors, false);
	}
	if(elems_without_values_errors.length) {
		set_style_elements(form, elems_without_values_errors, false);
	}
	if(elems_with_intervals_errors.length) {
		set_style_elements(form, elems_with_intervals_errors, true, msg_pricing_system_grid_error_interval);
		flag_error = true;
	}
	if(elems_with_values_errors.length) {
		set_style_elements(form, elems_with_values_errors, true, msg_pricing_system_grid_error_value);
		flag_error = true;
	}
	if(flag_error) {
		if(msg_pricing_system_grid_error) alert(msg_pricing_system_grid_error);
		return false;
	} else {
		return true;
	}
}

function show_grid_in_account(id) {
	var url = './ajax.php?module=acquisition&categ=rent&sub=get_grid&id='+id;
	var req = new http_request();
	req.request(url,0,'');
	document.getElementById('frame_notice_preview').innerHTML=req.get_text();
}

function account_load_exercices(id_entity, objects_type) {
	var url = './ajax.php?module=acquisition&categ=rent&sub=get_exercices&objects_type='+objects_type+'&id_entity='+id_entity;
	var req = new http_request();
	req.request(url,0,'');
	if(document.getElementById('rent_requests_ui_exercice')) {
		var anchor = document.getElementById('rent_requests_ui_exercice');
	} else if(document.getElementById('rent_accounts_ui_exercice')) {
		var anchor = document.getElementById('rent_accounts_ui_exercice');
	} else {
		var anchor = document.getElementById('rent_invoices_ui_exercice');
	}
	var span = document.createElement("span");
	span.innerHTML = req.get_text();
	anchor.parentNode.replaceChild(span, anchor); 
}

function account_selected_grid(grid) {
	if(parseInt(grid.value)) {
		document.getElementById('account_percent').removeAttribute('disabled');
		document.getElementById('account_grid_see').setAttribute('style', '');
		account_update_price_from_time(document.getElementById('account_time').value);
	} else {
		document.getElementById('account_percent').setAttribute('disabled', 'disabled');
		document.getElementById('account_grid_see').setAttribute('style', 'display:none;');
	}
}

function invoices_delete_account(id, id_invoice) {
	var url = './ajax.php?module=acquisition&categ=rent&sub=invoices&id_invoice='+id_invoice+'&action=delete_account&id='+id;
	var req = new http_request();
	req.request(url, 0, '');
	if(req.get_text() == '1') {
		document.location = './acquisition.php?categ=rent&sub=invoices&action=edit&id='+id_invoice;
	}
}

function account_update_price_from_time(time) {
	var grid = document.getElementById('account_num_pricing_system');
	if(grid.value != 0) {
		var percent = document.getElementById('account_percent').value;
		var url = './ajax.php?module=acquisition&categ=rent&sub=get_grid&id='+grid.value+'&action=get_price&from=time&value='+time+'&with='+percent;
		var req = new http_request();
		req.request(url,0,'');
		document.getElementById('account_price').value=req.get_text();
		
		var percent = document.getElementById('account_web_percent').value;
		var url = './ajax.php?module=acquisition&categ=rent&sub=get_grid&id='+grid.value+'&action=get_price&from=time&value='+time+'&with='+percent;
		var req = new http_request();
		req.request(url,0,'');
		document.getElementById('account_web_price').value=req.get_text();
	}
}

function account_update_price_from_percent(percent) {
	var grid = document.getElementById('account_num_pricing_system');
	if(grid.value != 0) {
		var time = document.getElementById('account_time').value;
		var url = './ajax.php?module=acquisition&categ=rent&sub=get_grid&id='+grid.value+'&action=get_price&from=percent&value='+percent+'&with='+time;
		var req = new http_request();
		req.request(url,0,'');
		document.getElementById('account_price').value=req.get_text();
	}
}

function account_update_web_price_from_web_percent(percent) {
	var grid = document.getElementById('account_num_pricing_system');
	if(grid.value != 0) {
		var time = document.getElementById('account_time').value;
		var url = './ajax.php?module=acquisition&categ=rent&sub=get_grid&id='+grid.value+'&action=get_price&from=percent&value='+percent+'&with='+time;
		var req = new http_request();
		req.request(url,0,'');
		document.getElementById('account_web_price').value=req.get_text();
	}
}

function account_change_checkbox_web(checked) {
	if(checked) {
		document.getElementById('account_web_percent').removeAttribute('disabled');
		document.getElementById('account_web_price').removeAttribute('disabled');
	} else {
		document.getElementById('account_web_percent').setAttribute('disabled', 'disabled');
		document.getElementById('account_web_price').setAttribute('disabled', 'disabled');
	}
}

function account_set_uniform_title_fields(){
	var uniform_title_id=parseInt(document.getElementById('account_num_uniform_title').value);
	if(uniform_title_id) {
		var url = './ajax.php?module=acquisition&categ=rent&sub=get_uniform_title_fields&uniform_title_id='+uniform_title_id;
		var req = new http_request();
		req.request(url,0,'');
		uniform_title_fields=JSON.parse(req.get_text());
		
		for(var i = 0; i < uniform_title_fields.length; i++) {
			for(var j = 0; j < uniform_title_fields[i].fields.length; j++) {
				if(uniform_title_fields[i].fields[j].values[0] != undefined) {
					document.getElementById(uniform_title_fields[i].fields[j].name).value=uniform_title_fields[i].fields[j].values[0];
				} else {
					document.getElementById(uniform_title_fields[i].fields[j].name).value= '';
				}
			}
		}
	}
}

function account_maj_supplier_field() {
	var publisher_id = parseInt(document.getElementById('account_num_publisher').value);
	if(publisher_id) {
		var url = './ajax.php?module=acquisition&categ=rent&sub=get_supplier_from_publisher&publisher_id='+publisher_id;
		var req = new http_request();
		req.request(url,0,'');
		var response = JSON.parse(req.get_text());
		if(response.state) {
			document.getElementById('account_num_supplier').value = response.id_entite;
			document.getElementById('account_supplier').value = response.raison_sociale;
		}
	}
}


require(['dijit/registry', 'apps/pmb/PMBDialog'], function (registry, Dialog) {
	window.account_show_invoices_selector = function(id){
     	if(!registry.byId('account_show_invoices_selector_layer')){
        	var myDijit = new Dialog({title: msg_account_show_invoices_selector_title, executeScripts:true, id:'account_show_invoices_selector_layer', style:{width:'85%'}});
		}else{
			var myDijit = registry.byId('account_show_invoices_selector_layer');
		}
        var path = './ajax.php?module=acquisition&categ=rent&sub=show_invoices_selector&id='+id;      
        myDijit.attr('href', path);
     	myDijit.startup();
        myDijit.show();
	},	
	window.account_hide_invoices_selector = function(id){
		if(registry.byId('account_show_invoices_selector_layer')){
			var myDijit = registry.byId('account_show_invoices_selector_layer');
	        myDijit.hide();
			
		}
	}
 });

function account_add_account_in_invoice(account_id, invoice_id){
	var url = './ajax.php?module=acquisition&categ=rent&sub=add_account_in_invoice&id='+account_id+'&invoice_id='+invoice_id;
	var req = new http_request();
	req.request(url,0,'');
	result=JSON.parse(req.get_text());
	
	document.getElementById('icon_'+account_id).innerHTML=result.icon;
	account_hide_invoices_selector();
}

function account_form_hide_fields() {
	document.getElementById('el_account_request_types').setAttribute('style', 'display:none;');
	document.getElementById('el_account_receipt_limit_date').setAttribute('style', 'display:none;');
	document.getElementById('el_account_receipt_effective_date').setAttribute('style', 'display:none;');
	document.getElementById('el_account_return_date').setAttribute('style', 'display:none;');
}

function request_form_hide_fields() {
	document.getElementById('el_account_types').setAttribute('style', 'display:none;');
	document.getElementById("account_types").disabled = true;
	document.getElementById('el_account_pricing_system').setAttribute('style', 'display:none;');
	document.getElementById('el_account_minutage').setAttribute('style', 'display:none;');
	document.getElementById('el_account_web_minutage').setAttribute('style', 'display:none;');
}

function tu_account_mapper_callback(field,tu_id){
	if(typeof(formMapperCallback) != 'undefined'){
		var tu_id = document.getElementById('account_num_uniform_title').value;
		formMapperCallback(tu_id);
	}
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists