/******************************************************************************
 * アプリケーション
 */

/******************************************************************************
 * 商品を得る
 */

var isLocal = false;
//var Uri = 'http://tricode.dyndns.org:50080/products/index/';
//var Uri = 'http://192.168.1.121/products/index/';
var Uri = 'http://www.hirosaki-bussan.or.jp/products/index/';
var Dat = 'datas/products1.dat';
var Tag0 = new Tag('');
var Tag1 = new Tag('');
var Tag1s = [];
var Tag2 = new Tag('');
var Tag2s = [];
var Freeword = '';
var Order = 1;
var Products = [];
var PickupProducts = [];
var RecommendProducts = [];

var TopicsAtom = null;
var InformationsAtom = null;

function get_products(tag0, tag1, tag2, freeword, order, callback) {
	var uri = null;
	
	if ($('indicator')) {
		Element.show('indicator');
	}
	if ($('shelf')) {
		Element.hide('shelf');
	}
	
	if (isLocal) {
		uri = Dat;
	}
	else {
		uri = Uri;
		
		if (tag0 != null && tag0.length > 0)  {
			uri += encodeURI(tag0) + '/';
		}
		else {
			uri += '*/';
		}
		
		if (tag1 != null && tag1.length > 0) {
			uri += encodeURI(tag1) + '/';
		}
		else {
			uri += '*/';
		}
		
		if (tag2 != null && tag2.length > 0) {
			uri += encodeURI(tag2) + '/';
		}
		else {
			uri += '*/';
		}
		
		if (freeword != null && freeword.length > 0) {
			uri += encodeURI(freeword);
		}
		else {
			uri += '*';
		}
		
		if (order != null) {
			uri += '?order=' + encodeURI(order);
		}
		else {
			uri += '?order=1';
		}
		
		if (callback != null && callback.length > 0) {
			uri += '&callback=' + encodeURI(callback);
		}
		
		//alert(uri);
	}
	
	dynamicLoad(uri);
	
	return undefined;
}

function get_products_order_by_name(tag0, tag1, tag2, freeword) {
	var order = 2;
	
	switch (Order) {
		case 1: 
			order = 2;
			break;
		case 2: 
			order = 1;
			break;
	}
	
	get_products(tag0, tag1, tag2, freeword, order);
}

function get_products_order_by_price(tag0, tag1, tag2, freeword) {
	var order = 4;
	
	switch (Order) {
		case 3: 
			order = 4;
			break;
		case 4: 
			order = 3;
			break;
	}
	
	get_products(tag0, tag1, tag2, freeword, order);
}

function get_products_callback(json) {
	Products = json.Products;
	Tag0 = json.Tag0;
	Tag0s = json.Tag0s;
	Tag1 = json.Tag1;
	Tag1s = json.Tag1s;
	Tag2 = json.Tag2;
	Tag2s = json.Tag2s;
	Freeword = json.Freeword;
	Order = json.Order;
	Members = json.Members;
	
	if (Freeword == '*') {
		Freeword = '';
	}
	if ($('freeword')) {
		$('freeword').value = Freeword;
	}
	
	render_for('shelf');
	
	if ($('indicator')) {
		Element.hide('indicator');
	}
	if ($('shelf')) {
		Element.show('shelf');
	}
}

function get_pickup_products() {
	get_products('ピックアップ', null, null, null, 1, 'get_pickup_products_callback');
}

function get_pickup_products_callback(json) {
	var i = 0;
	var from = 0;
	var to = 0;
	var product = null;
	
	PickupProducts = json.Products;
	
	for (i = 0; i < PickupProducts.length; i++) {
		from = parseInt(Math.random() * (PickupProducts.length - 1));
		to = parseInt(Math.random() * (PickupProducts.length - 1));
		product = PickupProducts[to];
		PickupProducts[to] = PickupProducts[from];
		PickupProducts[from] = product;
	}
	
	render_for('content');
}

function get_recommend_products() {
	get_products('おすすめ', null, null, null, 1, 'get_recommend_products_callback');
}

function get_recommend_products_callback(json) {
	var i = 0;
	var from = 0;
	var to = 0;
	var product = null;
	
	RecommendProducts = json.Products;
	
	for (i = 0; i < RecommendProducts.length; i++) {
		from = parseInt(Math.random() * (RecommendProducts.length - 1));
		to = parseInt(Math.random() * (RecommendProducts.length - 1));
		product = RecommendProducts[to];
		RecommendProducts[to] = RecommendProducts[from];
		RecommendProducts[from] = product;
	}
	
	render_for('content');
}

function goto_products(tag0, tag1, tag2, freeword) {
	var cookie = new Cookie();
	var date = new Date();
	
	if (tag0 == null) {
		tag0 = '*';
	}
	if (tag1 == null) {
		tag1 = '*';
	}
	if (tag2 == null) {
		tag2 = '*';
	}
	if (freeword == null) {
		freeword = '*';
	}
	
	date.setHours(date.getHours() + 24);
	
	cookie.expires = date;
	cookie.write('product', "{ tag0: '" + tag0 + "', tag1: '" + tag1 + "', tag2: '" + tag2 + "', freeword: '" + freeword + "' }");
	
	 location.href = 'list.html';
}

function parse_cookie(cookie) {
	var cookie = new Cookie();
	
	if (cookie.product != undefined && cookie.product != null) {
		get_products(cookie.product.tag0, cookie.product.tag1, cookie.product.tag2, cookie.product.freeword);
		//cookie.clear('product');
	}
	else {
		get_products(null, null, null, null);
	}
}

function get_rss() {
	var i = 0;
	
	try {
		TopicsAtom = (new JKL.ParseXML('http://www.hirosaki-bussan.or.jp/blog/?feed=atom&cat=1')).parse();
	}
	catch (exception) {
		TopicsAtom = null;
	}
	
	try {
		InformationsAtom = (new JKL.ParseXML('http://www.hirosaki-bussan.or.jp/blog/?feed=atom&cat=2')).parse();
	}
	catch (exception) {
		InformationsAtom = null;
	}
	
	/*
	if (TopicsAtom.feed.entry.title) {
			alert('トピックスのタイトル: ' + TopicsAtom.feed.entry.title['#cdata-section'] + ' -> ' + TopicsAtom.feed.entry.link.href);
	}
	for (i = 0; i < 10; i++) {
		if (TopicsAtom.feed.entry[i]) {
			alert(i + '番目のトピックスのタイトル: ' + TopicsAtom.feed.entry[i].title['#cdata-section'] + '(' + TopicsAtom.feed.entry[i].modified.substring(0, 10) + ') -> ' + TopicsAtom.feed.entry[i].link.href);
		}
	}
	
	if (InformationsAtom.feed.entry.title) {
			alert('お知らせのタイトル: ' + InformationsAtom.feed.entry.title['#cdata-section'] + ' -> ' + InformationsAtom.feed.entry.link.href);
	}
	for (i = 0; i < 10; i++) {
		if (InformationsAtom.feed.entry[i]) {
			alert(i + '番目のお知らせのタイトル: ' + InformationsAtom.feed.entry[i].title['#cdata-section'] + ' -> ' + InformationsAtom.feed.entry[i].link.href);
		}
	}
	*/
}

function delay(callback, ms) {
	var id;
	
	var timer = function() {
		callback();
	};
	
	id = setTimeout(timer, ms);
}

