// JavaScript Document
$(document).ready(function(){
	
	countProducts();
    
    $("img").lazyload({ 
        placeholder : "images/grey.gif",
        effect : "fadeIn" 
    });

	
	$('.shipping .sendMe').click(function(){
		if(!$(this).hasClass('current'))
		{
			$(this).addClass('current');
			$('.shipping .dontSend').removeClass('current');
		}
	});
	$('.shipping .dontSend').click(function(){
		if(!$(this).hasClass('current'))
		{
			$(this).addClass('current');
			$('.shipping .sendMe').removeClass('current');
		}
	});
	
	$('.top .account .myAccountButton ').click(function(){
		if($('.top .account .accountPanel').length > 0){	
			showHideMyAcc();
		}
		else
		{
			location.href="micuenta.html";
		}
	});	
	
	$('.shoppingCart .items').hover(
		function(){$(this).css({'background' : '#F2F2F2'});},
		function(){$(this).css({'background' : 'transparent'});}
	);
	
	$('.comment').click(function(){
		if(!$('.commentArea').is(':visible'))
		{
			$('.commentText').fadeOut('fast',function(){$('.commentArea').slideDown()});	
		}
		else
		{
			$('.commentArea').slideUp('fast',function(){$('.commentText').fadeIn()});	
		}
	});
	
	$('.footer .openFooter ').click(function(){	showFooter(); });	
	
	$('.menu .items ul li').hover(
		function(){
			var item = $(this).children('a');
			if(!item.hasClass('current'))
			{
				item.addClass('current').addClass('inMemory');
			}
		},
		function(){
			var item = $(this).children('a');
			if(item.hasClass('inMemory'))
			{
				item.removeClass('inMemory').removeClass('current');
			}
		}						   
	);
	
	if($('.top .account .accountPanel .login  a.submit'))	
	{
		$('.top .account .accountPanel .login  a.submit').click(function(){
			var usn = $('.top .account .accountPanel .login .username ').val();
			var pwd = $('.top .account .accountPanel .login .password ').val();
			
			if(usn != '' && pwd !='')
			{
				$('.top .account .accountPanel .login .error').hide();
				$('.top .account .accountPanel .login .loader ').fadeIn();
				$.ajax({
					type: "GET",
					url: "json/jsonQuerys.php",
					data: "action=LogIn&username="+usn+"&password="+pwd,
					dataType: "json",
					success: function(json){
						if(json.Result != 'ok')
						{
							$('.top .account .accountPanel .login .loader ').fadeOut();
							showErrorsInLogin('Existen errores en sus datos');
						}
						else
						{
							$('.top .account .accountPanel .login .error').hide();
							location.reload();
						}
					}
				});
			}
			else {
				showErrorsInLogin('Ingrese sus datos');
			}
			
		});	
	}
	
	//$("dd:not(:first)").hide();
	$("dd").hide();
	$("dt a").click(function(){
		$('.js_messages .actualPage').text('1');
		loadProductsByCategory($(this).attr('rel'));
		if(!$(this).hasClass('current')){
			$("dd:visible").prev().children('a').removeClass('current');
			$(this).addClass('current');
			$("dd:visible").slideUp("slow");
			$(this).parent().next().slideDown("slow");
			return false;
		}
	});
	
	$('dd li').hover(
		function(){
			$(this).css({'background-color' : '#CBCFFF'});
		},
		function(){
			$(this).css({'background-color' : 'transparent'});
		}
	);
	
	$('dd li').click(
		function(){
			var IdCat = $(this).parent().parent().prev().children('a').attr('rel');
			var IdSubcat = $(this).children('a').attr('rel');
			$('.js_messages .actualPage').text('1');
			loadProductsBySubCategory(IdCat, IdSubcat)
		}
	);
	
	$('.cart_top').hover(
		function(){$(this).css({'background-color' : '#FAFAFA'});},
		function(){$(this).css({'background-color' : 'transparent'});}
	);
	
	$('.cart_top').click(function(){location.href='shopping.html';});
	
	addThisProduct();
	
	if($('.slideshow'))
	{
		$('.slideshow').cycle({
			fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
		});
	}

	$('.shoppingCart input').simpletooltip();
	$('.question').simpletooltip();
		
	$('a.checkout').click(function(){
		$.ajax({
			type: "GET",
			url: "json/jsonQuerys.php",
			data: "action=checkUser",
			dataType: "json",
			success: function(json){
				if(json.UserId != '')
				{
					location.href='shipping.html';
				}
				else
				{
					if($('.top .account .accountPanel').is(':hidden'))
					{
						$('.logo, .cart_top').hide();
						$('.top .account .accountPanel').slideDown('slow',function(){$('.login').fadeIn();});
					}
				}
			}
		});
		
	});	
	
	
	$(".edit_link a[rel='edit']").click(function(){
		$('.edition').toggle();
	});
	
	$(".edit_link a[rel='save']").click(function(){
		var valid = true;
		var data = '';
		
		$('.profile .edition :input').each(function(){
			if(!validate($(this))){
				$('.profile .edition div.error').fadeIn('slow');
				$(this).css({'border-color':'#D8000C'});
				valid = false;
			}
			else{
				$(this).css({'border-color':'#E4E4E4'});
				data += (data == '') ? '' : '&';
				data += $(this).attr('name') + '=' + $(this).val();
				valid = (valid) ? true : false;
			}
			
		});
		
		if(valid){
			$('.profile .edition div.error').hide('fast');
			
			$.ajax({
				type: "POST",
				url: "json/jsonQuerys.php",
				data: 'action=saveUser&'+data,
				dataType: "json",
				success: function(json){
					if(json.Result == 'ok'){
						$('.profile .edition div.success').fadeIn('slow');
						setTimeout("$('.profile .edition div.success').fadeOut('slow')",5000);
					}
					else{
						$('.profile .edition div.error').fadeIn('slow');
					}
				}
			});
			
			
		}
		
	});
	
	
	
	$(".edit_link a[rel='saveNewUser']").click(function(){
		var valid = true;
		var data = '';
		
		$('.profile .edition :input').each(function(){
			if(!validate($(this))){
				$('.profile .edition div.error').fadeIn('slow');
				$(this).css({'border-color':'#D8000C'});
				valid = false;
			}
			else{
				$(this).css({'border-color':'#E4E4E4'});
				data += (data == '') ? '' : '&';
				data += $(this).attr('name') + '=' + $(this).val();
				valid = (valid) ? true : false;
			}
			
		});
		
		if(valid){
			$('.profile .edition div.error').hide('fast');
			$('.profile .edition div.error_db').hide('fast');
			$.ajax({
				type: "POST",
				url: "json/jsonQuerys.php",
				data: 'action=saveNewUser&'+data,
				dataType: "json",
				success: function(json){
					if(json.Result == 'ok'){
						$('.profile .edition div.success').fadeIn('slow');
						setTimeout("$('.profile .edition div.success').fadeOut('slow')",5000);
					}
					else{
						$('.profile .edition div.error_db').fadeIn('slow');
					}
				}
			});
			
			
		}
		
	});
	
	
	$('.btnContact').click(function(){
		var valid = true;
		var data = '';
		$('.contact .edition :input').each(function(){
			if(!validate($(this))){
				$('.contact .edition div.error').fadeIn('slow');
				$(this).css({'border-color':'#D8000C'});
				valid = false;
			}
			else{
				$(this).css({'border-color':'#E4E4E4'});
				valid = (valid) ? true : false;
			}
		});
		
		if(valid){
			$('#theForm').submit();
		}
	});
	
	$('.search input').focus(function(){
		if($(this).val() == $(this).attr('title')){$(this).val('');}		
	});
	
	$('.search input').blur(function(){
		if($(this).val() == ''){$(this).val($(this).attr('title'));}		
	});
    
    $('.search input').keyup(function(e){
         var code = (e.keyCode ? e.keyCode : e.which);
         if(code == 13) { goToSearch(); }
    });
	
	$('.search a').click(function(){
	    goToSearch();
	});
	
	
	
	
	
});

function goToSearch(){
    if($('.search input').val() != $('.search input').attr('title') && $('.search input').val().length > 3)
	{
		location.href = 'search-result-'+$('.search input').val()+'.html';
	}
	else
	{
		alert('Ingrese un minimo de 4 caraceteres');
	}
}

function validate(ele)
{
	valid = true;
	
	if(ele.hasClass('required')){
		valid = (valid) ? (ele.val() != '' && ele.val() != -1) : false;
	}
	
	if(ele.hasClass('email')){
		valid = (valid) ? /^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/.test(ele.val()) : false;
	}	
	
	if(ele.hasClass('number')){
		valid = (valid) ?  /^[0-9 ]*$/.test(ele.val()) : false;
	}
	
	if(ele.hasClass('password')){
		valid = (valid) ?  /^[0-9a-zA-Z]{6,10}$/.test(ele.val()) : false;
	}
	
	return valid = (valid) ? true : false;
}


function showErrorsInLogin(txt){
	$('.top .account .accountPanel .login .error').text(txt);
	$('.top .account .accountPanel .login .error').fadeIn();
}

function logout(){
	$.ajax({
		type: "GET",
		url: "json/jsonQuerys.php",
		data: "action=logout",
		dataType: "json",
		success: function(){
			location.href='home.html';
		}
	});
}








function addThisProduct()
{
	$('.add').hover(
		function(){ $(this).css({'border' : '1px solid #CBCFFF'});},
		function(){ $(this).css({'border' : '1px solid #FFF'});	}
	);
	if(!isIE()){ $('.add').simpletooltip();}
	$('.add').click(function(){  showAddProduct($(this));	});	
}

function putImageModal()
{
	$('.pictures .bigPic img').lightBox({txtImage : '', txtOf : '-'});
}

function loadProductsByCategory(Id)
{
	showProductsLoader();
	$.ajax({
		type: "GET",
		url: "json/product-list.php",
		data: "id_cat="+Id+'&page='+$('.js_messages .actualPage').text(),
		dataType: "json",
		success: function(json){
			if(json.Qty > 0)
			{
				var inner = '';
				for(var i = 0; i < json.Qty; i++)
				{
					
					var p = json.ProductList[i];
					
					inner += '<div><div class="item_left"><div class="box pink">';
					inner += '<a href="javascript:;"  onclick="loadProductDetail(\''+ p[1] +'\');">';
					inner += '<img src="AdminPanel/ShowImage.php?auto=138&file=../'+ p[2]+'" alt="'+ p[0]+'" width="138" height="138"/>';
					inner += '</a>';
					inner += '<div class="box_footer_pink"><div class="arrow">&nbsp;</div>';
					inner += '<span class="name">'+ p[0]+'</span>';
					inner += '<span class="price"> '+ p[3]+' un.</span>';
					inner += '<div class="see_more"><div class="add" rel="'+ p[1] +'" title="Agregar este producto al Carrito"></div>';
					inner += '<span><a href="javascript:;" onclick="loadProductDetail(\''+ p[1] +'\');">'+ $('.seeMore').text() +'</a></span>';
					inner += '</div></div></div></div></div>';
				}
				
				$('.productList').html(inner);
				
				
				var bredcrumb = '<span><a href="productos.html">Productos</a></span>';
				bredcrumb += (json.CategoryName != '') ? ' / <span>'+ json.CategoryName +'</span>' : '';
				$('.bredcrumb').html(bredcrumb);
				
				
				var pager = '';
				for(var x = 1; x <= json.ShowPages; x++)
				{
					if(x == json.ActualPage)
					{
						pager += '<a class="current">'+ x +'</a>';
					}
					else
					{
						pager += '<a href="javascript:;" onclick="$(\'.js_messages .actualPage\').text('+x+');loadProductsByCategory(\''+ json.CategoryId +'\');">'+ x +'</a>'; 
					}
					
				}
				$('.pager').html(pager);
				$('.js_messages .actualPage').text(json.ActualPage);
				addThisProduct();
			}
	   }		
	});
	showProductsLoader();
}

function loadProductsBySubCategory(IdCat, IdSubcat)
{
	showProductsLoader();
	$.ajax({
		type: "GET",
		url: "json/product-list.php",
		data: "id_cat="+IdCat+'&id_scat='+ IdSubcat +'&page='+$('.js_messages .actualPage').text(),
		dataType: "json",
		success: function(json){
			if(json.Qty > 0)
			{
				var inner = '';
				for(var i = 0; i < json.Qty; i++)
				{
					var p = json.ProductList[i];
					inner += '<div class="item_left"><div class="box pink">';
					inner += '<a href="javascript:;" onclick="loadProductDetail(\''+ p[1] +'\');">';
					inner += '<img src="AdminPanel/ShowImage.php?auto=138&file=../'+ p[2]+'" alt="'+ p[0]+'" width="138" height="138"/>';
					inner += '</a>';
					inner += '<div class="box_footer_pink"><div class="arrow"></div>';
					inner += '<span class="name">'+ p[0]+'</span>';
					inner += '<span class="price"> '+ p[3]+' un.</span>';
					inner += '<div class="see_more"><div class="add" rel="'+ p[1] +'" title="Agregar este producto al Carrito"></div>';
					inner += '<span><a href="javascript:;" onclick="loadProductDetail(\''+ p[1] +'\')">'+ $('.seeMore').text() +'</a></span>';
					inner += '</div></div></div></div>';
				}
				$('.productList').html(inner);
				
				var bredcrumb = '<span><a href="productos.html">Productos</a><span>';
				bredcrumb += '/ <span><a href="javascript:;" onclick="loadProductsByCategory('+ IdCat +');">'+ json.CategoryName +'</a></span>';
				bredcrumb += '/ <span>'+ json.SubCategoryName +'</span>';
				$('.bredcrumb').html(bredcrumb);

				var pager = '';		
				for(var x = 1; x <= json.ShowPages; x++)
				{
					if(x == json.ActualPage)
					{
						pager += '<a class="current">'+ x +'</a>';
					}
					else
					{
						pager += '<a href="javascript:;" onclick="$(\'.js_messages .actualPage\').text('+x+');loadProductsByCategory(\''+ json.CategoryId +'\');">'+ x +'</a>'; 
					}
					
				}
				$('.pager').html(pager);
				$('.js_messages .actualPage').text(json.ActualPage);
				
				addThisProduct();
			}
	   }		
	});
	showProductsLoader();
}

function loadProductDetail(Id){
	if(Id != null)
	{
	showProductsLoader();
	$.ajax({
		type: "GET",
		url: "json/productDetail.php",
		data: "id="+Id,
		dataType: "json",
		success: function(json){
			if(json)
			{
				var inner = '';
				inner += 	'<div class="productDetail">';
				inner += 		'<div class="box pink">';
				inner += 			'<h1>'+ json.Name +'</h1>';
				inner += 			'<div class="box_footer_pink">';
				inner += 				'<div class="arrow"></div>';
				inner += 			'</div>';
				inner += 			'<div class="cFix">';
				inner += 				'<div class="pictures">';
				inner += 					'<div class="bigPic">';
				inner += 						'<img src="AdminPanel/ShowImage.php?auto=298&file=../'+json.Pictures[0]+'" rel="'+json.Pictures[0]+'" alt="'+ json.Name +'" width="298" height="298"/>';
				inner += 					'</div>';
				inner += 					'<div class="thumbs">';
											for(var i = 0; i < json.Pictures.length; i++)
											{
												inner += '<img src="AdminPanel/ShowImage.php?auto=50&file=../'+json.Pictures[i]+'" alt="'+ json.Name +'" onclick="seePicture(\''+json.Pictures[i]+'\');" width="50" height="50"/>';
											}
				inner += 					'</div>';
				inner += 				'</div>';
				
				inner += 				'<div class="right">';
				inner += 					'<div class="name" style="display:none">'+ json.Name +'</div>';
				inner += 					'<div class="itemDescr"><label>Descripci&oacute;n : </label><span>'+ json.LongDescr +'</span></div>';
				inner += 					'<div class="itemPrice">'+ json.Price +'<br/><br/><span>'+ json.Descr +'</span></div>';
				inner += 					'<div class="addToCart"><img src="images/add-to-cart.png" alt="'+ json.Name +'" rel="'+ json.Id +'" width="250" height="80" onclick="showAddProduct($(this))"/></div>';
				inner += 					'<div class="related">';
				inner +=  (json.RelatedQty > 0) ? '<h2>Art&iacute;culos Relacionados</h2>' : '';
											for(var i = 0; i < json.RelatedQty; i++)
											{
												inner += '<div class="itemRelated" onclick="loadProductDetail(\''+json.Related[i][0]+'\')">';
												inner += 	'<img src="AdminPanel/ShowImage.php?auto=60&file=../'+json.Related[i][2]+'" width="60" height="60">';
												inner += 	'<span>'+json.Related[i][1]+'</span>';
												inner += '</div>';
											}
				inner += 					'</div>';
				inner += 				'</div>';
				
				inner += 			'</div>';
				inner += 			'<div class="clear"></div>';
				inner += 		'</div>';
				inner += 	'</div>';
				
				var bredcrumb = '<span><a href="productos.html">Productos</a></span>';
				bredcrumb += (json.catName != '') ? ' / <span><a href="javascript:;" onclick="loadProductsByCategory('+ json.IdCat +');">'+ json.catName +'</a></span>' : '';
				bredcrumb += (json.subCatName !='') ? ' / <span><a href="javascript:;" onclick="loadProductsBySubCategory('+ json.IdCat +','+ json.IdSubCat +');">'+ json.subCatName +'</a></span>' : '';
				bredcrumb += ' / <span>'+ json.Name +'</span>';
				$('.bredcrumb').html(bredcrumb);
				
				$('.pager').html('');
				$('.productList').html(inner);
				putImageModal();
			}
	 	}		
	});
	showProductsLoader();	
	}
}


function seePicture(url){
	$('.bigPic img').fadeOut('slow', function(){
		$('.bigPic img').attr('src',url);
		$('.bigPic img').attr('rel',url);
	});
	
	$('.bigPic img').fadeIn('slow');
	
}

function showProductsLoader()
{
	if(!isIE()){
		if($('.productsLoader').is(':visible'))
		{
			$('.productsLoader').fadeOut();
		}
		else
		{
			$('.productsLoader').fadeIn();
		}
	}
}

function isIE(){
	
	var browserName=navigator.appName; 
	var browserVer=parseInt(navigator.appVersion); 
	if (browserName=="Microsoft Internet Explorer" && browserVer<8) 
		return true
	else
		return false
			

}

function showAddProduct(element){
	var name 		= element.parent().parent().children('.name').text();
	var Id			= element.attr('rel');
	var buttonNames = $('.js_messages .buttons').text().split('-'); 
	var ok 			= buttonNames[0];
	var cancel 		= buttonNames[1];
	var text		= $('.js_messages .buyAnswer').text();
	$.alerts.okButton = ok;
	$.alerts.cancelButton = cancel;
	jPrompt(text, '', name, function(r) {
	    addProduct(Id, r);
	});
}

function addProduct(Id, cant){
	$.ajax({
		type: "POST",
		url: 'includes/proccess.php',
		data: "callback=true&action=add&productId="+ Id +"&cant="+ cant,
		success: function(msg){
		if(cant !=null){
				location.href = 'shopping.html';
			}
		}
	});
}

function showHideMyAcc(){
	$('.top .account .accountPanel div').hide();
	if($('.top .account .accountPanel').is(':hidden'))
	{
		$('.logo, .cart_top').hide();
		$('.top .account .accountPanel').slideDown('slow',function(){$('.login').fadeIn();});
	}
	else
	{
		$('.login').fadeOut();
		$('.top .account .accountPanel').slideUp('slow',function(){$('.logo, .cart_top').show();});
	}
}
function showFooter(){
	if($('.footer .links').is(':hidden'))
	{
		$('.footer .links').slideDown('slow');
		$('.footer .openFooter ').css({'background-position':'center top'});
	}
	else
	{
		$('.footer .links').slideUp('slow');
		$('.footer .openFooter ').css({'background-position':'center bottom'});
	}
}



function deleteProduct(Id){
	$.ajax({
		type: "POST",
		url: 'includes/proccess.php',
		data: "callback=true&action=remove&productId="+ Id,
		async : false,
		success: function(msg){
			location.href = 'shopping.html';
		}
	});
}

function updateCart()
{
	$('.shoppingCart input').each(function(){
		$.ajax({
			type: "POST",
			url: 'includes/proccess.php',
			data: "callback=true&action=update&productId="+ $(this).attr('name') +"&cant="+ $(this).attr('value'),
			async : false,
			success: function(msg){}
		});
		
	});

	var note = $('.shoppingCart textarea');
	$.ajax({
		type: "POST",
		url: 'includes/proccess.php',
		data: "callback=true&action=addNote&orderId="+ note.attr('name') +"&nota="+ note.attr('value'),
		async : false,
		success: function(msg){}
	});
	location.href = 'shopping.html';
	
}

function countProducts(){
	$.ajax({
		type: "POST",
		url: 'includes/proccess.php',
		data: "callback=true&action=countItems",
		async : false,
		success: function(msg){
			msg = (msg == '') ? 0 : msg;
			$('.cart_top b').text(msg);
		}
	});
}

function cambiarMoneda(value){
	$.ajax({
		url: "cambiarMoneda.php",
		type: "POST",
		data: "valor=" + value,
		error: function(objeto, quepaso, otroobj){
			alert(quepaso)
		},
		success: function(){
			window.location.reload();
			} 
	});	
}

function changeLang(lang){
	$.ajax({
		url: "changelang.php",
		type: "POST",
		data: "lang=" + lang,
		error: function(objeto, quepaso, otroobj){
			alert(quepaso)
		},
		success: function(){
			window.location.reload();
			} 
	});
}

function recPass(){
	var email = $("input[name='rec-email']").val();
	if(validate($("input[name='rec-email']")))
	{
	$('.loading').show();
	$.ajax({
		url: "includes/proccess.php",
		type: "POST",
		data: "callback=true&action=passRecovery&email=" + email,
		dataType: "json",
		success: function(json){
			if(json.Response == 'success'){
				$('.loading').hide();
				$('.error').hide();
				$('.success').fadeIn();
			}
			else{
				$('.loading').hide();
				$('.error').fadeIn();
				$('.success').hide();
			}
		} 
	});
	}
	else
	{
		$('.loading').hide();
		$('.error').fadeIn();
		$('.success').hide();
	}
}

function toHTML(str){
	//str = str.replace(/&lt;/g,'<');
	//str = str.replace(/&gt;/g,'>');
	return str;
}

