/*------------------------------------------------------------

	jquery.anchorUtil.js
	Copyright (c) 2009 Naoki Ueno
	Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
	and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
	Date: 7/11/2008

	@howto
		jQuery.anchorStay({ bodyClass : 'pStay_' , stayClass : 'pNavStay' });

	@howto
		jQuery.scrollFor
		jQuery.scrollFor('#pagetop');
		jQuery.scrollFor('#pagetop', { duration : 1000, offset : 50 });
		jQuery.scrollFor('#pagetop', {}, callbackFunc);

		jQuery.fn.scrollFor
		jQuery('.pageTopAnchor').scrollFor('#pagetop');
		jQuery('.pageTopAnchor').scrollFor('#pagetop', { event : 'mouseover', duration : 1000, offset : 50 });
		jQuery('.pageTopAnchor').scrollFor('#pagetop', {}, callbackFunc);

------------------------------------------------------------*/

/*------------------------------------------------------------
	Anchor Stay
------------------------------------------------------------*/
(function($){
$.extend({
	anchorStay: function() {
		var setting = $.extend({
			bodyClass : 'pStay_',
			stayClass : 'pNavStay'
		}, $.makeArray(arguments).shift());

		var classArray = $('body').attr('class').split(' ');
		$.each(classArray, function(index, value){
			if(value.search('^'+setting.bodyClass) != -1){
				var targetId = value.substr(setting.bodyClass.length);
				return $('#'+targetId).addClass(setting.stayClass);
			}
		});
	}
});
})($jq['1.3.2']);


/*------------------------------------------------------------
	Anchor Scroll
------------------------------------------------------------*/
(function($){
$.extend({
	scrollFor : function(elem, settings, callback) {
		settings = $.extend({
			duration : 500,
			offset : 0
		}, settings);
		$('html, body').animate({ scrollTop : $(elem).offset().top - settings.offset }, settings.duration, 'easeOutQuart', function(){
			/*if((typeof elem).toLowerCase() == 'string' && elem.indexOf('#') != -1){
				var hash = elem.substr(1);
				location.hash = hash;
			}*/
			if(callback){ callback(); }
		});
	}
});
$.fn.extend({
	scrollFor : function(elem, settings, callback) {
		return this.each(function() {
			settings = $.extend({
				event : 'click'
			}, settings);
			$(this).bind(settings.event, function(e){
				if(!elem || elem!='') {
					elem = this.href;
					var hash = elem.lastIndexOf('#');
					elem = elem.substr(hash);
				}
				$.scrollFor(elem, settings, callback);
				e.preventDefault();
			});
		});
	}
});
})($jq['1.3.2']);

