d = new Array();
d[0] = 'top_cats';
d[1] = 'sub_cat_2';
d[2] = 'sub_cat_3';

	
function createSortable(obj,update,file,_class,method){
	
	
	//containment: d,
	//ghosting:true creates a bug in IE	
	Sortable.create('top_cats', {tree:true,scroll:window});
	/*
	Sortable.create(obj,
	{
		tag:'li',
		overlap:'horizontal',
		ghosting:false,
		onUpdate: function()
		{
			params = {_class:_class, method:method, catSequence:Sortable.serialize(obj)}
			new Ajax.Request('/classes/Ajax.bridge.php',{
				method:"post",
				parameters:params,
				requestHeaders: {Accept: 'application/json'},
				onSuccess: function(transport){
				new Ajax.Updater(update, file,{
					onComplete: function(){
						wcContainer.sanitize();
						wcContainer.parse("container");	
					}
				});
				}
			});
		}
	});*/
}

/*
Sortable.create("sub_cat_2",{
	onUpdate: function(){},
	containment: d,
	ghosting:false,
	dropOnEmpty:true,
	constraint:'horizontal'
});
Sortable.destroy('inc_topNav');
*/

//alert("<a href='#{href}'>#{name}</a>".interpolate({ href: "Pigs", name: "Surfboard" }));
//.stripTags()

// This is a container for on-the-fly functions
var Global = Class.create({
	initialize: function(){
		this.a = 's';
		this.methodName = '';
	},
	test:function(){
		alert('tested');
	}
});

Global = new Global();

var WcContainer = Class.create({
  initialize: function() {
    this.a  = [];
    this.inc = [];
  },

  parse: function(obj) {
  		obj = $(obj);
   		as = $(obj).select('a');
   		for(x = 0; x < as.length; x++)
		{
			this.a.push({href:as[x].href, target:as[x].target, id:as[x].id,obj:as[x]});
			as[x].href = 'javascript:void(0);';
			as[x].observe('click', function(event){
 				// alert('ss');
 			});
			as[x].target = '';
		}
		
		createSortable('top_cats','inc_topNav','/themes/theme1/includes/topNav.php','Categories.class','updateCategoriesSequence');
		
		incs = $('container').select('div');
		
		for(x = 0; x < incs.length; x++)
		{
			if(incs[x].id.indexOf('inc_')>=0)
			{
				this.inc.push({className:incs[x].className, id:incs[x].id, obj:incs[x]});
				incs[x].className = incs[x].classNames() + ' editVisible';
			}
		}
  },
  getControllers: function(){
  
  	menu1 = Builder.node('ul', [
  				Builder.node('li',[
  					Builder.node('a', { href: 'javaScript:wcContainer.sanitize();'},'Back To Site normal State')		
  				]),
  				Builder.node('li',[
  					Builder.node('a', { href: 'javaScript:wcContainer.parse("container");'},'Edit')		
  				])
  	]);
  	
  	menu2 = Builder.node('ul', [
  				Builder.node('li',[
  					Builder.node('a', { href: 'javaScript:getApp();'},'Edit Site Ini File')		
  				])
  	]);
  	
  	com = Builder.node('div', { id: 'controller'},[menu1,menu2]);
  	$('adminBody').appendChild(com);
  
  },
  sanitize: function(){
  		
  		for(x = 0; x < this.a.length; x++)
		{
			this.a[x].obj.href = this.a[x].href;
			this.a[x].obj.target = this.a[x].target;
		}
		
		for(x = 0; x < this.inc.length; x++)
		{
			this.inc[x].obj.className = this.inc[x].className;
		}
  }
});


// Review This function
function getApp()
{
	params = {_class:'Sys.class', method:'getFile', filePath:'C:/Projects/tocaCatalogPJ/sites/site2/ini.php', doJSON:true}
	
	new Ajax.Request('/classes/Ajax.bridge.php', {
					method:"post",
					parameters:params,
					requestHeaders: {Accept: 'application/json'},
					onSuccess: function(transport){
						json = transport.responseText.evalJSON(true);
						_row = new Array();
    
    					if($('editVars'))
						{
							Effect.Fade('editVars');
							chi = $('editVars').childElements();
						
							for(z = 0; z < chi.length; z++)
							{
								chi[z].remove();
							}
							wait = 2500;
							
						}
						
						if(!$('editVars'))
						{
							
							div = 	Builder.node('div', { id: 'editVars', className: 'boxBody' },[
								Builder.node('div',{id: 'holder',className: 'boxHeader'},[
									Builder.node('span','INI'),
									Builder.node('img',{ src:'http://github.com/images/modules/header/logo.png', width:'16', height:'16'})
								])
							]	);
							
							
							document.body.appendChild(div);
							
							d = $('editVars');
							d.hide();
							
							wait = 0;
						}
						
						for(x = 0; x < json.length; x++)
						{
							lineParse = json[x].toQueryParams();
							for(i in lineParse)
							{
								key1 = i;
								key1Value = lineParse[i];
								break; 	
							}	
							
							if(key1Value!=undefined)
							{
								var element1 = 	Builder.node('input',{ name:'line'+x, type:'text', value:key1.strip()});
								var element2 = 	Builder.node('input',{ name:'line'+x, type:'text', value:key1Value});
								var element3 = 	Builder.node('input',{ name:'line'+x, type:'text', value:lineParse.comments.strip()});
								var element4 = 	Builder.node('input',{ name:'line'+x, type:'text', value:lineParse.auth.strip()});
								var element5 = 	Builder.node('br',{ });
								
								div.appendChild(element1);
								div.appendChild(element2);
								div.appendChild(element3);
								div.appendChild(element4);
								div.appendChild(element5);
							}	 
						}
						
						setTimeout("Effect.Appear('editVars')",wait);
					}	
				});
  	
	}
	
	function debug(obj)
	{
		if(!$('dump'))
		{
			tx = Builder.node('textarea',{id: 'dump',rows:20, cols:100});
			document.body.appendChild(tx);
		}
		else
		{
			$('dump').value = '';
		}
		for(i in obj)
		{
			$('dump').value += i + ' - ' + obj[i] + '\n';
		}
	}
  
  //Apply loading image for every Ajax request	
  Ajax.Responders.register({
    onCreate : function(){
    	
    	if(!$('loadingBox')){
	  		loadingB = Builder.node('img',{src:'/admin/assets/ajax-loader-3.gif', id:'loadingBox', style: 'position: relative;top:15px;left:0'});
	  		$('droppable_container-handler').appendChild(loadingB);
	  		l = $('loadingBox'); //fix for IE so we can hide
	  		l.hide();
	  		new Effect.Appear('loadingBox');
	  	}
	  	else
	  	{
	  		new Effect.Appear('loadingBox');
	  	}
	},
    onComplete : function(){
    	l = $('loadingBox'); //fix for IE so we can hide
  		new Effect.Fade(l);
   	}
  });	
