Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- локальный!!!! -->
- function send(this_form){
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'test_answer',
- data: msg,
- success: function(data) {
- //$('#result' + this_form.task_id.value).html(data);
- if (data == '+') {
- $('#' + this_form.task_id.value).removeClass('alert-warning');
- $('#' + this_form.task_id.value).removeClass('alert-danger');
- $('#' + this_form.task_id.value).addClass('alert-success');
- }
- else {
- $('#' + this_form.task_id.value).removeClass('alert-success');
- $('#' + this_form.task_id.value).removeClass('alert-warning');
- $('#' + this_form.task_id.value).addClass('alert-danger');
- }
- },
- error: function(xhr, str){
- alert('Ошибка связи с сервером. Невозможно проверить ответ: ' + xhr.responseCode);
- }
- });
- }
- function get_answer(this_form){
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'get_answer',
- data: msg,
- success: function (data) {
- $('#get_answer' + this_form.task_id.value).html(data);
- $('#' + this_form.task_id.value).removeClass('alert-success');
- $('#' + this_form.task_id.value).removeClass('alert-warning');
- $('#' + this_form.task_id.value).addClass('alert-danger');
- //$('#answer' + this_form.task_id.value).html(data);
- //$('#answer_button' + this_form.task_id.value).html(data);
- },
- error: function (xhr, str) {
- alert('Ошибка связи с сервером. Невозможно получить ответ: ' + xhr.responseCode);
- }
- });
- }
- function show_message_about_error(this_form) {
- $('#show_error_popup_task_id').val(this_form.task_id.value);
- var message = '';
- var mes1 = this_form.answer_text.value;
- if (mes1){
- message += "Мое решение:\n" + mes1 + '\n';
- }
- var mes2 = this_form.answer.value;
- if (mes2){
- message += "Мой ответ: " + mes2 + "\n";
- }
- message += "Выделенный текст:\n" + window.getSelection();
- $('#show_error_popup_message').val(message);
- $('#show_error_popup').modal('show');
- }
- function send_message_about_error(this_form) {
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'message_about_error',
- data: msg,
- success: function(data) {
- alert(data);
- },
- error: function(xhr, str){
- alert('Ошибка связи с сервером. ' + xhr.responseCode);
- }
- });
- }
- function show_help_me_form(this_form) {
- $('#help_me_task_id').val(this_form.task_id.value);
- var message = '';
- var mes1 = this_form.answer_text.value;
- if (mes1){
- message += "Мое решение:\n" + mes1 + '\n';
- }
- var mes2 = this_form.answer.value;
- if (mes2){
- message += "Мой ответ: " + mes2 + "\n";
- }
- message += "Выделенный текст:\n" + window.getSelection();
- $('#help_me_message').val(message);
- $('#help_me').modal('show');
- }
- function send_help_me(this_form){
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'help_me',
- data: msg,
- success: function(data) {
- alert(data);
- },
- error: function(xhr, str){
- alert('Ошибка связи с сервером. ' + xhr.responseCode);
- }
- });
- }
- function get_ticket_from_topic(this_form) {
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'get_ticket_from_topic',
- data: msg,
- success: function (data) {
- $('#ticket_select').html(data);
- },
- error: function (xhr, str) {
- <!--alert('Ошибка связи с сервером. Невозможно получить список типов: ' + xhr.responseCode);
- -->
- }
- });
- }
- function get_tasks_from_ticket(this_form){
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'get_tasks_from_ticket',
- data: msg,
- success: function(data) {
- $('#task_list').html(data);
- },
- error: function(xhr, str){
- <!--alert('Ошибка связи с сервером. Невозможно получить список типов: ' + xhr.responseCode);
- -->
- }
- });
- };
- function get_task_from_id(this_form){
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'get_task_from_id',
- data: msg,
- success: function(data) {
- $('#task').html(data);
- },
- error: function(xhr, str){
- <!--alert('Ошибка связи с сервером. ' + xhr.responseCode);
- -->
- }
- });
- };
- function get_kind_from_ticket(this_form){
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'get_kind_from_ticket',
- data: msg,
- success: function(data) {
- $('#kind_select').html(data);
- },
- error: function(xhr, str){
- <!--alert('Ошибка связи с сервером. Невозможно получить список типов: ' + xhr.responseCode);
- -->
- }
- });
- get_tasks_from_ticket(this_form);
- }
- function save_task_from_list(this_form){
- $('#result').html('Отправляю...');
- var msg = $(this_form).serialize();
- $.ajax({
- type: 'POST',
- url: 'new_task',
- data: msg,
- success: function(data) {
- if (this_form.task_id === undefined){
- id = ''}
- else{
- id = this_form.task_id.value
- }
- $('#result'+id).html(data);
- get_tasks_from_ticket(this_form);
- },
- error: function(xhr, str){
- $('#result').html('Невозможно отправить. Ошибка: ' + xhr.responseCode);
- <!--alert('Ошибка связи с сервером. Невозможно получить список типов: ' + xhr.responseCode);
- -->
- }
- });
- }
- function insert_text_cursor(area, _text){
- /* _obj_name - name объекта - как правило, textarea, но при желании можно сделать любой
- указываем именно NAME, так как согласно стандартам DOCTYPE HTML 4.01 strict и выше
- свойство ID у объектов ввода является не приемлемым и требуется обращаться только name
- _text - текст, который требуется вставить в том место, где сейчас находится курсор
- */
- // берем объект
- //var area=document.getElementsByName(_obj_name).item(0);
- // ЕСЛИ Mozilla и другие НОРМАЛЬНЫЕ браузеры, ТО
- if ((area.selectionStart)||(area.selectionStart=='0'))
- { // определяем, где начало выделения, если оно существует
- var p_start=area.selectionStart;
- // определяем, где заканчивается выделение, если оно существует
- var p_end=area.selectionEnd;
- // вставляем соответствующий текст в указанное место
- area.value=area.value.substring(0,p_start)+_text+area.value.substring(p_end,area.value.length);
- // дописал отсюда ---
- area.focus();
- var len = _text.length;
- area.setSelectionRange(p_end+len,p_end+len);
- }
- // Исправляем очередной геморрой с Internet Explorer
- // единственный НЕ человеческий браузер
- // ЕСЛИ объект может иметь выделения, ТО
- if (document.selection)
- { // передаем фокус ввода на нужный нам объект
- area.focus();
- // узнаем выделение, если оно существует
- sel=document.selection.createRange();
- // вставляет текст в указанное место
- sel.text=_text;
- }
- }// end function
- function paint(id){
- /*
- Должен быть создан canvas с id "draw"+id
- Элемент, с "task_html_"+id с текстом задачи (координаты концов: [3,6]
- Поле ввода "strA"+id со координатами отрезка А (два числа с любым разделителем)
- */
- var canvas=document.getElementById("draw"+id);
- var cont=canvas.getContext("2d");
- cont.clearRect(0, 0, canvas.width, canvas.height);
- var coords = new Array();
- var str = document.getElementById("task_html_"+id).innerHTML;
- var re = new RegExp("([A-Z])\\s*=\\s*\\[(\\d+)[,|.|;|\\s|]*(\\d+)\\]", "g");
- var res = Array();
- while ((res = re.exec(str)) != null) {
- coords.push([+res[2],+res[3],res[1]]);
- }
- var strA = document.getElementById("strA"+id).value;
- var reA = new RegExp("(\\d+)[,|.|;|\\s|]*(\\d+)");
- res = reA.exec(strA);
- coords.push([+res[1],+res[2],'A']);
- var y0 = 20;
- var x0 = 20;
- var my = 30;
- var min_x = coords[0][0];
- var max_x = coords[0][0];
- var n = coords.length;
- for (i = 0; i < n; i++) {
- for (j = 0; j <= 1; j++) {
- if (coords[i][j] < min_x) {
- min_x = coords[i][j];
- };
- if (coords[i][j] > max_x) {
- max_x = coords[i][j];
- };
- };
- };
- min_x -= 5;
- max_x += 5;
- var mx = (500-x0)/(max_x-min_x);
- x0 = x0 - min_x*mx;
- var colors = Array('rgb(16,155,252)','rgb(0,200,50)','orange','olive','black','yellow');
- for (i = 0; i < n; i++){
- cont.beginPath();
- cont.lineWidth = 7;
- cont.strokeStyle = colors[i];
- cont.moveTo(x0+coords[i][0]*mx,y0 + i*my);
- cont.lineTo(x0+coords[i][1]*mx,y0 + i*my);
- cont.stroke();
- cont.beginPath();
- cont.lineWidth = 1;
- cont.strokeStyle = colors[i];
- cont.moveTo(x0+coords[i][0]*mx,y0 + i*my-3);
- cont.lineTo(x0+coords[i][0]*mx,y0 + (n+1)*my);
- cont.stroke();
- cont.beginPath();
- cont.lineWidth = 1;
- cont.strokeStyle = colors[i];
- cont.moveTo(x0+coords[i][1]*mx,y0 + i*my-3);
- cont.lineTo(x0+coords[i][1]*mx,y0 + (n+1)*my);
- cont.stroke();
- cont.font = '14pt Georgia';
- cont.fillStyle = colors[i];
- cont.fillText(coords[i][2], 0,y0+(i+0.2)*my);
- cont.font = '8pt Tahoma';
- cont.fillText(coords[i][0], x0+coords[i][0]*mx-5,y0+(n+1.5)*my);
- cont.fillText(coords[i][1], x0+coords[i][1]*mx-5,y0+(n+1.5)*my);
- };
- cont.beginPath();
- cont.lineWidth = 1;
- cont.strokeStyle = 'black';
- cont.moveTo(0,y0 + (n+1)*my);
- cont.lineTo(500,y0 + (n+1)*my);
- cont.stroke();
- };
- function paint_eiler(id,n){
- /*
- Должен быть создан canvas с id "draw"+id
- Элемент, с "task_html_"+id с текстом задачи (координаты концов: [3,6]
- Поле ввода "strA"+id со координатами отрезка А (два числа с любым разделителем)
- */
- var canvas=document.getElementById("draw"+id);
- var cont=canvas.getContext("2d");
- cont.clearRect(0, 0, canvas.width, canvas.height);
- var colors = Array('','rgba(0,200,50,50)','orange','olive','black','yellow');
- cont.strokeStyle = "blue";
- cont.beginPath();
- var x1 = 100;
- var y1 = 65;
- var r1 = 60;
- if (n == 3){
- cont.arc(x1, y1, r1, 0, Math.PI*2, true);
- cont.closePath();
- cont.stroke();
- cont.strokeStyle = "orange";
- cont.beginPath();
- cont.arc(x1+r1, y1,r1, 0, Math.PI*2, true);
- cont.closePath();
- cont.stroke();
- cont.strokeStyle = "green";
- cont.beginPath();
- cont.arc(x1+r1/2, y1+r1,r1, 0, Math.PI*2, true);
- cont.closePath();
- cont.stroke();
- cont.fillStyle = "black";
- cont.fillColor = "black";
- cont.font = '14pt Tahoma';
- cont.fillText('1',x1-r1*0.5,y1-r1*0.25);
- cont.font = '14pt Tahoma';
- cont.fillText('2',x1+r1*1.42,y1-r1*0.25);
- cont.font = '14pt Tahoma';
- cont.fillText('3',x1+r1*0.42,y1+r1*1.7);
- cont.font = '14pt Tahoma';
- cont.fillText('4',x1-r1/8,y1+r1*0.8);
- cont.font = '14pt Tahoma';
- cont.fillText('5',x1+r1*0.42,y1-r1*0.25);
- cont.font = '14pt Tahoma';
- cont.fillText('6',x1+r1,y1+r1*0.8);
- cont.font = '14pt Tahoma';
- cont.fillText('7',x1+r1*0.42,y1+r1*0.5);
- };
- if (n == 1) {
- cont.arc(x1, y1, r1, 0, Math.PI * 2, true);
- cont.closePath();
- cont.stroke();
- cont.strokeStyle = "orange";
- cont.beginPath();
- cont.arc(x1 + r1, y1, r1, 0, Math.PI * 2, true);
- cont.closePath();
- cont.stroke();
- cont.font = '14pt Tahoma';
- cont.fillText('1', x1 - r1 * 0.5, y1);
- cont.font = '14pt Tahoma';
- cont.fillText('2', x1 + r1 * 1.5, y1);
- cont.font = '14pt Tahoma';
- cont.fillText('3', x1+r1/2, y1);
- };
- if (n == 2){
- cont.arc(x1, y1, r1, 0, Math.PI*2, true);
- cont.closePath();
- cont.stroke();
- cont.strokeStyle = "orange";
- cont.beginPath();
- cont.arc(x1+r1*1.25, y1,r1, 0, Math.PI*2, true);
- cont.closePath();
- cont.stroke();
- cont.strokeStyle = "green";
- cont.beginPath();
- cont.arc(x1+r1*2.5, y1,r1, 0, Math.PI*2, true);
- cont.closePath();
- cont.stroke();
- cont.font = '14pt Tahoma';
- cont.fillText('1',x1-r1*0.5,y1);
- cont.font = '14pt Tahoma';
- cont.fillText('2',x1+r1*1.2,y1);
- cont.font = '14pt Tahoma';
- cont.fillText('4',x1+r1/2,y1);
- cont.font = '14pt Tahoma';
- cont.fillText('5',x1+r1*1.8,y1);
- cont.font = '14pt Tahoma';
- cont.fillText('3',x1+r1*2.9,y1);
- };
- cont.stroke();
- };
- function clean_logic(str){
- // очистить формулу и заменить всякую фигню на нормальные знаки HTML
- // в дальнейшем добавить генерацию изображения, формулы и других форматах
- var op = ['∈','&#notin;','∧','∨','⇒','⇎','¬','∧','∨','⇒','⇔','⇎','¬','∧','∨','¬','∧','∨','∨','∧','⇒'];
- var txt_op = ['','','^','v','->','!=','-',' and ',' or ',' imp ',' eq ',' neq ',' not ','\\*','\\+','¬','','','\\\\/','\\/\\\\','→'];
- var i;
- console.log(str);
- for (i = 0; i < txt_op.length; i++){
- console.log(txt_op[i],op[i]);
- var re = new RegExp(txt_op[i],"g");
- str = str.replace(re,op[i]);
- }
- document.getElementById("output").value = str;
- };
- function draw_chart(data,id,kind,options) {
- //console.log('!!!');
- //google.setOnLoadCallback(drawChart);
- //alert(options);
- var datatable = google.visualization.arrayToDataTable(data);
- if (kind == "pie") {
- var chart = new google.visualization.PieChart(document.getElementById(id));
- }
- else if (kind == "column"){
- var chart = new google.visualization.ColumnChart(document.getElementById(id));
- }
- else if (kind == "line"){
- var chart = new google.visualization.LineChart(document.getElementById(id));
- }
- chart.draw(datatable,options);
- };
Advertisement
Add Comment
Please, Sign In to add comment