<?php
/**
 * Manually Developed CI View - ai_wb.php
 *
 * @package			AIR\views
 * @version			2.7
 * @uses
 * @see
 * @copyright		2015, BizyCorp Internal Systems Development
 * @license			private, All rights reserved
 * @author			Mohamed Roshan <roshan@ekwa.com>
 *
 */
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * Manually Developed CI View
 *
 * This is the main file of AIR WB 
 *
 * @package			AIR\views
 * @version			2.7
 * @uses
 * @see
 * @copyright		2015, BizyCorp Internal Systems Development
 * @license			private, All rights reserved
 * @author			Mohamed Roshan <roshan@ekwa.com>
 * @created			Jul 18, 2014
 * @modified
 * @modification
 *
*/
class dummy_cls{
	// Just a dummy clas for phpdoc to catch the doc header.
}
/*
if(!isset($_SESSION['user_name'])){ 
	echo "Your session has EXPIRED!. You will be redirected....",
	"<script>top.window.postMessage('reload','*');</script>";
	 die(); 
}
*/

require_once('js-css-loader.php');
/*
$log_create = new log_object();
$log_create->set_userDetails($_SESSION['user_name'], $_SESSION["user_type"]);
$log_create->set_otherDetails(array('Mode'=>'FB_WB','Data'=>'-'));
$log_create->init();
*/
?>
<style>
body{ margin:0;}
</style>

<div id="divBench" style="width:99.9%;height:98%;"></div>

<script>
//CORS handling by WCD
window.addEventListener("message", receiveMessage, false);

function inputValidate(){
	return true;
}

function receiveMessage(event)
{
  //if (event.origin !== "http://www.bizydads.com" ||event.origin !== "http://bizydads.com" ||event.origin !== "http://www.ekwa.com" ||event.origin !== "http://www.kindersigns.com")
  //  return;
  switch (event.data){
  case "setSize":
	  wb.getWb().setSizes();
	  break;
  }
}
//------------------------------------

 	 	wb = new workbenchObj();
    	wb.gridVarName='dataGrid';
    	wb.url = '<?php echo base_url()?>/index.php/AppIntegrator/index/false/0/0/appIntegrator_grid_index/';       
	  	wb.gridreloadurl = '<?php echo base_url()?>index.php/AppIntegrator/index/true/0/0/ai_gridfeed/XML/';
	  	wb.workBench = document.getElementById("divBench");
	  	var myform;
	  	wb.form = myform;
	  	wb.formVar = 'myform';

	  	//can pass properties to manuputate toolbar objects

    	wb.toolBarComponent='grid'; 
    	wb.toolBarIconpath='<?php echo base_url('public/img/common/imgs/'),'/';?>';
    	wb.toolBarDefaultitems=true;      //add defult items
    	wb.toolBarDisabled=['edit','delete'];
    	wb.toolBarVar='gridtoolbar';

    	wb.formBarComponent='form';    
	   	wb.formBarIconpath='<?php echo base_url('public/img/common/imgs/'),'/';?>';
    	wb.formBarDefaultitems = true; 

    	wb.formUrl = '<?php echo base_url()?>index.php/AppIntegrator/addForm/';
    	wb.editFormUrl = '<?php echo base_url()?>index.php/AppIntegrator/edit/';
    	wb.delFormUrl = '<?php echo base_url()?>index.php/AppIntegrator/delete/';  	
		
		wb.formWidth = 500;
    	wb.gridLayoutWidth = 600;	

  /*======== Begin callback function list==========*/

  var doResetForm = function (){

	myLayout = wb.getFormLayout();
  	ifr = myLayout.getFrame();
  	ifr.contentWindow.form_reset();   
  }
	
  
  var doAddForm = function (){
       
      var isIdset = formBar.getPosition('save');      
      if (debug) console.log('send position :-',isIdset);
      
      if(isIdset===null){
            formBar.addButton('save',0,'Save','save.gif','save_dis.gif'); 
            formBar.removeItem('delete');
  			formBar.enableItem('reset');
      }
 
      var myLayout = wb.getFormLayout();
      myLayout.attachURL(wb.formUrl,false);
    return true;
  };



  var doEditForm = function () {
	  
      var debug = true;
      var row_id = null;
      var editUrl = null;
      
      var isIdset = formBar.getPosition('save');      
      if (debug) console.log('send position :-',isIdset);
      
      if(isIdset===null){
            formBar.addButton('save',0,'Save','save.gif','save_dis.gif'); 
            formBar.removeItem('delete');
  			formBar.enableItem('reset');
      }
   	
      var search = wb.getSearch();
   	  row_id = search.grid.getSelectedRowId();
   	  if (debug) console.log('Edit form row id :-',row_id);
   	  editUrl =  wb.editFormUrl+ row_id
   	  if (debug) console.log('Edit form url is :-',editUrl); 	  
   	  var myLayout = wb.getFormLayout();      
  	  myLayout.attachURL(editUrl,false); 
  	    	
      return true;
  };


  var doDeleteForm = function (){
	
	  var debug = true;
	  var deleteUrl = null
	  
	  var isIdset = formBar.getPosition('delete');
      if (debug) console.log('send position :-',isIdset);
      if(isIdset===null){
       formBar.addButton('delete',0,'Delete','delete.png','delete_dis.png'); 
       formBar.removeItem('save');
   	   formBar.disableItem('reset');
      }      
  	  var search = wb.getSearch();
      var row_id = search.grid.getSelectedRowId();
  	  var myLayout = wb.getFormLayout();
      if (debug) console.log('Delete form row id :-',row_id);
   	  deleteUrl =  wb.editFormUrl+ row_id+'/delete'
   	  if (debug) console.log('Delete form url is :-',deleteUrl); 	  
   	  myLayout.attachURL(deleteUrl,false);
  	   
      return true;
   }


  var doDelete = function (){
	  
	  var search = wb.getSearch();           
      var row_id = search.grid.getSelectedRowId();
      var myLayout = wb.getFormLayout();
	  response = confirm("Are you sure you want to delete this integration?");
	  
	  if(response){
		  
	      var loader = dhtmlxAjax.getSync(wb.delFormUrl+row_id);         
		    if (debug) console.log('delFormUrl :- ',wb.delFormUrl+row_id); 
		  	if (debug) console.log('AJAX delete response :- ',loader.xmlDoc.responseText);
	      if(loader) {
			 alert('Record deleted successfully!');
			 search.grid.updateFromXML(wb.gridreloadurl,true,true);
			 setTimeout(function(){myLayout.collapse();},3000);
	      }  
	  }else {
		  setTimeout(function(){myLayout.collapse();},1000);
	  }  
      
 };
   

   var doSave = function (){
    
    if (inputValidate() == true) {
    	myLayout = wb.getFormLayout();
    	ifr = myLayout.getFrame();
    	ifr.contentWindow.formSubmit();   	  		
  		if (debug) console.log('save :- ');

  			//var loaderTestimonial = dhtmlxAjax.postSync(testimonialUrl+'edit/',testimonialParams);
			//console.log('loaderTestimonial.xmlDoc.responseText :- ',  loaderTestimonial.xmlDoc.responseText);		
		}else{      
          	var er = inputValidate();
  			var error_text="";
  			for(var i=1; i<= er.length; i++){
  				error_text += er[i-1]+'<br />';
  			}
  			console.log('error_text :-',error_text+er.length);
  			document.getElementById('info2').innerHTML= error_text;    
    	}	    
   }; //end of doSave
 

 	var doGridUpdate = function (){ 	  	
	  	myLayout.collapse();
	  	search.grid.updateFromXML(wb.grid.xmlLoader.filePath,true,true);  	
  	};
  	
  	
   
    wb.setGridAddCallback(doAddForm);
    wb.setGridEditCallback(doEditForm);
    wb.setGridDelCallback(doDeleteForm);  
    wb.setFormSaveCallback(doSave);
  	wb.setFormResetCallback(doResetForm);
  	

    //search is active in toolbar
    wb.searchactive = 'disable';
    
       var mySearchColumns = [
		{type:"filler", name: 'fil1', id: '', placeholder: '',size: '',index: 1 },
		{ type:"text",name: 'intergration_name',id: '',placeholder: 'Integration Name!',size: '35',index: 2}
      ];

       wb.searchColumns = mySearchColumns;
       wb.init();
      if (debug) console.log('wb  :-',wb);      
      var myForm = wb.getFormToolbar();  	
      myLayout = wb.getFormLayout();  	
      formBar =myForm.toolbar;
      
      formBar.attachEvent('onClick', function(buttonid){

             if(buttonid==='delete') {
                  doDelete();
             }
     });

</script>