var cHash = location.hash;
var fi_timer;
var fo_timer;


function clearAllInterval()
{
	clearInterval(fi_timer);
	clearInterval(fo_timer);
	clearInterval(main_timer);
}
function loadScript(url)
{
  var elScript = document.createElement('script');
  elScript.src = 'http://www.nobumatsuhisa.com/iphone/'+url;
  elScript.type = 'text/javascript';
   elScript.charset= 'utf-8';
  document.body.appendChild(elScript);
}
function listItems(id, articles)
{
	if (id != 'category') {
		var tmpid = id.split('||');
		var prevName = tmpid[1];
		id = tmpid[0];
	}
	var id_prefix = id.substring(0,1);
  	var ela = document.getElementById('content');
  	ela.innerHTML = '';
  	var elUl = document.createElement('ul');
	if (id == 'category') {
		ela.scrollTop = 0;
		elUl.className = 'category';
		var bgcol = 'whi';
		for (var a in articles) {
			var cid = articles[a].cid;
			var name = articles[a].name;
			var num = articles[a].numberOfItems;
			var elLi = document.createElement('li');
			elLi.className = bgcol;
			elUl.appendChild(elLi);
			var elA = document.createElement('a');
			elA.href = '#id=subcategory&&cid='+cid;
			elA.innerHTML = name+' ('+num+')';
			elA.onmousedown = function(){
				var title = this.innerHTML.split('(');
				var elst = document.getElementById('sub_title');
				elst.href = '#id=category';
				var prev = elst.innerHTML;
				elst.className = prev;
				var elIc = document.getElementById('icons');
				elIc.style.visibility = 'hidden';
			}
			elLi.appendChild( elA );
			if (bgcol == 'whi' && a == articles.length-1) {
				elLi.style.border = 'none';
			}
			if (bgcol == 'whi') {
				bgcol = 'gra';
			} else {
				bgcol = 'whi';
			}
		}
	}
	if (id_prefix == 's') {
		var elst = document.getElementById('sub_title');
		elst.href = '#id=category';
		elst.innerHTML = prevName;
		var bkAr = document.getElementById('bkArrow');
		bkAr.style.display = 'inline';
		ela.scrollTop = 0;
		elUl.className = 'subcategory';
		var bgcol = 'whi';
		var elst = document.getElementById('sub_title');
		elst.href = '#id=category';
		for (var a in articles) {
			var sid = articles[a].sid;
			var name = articles[a].name;
			var num = articles[a].numberOfItems;
			var elLi = document.createElement('li');
			elLi.className = bgcol;
			elUl.appendChild(elLi);
			var elA = document.createElement('a');
			elA.href = '#id=items&&sid='+sid;
			elA.innerHTML = name+' ('+num+')';
			elA.onmousedown = function(){
				var title = this.innerHTML.split('(');
				var elst = document.getElementById('sub_title');
				elst.href = '#id='+id;
				var prev = elst.innerHTML;
				elst.className = prev;
				elst.innerHTML = title[0];
				var elIc = document.getElementById('icons');
				elIc.style.visibility = 'hidden';
			}
			elLi.appendChild( elA );
			if (bgcol == 'whi' && a == articles.length-1) {
				elLi.style.border = 'none';
			}
			if (bgcol == 'whi') {
				bgcol = 'gra';
			} else {
				bgcol = 'whi';
			}
		}
	}
	if (id_prefix == 'i') {
		prevIds = tmpid[1].split('&');
		prevName = prevIds[0];
		cid = prevIds[1];
		var elst = document.getElementById('sub_title');
		elst.href = '#id=subcategory&&cid='+cid;
		elst.innerHTML = prevName;
		var bkAr = document.getElementById('bkArrow');
		bkAr.style.display = 'inline';
		ela.scrollTop = 0;
		elUl.className = 'items';
		var bgcol = 'whi';
		for (var a in articles) {
			var iid = articles[a].iid;
			var image = articles[a].image;
			var hasImg = articles[a].hasImg;
			var name = articles[a].name;
			var price = articles[a].price1;
			var elLi = document.createElement('li');
			elLi.className = bgcol;
			elUl.appendChild(elLi);
			if (hasImg == '1') {
				var elImg = document.createElement('img');
				elImg.src = image;
				elLi.appendChild(elImg);
			} else { 
				elLi.style.height = 'auto';
			}
			var elP_1 = document.createElement('p');
			elP_1.innerHTML = name;
			elLi.appendChild(elP_1);
			var elP_2 = document.createElement('p');
			if (hasImg == '0') {
				elP_1.style.width = 'auto';
			}
			elP_2.innerHTML = price;
			elLi.appendChild(elP_2);
			if (bgcol == 'whi' && a == articles.length-1) {
				elLi.style.border = 'none';
			}
			if (bgcol == 'whi') {
				bgcol = 'gra';
			} else {
				bgcol = 'whi';
			}
		}
	}
	ela.appendChild( elUl );
	if (id_prefix == 's' || id_prefix == 'i') {
		if (ela.offsetHeight >= ela.scrollHeight) {
			tglScControll('any', 'hide');
		} else {
			tglScControll('category', 'show');
		}
	}
}
function loadMenu()
{
	loadScript('php/db_getData.php?id=category');
}
function reloadPage()
{
	clearAllInterval();
	var id = cHash.substring(1);
	var idname = id.substring(3,5);
	if (cHash == '') {
		idname = 'ho';
	}
	if (idname == 'ca') {
		resetSubTitle();
		tglSubTitle('block');
		showContents('content');
		loadScript('php/db_getData.php?'+id);
		tglMenu(idname);
		tglScControll('category', 'hide');
	} else if (idname == 'in') {
		resetSubTitle();
		tglSubTitle('none');
		showContents('info');
		tglMenu(idname);
		tglScControll('any', 'hide');
	} else if (idname == 'cr') {
		resetSubTitle();
		tglSubTitle('none');
		showContents('credits');
		tglMenu(idname);
		tglScControll('any', 'hide');
	} else if (idname == 'ho') {
		resetSubTitle();
		tglSubTitle('none');
		showContents('home');
		tglMenu(idname);
		main_timer=slideShow();
		tglScControll('any', 'hide');
	} else if (idname == 'su') {
		var elIc = document.getElementById('icons');
		elIc.style.visibility = 'hidden';
		loadScript('php/db_getData.php?'+id);
	} else {
		var elIc = document.getElementById('icons');
		elIc.style.visibility = 'hidden';
		loadScript('php/db_getData.php?'+id);
	}
}
function checkHash()
{
	if (location.hash != cHash)
    {
		cHash = location.hash;
		reloadPage();
	}
}
function checkLocation()
{
	var timer = setInterval("checkHash()", 500);
}
function resetSubTitle()
{
	var elst = document.getElementById('sub_title');
	elst.href = '#id=category';
	elst.innerHTML = 'Categories';
	var bkAr = document.getElementById('bkArrow');
	bkAr.style.display = 'none';
	var elIc = document.getElementById('icons');
	elIc.style.visibility = 'visible';
}
function tglSubTitle(disp)
{
	var elsm = document.getElementById('sub_menu');
	elsm.style.display = disp;
	var elIc = document.getElementById('icons');
	if (elIc.style.visibility == 'hidden') {
		elIc.style.visibility = 'visible';
	}
}
function showContents(id)
{
	var divids = ['content','home','info','credits'];
	for ( var i=0; i<divids.length; i++) {
		var target = divids[i];
		var elco = document.getElementById(target);
		if (id == target) {
			elco.style.display = 'block';
		} else {
			elco.style.display = 'none';
		}
	}
}
function tglMenu(id)
{
	var eltop = document.getElementById('menu_bar_top').firstChild.firstChild;
	var elbotDiv = document.getElementById('menu_bar_bottom');
	var elbot = elbotDiv.firstChild.firstChild;
	if (id == 'ca') {
		eltop.innerHTML = 'info';
		eltop.href = '#id=info'
		//elbotDiv.style.display = 'none';
	}
	if (id == 'in') {
		eltop.innerHTML = 'menu';
		eltop.href = '#id=category'
		//elbotDiv.style.display = 'none';
	}
	if (id == 'ho') {
		eltop.innerHTML = 'menu';
		eltop.href = '#id=category'
		elbot.innerHTML = 'info';
		elbot.href = '#id=info';
		//elbotDiv.style.display = 'block';
	}
	if (id == 'cr') {
		eltop.innerHTML = 'info';
		eltop.href = '#id=info'
		//elbotDiv.style.display = 'none';
	}
}
function slideShow()
{
	initOpacity('top_layer', 0);
	initOpacity('second_layer', 0);
	loadPhoto(0, 'second_layer');
	clearInterval(fi_timer);
	fi_timer = fadeIn(1, 'second_layer');
	var fout = 'second_layer';
	var fin = 'top_layer';
	var photoid = 1;
	var main_timer = setInterval(function(){
		clearInterval(fo_timer);								  
		fo_timer = fadeOut(1, fout);
		var delay = setTimeout(function(){
			loadPhoto(photoid, fin);
			clearInterval(fi_timer);
			fi_timer = fadeIn(1, fin);
			if (photoid == 9) {
				photoid = 0;
			} else {
				photoid++;
			}
			var tmp = fout;
			fout = fin;
			fin = tmp;
		}, 300);
	}, 3000);
	return main_timer;
}

function loadPhoto(id, layer)
{
	var article = [
				   {src:'images/cutup_images/top_pic1.jpg', ref:'images/cutup_images/re_top_pic1.jpg'},
				   {src:'images/cutup_images/top_pic2.jpg', ref:'images/cutup_images/re_top_pic2.jpg'},
				   {src:'images/cutup_images/top_pic3.jpg', ref:'images/cutup_images/re_top_pic3.jpg'},
				   {src:'images/cutup_images/top_pic4.jpg', ref:'images/cutup_images/re_top_pic4.jpg'},
				   {src:'images/cutup_images/top_pic5.jpg', ref:'images/cutup_images/re_top_pic5.jpg'},
				   {src:'images/cutup_images/top_pic6.jpg', ref:'images/cutup_images/re_top_pic6.jpg'},
				   {src:'images/cutup_images/top_pic7.jpg', ref:'images/cutup_images/re_top_pic7.jpg'},
				   {src:'images/cutup_images/top_pic8.jpg', ref:'images/cutup_images/re_top_pic8.jpg'},
				   {src:'images/cutup_images/top_pic9.jpg', ref:'images/cutup_images/re_top_pic9.jpg'},
				   {src:'images/cutup_images/top_pic10.jpg', ref:'images/cutup_images/re_top_pic10.jpg'},
				   ];
	if (id<0||id>=article.length){
		return false;
	}
	var src = article[id].src;
	var ref = article[id].ref;
	
	var elLayer = document.getElementById(layer);
	elLayer.className = id;
	elLayer.innerHTML = '';
	
	var elUl = document.createElement('ul');

	var elLi_img = document.createElement('li');
	elUl.appendChild(elLi_img);
	var elImg = document.createElement('img');
	elImg.className = 'photo';
	elImg.src = src;
	elLi_img.appendChild(elImg);
	
	var elLi_ref = document.createElement('li');
	elUl.appendChild(elLi_ref);
	var elRef = document.createElement('img');
	elRef.className = 'reflection';
	elRef.src = ref;
	elLi_ref.appendChild(elRef);
	
	elLayer.appendChild(elUl);
}
function fadeIn(time, layer)
{
	var fi_timer = setInterval(function(){
		var secondlayer = document.getElementById(layer);
		if (secondlayer.style.opacity) {
			var opacity = secondlayer.style.opacity;
			if (opacity >= 1) {
				clearInterval(fi_timer);
				return;
			} else {
				secondlayer.style.opacity = opacity * 1 + 0.05;
			}
		} else {
			var tmpstr = secondlayer.style.filter.substring(14).split(')');
			var opacity = tmpstr[0]*1;
			if (opacity >= 100) {
				clearInterval(fi_timer);
				return;
			} else {
				var value = opacity  + 5;
				secondlayer.style.filter = 'alpha(opacity=' + value + ')';
			}
		}
	},time);
	return fi_timer;
}
function fadeOut(time, layer)
{
	var fo_timer = setInterval(function(){
		var secondlayer = document.getElementById(layer);
		if (secondlayer.style.opacity) {
			var opacity = secondlayer.style.opacity;
			if (opacity <= 0) {
				clearInterval(fo_timer);
				return;
			} else {
				secondlayer.style.opacity = opacity * 1 - 0.05;
			}
		} else {
			var tmpstr = secondlayer.style.filter.substring(14).split(')');
			var opacity = tmpstr[0]*1;
			if (opacity <= 0) {
				clearInterval(fo_timer);
				return;
			} else {
				var value = opacity  - 5;
				secondlayer.style.filter = 'alpha(opacity=' + value + ')';
			}
		}
	},time);
	return fo_timer;
}
function initOpacity(id, number)
{
	var secondlayer = document.getElementById(id);
	secondlayer.style.opacity = number;
	secondlayer.style.filter = 'alpha(opacity='+number*100+')';
}

function rpImg(id,action)
{
	var target = document.getElementById(id);
	if (action == 'on') {
		if (id == 'bt_up') {
			target.src = 'images/cutup_images/button_arrow-up_on.gif';
		} else {
			target.src = 'images/cutup_images/button_arrow_down_on.gif';
		}
	} else {
		clearInterval(sc_timer);
		if (id == 'bt_up') {
			target.src = 'images/cutup_images/button_arrow_up.gif';
		} else {
			target.src = 'images/cutup_images/button_arrow_down.gif';
		}
	}
}

function scrollDiv(id, action)
{
	var elDiv = document.getElementById('content');
	var divHeight = elDiv.offsetHeight;
	var scrheight = elDiv.scrollHeight;
	var currentTop = elDiv.scrollTop;
	if (id == 'category') {
		var liheight = 10;
		//var liheight = 46;
	} else {
		var liheight = 123;
	}
	var numLi = elDiv.firstChild.childNodes.length;
	if (action == 'up') {
		newy = currentTop - liheight;
		if (newy > 0) {
			elDiv.scrollTop = newy;
		} else {
			elDiv.scrollTop = 0;
			clearInterval(sc_timer);
		}
	} else {
		newy = currentTop + liheight;
		if (newy < scrheight - divHeight) {
			elDiv.scrollTop = newy;
		} else {
			elDiv.scrollTop = scrheight - divHeight;
			clearInterval(sc_timer);
		}
	}
}
function autoScroll(action)
{
	if (action == 'up') {
		rpImg('bt_up','on');
		sc_timer = setInterval(function(){scrollDiv('category', 'up');},100);
	} else {
		rpImg('bt_down','on');
		sc_timer = setInterval(function(){scrollDiv('category', 'down');},100);
	}
	return sc_timer;
}
	
function tglScControll(id, action)
{
	var elIcon = document.getElementById('icons');
	var elScCont = document.getElementById('scrollcontroll');
	if (action == 'show') {
		elIcon.style.display = 'none';
		elScCont.style.display = 'block';
	} else {
		elIcon.style.display = 'block';
		elScCont.style.display = 'none';
	}
}
function initScControll()
{
	document.getElementById('scup').onmousedown = function(){
		var sc_timer=autoScroll('up');
	}
	document.getElementById('scup').onmouseup = function(){
		rpImg('bt_up','off');
	}
	document.getElementById('scdown').onmousedown = function(){
		var sc_timer=autoScroll('down');
	}
	document.getElementById('scdown').onmouseup = function(){
		rpImg('bt_down','off');
	}
}
function resetSubcategory()
{
	var elLi = document.getElementById('sub_title');
	var linkurl = elLi.href;
	var idstr=linkurl.split('#');
	var idpre=idstr[1].substring(3,4);
	if (idpre=='s') {
		var prev=elLi.className;
		elLi.innerHTML=prev;
	}
	location.hash = '#'+idstr[1];
}
function isIphone()
{
	var isIphone = navigator.userAgent.indexOf("iPhone") != -1;
	if (isIphone) {
		window.open('http://www.nobumatsuhisa.com/iphone/index.htm','_self');
		return;
	}
	var isMobile = navigator.userAgent.indexOf("Mobile/") != -1;
	var isSafari = navigator.userAgent.indexOf("Safari/") != -1;
	var isWebkit = navigator.userAgent.indexOf("AppleWebKit/") != -1;
	if (isMobile && isSafari && isWebkit) {
		window.open('http://www.nobumatsuhisa.com/iphone/index.htm','_self');
	}
	return false;
}
function init()
{
	isIphone();
	initScControll();
	checkLocation();
}