<?php
/* For licensing terms, see /license.txt */
/**
* Template (front controller in MVC pattern) used for distpaching to the controllers depend on the current action
* @author Christian Fasanando <christian1827@gmail.com>
* @author Julio Montoya <gugli100@gmail.com> Bugfixes session support
* @package chamilo.course_progress
*/
/**
 * Code
 */
// name of the language file that needs to be included
$language_file = array ('course_description', 'userInfo', 'admin');

// including files
require_once '../inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'thematic.lib.php';
require_once api_get_path(LIBRARY_PATH).'app_view.php';
require_once 'thematic_controller.php';

require_once api_get_path(LIBRARY_PATH).'export.lib.inc.php';

// current section
$this_section = SECTION_COURSES;

$current_course_tool  = TOOL_COURSE_PROGRESS;

// protect a course script
api_protect_course_script(true);

// defining constants
define('ADD_THEMATIC_PLAN', 6);

// get actions
$actions = array('thematic_details', 'thematic_list', 'thematic_add', 'thematic_edit', 'thematic_copy', 'thematic_delete', 'moveup', 'movedown',
                'thematic_import_select', 'thematic_import', 'thematic_export', 'thematic_export_pdf',
				 'thematic_plan_list', 'thematic_plan_add', 'thematic_plan_edit', 'thematic_plan_delete',
				 'thematic_advance_list', 'thematic_advance_add', 'thematic_advance_edit', 'thematic_advance_delete');

$action  = 'thematic_details';
if (isset($_GET['action']) && in_array($_GET['action'],$actions)) {
	$action = $_GET['action'];
}

if (isset($_POST['action']) && $_POST['action'] == 'thematic_delete_select') {
	$action = 'thematic_delete_select';
}

if (isset($_GET['isStudentView']) && $_GET['isStudentView'] == 'true') {
	$action = 'thematic_details';
}

if ($action == 'thematic_details' || $action == 'thematic_list') {
	$_SESSION['thematic_control'] = $action;
}

// get thematic id
if (isset($_GET['thematic_id'])) {
	$thematic_id = intval($_GET['thematic_id']);
}

// get thematic plan description type
if (isset($_GET['description_type'])) {
	$description_type = intval($_GET['description_type']);
}

// instance thematic object for using like library here
$thematic = new Thematic();

// thematic controller object
$thematic_controller = new ThematicController();

if (!empty($thematic_id)) {
	// thematic data by id
	$thematic_data = $thematic->get_thematic_list($thematic_id);
}

// get default thematic plan title
$default_thematic_plan_title = $thematic->get_default_thematic_plan_title();

// Only when I see the 3 columns. Avoids double or triple click binding for onclick event 
 
$htmlHeadXtra[] = '<script type="text/javascript">
	
$(document).ready(function() {

	//Second col	
     /*
    $("#thematic_plan_add").live("submit", function() {
   
		var serialize_form_content = $(this).serialize();

		//Getting FCK content								
		var oEditor = FCKeditorAPI.GetInstance("description[1]");
		content_1=  oEditor.GetXHTML(true) ;
		var oEditor = FCKeditorAPI.GetInstance("description[2]");
		content_2=  oEditor.GetXHTML(true) ;
		var oEditor = FCKeditorAPI.GetInstance("description[3]");
		content_3=  oEditor.GetXHTML(true) ;
		var oEditor = FCKeditorAPI.GetInstance("description[4]");
		content_4=  oEditor.GetXHTML(true) ;
		var oEditor = FCKeditorAPI.GetInstance("description[5]");
		content_5=  oEditor.GetXHTML(true) ;
		var oEditor = FCKeditorAPI.GetInstance("description[6]");
		content_6=  oEditor.GetXHTML(true) ;	
		
		$.ajax({
			type: "POST",
			url: "'.api_get_path(WEB_AJAX_PATH).'thematic.ajax.php?a=save_thematic_plan",
			data: "desc[1]="+content_1+"&"+"desc[2]="+content_2+"&"+"desc[3]="+content_3+"&"+"desc[4]="+content_4+"&"+"desc[5]="+content_5+"&"+"desc[6]="+content_6+"&"+serialize_form_content,
			success: function(data) {										
				var thematic_id = $("input[name=\"thematic_id\"]").val();
				$("#thematic_plan_"+thematic_id).html(data);				
				$("#thematic_plan_add").html("<div class=\"confirmation-message\">'.addslashes(get_lang('Saved')).'</div>");																	
                //location.reload(true);					
			}
		});
		//prevent the browser to follow the link
        return false;				
	});*/
    
   // Third col
   /*
	$("#thematic_advance").live("submit", function() {
	   	var url = this.href;        
        var my_id = this.id;
		var serialize_form_content = $(this).serialize();
		
		//Getting FCK content								
		var oEditor = FCKeditorAPI.GetInstance("content");
		content =  oEditor.GetXHTML(true) ;							
		$.ajax({
				type: "POST",
				url: "'.api_get_path(WEB_AJAX_PATH).'thematic.ajax.php?a=save_thematic_advance",
				data: "real_content=" + content + "&" +serialize_form_content,
				success: function(data) {										
					var thematic_advance_id = $("input[name=\"thematic_advance_id\"]").val();
					$("#thematic_advance_"+thematic_advance_id).html(data);					
					$("#thematic_advance").html("<div class=\"confirmation-message\">'.addslashes(get_lang('Saved')).'</div>");																	
					
					//Only refresh if the parent is to add
					if (my_id == "add_button") {
						//location.reload(true);
					}
				}
		});								
		//prevent the browser to follow the link
        return false;	
	});*/
    

    $(".thematic_advance_actions, .thematic_tools ").hide();	
	
	$(".thematic_content").mouseover(function() {
		var id = parseInt(this.id.split("_")[3]);
		$("#thematic_id_content_"+id ).show();
	});
	
	$(".thematic_content").mouseleave(function() {
		var id = parseInt(this.id.split("_")[3]);
		$("#thematic_id_content_"+id ).hide();
	});	
	
	$(".thematic_advance_content").mouseover(function() {
		var id = parseInt(this.id.split("_")[4]);
		$("#thematic_advance_tools_"+id ).show();
	});
	
	$(".thematic_advance_content").mouseleave(function() {
		var id = parseInt(this.id.split("_")[4]);
		$("#thematic_advance_tools_"+id ).hide();
	});    
    /*
    $("#custom_date").live("click", function() {         
        $("#div_custom_datetime").css("display", "none");
        $("#div_datetime_by_attendance").hide();		
    });
    
    $("#from_attendance").live("click", function() {         
        $("#div_custom_datetime").css("display", "block");
        $("#div_custom_datetime").show();
        $("#div_datetime_by_attendance").show();		
    });*/
});   	
</script>';

 
$htmlHeadXtra[] = '<script type="text/javascript">

function datetime_by_attendance(attendance_id, thematic_advance_id) {
    
	$.ajax({
		contentType: "application/x-www-form-urlencoded",
		beforeSend: function(objeto) {},
		type: "GET",
		url: "'.api_get_path(WEB_AJAX_PATH).'thematic.ajax.php?a=get_datetime_by_attendance",
		data: "attendance_id="+attendance_id+"&thematic_advance_id="+thematic_advance_id,
		success: function(data) {
			$("#div_datetime_attendance").html(data);            
            if (thematic_advance_id == 0) {
                $("#start_date_select_calendar").val($("#start_date_select_calendar option:first").val());
            }            
		}
	});
}

function update_done_thematic_advance(selected_value) {
	$.ajax({
		contentType: "application/x-www-form-urlencoded",
		beforeSend: function(objeto) {},
		type: "GET",
		url: "'.api_get_path(WEB_AJAX_PATH).'thematic.ajax.php?a=update_done_thematic_advance",
		data: "thematic_advance_id="+selected_value,
		success: function(data) {
			$("#div_result").html(data);
		}
	});

	// clean all radios
	
	for (var i=0; i< $(".done_thematic").length;i++) {
		var id_radio_thematic = $(".done_thematic").get(i).id;		
		$("#td_"+id_radio_thematic).css({"background-color":"#FFF"});
	}

	// set background to previous radios
	for (var i=0; i < $(".done_thematic").length;i++) {
		var id_radio_thematic = $(".done_thematic").get(i).id;
		$("#td_"+id_radio_thematic).css({"background-color":"#E5EDF9"});
		if ($(".done_thematic").get(i).value == selected_value) {
			break;
		}
	}
}

function check_per_attendance(obj) {
	if (obj.checked) {
        $("#div_datetime_by_attendance").show();        
        $("#div_custom_datetime").hide();
	} else {
        $("#div_datetime_by_attendance").hide();
        $("#div_custom_datetime").show();        
	}
}

function check_per_custom_date(obj) {
	if (obj.checked) {
        $("#div_custom_datetime").show();
        $("#div_datetime_by_attendance").hide();		        
	} else {
        $("#div_custom_datetime").hide();
        $("#div_datetime_by_attendance").show();		
	}
}

</script>';

if ($action == 'thematic_list') {
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('ThematicControl'));
}
if ($action == 'thematic_add') {
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action='.$_SESSION['thematic_control'], 'name' => get_lang('ThematicControl'));
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('NewThematicSection'));
}
if ($action == 'thematic_edit') {
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action='.$_SESSION['thematic_control'], 'name' => get_lang('ThematicControl'));
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('EditThematicSection'));
}
if ($action == 'thematic_details') {
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('ThematicControl'));
}
if ($action == 'thematic_plan_list' || $action == 'thematic_plan_delete') {
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action='.$_SESSION['thematic_control'], 'name' => get_lang('ThematicControl'));
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('ThematicPlan').' ('.$thematic_data['title'].') ');	
}
if ($action == 'thematic_plan_add' || $action == 'thematic_plan_edit') {
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action='.$_SESSION['thematic_control'], 'name' => get_lang('ThematicControl'));
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action=thematic_plan_list&thematic_id='.$thematic_id, 'name' => get_lang('ThematicPlan').' ('.$thematic_data['title'].')');
	if ($description_type >= ADD_THEMATIC_PLAN) {
		$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('NewBloc'));
	} else {
		$interbreadcrumb[] = array ('url' => '#', 'name' => $default_thematic_plan_title[$description_type]);
	}
}
if ($action == 'thematic_advance_list' || $action == 'thematic_advance_delete') {
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action='.$_SESSION['thematic_control'], 'name' => get_lang('ThematicControl'));
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('ThematicAdvance').' ('.$thematic_data['title'].')');
	
}
if ($action == 'thematic_advance_add' || $action == 'thematic_advance_edit') {
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action='.$_SESSION['thematic_control'], 'name' => get_lang('ThematicControl'));
	$interbreadcrumb[] = array ('url' => 'index.php?'.api_get_cidreq().'&action=thematic_advance_list&thematic_id='.$thematic_id, 'name' => get_lang('ThematicAdvance').' ('.$thematic_data['title'].')');
	$interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('NewThematicAdvance'));
}

// Distpacher actions to controller
switch ($action) {
	case 'thematic_add'				:
	case 'thematic_edit'			:
	case 'thematic_delete'			:
	case 'thematic_delete_select'	:
    case 'thematic_copy'            :
    case 'thematic_import_select'   :
    case 'thematic_import'          :
	case 'moveup'					:
	case 'movedown'					:    
        if (!api_is_allowed_to_edit(null,true)) {
        	api_not_allowed();
        }
	case 'thematic_list'			:
    case 'thematic_export'          :
    case 'thematic_export_pdf'      :
    case 'thematic_details'         :	
        $thematic_controller->thematic($action);
		break;	
	case 'thematic_plan_add'		:
	case 'thematic_plan_edit'		:
	case 'thematic_plan_delete'		:	
        if (!api_is_allowed_to_edit(null,true)) {
            api_not_allowed();
        }	
    case 'thematic_plan_list'       :
        $thematic_controller->thematic_plan($action);
        break;	
	case 'thematic_advance_add'		:
	case 'thematic_advance_edit'	:
	case 'thematic_advance_delete'	:
        if (!api_is_allowed_to_edit(null,true)) {
            api_not_allowed();            
        }
    case 'thematic_advance_list'    : 
        $thematic_controller->thematic_advance($action);
        break;
}