//////////////////////////
//  NEWJAX APPLICATION  //
//  BY DIMITRI BOYD     //
//////////////////////////


var url = location;
//url = url.split('/');
//alert(url);


var newjax = {

	type: 'Application',
	name: 'Newjax',
	author: 'Dimitri Boyd',
	date: '12.18.2008',


	access: '',
	logged: '',

	expanded: 1,
	expanding: false,
	compressing: false,

	open_search: false,
	clicker: new Array(),
	clicked: '',
	mc: 0,
	mt: 0,
	inc: 0,
	lm: 'false',
	
	selectedList: '',
	selected: '',
	selected2: '',
	shiftKey: false,
	selected3: '',
	receiveComplete: false,
	stopReceive: false,
	attachmentCount: 0,
	current_page: 'orders',
	actions_page: '/index.php',
	account_id: '',
	loading_div: '<div class="loading_div"></div>',
	script_path: location.protocol+'//'+location.hostname+'/lib/',
	url: location,



	update: function(div, page, params, callback, loading) {
		loading = 0;
		if (loading) $('loading_div_container').innerHTML = newjax.loading_div;
		if ( typeof(callback) == "undefined" ) { callback=function(){}; }
				  
		new Ajax.Request(
			page,
			{
				method: 'get',
				parameters: params,
				onComplete: function(t) {
					
					if ($(div)) $(div).innerHTML = t.responseText; 
					if ($('loading_div_container')) $('loading_div_container').innerHTML = '';
					callback(t);

				}
			}
		);

	},

	update2: function(div, page, params, callback, loading) {
		loading = 0;
		if (loading) $(div).innerHTML = newjax.loading_div;
		if ( typeof(callback) == "undefined" ) { callback=function(){}; }
		  
		new Ajax.Update(
			div,
			page,
			{
				method: 'get',
				parameters: params,
				onSuccess: function(t) {
					if ($('loading_div_container')) $('loading_div_container').innerHTML = '';
					callback(t);

				}
			}
		);

	},

	expand_list: function(div, prefix, stayOpen) {

		if (newjax.expanded == div) return;
		if (newjax.expanding) return;
		if (newjax.compressing) return;


		
		if (!stayOpen) {
			
			//Close
			newjax.compressing = true;
			$(prefix+newjax.expanded+'_arrow').innerHTML = '&rarr;';
			
			$j('#'+prefix+newjax.expanded).slideToggle('slow', function() { 													
				newjax.compressing = false;
			}); 

		} else {

			//Stay open (unless closed by user)
			if (parseInt($(prefix+div).offsetHeight)) {
	
				newjax.compressing = true;
				$(prefix+div+'_arrow').innerHTML = '&rarr;';
	
				$j('#'+prefix+div).slideToggle('slow', function() {										
					newjax.compressing = false;	
				}); 
				
				return;
			}
		}
		
		
		//Open
		newjax.expanding = true;
		$(prefix+div+'_arrow').innerHTML = '&darr;';

		$j('#'+prefix+div).slideToggle('slow', function() {
														
			newjax.expanding = false;
			newjax.expanded = div;
			
		}); 

	},


	expand: function(div) {
		$j('#'+div).slideToggle('slow');
	},
	

	page: function(qs) {

		qs += '&action=page'; 
		newjax.selectedList = '';
		newjax.update('list_messages_div', newjax.actions_page, qs);

	},

	sort: function(sorter, order) {
	
		var data = '';
	
		if (newjax.open_search == true) data += $('search_form').serialize();
		if (data) data += '&';
		  
		if (newjax.open_search == true) data += 'action=search';
		if (data) data += '&';
		  
		if (newjax.open_search == false) data += 'action=view&div='+newjax.current_page+'';
		if (data) data += '&';
		  
		data += 'sorter='+sorter+'&order='+order+'';
		  
		newjax.update('list_'+newjax.current_page+'_div', newjax.actions_page, data, 1);
	
	},

	post_form: function(form) {

		/*
		if (tinyMCE) {
			tinyMCE.triggerSave(false,true);
			tinyMCE.execCommand("mceRemoveControl", true, 'body_');
		}
		*/

		if ($(form+'_div')) $(form+'_div').className = 'hide';
		if ($('processing_div')) $('processing_div').className = 'show';

		$(form).submit();

	},

	set_form_value: function(name, value, id) {

		$('searchTerm'+id).value = value;
		$('searchLabel'+id).innerHTML = name;

		var menu = 'search_menu'+id;

		$(menu).style.top = '-1000px';
	
	},
	
	debug: function(params) {
		
		if ( typeof(params) == 'undefined' ) params = {}
		
		for (var key in params) {
			if ( typeof(params[key]) == 'string' || typeof(params[key]) == 'number' ) {
				//params[key] = params[key];
				alert(key + ' ' + params[key]);
			}
		}
		
	
		
	},

	/* SCRIPT LOADER */
	appendScript: function() {
	
		//if (!document.getElementById) return;
	
		var activeScripts = '';
		var script = '';
		var head = document.getElementsByTagName("head")[0];
	
		for (i=0; i < arguments.length; i++) {
		
			var file = arguments[i];
	
			//Check to see if added
			if (activeScripts.indexOf(file) == -1) { 
				
				//JS
				if (file.indexOf(".js") != -1) {
	
					script = document.createElement('script');
					script.setAttribute("type","text/javascript");
					script.setAttribute("src", file);
				
				//CSS
				} else if (file.indexOf(".css") != -1) { 
	
					script = document.createElement("link")
					script.setAttribute("rel", "stylesheet");
					script.setAttribute("type", "text/css");
					script.setAttribute("href", file);
					
				}
			}
		
			if (typeof(script) == 'object') {
			
				//Add
				head.appendChild(script);
	
				//Remember as added
				activeScripts += file + '\n';
				
			}
		}
	},
	
	
	background: function(div, image) {
		
		$(div).style.backgroundImage = "url('/my_images/loading.gif')";
        $(div).style.backgroundImage = "url('"+image+"')";
	
	},
	

	loadEvents: function() {

	}

}


/* LOAD 
newjax.appendScript(
	newjax.script_path+'jsapi/cart.js'
);
*/

//newjax.loadEvents();


Event.observe(window, 'load', function() {

	//alert(newjax.access);
	//alert(newjax.logged);


	/* AFTER LOADING */

	//alert(newjax.script_path);
	//newjax.debug(location);
	//newjax.cart.add_remove_item('free_membership');
	//newjax.scripts.check_messages();

});





