// JavaScript Document
var Divatto = new Object;

Divatto = function() {
	
	return {
		
		init: function() {			
			this.resizeContent();
			this.centerPrevNext();
			//this.loadDefaultSubmenu();
			//this.centerCarousel();
			this.displayLeftWrapper();
			this.setMenuFontSize();
			//this.getProductThumbs();
			this.displayProductBadge();
			//this.centerShopDetails();
			this.setLeftBoxHeight();
			this.setNewsWrapperSize();
			this.showContactForm();
		}, //eo init
		
		resizeContent: function() {		
			var docHeight = $(window).height();	
			$('div#content_wrapper').css({'height':''+(docHeight-75)+'px'});
			$('div#content_wrapper div.inner').css({'height':''+(docHeight-135)+'px'});
		}, //eo resizeContent
		
		centerCarousel: function() {		
			
			var obj = $('div.carousel_wrapper');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var objWidth = obj.outerWidth();
				var left = (docWidth - objWidth) / 2;				
				$('div.carousel_wrapper').css({'left':''+left+'px'});
			}
		}, //eo centerCarousel
		
		centerPrevNext: function() {					
			var btn_left = $('div.button_left');
			var btn_right = $('div.button_right');
			var docHeight = $(window).height();
			if(btn_left)
			{				
				var objHeight = btn_left.outerHeight();
				var top = (docHeight - objHeight) / 2;				
				$(btn_left).css({'top':''+(top-35)+'px'});
			}
			if(btn_right)
			{
				var objHeight = btn_right.outerHeight();
				var top = (docHeight - objHeight) / 2;				
				$(btn_right).css({'top':''+(top-35)+'px'});
			}
		}, //eo centerPrevNext
		
		setLeftBoxHeight: function(resize) {					
			var obj = $('div.leftbox_wrapper');
			var docHeight = $('#content_wrapper div.inner').outerHeight();
			
			if(obj)
			{				
				$(obj).css({'height':''+(docHeight-300)+'px'});
				
				if(resize)
				{
					$("#accordion").accordion("resize");
				}
				
			}
		}, //eo setLeftBoxHeight				
		
		setNewsWrapperSize: function() {
			
			var obj = $('div.news_wrapper');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var docHeight = $(window).height();		
				
				$(obj).css({'height':''+(docHeight-155)+'px','width':''+(docWidth-415)+'px'});
			}
			
			
			
			//var objWidth = obj.outerWidth();
			
			//alert(w+' '+h);
			
			
		}, //eo setNewsWrapperSize
		
		centerShopDetails: function() {					
		
			var obj = $('div.shop_details_wrapper');
			
			this.hideProductBadge();
			
			if(obj)
			{
				var docWidth = $(window).width();
				var docHeight = $(window).height();
				var objWidth = obj.outerWidth();
				var objHeight = obj.outerHeight();
				var left = (docWidth - objWidth) / 2;
				var top = (docHeight - objHeight) / 2;
				$(obj).hide();
				$(obj).css({'left':''+left+'px','top':''+(top-35)+'px'});								
				$(obj).fadeIn();
			}
			
		}, //eo centerShopDetails
		
		showVideo: function() {					
		
			var obj = $('div.video_wrapper');
			
			//$('div.leftbox_wrapper').fadeOut();
			
			if(obj)
			{
				var docWidth = $(window).width();
				var docHeight = $(window).height();
				var objWidth = obj.outerWidth();
				var objHeight = obj.outerHeight();
				var left = (docWidth - objWidth) / 2;
				var top = (docHeight - objHeight) / 2;
				$(obj).hide();
				$(obj).css({'left':''+left+'px','top':''+(top-35)+'px'});								
				$(obj).fadeIn();
			}
			
		}, //eo showVideo
		
		closeVideo: function() {					
		
			var obj = $('div.video_wrapper');
			
			//$('div.leftbox_wrapper').fadeIn();
			
			if(obj)
			{
				$(obj).fadeOut();
			}
			
		}, //eo closeVideo
		
		hideCarousel: function() {					
			var obj = $('div.carousel_wrapper');			
			if(obj)
			{
				obj.fadeOut();
			}
		}, //eo hideCarousel
		
		showCarousel: function() {					
			var obj = $('div.carousel_wrapper');			
			if(obj)
			{
				obj.fadeIn();
			}
		}, //eo shoqCarousel
		
		displayLeftWrapper: function() {
			
			var obj = $('div.leftbox_wrapper');
			
			if(obj && obj.attr('id') != 'noanim')
			{
				var objWidth = obj.outerWidth();
				var left = objWidth + 40;
				
				obj.css({'left':'-'+left+'px','opacity':'0.2'});
				
				obj.animate({'left':0}, 1500, 'easeOutQuint', function() {
					
					$(this).animate({'opacity':'1'}, 1000, 'linear');					
					
					//var objHeight = obj.outerHeight() - 120;
					
					$('div.leftbox_wrapper div.text').css({'overflow':'auto'});
					$('div.leftbox_wrapper div.text').jScrollPane({showArrows: true});
					
				});												
				
			}			
		}, //eo displayLeftWrapper
		
		setMenuFontSize: function() {
			
			var menuWrapper = $('div#top_wrapper div.inner_left'),
				menuLinks = $('div#top_wrapper div.inner_left ul li a'),
				submenuLinks = $('div#submenu_wrapper div.inner ul li a'),
				menuWidth = menuWrapper.width();
			
			if(menuWidth < 900) 
			{ 
				menuLinks.css({'font-size':'9px'});
				submenuLinks.css({'font-size':'9px'});
			}
			else
			{
				menuLinks.css({'font-size':'11px'});
				submenuLinks.css({'font-size':'11px'});
			}							
		}, //eo setMenuFontSize
		
		
		showSubmenu: function(type) {
			
			var _this = this;
			
			$('div#submenu_wrapper').css({'top':'-300px','height':'35px'});
			
			var config = {
				 interval: 250,
				 sensitivity: 4,
				 over: function(){
						
						var id = $(this).attr('id');
						_this.loadSubmenuImages(id,type);
						
					 },
				 timeout: 500,
				 out: function() { return; }
			};
			
			$('div#submenu_wrapper div.inner').load('ajax.php?action=submenu_'+type+'', function() {				
				$('div#submenu_wrapper').css({'opacity':0,'display':'block','top':'35px'});
				$('div#submenu_wrapper').animate({opacity:1},300,'linear');
				
				//$("a.submenu").hoverIntent(config);
				
				$("a.submenu").click(function() {
					
					var id = $(this).attr('id');
					_this.loadSubmenuImages(id,type);
					return false;
					
				});
				
			});			
			
			
        }, //eo show submenu

		hideSubmenu: function(){
			
			$('div#submenu_wrapper').hover(function(){			
				$(this).css({'display':'block'});													
			},function(){				
				$(this).animate({opacity:0},300,'linear',function() {					
					$(this).css({'top':'-300px','height':'35px'});
				});		
			});
						
		}, //eo hide submenu
		
		loadSubmenuImages: function(id,type,pp) {
			
			var _this = this;
			var container = $('div#submenu_wrapper');
			var el = $('div.inner_imgs_wrapper');						
			
			$(container).css({'height':'145px'});
			
			if(el.length > 0)
			{
				$(el).html('<div class="loader"></div>');
				
				if(type == 'products')
				{
					var id = parseInt(id.replace(/catid_/i, ""));
				}
				
				if(type == 'shops')
				{
					var id = id.replace(/shopid_/i, "");
				}
				
				if(id > 0 || id.length > 0)
				{
					$.ajax({
					   type: "POST",
					   url: "ajax.php",
					   data: {'action':'submenu_'+type,'id':id},
					   dataType: "html",
					   success: function(html){			 			 							
							$(el).html(html);								
						},
					   complete: function() {
						   
							var div = $('div.submenu_imgs'),
								ul = $('ul.submenu_imgs'),
								ulPadding = 15;
							
							
							//Get window width
							var docWidth = $(window).width();	
							
							//Get menu width
							var divWidth = div.width();
							
							//Remove scrollbars	
							div.css({overflow: 'hidden'});
							
							//Find last image container
							var lastLi = ul.find('li:last-child');
							
							//When user move mouse over menu
							div.mousemove(function(e){
								var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;													
								var left = ((e.pageX-15) - div.offset().left) * (ulWidth-divWidth) / divWidth;
								div.scrollLeft(left);
							});   
							
							$("li.prodthumb").hover(function(){		
								  var el = $(this).find('p');
								  var img = $(this).find('a');
								  $(img).css({'background-position':'0px -79px','background-position-y':'-79px'});
								  el.fadeIn();								  
								},
								function(){
								  var el = $(this).find('p');
								  var img = $(this).find('a');
								  $(img).css({'background-position':'0px 0px','background-position-y':'0px'});
								  el.fadeOut();
							});
							
							//add prettyPhoto functionality
							if(pp == true)
							{
								$("a[rel^='prettyPhoto']").prettyPhoto({theme:'facebook',opacity:0.40,overlay_gallery:false});	
							}
					   }	
					 });	
					
				 }
				
			}
							
        }, //eo loadSubmenuImages
		
		
		loadDefaultSubmenu: function() {
			
			var _this = this;
			var el = $('div.inner_imgs_wrapper');
			
			if(el.length > 0)
			{
				var id = $(el).attr('id');
				
				_this.loadSubmenuImages(id);
			}
			
		}, //eo loadDefaultSubmenu
		
		displayProductBadge: function() {
			
			var obj = $('div.product_badge');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var objWidth = obj.outerWidth();
				var left = docWidth - (objWidth + 50);								
				
				obj.css({'left':''+left+'px','opacity':'0.9'}).fadeIn();								
			}			
		}, //eo displayProductBadge
		
		hideProductBadge: function() {
			
			var obj = $('div.product_badge');
			
			if(obj)
			{
				obj.fadeOut();;								
			}			
		}, //eo displayProductBadge
		
		centerProductDetails: function() {		
			
			var obj = $('div.product_details_wrapper');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var docHeight = $(window).height();
				var objWidth = obj.outerWidth();
				var objHeight = obj.outerHeight();
				var left = (docWidth - objWidth) / 2;
				var top = (docHeight - objHeight) / 2;
				$(obj).css({'left':''+left+'px','top':''+(top-35)+'px'});
			}
		}, //eo centerProductDetails
		
		loadProductDetails: function() {		
			
			var _this = this;
			var el = $('div.product_details_wrapper');
			
			if(el.length > 0)
			{
				_this.hideProductBadge();
				_this.hideCarousel();
				$(el).hide();								
				$(el).fadeIn();
				//$(el).html('<div class="loader"></div>').fadeIn();
				$("div.ui-accordion-content-active").jScrollPane({showArrows: true});
			}
			
		}, //eo centerProductDetails
		
		closeProductDetails: function() {		
			
			var _this = this;
			var el = $('div.product_details_wrapper');
			
			if(el.length > 0)
			{
				_this.displayProductBadge();
				_this.showCarousel();
				$(el).fadeOut();
				//$(el).html('<div class="loader"></div>').fadeIn();
			}
			
		}, //eo centerProductDetails
		
		closeShopDetails: function() {		
			
			var _this = this;
			var el = $('div.shop_details_wrapper');
			
			if(el.length > 0)
			{
				_this.displayProductBadge();
				$(el).fadeOut();
				//$(el).html('<div class="loader"></div>').fadeIn();
			}
			
		}, //eo closeShopDetails
		
		showSizes: function(src) {		
			
			var url = 'pimage.php?action=dlarge&f='+src;
			
			// get handle to element that wraps the image and make it semi-transparent
			var wrap = $("#detail_bigimg").fadeTo("medium", 0.5);
		
			// new image
			var img = new Image();
		
			// call this function after it's loaded
			img.onload = function() {
				// make wrapper fully visible
				wrap.fadeTo("fast", 1);
				// change the image
				wrap.find("img").attr("src", url);
			};
		
			// begin loading the image
			img.src = url;
			
		}, //eo showSizes
		
		setBg: function(src){
			
			
			var el = $('div#supersize a img');
			
			// new image
			var img = new Image();
		
			var url = src;
			
			// call this function after it's loaded
			img.onload = function() {
				
				el.attr("src", url);
				$('#supersize').resizenow();								
			};
		
			// begin loading the image
			img.src = url;			
			
		},
		
		getProductThumbs: function(){
			
			var _this = this;
			var el = $('div.carousel_wrapper');
			
			if(el.length > 0)
			{
				var id = $(el).attr('id');				
					id = parseInt(id.replace(/prod_/i, ""));
					
				var w = $(el).width(),
					docWidth = $(window).width();
				
				$(el).html('<div class="loader"></div>');
				
				if(docWidth < 1000)
				{
					$(el).css({'width':'565px'});
					_this.centerCarousel();
					w = 565;
				}
				else
				{
					$(el).css({'width':'720px'});
					_this.centerCarousel();
					w = 720;
				}
				
				if(id > 0)
				{
					$.ajax({
					   type: "POST",
					   url: "ajax.php",
					   data: {'action':'thumbs','id':id,'w':w},
					   dataType: "html",
					   success: function(html){			 			 
							
							$(el).html(html);
							$('.scrollable').css({'width':''+(w-85)+'px'});
							$('.scrollable .items div').css({'width':''+(w-85)+'px'});
							$('.scrollable').scrollable();
							
							$("a.prodthumb").hover(function(){		
								  var el = $(this).find('span');
								  el.fadeIn();
								  /*
								  var img = $(this).find('img');
								  img.animate({'opacity':'1'}, 250, 'linear', function() {
									el.fadeIn();												   
								  });
								  */
								},
								function(){
								  var el = $(this).find('span');
								  //var img = $(this).find('img');	
								  el.fadeOut();
								  //img.css({'opacity':'0.7'});
							});
						}
					 });	
					
				}
				
				//alert(id);
			}
			 
		}, //eo getProductThumbs
		 
		showNewsletterForm: function() {
			
			var obj = $('div#mc_embed_signup');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var docHeight = $(window).height();
				var objWidth = obj.outerWidth();
				var objHeight = obj.outerHeight();
				var left = (docWidth - objWidth) / 2;
				var top = (docHeight - objHeight) / 2;
				$(obj).hide();
				$(obj).css({'left':''+left+'px','top':''+(top-35)+'px'});								
				$(obj).fadeIn();
			}
			
			return false;
		}, //eo showNewsletterForm
		
		closeNewsletterForm: function() {
			
			var obj = $('div#mc_embed_signup');
			
			if(obj)
			{
				$(obj).fadeOut();
			}
			
			return false;
		}, //eo closeNewsletterForm
		
		showPromotionForm: function() {
			
			var obj = $('div#promotionform');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var docHeight = $(window).height();
				var objWidth = obj.outerWidth();
				var objHeight = obj.outerHeight();
				var left = (docWidth - objWidth) / 2;
				var top = (docHeight - objHeight) / 2;
				$(obj).hide();
				$(obj).css({'left':''+left+'px','top':''+(top-35)+'px'});								
				$(obj).fadeIn();
			}
			
			return false;
		}, //eo showPromotionForm
		
		closePromotionForm: function() {
			
			var obj = $('div#promotionform');
			
			if(obj)
			{
				$(obj).fadeOut();
			}
			
			return false;
		}, //eo closeNewsletterForm
		
		showContactForm: function() {
			
			var obj = $('div#contact_form_wrapper');
			
			if(obj)
			{
				var docWidth = $(window).width();
				var objWidth = obj.outerWidth();
				var left = docWidth - (objWidth + 50);								
				
				obj.css({'left':''+left+'px','opacity':'0.9'}).fadeIn();								
			}			
		}, //eo showContactForm
		
		openContactForm: function(el) {
			
			var obj = $('div#contact_form_wrapper');
			$(el).css({'background-image':'url(imgs/ico_up.png)'});
			$(obj).animate({height:'250px'},300,'easeOutElastic');
			
		}, //eo openContactForm
		
		closeContactForm: function(el) {
			
			var obj = $('div#contact_form_wrapper');
			$(el).css({'background-image':'url(imgs/ico_down.png)'});
			$(obj).animate({height:'18px'},300,'linear');
			
		}, //eo openContactForm
		
		submitForm: function(formid) {
		
			var id = formid;
			
			//newsletter
			if(id == 'newsletterform' || id == 'contactform' || id == 'promotionsend')
			{
				var form = $('form#'+id);				
				var data = form.serialize();
				var msg = $('p#'+id+"_msg");
				
				$.ajax({
					   type: "POST",
					   url: "ajax.php",
					   data: data,
					   dataType: "json",
					   success: function(json){			 			 
							
							if(json.errors == 0)
							{
								msg.fadeOut();
								msg.css({'color':'#399800','font-weight':'bold'});
								msg.html(json.msg);
								msg.fadeIn();
								document.getElementById(id).reset();
							}
							else
							{
								msg.fadeOut();
								msg.css({'color':'#ff0000','font-weight':'bold'});
								msg.html(json.msg);
								msg.fadeIn();
							}
							
						}
					 });
					
			}
			
			
		} // eo submitForm
	}
	
	
	
}();


$(document).ready(function(){
    
	Divatto.init();
	
	//prettyPhoto plugin
	$("a[rel^='prettyPhoto']").prettyPhoto({theme:'facebook',opacity:0.40,overlay_gallery:false});
	
	/*
	 var submenuConfig = {
         interval: 250,
         sensitivity: 4,
         over: function() {
			 
			 var type = $(this).attr('id');
			 Divatto.showSubmenu(type);
		 
		 },
         timeout: 500,
         out: Divatto.hideSubmenu
    };
	
	$("li.submenu").hoverIntent(submenuConfig);
	*/
	
	$("li.submenu").click(function() {
		
		var type = $(this).attr('id');
		Divatto.showSubmenu(type);
		return false;
		
	});
	
	$("a.product_details").click(function() {	
		Divatto.centerProductDetails();
		Divatto.loadProductDetails();
		return false;
	
	});	
	
	$("a.shop_details").click(function() {	
		Divatto.centerShopDetails();
		return false;
	});	
	
	/*
	$("a.submenu").hover(function() {	
		
		var id = $(this).attr('id');
		
		Divatto.loadSubmenuImages(id);
	
	},function(){});
	*/
	
	$(function(){
		$.fn.supersized.options = {  
			startwidth: 16,  
			startheight: 9,
			vertical_center: 1,
			slideshow: 0,
			navigation: 0,
			transition: 1,
			pause_hover: 0,
			slide_counter: 0,
			slide_captions: 0,
			slide_interval: 3000  
		};
		$('#supersize').supersized(); 		
	});
	
	
	$(function() {
		$("#accordion").accordion({
			fillSpace:true,
			autoHeight:true
		});
	});
	
	$("#accordion").bind( "accordionchange", function(event, ui) {
		$("div.ui-accordion-content-active").jScrollPane({showArrows: true});
	});
				
	
	$("img.detail_thumb").click(function() {

		//replace url action parameter
		var url = $(this).attr("src").replace("dthumb", "dlarge");
	
		// get handle to element that wraps the image and make it semi-transparent
		var wrap = $("#detail_bigimg").fadeTo("medium", 0.5);
	
		// new image
		var img = new Image();
	
		// call this function after it's loaded
		img.onload = function() {
			// make wrapper fully visible
			wrap.fadeTo("fast", 1);
			// change the image
			wrap.find("img").attr("src", url);
		};
	
		// begin loading the image
		img.src = url;
		
	// when page loads simulate a "click" on the first image
	}).filter(":first").click();
	
	//popup for the color box
	$('a.colorblock').each(function()
   	{
		
		var text = $(this).attr('title');
		var	html = '<div style="width:30px; height:30px; background-color:#'+text+'"></div>'
		
		$(this).attr('title','');
		
		$(this).CreateBubblePopup({

			position : 'top',
			align	 : 'center',
			
			innerHtml: html,

			innerHtmlStyle: {
								color:'#FFFFFF', 
								'text-align':'center'
							},
			
			themeName: 	'all-black',
			themePath: 	'imgs/bubblepopup-theme'
		 
		});				
	})
	
	//toggle contact form
	$('a.togglecontact').toggle(
		function(){
			Divatto.openContactForm(this);
			
		},
		function(){
			Divatto.closeContactForm(this);
	})
	
	
	
	//load menu and images by default for static pages
	var cururl = location.href.toLowerCase();	
	if(cururl.indexOf("calidad") > 0)
	{
		Divatto.showSubmenu('about');
		Divatto.loadSubmenuImages(1,'calidad',true);
	}
	else if(cururl.indexOf("idt") > 0)
	{
		Divatto.showSubmenu('about');
		Divatto.loadSubmenuImages(1,'idt',true);
	}
	else if(cururl.indexOf("colecciones") > 0)
	{
		Divatto.showSubmenu('products');
	}
	else if(cururl.indexOf("tiendas") > 0)
	{
		Divatto.showSubmenu('shops');
	}
	else
	{
		
	}
	
	
	$(window).bind('resize', function() {
    	Divatto.resizeContent();
		Divatto.centerPrevNext();
		//Divatto.loadDefaultSubmenu();
		//Divatto.centerCarousel();
		Divatto.displayLeftWrapper();
		Divatto.setMenuFontSize();
		//Divatto.getProductThumbs();
		Divatto.displayProductBadge();
		//Divatto.centerShopDetails();
		Divatto.setLeftBoxHeight(true);
		Divatto.setNewsWrapperSize();
		Divatto.showContactForm();		
	});
			
	
	
	
});

