var fx ;
var myFx;
var mySlide ;
var oldSelected = '-1';
var roar;
//Puff
var myrules = {
		'.addFileInput' : function(element){
			element.onclick = function(evt){
				var myLi = new Element('li');
				var myInput = new Element('input', {'type': 'file',
    												'name': 'filename[]',
													'class': 'input-other',
													'size': '42'});
				myInput.inject(myLi);
				myLi.inject($('files'));
			};
		},
		'.drawerDown' :  function(element){
			element.onclick  = function(evt){ 
				
				var myFx = new Fx.Slide(element.getParent().id, {
					duration: 500,
					transition: Fx.Transitions.Pow.easeIn
				});
				myFx.toggle();
			 };
		},
		'.drawerRight' :  function(element){
			element.onclick  = function(evt){ 
				
				var myFx = new Fx.Slide(element.getParent().id, {
					duration: 500,
					mode: 'horizontal',
					transition: Fx.Transitions.Pow.easeIn
				});
				myFx.toggle();
			 };
		},
		'#loginUsername' :  function(element){
			element.onblur  = function(evt){ if (this.value == '') this.value = 'Username'; };
			element.onfocus = function(evt){ if (this.value == 'Username') this.value = ''; }
		},
		'#loginPassword' :  function(element){
			element.onblur  = function(evt){ if (this.value == '') this.value = 'Password'; };
			element.onfocus = function(evt){ if (this.value == 'Password') this.value = ''; }
		},
		
		'.cancelBtn' : function(element){
			element.onclick = function(evt){
				//var evt = new Event(evt).stop();
				window.location = element.getParent().href;
			}
		},
		'.delete.confirm' : function(element){
			element.onclick = function(evt){
				var str = "Are you sure you want to delete this?";
				if (element.get('title')!='') str = element.get('title');
				if(!confirm(str)) {
					var evt = new Event(evt).stop();
					return;
				}
			}
		},		
		'.thumb' : function(element){
			element.onclick = function(evt){
				//var evt = new Event(evt).stop();
				//element.setStyle("position", "absolute");
				//Puff(element, 0);
			}
		},
		'form.editForm' : function(element){
			element.onsubmit = function(evt){
				var evt = new Event(evt).stop();
				var id_form = element.get('id');
				var action = element.get('action');

				setError({'errors': '', 'success': '', 'notices': 'Save in progress...'});
				var myRequest = new Request({url: action, data: $(id_form).toQueryString() + "&from=js" , method: 'post', 
				onComplete: function(resp)
				{ 
					if (resp.indexOf('success'))
						setError({'errors': '', 'success': resp, 'notices': ''});
					if (resp.indexOf('errors'))
						setError({'errors': resp, 'success': '', 'notices': ''});
					if (resp.indexOf('succes')!=-1)
					{
						if (typeof($(id_form).return_url) != 'undefined') { window.location = $(id_form).return_url.value; } 
					}
						
					
				} } ).send();
			
			}
		},
		
		'.showHide' : function(element){
			try {
				element.onclick = function(evt){
					var evt = new Event(evt);
					var id = element.id;
					if (element.tagName == "SELECT")
					{
						if (element.options[element.selectedIndex].className == "showHideOption")
						{
							
							if (oldSelected == element.selectedIndex)
							{
								return false;
							}
							oldSelected = element.selectedIndex;
						}
						else
						{
							if (oldSelected>=0)
							if (element.options[oldSelected].className == "showHideOption")
							{
								oldSelected = element.selectedIndex;
							}
							else
							{
								oldSelected = element.selectedIndex;
								return false;
							}
							else
							{
								oldSelected = element.selectedIndex;
								return false;
							}
						}
						
					}
					
					if ($(id+'Div'))
					{
						if (mySlide[id+'Div'])
						{
							if (element.type!="checkbox")
							{
								mySlide[id+'Div'].toggle();
								evt.stop();
							}
							else
							{
								mySlide[id+'Div'].toggle();
							}
						}
					}
				}	
			}
			catch (err)
			{
				
			}
			
		},
		'#color_schemeAdd': function(element){
			element.onchange = function(evt){
				var evt = new Event(evt).stop();
				if ($('color_schemeAdd').value=='')
				{
					$('color_schemeUpdate').getElements('input').each(function(el){
						el.value = '';
					});
					return;
				}
				var id_form = element.getProperty('id');
				var box = $('boxLoad');
				box.style.display="block";
				box.set('html', 'Loading...');
				
				var myRequest = new Request({url: webPath + "ajaxColorScheme.php", data: 'color='+ $('color_schemeAdd').value, method: 'get', onComplete: function(resp)
				{ 
					$('color_schemeUpdate').set('html', resp);
					box.style.display="none";
					
				} } ).send();
			}
		}
		
		
	};


window.addEvent('load', function(){
	
	try
	{ 
		var myTips = new Tips('.tips', {className: 'tipsClass'});
		myTips.addEvent('show', function(tip){
			tip.fade(0.9);
		});
		myTips.addEvent('hide', function(tip){
			tip.fade('out');
		});

		
		if (typeof(window.startSWFUpload) == 'function') { startSWFUpload();}
		
		Behaviour.register(ratingAction);
		Behaviour.register(myrules);
		Behaviour.apply();
		
		myFx = new Fx.Slide('notifyBox', {
					duration: 500,
					transition: Fx.Transitions.Pow.easeIn
				}).hide();
		setError({'errors': siteErrors, 'success': siteSuccess, 'notices': siteNotices});
	}
	catch (err)
	{
			
	}
								 
});

window.addEvent('domready', function(){
	
	var box = $('box');
	var items = $$('.showHide');
	//alert(items.length);
	mySlide = Array();
	if (Fx)
	{
		if (Fx.Slide)
		{
			for (i=0;i<items.length;i++)
			{
				mySlide[items[i].id+'Div'] = new Fx.Slide(items[i].id+'Div');
				if ($(items[i].id))
				{
					if ($(items[i]).type!="checkbox")
					{
						mySlide[items[i].id+'Div'].hide();
					}
					else
					{
						if (items[i].checked==true)
						{
							mySlide[items[i].id+'Div'].hide();
						}
						else
						{
							mySlide[items[i].id+'Div'].show();
						}
					}
				}
			}
		}
	}
	fx = new Fx.Elements($$('#box'), {duration: 1000, link: 'chain', transition: Fx.Transitions.Quart.easeOut});
	
	/*var errorData = null;
	if ($('errors'))
	{
		if ($('errors').innerHTML!="")
		{
			errorData = $('errors');
		}
	}
	if ($('success'))
	{
		if ($('success').innerHTML!="")
		{
			errorData = $('success');
		}
	}
	if (errorData!=null)
	{
		var formError = $('content').getElement('form');
		if (formError)
		{
			var clone = errorData.clone().injectBefore(formError);
			clone.setStyle("display", "inline");
			clone.innerHTML = clone.innerHTML;
			new Element('br').injectAfter(clone);
			errorData.remove();
		}
		else
		{
			errorData.setStyle("display", "inline");
		}
	}*/
	
	
	if (typeof(menu1) != "undefined") { initTransMenu(); }	
	roar = new Roar({
		position: 'upperLeft',
		duration: 10000 // 5 seconds until message fades out
	});
	
	
});



function Puff(obj, dir){
	var f = $(obj).effects();
	switch(dir){
		case 0: f.start({'height': [131, 262], 'width': [175, 350], 'top': [0, -65], 'left': [0, -87], 'opacity': [1, 0.2] }); break;
		case 1: f.start({'height': [200, 100], 'width': [200, 100], 'top': [-50, 0], 'opacity': [0, 1] }); break;
		case 2: f.start({'height': [100, 0], 'width': [100, 0], 'top': [0, 50], 'opacity': [1, 0] }); break;
		case 3: f.start({'height': [0, 100], 'width': [0, 100], 'top': [50, 0], 'opacity': [0, 1] }); break;
	}
}
function setError(errorData)
{
	var haveErrors = false;
	var html = '';
	var extraClass = '';
	
	
	$('success').set('html', '');
	$('errors').set('html', '');
	if (errorData.errors != '')
	{
		html = errorData.errors;
		$('errors').set('html', html);
		$('notifyBox').set('styles', { 
			'background-color': 'red',
			'color': 'white',
			'font-weight': 'bold'
		});
		haveErrors = true; 
		extraClass += 'errors ';
	}
	if (errorData.success != '')
	{
		html = errorData.success;
		$('success').set('html', html);
		if (haveErrors == false)
		{
			$('notifyBox').set('styles', { 
				'color': '#215017', 
				'background-color': '#C0FFB2'
			});
		}
		extraClass += 'success ';
	}
	if (errorData.notices != '')
	{
		html = errorData.notices;
		$('notices').set('html', html);
		extraClass += 'notices ';
	}
	else
	{
		$('notices').set('html', '');
	}
	//if (html != '') $('notifyBox').set('styles', {'display': 'block'});
	roar.setOptions({className: 'roar ' + extraClass});
	
	if (html!='') 
	{
		roar.empty();
		roar.alert(html);
	}
	
	//$('notifyBox').set('styles', {'display': 'block'});
	//myFx.hide();
	//if (html != '') { myFx.slideIn(); (function(){ myFx.slideOut(); }).delay(2000);}
	
		
}