/**
 * @author: duong.nguyen
 * @email: zsinryu@live.com
**/

var Artex = {
	initCustomSelect: function(){
		$('.zjsselect').custSelect();
	},
	
	closeStaticBlock: function(){
		$('.zstaticpopup').each(function(){
			var jspopup = $(this);
			
			jspopup.find('.btnClose').click(function(){
				jspopup.animate({
					height: 0,
					paddingTop: 0,
					paddingBottom: 0,
					marginTop: 0,
					opacity: 0
				}, function(){
					jspopup.remove();
				});
			});
		});
	},
	
	hoverCama: function(){
		$('.innerCama').children().each(function(){
			var jinfo = $('.listInfo', this);
			if(jinfo.length){
				var height = jinfo.removeClass('hidden').height();
				jinfo.css({display: 'block', height: 0, paddingBottom: 0, paddingTop: 0});
				
				$(this).hover(function(){
					jinfo.stop().animate({
						height: height,
						paddingTop: 10,
						paddingBottom: 10//,
						//opacity: 1
					});
				}, function(){
					jinfo.stop().animate({
						height: 0,
						paddingTop: 0,
						paddingBottom: 0//,
						//opacity: 0
					});
				});
			}
		})
	},
	
	
	
	
	toggleTamanho: function(){
		var jbtns = $('.btnMedidas a'),
			jtamanho = $('.showBoxTaha');
			
		if(jbtns.length && jtamanho.length){
			jbtns.eq(0).click(function(){
				$('.showBoxTaha').css("top",(mouse_Y-170)+"px");
				jbtns.eq(0).addClass('hidden');
				jbtns.eq(1).removeClass('hidden');
				
				jtamanho.stop().fadeTo(500, 1);
				return false;
			}).next().click(function(){
				jbtns.eq(1).addClass('hidden');
				jbtns.eq(0).removeClass('hidden');
				
				jtamanho.stop().fadeTo(500, 0);
				return false;
			});
		}
	},
	
	slideGallery: function(){
		
		function zhorzgallery(elmsel, info){
			var jelmsel = $(elmsel);
			if(!jelmsel.length){
				return;
			}
			
			var jdislay = jelmsel.find(info.display),
				jwrap = jdislay.find(info.wrap),
				jitems = jwrap.children(),
				jnext = jelmsel.find(info.next),
				jprev = jelmsel.find(info.prev);
				
			if(jitems.length < 1){
				return;
			}
			
			var curitem = 0,
				itemwidth = jitems.eq(0).outerWidth(true),
				nitem = jitems.length,
				maxmargin = (nitem - info.visible) * itemwidth;
				
			jprev.css('opacity', 0.3);
			
			if(nitem <= info.visible){
				jnext.css('opacity', 0.3);
			}
			
			function next(){
				if(curitem >= nitem -info.visible){
					return false;
				}
				
				curitem++;
				if(curitem >= nitem -info.visible){
					jnext.css('opacity', 0.3);
				}
				
				if(curitem > 0){
					jprev.css('opacity', '');
				}
				
				jwrap.stop(true).animate({marginLeft: -Math.min(curitem * itemwidth, maxmargin)});
				
				return false;
			};
			
			function prev(){
				if(curitem <= 0){
					return false;
				}
				
				curitem--;
				if(curitem <= 0){
					jprev.css('opacity', 0.3);
				}
				
				if(curitem < nitem -1){
					jnext.css('opacity', '');
				}
				
				jwrap.stop(true).animate({marginLeft: -Math.min(curitem * itemwidth, maxmargin)});
				
				return false;
			};
			
			jnext.bind('click.zgal', next);
			jprev.bind('click.zgal', prev);
		}
		
		$('.wrapPhoto').each(function(){
			zhorzgallery(this, {display: '.zdisplay', wrap: 'ul', next: '.next', prev: '.pre', visible: 4});
		});
	},
	
	validateContact: function(){
		var jform = $('#frmContact');
		if(jform.length){
			var txtName = $('#txtName'),
				txtMail01 = $('#txtMail01'),
				txtTelefone = $('#txtTelefone'),
				txtAssunto = $('#txtAssunto'),
				txtMessage = $('#txtMessage');
				
			if(txtName.length && txtMail01.length && txtAssunto.length && txtMessage.length){
					
				if(txtTelefone.length){
					txtTelefone.mask('(99)9999-9999');
				}
				
				jform.submit(function(){
					if(!ZSVForm.requireField(txtName, '')){
						ZSVForm.show(txtName, ZMsgs.required.name);
						
						return false;
					}
					
					if(!ZSVForm.requireField(txtMail01, '')){
						ZSVForm.show(txtMail01, ZMsgs.required.email);
						
						return false;
					}
					
					if(!ZSVForm.validEmail(txtMail01)){
						ZSVForm.show(txtMail01, ZMsgs.valid.email);
						
						return false;
					}
					
					if(!ZSVForm.requireField(txtAssunto, '')){
						ZSVForm.show(txtAssunto, ZMsgs.required.assunto);
						
						return false;
					}
					
					if(!ZSVForm.requireField(txtMessage, '')){
						ZSVForm.show(txtMessage, ZMsgs.required.message);
						
						return false;
					}
				});
			}
		}
	}
};

var ZSVForm = {
	vars: {
		layerClass: 'form-validator-layer',
		timeHide: 2000,
		timeWait: null,
		reEmail: /^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}$/i
	},
	initialize: function(options){
		$.extend(this.vars, options);
		
		this.layer = $('<div class="' + this.vars.layerClass + '"><p class="message"></p></div>').appendTo(document.body).css('opacity', 0);
		
		$(document).unbind('mousedown.zhlayer').bind('mousedown.zhlayer', function()
			{
				ZSVForm.hide();
			}
		);
	},		
	show: function(element, message, offset){
		var elm = $(element),
			offs = {x: -6, y: 0, w: 0, h: 0},
			elmoffs = elm.offset();
			
		$.extend(offs, offset);
		this.layer.css('width', 'auto');
		this.layer.find('p.message').html(message);
		this.layer.css({
			'top': elmoffs.top + elm.outerHeight() + offs.y,
			'left': elmoffs.left + offs.x,
			'width': Math.max(0, Math.min($(window).width() - elmoffs.left + offs.x, Math.max(elm.outerWidth() - 1, this.layer.width()))) + offs.w //10 = padding left + right of layer
		});
		
		var tag = elm[0].tagName;
		if(tag == 'INPUT' || tag == 'TEXTAREA')
		{
			elm[0].select();
			elm[0].focus();
		}
		
		this.layer.stop(true).fadeTo(300, 1);
		this.layer.data('show', 1);
		
		var that = this;
		clearInterval(this.vars.timeWait);
		this.vars.timeWait = setInterval(function()
			{
				ZSVForm.hide();
			},
			this.vars.timeHide
		);
	},
	hide: function(){
		if(this.layer.data('show'))
		{
			clearInterval(this.vars.timeWait);
				this.layer.stop(true).fadeTo(200, 0, function()
				{
					ZSVForm.layer.css('top', -50000);
				}
			);
			this.layer.data('show', 0);
		}
	},
	initAlterText: function(element, init){
		var jelm = $(element);
		jelm.unbind('blur.alter').unbind('focus.alter').bind('blur.alter', function()
			{
				if($.trim(jelm.val()) == '')
				{
					jelm.val(init);
				}
			}
		).bind('focus.alter', function()
			{
				if($.trim(jelm.val()) == init)
				{
					jelm.val('');
				}
			}
		);
	},
	restrictField: function(element, strRE){
		$(element).unbind('keypress.restrict').bind('keypress.restrict', function(e)
			{
				var code = typeof(e.charCode) != 'undefined' ? e.charCode : e.keyCode,
					key = (code == 0) ? '' : String.fromCharCode(code),
					re = new RegExp(strRE);
					
				if(key != '' && !re.test(key))
				{ 
					return false;
				}
			}
		);
	},
	requireField: function(element, init){
		var jelm = $(element);
		if(element && ($.trim(jelm.val()).length == 0 || $.trim(jelm.val()) == init))
		{
			return false;
		}
		
		return true;
	},
	requireCheck: function(element){
		if(element && element.checked == false)
		{
			return false;
		}
		
		return true;
	},
	validEmail: function(element){
		var jelm = $(element);
		return this.vars.reEmail.test(jelm.val());
	}
};

$.fn.custSelect = function(options){
	var defaults = {
		containerClass: 'zselect',
		optionsClass: 'zseloptions',
		selectedClass: 'selected',
		emptyText: '...',
		offset: {x: 0, y: 1},
		wndpad: {x: 0, y: 0},
		limit: 10,
		onSelect:null
	};

	options = $.extend(defaults, options);
	
	this.each(function(){
		var joriginal = $(this).addClass('hidden'),
			jcontainer = $('<div class="' + options.containerClass +'">' +
								'<input class="zseltext" type="text" name="' + joriginal.attr('name') + '-jsel" readonly="readonly" />' +
								'<a class="zselarrow" href="javascript:;">' +
									'<img src="../_img/layout/dummy.gif" alt=""/>' +
								'</a>' +
							'</div>').insertAfter(joriginal),
			jtext = jcontainer.find('input.zseltext'),
			joptions = $('<ul class="' + options.optionsClass + '"></ul>').appendTo(document.body),
			jopts = joriginal.children();
			
		if(jopts.length){
			var defaultsel, selected, focused, timerHide,
				blocking = false,
				maxwidth = jcontainer.outerWidth(),
							
				select = function(){					
					var item = $(this);
					
					jtext.val(item.data('text'));
					joriginal.val(item.data('value'));
					
					if(selected){
						selected.removeClass(options.selectedClass);
					}
					
					selected = item.addClass(options.selectedClass);
					if (options.onSelect){
						options.onSelect.call(joriginal, item.data('text'), item.data('value'));
					}
					
					joptions.slideUp('fast');
				};
			
			jopts.each(function(idx, opt){
				var item = $(opt),
					newopt = $('<li>' + item.text() + '</li>')
						.data('value', item.attr('value'))
						.data('text', item.text())
						.mousedown(select)
						.appendTo(joptions);
				
				if(item.attr('selected')){
					newopt.addClass(options.selectedClass);
					jtext.val(item.text());
					
					selected = newopt;
					defaultsel = selected;
				}
			});
			
			if(maxwidth > joptions.outerWidth()){
				joptions.css('width', maxwidth - parseInt(joptions.css('padding-left')) - parseInt(joptions.css('padding-right')) - parseInt(joptions.css('border-left-width')) - parseInt(joptions.css('border-right-width')));
			}
			
			var opitems = joptions.find('li');
			if (opitems.length && opitems.length > options.limit){
				var joptionsHeight = 0;
				for (var i = 0; i < options.limit;i++){
					joptionsHeight += $(opitems[i]).outerHeight();						
				}
				
				joptions.css({
					'height': joptionsHeight,
					'overflow-y': 'auto',
					'overflow-x': 'hidden'
				});
			}
			
			if(!defaultsel.length){
				defaultsel = opitems.eq(0);
			}
			
			if(defaultsel.length){
				jtext.val(defaultsel.data('text'));
				joriginal.val(defaultsel.data('value'));
			}
						
			jcontainer.click(function(){
				if(blocking){
					return false;
				}
				
				var jwnd = $(window),
					jdoc= $('html'),
					wsize = {x: jwnd.width(), y: jwnd.height()},
					esize = {x: jcontainer.outerWidth(true), y: jcontainer.outerHeight(true)},
					scroll = {x: jwnd.scrollLeft(), y: jwnd.scrollTop()},
					tip = {x: joptions.outerWidth(true), y: joptions.outerHeight(true)},
					props = {x: 'left', y: 'top'},
					dfpos = {x: jcontainer.offset().left, y: jcontainer.offset().top + jcontainer.outerHeight()},
					obj = {};

				for (var z in props){
					obj[props[z]] = dfpos[z] + options.offset[z];
					if ((obj[props[z]] + tip[z] - scroll[z]) > wsize[z] - options.wndpad[z]){
						obj[props[z]] = dfpos[z] - options.offset[z] - tip[z] - esize[z];
					}
				}
				
				joptions.css(obj).slideToggle('fast');
				
				return false;
			}).hover(function(){
				clearTimeout(timerHide);
			}, function(){
				timerHide = setTimeout(function(){
					joptions.slideUp('fast');
				}, 350);
			});
			
			joptions.hover(function(){
				clearTimeout(timerHide);
			}, function(){
				timerHide = setTimeout(function(){
					joptions.slideUp('fast');
				}, 350);
			}).css('display', 'none');
			
			joriginal.data('resetFunction', function(){
				joptions.children().removeClass('selected');
				defaultsel.addClass('selected');
				jtext.val(defaultsel.data('text'));
				joriginal.val(defaultsel.data('value'));
			});
		}else{
			joptions.remove();
		}
	});
};

$.fn.customSelectReset = function(){
	this.each(function(){
		if($(this).data('resetFunction')){
			$(this).data('resetFunction')();
		}
	});
};

var mouse_Y;

jQuery(document).ready(function(){
	
	 
	$(document).mousemove(function(e){
      mouse_Y=e.pageY;
    }); 
	
	
	$("#nl_enviar").click(function(){
		vemail=$("#nl_email").val();
		$.post("../home/processar_newsletter.php", {email:vemail},
			function(data){
				alert(data);
		 });	
	});
	
	
	ZSVForm.initialize();
	
	Artex.initCustomSelect();
	Artex.closeStaticBlock();
	Artex.hoverCama();
	Artex.slideGallery();
	Artex.toggleTamanho();
	Artex.validateContact();
});

var banner=1;
function muda_banner(){
	
	var swf;
	if(banner==1){
		swf = 'destaque2';
		banner=2;
		//$("#banner").html('<object width="1000" height="170">  <param name="wmode" value="transparent"></param><param name="movie" id="banner_param" value="../_img/_home/destaque2.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="../_img/_home/destaque2.swf" wmode="transparent" id="banner_embed" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1000" height="170"></embed></object>');
	}else{
		swf = 'destaque';
		banner=1;
		//$("#banner").html('<object width="1000" height="170">  <param name="wmode" value="transparent"></param><param name="movie" id="banner_param" value="../_img/_home/destaque.swf"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="../_img/_home/destaque.swf"  wmode="transparent" id="banner_embed" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1000" height="170"></embed></object>');
	}
	
	var oBanner = '<object width="1000" height="170">'
			+'<param name="wmode" value="transparent"></param>'
			+'<param name="movie" id="banner_param" value="../_img/_home/'+swf+'.swf"></param>'
			+'<param name="allowFullScreen" value="true"></param>'
			+'<param name="allowscriptaccess" value="always"></param>'
			+'<embed src="../_img/_home/'+swf+'.swf" wmode="transparent" id="banner_embed" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1000" height="170"></embed>'
			+'</object>';
	
	$("#banner").html(oBanner);
	
}
