window.addEvent('domready', function(){

	//Main menu
	$$('#main_menu .submenu').each(function(ele){
		ele.hide();
		ele.set('reveal',{duration:200})
		ele.getParent('li').addEvents({
			'mouseenter' : function(){ele.reveal();},
			'mouseleave' : function(){ele.dissolve();}
		});
	});

	//Search bar
	$$('#s').addEvents({
		'focus' : function(){this.set('value', '');},
		'blur' : function(){
			if(this.get('value') == ''){
				this.set('value', 'Buscar...');
			}
		}
	});
	$$("#search .btn_search").addEvent('click', function(e){
		e.stopPropagation();
		$("search").submit();
		e.preventDefault();
	});	
	
	//Login bar
	$$("#lightbox").setStyle('display', 'none');
	$$("#iniciar_sesion").addEvent('click', function(e){
		$$("#lightbox").reveal();
		$$("#lightbox #lb_contenido").set('style', 'width:250px');
		e.stopPropagation();
		e.preventDefault();
	});
	$$("#form_iniciar_sesion .btn_cancelar").addEvent('click', function(e){
		$$("#lightbox").dissolve();
		e.stopPropagation();
		e.preventDefault();
	});
	$$('#form_iniciar_sesion .lb_input').addEvent('focus', function(){
		this.set('value', '');
	});
	$$('.btn_submit').addEvent('click', function(e){
		this.getParent('form').submit();
		e.stopPropagation();
		e.preventDefault();
	});
	
	//Iniciar sesion comentarios
	$$('#comment_login').setStyle('display', 'none');
	$$('.cmt_session').addEvent('click', function(e){
		e.stopPropagation();
		e.preventDefault();
		$$('#comment_login').reveal();
	});
	$$('.cmt_cancelar').addEvent('click', function(e){
		e.stopPropagation();
		e.preventDefault();
		$$('#comment_login').dissolve();
	});
	
	//Edit profile
	$$('.hidden').setStyle('display', 'none');
	$$('#pestanas_perfil a').addEvent('click', function(e){
		e.stopPropagation();
		e.preventDefault();
		
		//Pestañas
		$$('.pestanas li').removeClass('current');
		e.target.getParent('li').addClass('current');
		
		//box
		$$('#cambiar_avatar, #cambiar_password, #cambiar_datos').setStyle('display', 'none');
		$$('#'+e.target.hash).setStyle('display', 'block');
		
	});
	
	//Universidades relativas a Chile.
	if($$('select[name=pais]').get('value') != 'Chile'){
		$$('#institucion').setStyle('display', 'none');
	}
	$$('select[name=pais]').addEvent('change', function(){
		if(this.get('value') == 'Chile'){
			$$('#institucion').reveal();
		}else{
			$$('#institucion').dissolve();
		}
	});
	
	//Ususarios
	$$('.users').addEvents({
		'mouseenter' : function(){
			this.getElements('.user_info').set('tween', {
				duration: 300,
				transition: Fx.Transitions.Quad.easeInOut
			}).tween('top', '0px');
		},
		'mouseleave':function(){
			this.getElements('.user_info').set('tween', {
				duration: 1000,
				transition: Fx.Transitions.Bounce.easeOut
			}).tween('top', '118px');
		},
		'click':function(){
			window.location.href = this.getElement('h3 a').get('href');
		}
	});	
	
	//Enlaces externos
	$$('a[rel*=external]').addEvent('click', function(e) {
		window.open(this.href, '_blank');
		e.preventDefault();
		e.stopPropagation();
	});
	
	//Accordion
	var myAccordion = new Fx.Accordion($$('.accordeon h2'), $$('.accordeon .toggle'), {
		'alwaysHide' : true
	});
	

	
	//Agregar proyectos
		if($('agregar-proyecto-form')){
			var W1 = new wysiwyg({
				src: '/?action=wysiwyg',
				buttons: ['strong','em','u',null,'ul','ol',null,'link','unlink']
			});
			$('agregar-proyecto-form').addEvent('submit',function(){
				if(W1.open){
					W1.toTextarea();
				}else{
					W1.clean();
				}
			});	
		}
		
		// !pasos
		$$("#agregar-proyecto #submit").addEvent('click', function(evt){
			var rel = evt.target.get('rel');
			
			switch (rel){
				// !paso 1 - información principal
				case 'paso_1':
				
					var valida = true;
					
					if(W1.open){W1.toTextarea();}else{W1.clean();}
					//Validacion
					$$('.error').destroy();
					$$('#agregar-proyecto input').each(function(ele){
						if(ele.get('type') != 'text'){ return false;}
						if(ele.value.length < 1){
							var msg = new Element('em',{
								text: 'Este campo es requerido',
								'class': 'error hidden',
							});
							$$(ele).getParent().grab(msg);
							$$(msg).reveal();
							valida = false;
						}
					});
					if(W1.TA.value == '<p>&nbsp;</p>' || W1.TA.value.length < 50){
						var msg = new Element('em',{
							text: '50 caracteres como mínimo',
							'class': 'error hidden',
						});
						$$(W1.CT).getParent().grab(msg);
						$$(msg).reveal();
						valida = false;
					}
					
					var thumb = $$('#tmb_bx img').get('src');
					var checktmb = new URI(thumb);
					var subetmb = "";
					if(checktmb.parsed.file == 'no_thumbnail.gif'){
						if($$("#tmb_bx img").hasClass('done')[0] == false){
							var msg = new Element('em',{
								text: 'Debes subir una imagen',
								'class': 'error hidden',
							});
							$$("#tmb_bx").grab(msg);
							$$(msg).reveal();
							valida = false;
						}
					}else if( checktmb.parsed.file != 'no_thumbnail.gif' && $$("#tmb_bx img").hasClass('done')[0] == true){
						subetmb = '&tmb='+thumb;
					}
										
					if(valida == true){	
						var myurl = new URI(location.href);
						new Request.JSON({
							url: '/',
							data: 'action=newproject&'+$$('#agregar-proyecto-form').toQueryString()+subetmb+'&proyecto='+myurl.get('data').proj,
							method: 'post',
							onRequest:function(){
							},
							onSuccess: function(response){
								if(Number(response.r)){
									location.href = '/agregar-proyecto/agregar-imagenes?proj='+Number(response.r);
								}
							}
						}).send();
					}
								
				break;
				// !paso 2 - agregar imagenes
				case 'paso_2': 
					var myurl = new URI(location.href);
					new Request.JSON({
						url: '/',
						data: 'action=countimg',
					    onSuccess: function(response){
					    	if(response.r > 0){
					    		location.href = '/agregar-proyecto/agregar-informacion?proj='+myurl.get('data').proj;
					    	}else{
					    		$$('#msg_error').reveal();
					    	}
					    }
					    }).send();
					
				break;
				// !paso 3 - categorias
				case 'paso_3': 
					var myurl = new URI(location.href);
					var cat = $$('.active').get('id');
					var tags = new Array();
					$$('#tags_elegidos span').each(function(e){
						var tag = e.get('html');
						tags.push(tag.split('<a')[0]);
					});
					
					new Request.JSON({
						url: '/',
						data: "action=add_categories&proj="+myurl.get('data').proj+"&cats="+cat.join(',')+"&tags="+tags.join(','),
					    onRequest:function(){
					    },
					    onSuccess: function(response){
					    	if(response.r == true){
					    		location.href = '/agregar-proyecto/publicar?proj='+myurl.get('data').proj;
					    	}else{
					    		$each(response, function(val, index){
					    			if(val == true){
					    				$$('#'+index).addClass('error');
					    			}else{
					    				$$('#'+index).removeClass('error');
					    			}
					    		});
					    	}
					    },
					    onComplete: function(){
					    }
					    }).send();
					//location.href = '/agregar-proyecto/publicar?proj='+myurl.get('data').proj;
				break;
				// !paso 4 - publicacion
				case 'paso_4': 
					var myurl = new URI(location.href);
					new Request.JSON({
						url: "/",
						data: 'action=publish&'+$$('#publicar').toQueryString()+'&proj='+myurl.get('data').proj,
					    onRequest:function(){
					    },
					    onSuccess: function(response){
					    	if(response.r == null){
					    		$each(response, function(val, index){
					    			$$('#'+val).show();
					    		});
					    		$$("#errores").reveal();
					    	}else{
					    		location.href = response.r;
					    	}
					    },
					    onComplete: function(){
					    }
				    }).send();
				break;
			;}
			evt.preventDefault();
			evt.stopPropagation();	 
		});
		
	
	//Form uploader
	function count_chars(current){
		var ele = current.getParent().getElement('span');
		var max = current.get('maxlength');
		var min = 0;
		
		var num = max - current.value.length;
		
		if(num > 1){
			var salida = "Quedan "+num+" caracteres";
		}else if(num == 1){
			var salida = "Queda 1 caractér";
		}else{
			var salida = "No quedan caracteres";
		}
		ele.set('text', salida);
	}
	
	$$('#titulo, #extracto').addEvent('keyup', function(evt){
		count_chars(evt.target);
	}).each(function(ele){
		count_chars(ele);
	});
	
		
	//Swfuploader
	var link = $('tmb_control');
	if(link){
		var myThumb = new Swiff.Uploader({
			path: '/wp-content/themes/dem_empire-strikes_back/js/uploader/Swiff.Uploader.swf',
			url: '/?action=mooploader',
			target: link,
			multiple: false,
			fileSizeMax:  1024 * 1024,
			instantStart: true,
			data: $$('#agregar-proyecto-form').toQueryString(),
			typeFilter: {
				'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'
			},
			onSelectSuccess: function(){
				this.setEnabled(false);
			},
			onFileComplete: function(file){
				var data = eval('('+file.response.text+')');
				$$('#tmb_bx img').set('src', data.src).fade('hide').fade('in').addClass('done');
			},
			onComplete: function(){
				this.setEnabled(true);
				link.getElement('a').set('text', 'Cambiar imagen');
			}
		});	

		link.addEvents({
			click: function(){ return false;},
			mouseenter: function(){
				$$(this).getElement('a').addClass('hover');
			},
			mouseleave: function(){
				$$(this).getElement('a').removeClass('hover');
			}
		});
	}
		

		
	//AddImg
	var myurl = new URI(location.href);
	if($('add_img')){
		var add_img = new Swiff.Uploader({
			path: '/wp-content/themes/dem_empire-strikes_back/js/uploader/Swiff.Uploader.swf',
			url: '/?action=mooimg',
			target: $('add_img'),
			fileSizeMax:  2*1024 * 1024,
			multiple: true,
			allowDuplicates: true,
			instantStart: true,
			data: 'proj='+myurl.get('data').proj,
			typeFilter: {
				'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'
			},
			onSelectSuccess: function(){
				this.setEnabled(false);
				
				var ele = new Element('div',{
					text: 'Cargando',
					'class': 'loading'
				});
				$$('#canvas').grab(ele)
			},
			onFileComplete: function(file){
				var data = eval('('+file.response.text+')');
				var ele = new Element('div',{
				  'html': '<img src="'+data.src+'" alt="" />',
				  'class': 'media hidden'
				});
				$$('#canvas').grab(ele);
				ele.reveal();
				var myFx = new Fx.Scroll(window).toElement(ele);
				controlmedia();
			},
			onComplete: function(){
				this.setEnabled(true);
				$$("#msg_error").dissolve();
				$$('.loading').destroy();
			}
		});
	}
	
	function controlmedia(){
		$$('#canvas .media').addEvent('mouseenter', function(){
			var ele = new Element('div',{
				'class': 'del_media'
			});
			var btn = new Element('a', {
				text: 'Eliminar',
				href: '#',
				events: {
					click : function(evt){
						var boton = $$(this).getParent('.media');					
						new Request.JSON({
							url: '/?action=del_media',
							data: 'm='+$$(this).getParent('.media').get('id'),
							method: 'POST',
							onSuccess: function(r){
								boton.nix();
							},
						    onComplete: function(){
						    }
					    }).send();
						
						evt.preventDefault();
					}
				}
			});
			if($$(this).getElement('.del_media')){
				$$(this).grab(ele).addClass('hover');
				ele.grab(btn);
			}		
		});
		$$('#canvas .media').addEvent('mouseleave', function(){
			$$(this).getElement('.del_media').destroy();
			$$(this).removeClass('hover');
		});
	}
	
	controlmedia();
	
	//Elegir categorias
	$$('.new_select li').addEvent('click', function(evt){
		var children = $('categorias_elegidas').getChildren().length;
		
		if($(this).hasClass('active') == true){
			$(this).removeClass('active');
			var childId = 'label-'+$(this).get('id');
			$(childId).destroy();
		}else{
			if(children > 2){return false;}
			$(this).addClass('active');
			
			var ele = new Element('span',{
				text: $(this).get('text'),
				id: 'label-'+$(this).get('id')
			});
			
			var btn = new Element('a', {
				href: "#",
				text: 'Borrar',
				'class': 'borrarCat',
				events: {
					click : function(e){
						var parent = e.target.getParent('span').get('id');
						var parentId = parent.split('-');
						$(parentId[1]).removeClass('active');
						e.target.getParent('span').destroy();
						e.preventDefault();
						e.stopPropagation();
					}
				}
			});
			ele.grab(btn);
			$$('#categorias_elegidas').grab(ele);
		}
		
	});	
	

	
	//!Agregar Tags
	$$('form#tags').addEvents('submit', function(e){
		e.stopPropagation();
		e.preventDefault();
	});
	
	$$('#entertags').addEvent('keyup', function(e){
		if(e.code == 188){
				
			var value = $(this).get('value');
			var tag = value.split(',');
			
			if(tag[0] == ''){ $(this).set('value', ''); return false;}
			
			var ele = new Element('span',{
				html: tag[0]
			});
			var btn = new Element('a', {
				href: "#",
				text: 'Borrar',
				'class': 'borrarTag',
				events: {
					click : function(e){
						e.target.getParent('span').destroy();
						e.preventDefault();
						e.stopPropagation();
					}
				}
			});
			ele.grab(btn);
			$$('#tags_elegidos').grab(ele);
			$(this).set('value', '');
		}
	});
	
	$$('.tagszone .borrarCat').addEvent('click',function(e){
		var parent = e.target.getParent('span').get('id');
		var parentId = parent.split('-');
		$(parentId[1]).removeClass('active');
		e.target.getParent('span').destroy();
		e.preventDefault();
		e.stopPropagation();
	});
	
	$$('.tagszone .borrarTag').addEvent('click',function(e){
		e.target.getParent('span').destroy();
		e.preventDefault();
		e.stopPropagation();
	});
	
	//Selector categorias
	$$("#galeria_cat").addEvent('change', function(){
		window.location = "/portafolios/"+$$(this).get("value");
	});
	
	//galeria
	$$('.proyecto').addEvents({
		mouseenter : muestra,
		mouseleave: oculta
	});
	function muestra(e){
		$(e.target).getParent('li').getElements('.info').set('tween', {
				duration: 300,
				transition: Fx.Transitions.Quad.easeInOut
			}).tween('bottom', '0px');
		e.stopPropagation();
	}
	function oculta(e){
		$(e.target).getParent('li').getElements('.info').set('tween', {
				duration: 300,
				transition: Fx.Transitions.Quad.easeInOut
			}).tween('bottom', '-20px');
		e.stopPropagation();
	}
	//mi portafolio
	$$(".proy").each(function(e){
		e.getElement('.edit_options').fade('hide');
		e.addEvents({
			mouseover: function(){
				e.getElement('.edit_options').fade('in');
			},
			mouseleave: function(){
				e.getElement('.edit_options').fade('out');
			}
		});
	});
	//twitter
		new Request.JSONP({
			url: 'http://api.twitter.com/1/users/show.json',
			data: {screen_name:'disenoemergente'},
			onRequest:function(){
			},
			onSuccess:function(data) {
				$('twitter_status').set('html', data.status.text+ ' <a href="http://www.twitter.com/disenoemergente" title="DEm en Twitter">&raquo;</a>');
			}
		}).send();
});
