/***************************************************

	basic functions

***************************************************/

observe(window, 'load', addAnchorAction);
//observe(window, 'load', addBlindUpAction);

function observe(target, type, listener)
{
	if (target.addEventListener) target.addEventListener(type, listener, false);
	else if (target.attachEvent) target.attachEvent('on' + type, function() { listener.call(target, window.event); });
	else target['on' + type] = function(e) { listener.call(target, e || window.event); };
}

function addAnchorAction(event)
{
	if (!document.getElementsByTagName || !document.getElementById)
	{
		preventDefault(event);
		return;
	}
	
	var anchors	= document.getElementsByTagName('a');
	var length	= anchors.length;
	
	// definition of action for anchor
	
	for (var i = 0; i < length; i++)
	{
		if (anchors[i].className == 'ext')
			observe(anchors[i], 'click', newWindow);
		else if (anchors[i].className == 'ext uno')
			observe(anchors[i], 'click', newWindowUno);
		else if (anchors[i].className == 'totop')
			observe(anchors[i], 'click', softScrollBack);
		else if (anchors[i].className == 'back')
			observe(anchors[i], 'click', back);
		else if (anchors[i].id == 'add_bookmark')
			observe(anchors[i], 'click', addBookmark);
	}
	
	preventDefault(event);
}

function newWindow(event)
{
	var w = window.open(this.href);
	w.focus();
	
	preventDefault(event);
}

var wObject = new Array();

function newWindowUno(event)
{
	var pIndex	= this.href.indexOf('://')+3;
	var drIndex	= this.href.indexOf('/', pIndex);
	var domain	= this.href.substr(pIndex, drIndex - pIndex);
	domain		= domain.replace(/\.|-/g, '');
	
	var w = window.open(this.href, domain);
	w.focus();
	
	wObject[domain] = w;
	
	preventDefault(event);
}

function addBookmark(event)
{
	var title	= 'ゴルフ用品の通信販売は、品揃え豊富なバーチャル エイ・ワン・フィールド';
	var url		= 'http://a1v.jp/';
	
	if (window.sidebar)
		window.sidebar.addPanel(title, url, '');
	else if (document.all)
		window.external.AddFavorite( url, title);
//	else if (window.opera && window.print)
//		return true;
	
	preventDefault(event);
}

function addBlindUpAction(event)
{
	if (!document.getElementsByTagName || !document.getElementById)
	{
		preventDefault(event);
		return;
	}
	
	var p = document.getElementById('shortcut_shipping_free');
	
	if (document.URL.indexOf('/cart/') < 0 && p)
		setTimeout('blindUpShippingFree()', 10000);
	
	preventDefault(event);
}

function blindUpShippingFree()
{
	Effect.BlindUp('shortcut_shipping_free', {duration: 2.0});
}

// respect to javascript.maxux.com

var scrj = 1;

function softScrollBack(event)
{
	var scdist  = document.body.scrollTop  || document.documentElement.scrollTop;
	
	if (scrj < 50 && scdist)
	{
		scdist = (scdist>2) ? Math.ceil(scdist*.2) : 1;
		scrj++;
		scrollBy(0, -scdist);
		
		setTimeout(softScrollBack, 30);
	}
	else
	{
		scrollTo(0, 0);
		
		scrj = 1;
		clearTimeout();
	}
	
	preventDefault(event);
}

function back(event)
{
	history.back();
	
	preventDefault(event);
}

function preventDefault(event)
{
	if (event)
	{
		if (event.preventDefault)
			event.preventDefault();
		
		event.returnValue = false;
	}
}

/**************************************************/
