
	//
	//											Основной скрипт администрирования модуля ДОСКА ФОРМ
	//

	//	Основные значения 
		
		var palette_fields_cnt = new Object;
		var palette_fields_names = new Object;
		
	//	Функции

		function Admin_Formboard_operation(listbar, list, menu, palette){
			var action = document.getElementById('boards_operations').value;
			var params = new Object;
			if(listbars[listbar][list]['count']>0){
				var orders = new Array;
				for(var i =1; i<=listbars[listbar][list]['count']; i++){
					if(document.getElementById(listbar + '_' + list + '_' + i).checked == true){
						orders.push(document.getElementById(listbar + '_' + list + '_' + i).value);
					}
				}
				params["pad"] = 'boards_pad';
				params["palette"] = palette;
				params['orders_ids'] = orders.join('_');
			}
			switch(action){
				case "delete":
					Admin_Query(Admin_ReadRequest, 'formboard', 'request_delete_orders', params);
				break;
			}
		}
		
		function Admin_Formboard_fieldOperation(palette){
			var type = document.getElementById('new_board_'+palette+'_field_type').value;
			var params = new Object;
				params['type'] = type;
				Admin_Formboard_addField(palette, params);			
			}		
		
		function Admin_Formboard_removeField(palette, id){
			var fld = document.getElementById(palette+'_field_'+id);
			if(fld != null && fld != undefined){
				fld.parentNode.removeChild(fld);
			}
		}
		
		function Admin_Formboard_addField(palette, params){
			var id = palette_fields_cnt[palette]+1;
			if(palette_fields_cnt[palette] == null || palette_fields_cnt[palette] == undefined){
				palette_fields_cnt[palette] = 0;
			}
			if(palette_fields_names[palette] == null || palette_fields_names[palette] == undefined){
				palette_fields_names[palette] = new Array;
			}
			if(params['name'] == null || params['name'] == undefined){
				params['name'] = palette+'_field_'+ id;
			}		
			if(params['type'] == null || params['type'] == undefined){
				params['type'] = 'string';
			}
			if(params['title'] == null || params['title'] == undefined){
				params['title'] = 'Новое поле';
			}
			if(params['default'] == null || params['default'] == undefined){
				params['default'] = '';
			}
			if(params['variables'] == null || params['variables'] == undefined){
				params['variables'] = '';
			}		
			params['variables']	= params['variables'].replace(/\[br\]/g, '\n');
			var node = document.createElement('DIV');
				node.id = palette+'_field_'+id;

				
			switch(params['type']){
				case 'string':
					var type = 'Строка';
					node.innerHTML = '<table cellpadding="0" style="background-color: #f5f5f5; margin-top: 1px;" cellspacing="0" width="700"><tr><td width="20%">'+
									 '<strong>Тип:</strong><br/> ' + type + '<input type="hidden" value="'+params['type']+'" id="'+params['name']+'_type' +'" name="'+params['name']+'_type' +'"></td><td width="40%">'+
									 '<strong>Имя:</strong><br/><input type="text" value="'+params['title']+'" id="'+params['name'] +'_name" name="'+params['name'] +'_name"/></td><td width="40%">'+
									 '<strong>Значение по умолчанию:</strong><br/><input type="text" value="'+params['default']+'" id="'+params['name'] +'_default" name="'+params['name'] +'_default"/></td><td>'+
									 '<br/><input type="button" value="Удалить" onclick="Admin_Formboard_removeField(\''+palette+'\', '+id+')" name="'+params['name'] +'_delete_btn"/></td></tr></table>';
				break;
				case 'text':
					var type = 'Текст';
					node.innerHTML = '<table cellpadding="0" style="background-color: #f5f5f5; margin-top: 1px;" cellspacing="0" width="700"><tr><td width="20%">'+
									 '<strong>Тип:</strong><br/> ' + type + '<input type="hidden" value="'+params['type']+'" id="'+params['name']+'_type' +'" name="'+params['name']+'_type' +'"></td><td width="40%">'+
									 '<strong>Имя:</strong><br/><input type="text" value="'+params['title']+'" id="'+params['name'] +'_name" name="'+params['name'] +'_name"/></td><td width="40%">'+
									 '<strong>Значение по умолчанию:</strong><br/><input type="text" value="'+params['default']+'" id="'+params['name'] +'_default" name="'+params['name'] +'_default"/></td><td>'+
									 '<br/><input type="button" value="Удалить" onclick="Admin_Formboard_removeField(\''+palette+'\', '+id+')" name="'+params['name'] +'_delete_btn"/></td></tr></table>';
				break;				
				case 'list':
					var type = 'Список';
					node.innerHTML = '<table cellpadding="0" style="background-color: #f5f5f5; margin-top: 1px;" cellspacing="0" width="700"><tr><td width="20%">'+
									 '<strong>Тип:</strong><br/> ' + type + '<input type="hidden" value="'+params['type']+'" id="'+params['name']+'_type' +'" name="'+params['name']+'_type' +'"></td><td width="40%">'+
									 '<strong>Имя:</strong><br/><input type="text" value="'+params['title']+'" id="'+params['name'] +'_name" name="'+params['name'] +'_name"/></td><td width="40%">'+
									 '<strong>Cписок значений:</strong><br/><textarea id="'+params['name'] +'_variables" name="'+params['name'] +'_variables">'+params['variables']+'</textarea><br/><strong>Значение по умолчанию:</strong><br/><input type="text" value="'+params['default']+'" id="'+params['name'] +'_default" name="'+params['name'] +'_default"/></td><td>'+
									 '<br/><input type="button" value="Удалить" onclick="Admin_Formboard_removeField(\''+palette+'\', '+id+')" name="'+params['name'] +'_delete_btn"/></td></tr></table>';
				break;
				case 'bool':
					var type = 'Поле для отметки';
					if(params['default'] == 'Y') {
						var Y_checked = 'checked';
						var N_checked = '';
					} else {
						var Y_checked = '';
						var N_checked = 'checked';
					}
					node.innerHTML = '<table cellpadding="0" style="background-color: #f5f5f5; margin-top: 1px;" cellspacing="0" width="700"><tr><td width="20%">'+
									 '<strong>Тип:</strong><br/> ' + type + '<input type="hidden" value="'+params['type']+'" id="'+params['name']+'_type' +'" name="'+params['name']+'_type' +'"></td><td width="40%">'+
									 '<strong>Имя:</strong><br/><input type="text" value="'+params['title']+'" id="'+params['name'] +'_name" name="'+params['name'] +'_name"/></td><td width="40%">'+
									 '<strong>Выбран по умолчанию:</strong><br/><input type="radio" value="Y" name="'+params['name'] +'_default" id="'+params['name'] +'_default_Y" '+Y_checked+'/>Да &nbsp;&nbsp; <input type="radio" value="N" id="'+params['name'] +'_default_N" name="'+params['name'] +'_default" '+N_checked+'/>Нет</td><td>'+
									 '<br/><input type="button" value="Удалить" onclick="Admin_Formboard_removeField(\''+palette+'\', '+id+')" name="'+params['name'] +'_delete_btn"/></td></tr></table>';
				break;
			}
			document.getElementById('form_'+palette+'_edit').appendChild(node);	
			palette_fields_names[palette].push(params['name']);
			palette_fields_cnt[palette]++;
		}

		function Admin_Formboard_saveFields(palette, node){
			var params = new Object;			
			params['palette'] = palette;
			params['form_node'] = node;
			params['pad'] = 'new_board_' + palette + '_field_pad';
			if(palette_fields_cnt[palette] != null && palette_fields_cnt[palette] != undefined){
				var items = new Array;
				for(var i in palette_fields_names[palette]){
					var item = new Array;
					if(document.getElementById(palette_fields_names[palette][i] + '_name') != null){
						var name = document.getElementById(palette_fields_names[palette][i] + '_name').value;
						var type = document.getElementById(palette_fields_names[palette][i] + '_type').value;
						if(type != 'bool'){
							var def = document.getElementById(palette_fields_names[palette][i] + '_default').value;
						} else {
							if(document.getElementById(palette_fields_names[palette][i] + '_default_Y').checked == true){
								var def = 'Y';
							} else {
								var def = 'N';
							}
						}
						if(type == 'list'){
							var variables = document.getElementById(palette_fields_names[palette][i] + '_variables').value;
						} else {
							var variables = '';
						}
						
						item.push(type);
						item.push(palette_fields_names[palette][i]);
						item.push(name);
						item.push(def);
						item.push(variables);
						items.push(item.join('_fff_'));												
					}
				}
				params['items'] = items.join('_iii_');
			}
			Admin_Query(Admin_ReadRequest, 'formboard', 'request_update_fields', params);
		}

		function Admin_Formboard_showOrdersList(palette){
			var params = new Object;
			params["pad"] = 'boards_pad';
			params["palette"] = palette;
		
			Admin_Query(Admin_ReadRequest, 'formboard', 'request_orders_list', params);
		}
		
		function Admin_Auth_showOrderDetails(palette, id){
			var params = new Object;
			params["pad"] = 'order_details_pad';
			params["id"] = id;
			params["palette"] = palette;
		
			Admin_Query(Admin_ReadRequest, 'formboard', 'request_order_details', params);
		}
		
		function Admin_Auth_updateOrderDetails(form_key, palette, id){
			editorsPreSave();	
			var check = Form_checkFields(form_key, order_details_form_fields);
			if(check == ''){
				var params = new Object;
				params["pad"] = 'order_details_pad';
				params["id"] = id;
				params["palette"] = palette;
				for(var key in order_details_form_fields){
					if(order_details_form_fields[key]['type']!='bool'){
						params[key] = document.getElementById(form_key + '_' + key).value;					
					} else {
						if(document.getElementById(form_key + '_' + key).checked == true){
							params[key] = 'Y';
						} else {
							params[key] = 'N';
						}
					}		
				}
				Admin_Query(Admin_ReadRequest, 'formboard', 'request_update_order', params);
			} else {
				alert(check);
			}
		}		