/**
 * Sliding Panles 1.0.2 - jQuery plugin for accessible, unobtrusive Sliding Panels
 * @requires jQuery 1.2.1
 *
 * http://www.andreacfm.com/jquery-plugins
 *
 * Copyright (c) 2007 Andrea Campolonghi (andreacfm.com)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * @author Andrea Campolonghi/andrea@andreacfm.com
 */
var jQuerypanArray;
var jQuerytargArray;
var jQuerypanAcc;
jQuery.fn.slidePanel = function(parameters){
	settings = {
		status: 'closed',
		speed: 'normal',
		target: 'next',
		remote:'false',
		role:'normal'
		};
	jQuery.extend(settings, parameters);
		return this.each(function(){
			var jQuerypanel = jQuery(this);
			if (settings.target == 'next'){
					var jQuerytarget = jQuerypanel.next();
				}
				else{
					var jQuerytarget = jQuery(settings.target);
				}	
			if (settings.status == 'closed'){
					jQuerytarget.addClass('panel-target panel-closed');
					jQuerypanel.addClass('panel panel-up');
				}
				else{
					jQuerytarget.addClass('panel-target');
					jQuerypanel.addClass('panel panel-down');
							
				}
			if(settings.role == 'accordion'){
						panelAcc(jQuerytarget);
						if(jQuerypanAcc.length == '1'){
							jQuerypanAcc[0].removeClass('panel-closed');
							}												
						jQuerypanel.click(function(){
							for (var j = 0; j < jQuerypanAcc.length; j++){
								if(jQuerypanAcc[j] != jQuerytarget){
									jQuerypanAcc[j].slideUp();
									jQuerypanAcc[j].prev().removeClass('panel-down').addClass('panel-up');
								 }			
								}
								jQuerytarget.slideDown();
								jQuerytarget.prev().addClass('panel-down').removeClass('panel-up');							
							});
			}					
			else if (settings.role == 'master'){
						jQuerypanel.click(function(){
							jQuerytarget.slideToggle(settings.speed);				
							for (var i = 0; i < jQuerytargArray.length; i++){						
								jQuerytargArray[i].slideToggle();
							}	
							for (var i = 0; i < jQuerypanArray.length; i++){
								if(	jQuerypanArray[i].hasClass('panel-down')){
										jQuerypanArray[i].addClass('panel-up').removeClass('panel-down');
									}
									else{
								jQuerypanArray[i].addClass('panel-down').removeClass('panel-up');
								}
							}	
						});
				}
				else
				{
				if(settings.remote == 'true' && settings.status != 'closed'){
					var page = jQuerypanel.children().filter('a').eq(0).attr('href');
					jQuerytarget.load(page);
				}
				if (settings.role == 'dep'){		
					panelAssets(jQuerypanel,jQuerytarget);
				}		
				jQuerypanel.click(function(){
						if(settings.remote == 'true'){
							var txt = jQuerytarget.text();
								if(txt.length == '0'){
									var jQuerya = jQuerypanel.children().filter('a').eq(0);
									var exText = jQuerya.text();
									jQuerya.text('Loading....');
										var page = jQuerypanel.children().filter('a').attr('href');
											jQuerytarget.load(page, function(){
												jQuerya.text(exText);
											});	
								}
						}
				jQuerytarget.slideToggle(settings.speed);
				jQuerypanel.toggleClass('panel-down');
				jQuerypanel.toggleClass('panel-up');
				return false;
			});
		   }	
		});				
	function panelAssets(elem,elem1){
		if (jQuerypanArray == undefined && jQuerytargArray == undefined){
				jQuerypanArray = [];
				jQuerypanArray[0] = elem;
				jQuerytargArray = [];
				jQuerytargArray[0] = elem1;				
			}
			else{
				jQuerypanArray[jQuerypanArray.length] = elem;
				jQuerytargArray[jQuerytargArray.length] = elem1;
		}
	}		
	function panelAcc(elem){
		if (jQuerypanAcc == undefined){
				jQuerypanAcc = [];
				jQuerypanAcc[0] = elem;
			}
			else{
				jQuerypanAcc[jQuerypanAcc.length] = elem;
		}
	}		
}