/* -----------------------------------------------------------------------*/
// imageFade
/* -----------------------------------------------------------------------*/
$(function(){
	if(!document.getElementById('content')) return false;
	var imgs = $('#content').find('p.image').find('img');
	
	var speed = 300;
	var delayTime = 0;
	var addTime = 100;
	var count = 0;
	
	$(window).load(function() {
		for (var i=0; i<imgs.length; i++) {
			$(imgs[i]).stop().delay(delayTime).animate({
				opacity: 1
			}, speed, function() {
				if($('body#single').length > 0 && count == 0) {
					$('body#single').find('article:first-child').addClass('loaded');
					count++;
				} else {
					$(this).parents('.article').addClass('loaded');
				}
			});
			delayTime = (delayTime + addTime);
		}
	});
});

/* -----------------------------------------------------------------------*/
// accordion
/* -----------------------------------------------------------------------*/
$(function() {
	$("#menu ul:not("+$("ul#nav li a.selected").attr("href")+")").hide();
	var nav = $('ul#nav');
	var slideUpSpeed = 360;
	var slideDownSpeed = 420;
	var easing = 'swing';
	
	var li = $(nav).find('li').find('span');
	var menu = $('#menu').find('ul');
	
	$(li).click(function(e) {
		var panel = $($(this).find('a').first().attr('href'));
		
		$(li).each(function(){
			$(this).removeClass('current');
		});
		$(menu).each(function(){
			$(this).slideUp(slideUpSpeed, easing);
		});
		if(panel.css('display') != 'block') {
			$(this).addClass('current');
			$(panel.slideDown(slideDownSpeed, easing));
		} else {
			$(this).removeClass('current');
		}
		e.preventDefault();
	});
});

/* -----------------------------------------------------------------------*/
// imageOpacity
/* -----------------------------------------------------------------------*/
$(function() {
	var anchor = $('#content').find('p.image').find('a');
	$(anchor).hover(function() {
		$(this).stop(true,true).fadeTo(200, 0.7);
	},function() {
		$(this).stop(true,true).fadeTo(360, 1.0);
	});
});

/* -----------------------------------------------------------------------*/
// prepareLinks
/* -----------------------------------------------------------------------*/
$(function() {
	if(!document.getElementsByTagName) return false;
	
	var excepturi = new RegExp(/^http(s)?:\/\/+([\w-]+\.)?(io3000\.com)+(\/)?/);
	var newwin  = new RegExp(/^(.+\s)?(openwin)(\s.+)?$/);
	
	var links = document.getElementsByTagName('a');
	
	for (var i=0; i<links.length; i++) {
		if(links[i].getAttribute('href', 2).match(excepturi)) {
			continue;
		} else if(links[i].getAttribute('href', 2).match(/^http(s)?:\/\//i) || links[i].className.match(newwin)) {
			links[i].onclick = function() {
				openWin(this.getAttribute('href'));
				return false;
			}
		}
	}
});

function openWin(winURL) {
	var target = window.open(winURL,'','');
}

/* -----------------------------------------------------------------------*/
// responsive images
/* -----------------------------------------------------------------------*/
$(function(){
	var postfix = '_s';
    
	$('img.responsive').not('[src*="'+ postfix +'."]').each(function() {
		var img = $(this);
		var src = img.attr('src');
		var src_s = src.substr(0, src.lastIndexOf('.'))
				+ postfix
				+ src.substring(src.lastIndexOf('.'));
		$('<img>').attr('src', src_s);
		if (document.documentElement.clientWidth < 380) {
			img.attr('src', src_s);
		} else {
			img.attr('src', src);
		}
	});
});

/* -----------------------------------------------------------------------*/
// rollover
/* -----------------------------------------------------------------------*/
$(function() {
	if(!document.getElementsByTagName) return false;

	var over = new RegExp(/^(.+\s)?(over)(\s.+)?$/);
	var addOver = '_on';

	var imgs = document.getElementsByTagName('img');
	var preload = new Array();
	var tempScr;

	for(var i=0; i<imgs.length; i++) {
		if(imgs[i].className.match(over)) {
			var src = imgs[i].getAttribute('src');
			var ext = src.substring(src.lastIndexOf('.'), src.length);
			var osrc = src.replace(ext, addOver + ext);
			
			imgs[i].setAttribute('osrc', osrc);
			
			preload[i] = new Image();
			preload[i].src = osrc;
			
			imgs[i].onmouseover = function() {
				tempSrc = this.getAttribute('src');
				var osrc = this.getAttribute('osrc');
				this.setAttribute('src', osrc);
			}
			imgs[i].onmouseout = function() {
				if(!tempSrc) {
					tempSrc = this.getAttribute('src').replace(addOver + ext, ext);
				} else {
					this.setAttribute('src', tempSrc);
				}
			}
		}
	}
});

/* -----------------------------------------------------------------------*/
// smoothScroll
/* -----------------------------------------------------------------------*/
$(function() {
	var pageScroll = $('#pagetop').find('a[href^="#"]');
	var speed = 600;
	var easing = 'easeInOutCirc'; 
	
	$(pageScroll).click(function(e) {
		var ref = $(this).attr('href');
		var ids = ref.substr(ref.lastIndexOf('#'), ref.length);
		var dst = $(""+ids+"");
		
		var final_y = $(dst).offset().top;
		var final_x = $(dst).offset().left;
		
		$('html,body').stop().animate({
			scrollTop: final_y,
			scrollLeft: final_x
		}, speed, easing);
		e.preventDefault();
	});
});

/* -----------------------------------------------------------------------*/
// smartLoading
/* -----------------------------------------------------------------------*/
$(window).load(function() {
	if(!document.getElementById('smartLoading')) return false;
	
	var wrapper = $('#articleWrapper');
	var more = $('#smartLoading').find('a.more');
	var pageCount = 2;
	var count = 0;
	var flg = false;
	
	var current = location.href;
	var suffix = current.substr(current.lastIndexOf('/'), current.length);
	var prefix = current.slice(0, current.lastIndexOf('/'));
	var page = '/page/';
	
	$(more).attr('href', ""+prefix + page + pageCount + suffix+"");
	
	var elm = document.createElement('div');
	
	$(more).live('click',function(e){
		if(flg == true) {
			return false;
		}
		flg = true;
		$(more).addClass('on');
		var moreArticles = $("#moreArticles"+count+"");
		
		var link= $(this).attr('href');
		var speed = 300;
		var delayTime = 0;
		var addTime = 100;
		
		var setContent = function() {
			$(moreArticles).load(link + ' div.articleSection', null, function(responseText, status, XMLHttpRequest) {
				if(status === 'success') {
					$(this).fadeIn(speed, setImgs);
				}
				else if(status === 'error') {
					$(more).fadeOut(speed);
				}
			});
		};
		
		var setImgs = function() {
			var moreimgs = $(this).find('p.image').find('img');
			for (var i=0; i<moreimgs.length; i++) {
				$(moreimgs[i]).stop().delay(delayTime).animate({
					opacity: 1
				}, speed, function() {
					$(this).parents('.article').addClass('loaded');
				});
				delayTime = (delayTime + addTime);
			}
			
			var moreAnchor = $(this).find('p.image').find('a');
			$(moreAnchor).hover(function() {
				$(this).stop(true,true).fadeTo(200, 0.7);
			},function() {
			$(this).stop(true,true).fadeTo(360, 1.0);
			});
			flg = false;
			$(more).removeClass('on');
		};
		
		$(moreArticles).fadeOut(speed, setContent);
		count++;
		
		pageCount = 2 + count;
		$(more).attr('href', ""+prefix + page + pageCount + suffix+"");
		
		var clone = elm.cloneNode(true);
		$(clone).attr('id', "moreArticles"+count+"");
		$(wrapper).append(clone);
		
		e.preventDefault();
	})
});
