//TODO
var closeIcon = '<img src="'+themePath+'assets/close_white_normal.png" />';
var menuTimeout;
$(document).ready(function() {
    $.metadata.setType("attr", "validate");
    //Dropdown Menus
    $("ul.dropdown li ul").hide();
    $("ul.dropdown > li > a").hover(function(){
        var menu = $(this);
        menuTimeout = setTimeout( function(){
	        menu.next("ul").show();
	        $('select').css('visibility', 'hidden');
	    }, 400);
    }, function(){
    	var menu = $(this);
    	clearTimeout(menuTimeout);
    	menuTimeout = setTimeout( function(){
	        menu.next("ul").hide();
	        $('select').css('visibility', 'visible');
	    }, 100);
    });
    $("ul.dropdown li ul").hover(function(){
        clearTimeout(menuTimeout);
        $(this).show(); 
        $('select').css('visibility', 'hidden');
    }, function(){
        $(this).hide();    
        $('select').css('visibility', 'visible');
    });
    //Buttons
    $('img.button').hover(function(){
		$(this).attr("src", $(this).attr("src").replace("_off","_on"));
	}, function(){
		$(this).attr("src", $(this).attr("src").replace("_on","_off"));
	});
	//Menus
	$('#navCatalog li ul').hover(function(){
		$('#'+$(this).attr('menu')).attr("src", $('#'+$(this).attr('menu')).attr("src").replace("_off","_on"));
	}, function(){
		$('#'+$(this).attr('menu')).attr("src", $('#'+$(this).attr('menu')).attr("src").replace("_on","_off"));
	});
	
	//Searchbox label
	ARTICLES_SEARCH_BOX_DEFAULT_TEXT = 'Buscar producto';
	if(!$('#searchBox input[name=q]').attr('value')) {
		$('#searchBox input[name=q]').attr('value',ARTICLES_SEARCH_BOX_DEFAULT_TEXT);
	}
	
	// set up form element handlers and properties
	$('#searchBox input[name=q]').focus(function() {
		if(this.value == ARTICLES_SEARCH_BOX_DEFAULT_TEXT) {
			this.value = '';
		}
	});
	$('#searchBox input[name=q]').blur(function() {
		if(this.value == '') {
			this.value = ARTICLES_SEARCH_BOX_DEFAULT_TEXT;
		}
	});
});
$.preloadImages = function() {
	for(var i = 0; i<arguments.length; i++)	{
		$("<img>").attr("src", arguments[i]);
	}
}
$.preloadImages(
	themePath+'assets/nav_hombres_on.png', 
	themePath+'assets/nav_mujeres_on.png', 
	themePath+'assets/nav_ninos_on.png', 
	themePath+'assets/nav_calzado_on.png', 
	themePath+'assets/nav_montana_on.png', 
	themePath+'assets/nav_trekking_on.png', 
	themePath+'assets/nav_ciclismo_on.png', 
	themePath+'assets/nav_turisticos_on.png', 
	themePath+'assets/nav_marcas_on.png', 
	themePath+'assets/nav_todas_on.png'
);
var bxyModal;
var addModulePopUp = function(url, name, data) {
	var options = {
		title:data.title,
		closeText:closeIcon,
		modal:data.modal,
		unloadOnHide:true,
		//draggable:true,
		beforeUnload:function() {
			$('#modal').unbind();
			bxyModal = null;
		}
	}
    if (!bxyModal) {
    	bxyModal = new Boxy('<div id="modal"><div style="padding:10px;"><div class="loading">Cargando...</div></div></div>', options);
    }else{
    	bxyModal.show();
    	bxyModal.setTitle(data.title);
    	$('#modal').html('<div style="padding:10px;"><div class="loading">Cargando...</div></div>');
    	bxyModal.center();
    }
	$('#modal').load(url, null, function(){
		if (data.maximizedHeight) $('#modal > div:first').height($(window).height()-120);
		bxyModal.center();
		if (data.callback) data.callback();
	});
}
function validateSearch() {
	var success = $('#searchBox input[name=q]').val()!='' && $('#searchBox input[name=q]').val()==ARTICLES_SEARCH_BOX_DEFAULT_TEXT? false : true;
	if (!success) alert('Debe ingresar algún criterio de búsqueda.');
	return success;
}
function showLogin() {
	data = {title:'Accede a tu cuenta', modal:true, callback:function() {
		$('#frmPopupLogin').validate();
		$('#frmPopupRegister').validate();
	}};
	addModulePopUp('/'+wifPath+'popup/login', 'login', data);
}
function login() {
	if ($('#frmPopupLogin').valid()) {
		var data = {
			userName:$("#frmPopupLogin input[name=userName]").val(),
			password:$("#frmPopupLogin input[name=password]").val(),
			className:'UserManager',
			method:'login',
			output:'json'
		}
		$('#modal input').attr('disabled', 'disabled');
		$('#modal a').css('visibility', 'hidden');
		$.post(gateway, data, function(result) {
			if (result.attributes.status=='info') {
				if (bxyModal) bxyModal.hide();
				$('#modal').trigger('login');
			}else{
				alert(result.attributes.description);
				$('#modal input').removeAttr('disabled');
				$('#modal a').css('visibility', 'visible');
			}
		}, data.output);
	}
}
function register() {
	if ($('#frmPopupRegister').valid()) {
		var birthday = $('#frmPopupRegister select[name=arrBirthday[Y]]').val()+'-'+$('#frmPopupRegister select[name=arrBirthday[M]]').val()+'-'+$('#frmPopupRegister select[name=arrBirthday[d]]').val();
		var data = {
			firstName:$("#frmPopupRegister input[name=firstName]").val(),
			lastName:$("#frmPopupRegister input[name=lastName]").val(),
			birthday:birthday,
			gender:$("#frmPopupRegister input[name=gender]:checked").val(),
			homeCountry:$("#frmPopupRegister select[name=country]").val(),
			userName:$("#frmPopupRegister input[name=userName]").val(),
			email:$("#frmPopupRegister input[name=userName]").val(),
			password:$("#frmPopupRegister input[name=password]").val(),
			className:'TatooManager',
			method:'register',
			output:'json'
		}
		if ($("#frmPopupRegister input[name=alias]").val().length>0) data.alias = $("#frmPopupRegister input[name=alias]").val();
		$('#modal input, #modal select').attr('disabled','disabled');
		$('#modal a').css('visibility', 'hidden');
		$.post(gateway, data, function(result) {
			if (result.attributes.status=='info') {
				if (bxyModal) bxyModal.hide();
				$('#modal').trigger('login');
			}else{
				alert(result.attributes.description);
				$('#modal input, #modal select').removeAttr('disabled');
				$('#modal a').css('visibility', 'visible');
			}
		}, data.output);
	}
}
function showForgotPassword() {
	data = {title:'Olvidaste tu contraseña?', modal:true, callback:function() {
		$('#frmForgotPassword').validate();
	}};
	//if (bxyModal) bxyModal.hide();
	addModulePopUp('/'+wifPath+'popup/forgot_password', 'forgot_password', data);
}
function addSiteComments() {
	data = {title:'Comentar', modal:true, callback:function() {
		$('#frmSiteComment').validate();
	}};
	addModulePopUp('/'+wifPath+'popup/comments', 'siteComments', data);
}
function addSiteComments_submit() {
	if ($('#frmSiteComment').valid()) {
		$('#modal input, #modal textarea, #modal select').attr('disabled','disabled');
		$('#modal a').css('visibility', 'hidden');
		var data = {
			referrer:location.href,
			firstName:$("#frmSiteComment input[name=firstName]").val(),
			lastName:$("#frmSiteComment input[name=lastName]").val(),
			country:$("#frmSiteComment input[name=country]").val(),
			city:$("#frmSiteComment input[name=city]").val(),
			email:$("#frmSiteComment input[name=email]").val(),
			comment:$("#frmSiteComment textarea[name=comment]").val(),
			type:$("#frmSiteComment select[name=type]").val(),
			submit:1,
			output:'json'
		}
		$.post('/'+wifPath+'popup/comments', data, function(result) {
			if (result.attributes.status=='info') {
				if (bxyModal) bxyModal.hide();
				$('#modal').trigger('login');
			}else{
				alert(result.attributes.description);
				$('#modal input, #modal textarea, #modal select').removeAttr('disabled');
				$('#modal a').css('visibility', 'visible');
			}
		}, data.output);
	}
}
function compare() {
	var articles = $('input[name=chkCompare]:checked').serializeArray();
	if (articles.length>1 && articles.length<16) {
		var ids = new Array();
		$('input[name=chkCompare]:checked').each(function() { 
	    	ids.push(this.value);
	    });
	    data = {title:'Comparativa de artículos', modal:true, maximizedHeight:true};
	    addModulePopUp('/'+wifPath+'catalog/popup/compare?ids='+ids, 'compare', data);
	}else{
		if (articles.length<2) alert('Necesitas seleccionar 2 o más artículos para compararlos.');
		if (articles.length>15) alert('Solo puede comparar un máximo de 15 productos a la vez.');
	}
}
function showJobsForm() {
	data = {title:'Trabaja en Tatoo'};
	addModulePopUp('/'+wifPath+'popup/jobs', 'jobs', data);
}
