// JavaScript Document
$ = jQuery.noConflict();

(function($){
	$.images = {
		cache: [],
		preload: function(src) {
			var img = document.createElement('img');
			img.src = src;
			this.cache.push(img);
		}
	}
	
    $.fn.animate_visual = function(slides, sec){
		var current = 0;
		var interval = sec * 1000;
		var total = slides.length;
		var timer = window.setInterval (show_next_slide, interval);

       function show_next_slide() {
		   current++;
		   if (current > total) current = 0;
		   var img = $('.visualSlide img');
		   var bg_url = img.attr('src');
		   $('.visualSlide').css({ 'background': 'transparent url('+bg_url+') 0 0 no-repeat' });
		   img.css({ 'opacity' : 0 }).attr('src', slides[current]);
		   img.stop().fadeTo(1500, 1);
		}
    }
	
	$.fn.show_large = function(target_class) {
		$(this).each(function() {
			$.images.preload($(this).attr('href'));
			$(this).click(function(e) {
				e.preventDefault();
				var img_wrapper = $('.'+target_class);
				if (img_wrapper.find('img').attr('src').indexOf($(this).attr('href')) != -1) {
					return false;
				}
				else {
					var new_img = document.createElement('img');
					if ($('html').hasClass('ie8') || $('html').hasClass('ie7')) new_img.src = $(this).attr('href')+'?'+Math.floor(Math.random()*10);
					else new_img.src = $(this).attr('href');
					new_img.onload = function() {
						img_wrapper.animate({ height: new_img.height }, 500);
						img_wrapper.find('img').fadeTo(0, 0, function() {
							$(this).attr({ 'src': new_img.src, 'width': new_img.width, 'height': new_img.height }).fadeTo(500,1);
						});
					}
				}
			});
		});
    }
    
    $(function(){
		if ($('.visualSlidesWrapper')) {
		   var slides = [
			'assets/images/visual_02.jpg',
			'assets/images/visual_05.jpg',
			'assets/images/visual_01.jpg',
			'assets/images/visual_03.jpg',
			'assets/images/visual_04.jpg',
		   ]
		   $('.visualSlidesWrapper').animate_visual(slides, 4);
		}
    });
    
})(jQuery);

$(document).ready(function() {
	
});

var app = {};
app.validate_email = function (str) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(str);
}
