Event.observe(window,'load',window_onload,false);


var map = null;
var geocoder = null;


function showAddress() {

	var address = $('item_addr').value;

	if (geocoder) {
		geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				// alert(address + " not found");
				$('map_canvas').style.display = 'none';
			} else {
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
				//marker.openInfoWindowHtml(address);
				//map.addControl(new GLargeMapControl());
				map.addControl(new GSmallMapControl());
        			//map.addControl(new GMapTypeControl());
			}
		}
		);
	}

}


function window_onload(evt){

	//set_sortselector_unselected();
	//set_sortselector_handlers();
	
	//select_sortselector('ss_' + $('sort_key').value );
	//set_review($('sort_key').value);

	set_rounded_corners();
	
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(37.4419, -122.1419), 13);
		geocoder = new GClientGeocoder();
		showAddress();
	}

	set_hover_numbers();
	
	if($('txt_s')){
		Event.observe('txt_s', 'keydown', txt_s_onkeydown, false);
		$('txt_s').focus();
	}	

}


function txt_s_onkeydown(evt){
	//var e = Event.element(evt);
	var e = evt ? evt : event;
	if(!e){
		return;
	}
	var ch = e.charCode ? e.charCode : ( e.which ? e.which : e.keyCode );
	if( ch == 13 || ch == 3){
		document.location = 'search.php?q=' + encodeURIComponent($('txt_s').value);		
	}
}

function hide_tmp_msg(){

	$('tmp_msg').style.display = 'none';

}

function set_rounded_corners(){

	var elms = document.getElementsByClassName('rounded');
	if(elms.length == 0){
		return;
	}

	settings = {
		tl: { radius: 10 },
		tr: { radius: 10 },
		bl: { radius: 10 },
		br: { radius: 10 },
		antiAlias: true,
		autoPad: true,
		validTags: ["p"]
	};

	var rb = new curvyCorners(settings, "rounded");
	rb.applyCornersToAll();

}

/*
function set_sortselector_unselected(){

	var elms = document.getElementsByClassName('sort_selector');
	for(var i=0;i<elms.length;i++){
		var sb = new TKStringBuffer();
		sb.a('<a href="javascript:void(0);" pid="ss_');
		sb.a(elms[i].attributes['skey'].value);
		sb.a('">');
		sb.a(elms[i].attributes['label'].value);
		sb.a('</a>');
		elms[i].innerHTML = sb.toString();
	}

}

function set_sortselector_handlers(){

	var elms = document.getElementsByClassName('sort_selector');
	for(var i=0;i<elms.length;i++){
		Event.observe(elms[i], 'click', sortselector_onclick, false);
	}

}

function sortselector_onclick(evt){

	set_sortselector_unselected();
	
	var e = Event.element(evt);
	var pid = e.attributes['pid'].value;	

	select_sortselector( pid );
	set_review( $( pid ).attributes['skey'].value );
	
}



function select_sortselector( id ){

	var span = $( id );
	span.innerHTML = '<b pid="' + id + '">' + span.attributes['label'].value + '</b>';
	
	$('sort_key').value = span.attributes['skey'].value;
	
	return;
}

function set_review(sort_key){

	var iid = $('review_all').attributes['iid'].value;
	
	new Ajax.Request( 
		'review_get_reviewall.php',
		{ 
			method: 'POST', 
			parameters: { 
				'item_id': iid,
				'sort_key': sort_key
			},
			onComplete: function(trans){
			
				set_review_table( trans.responseText );

			} 
		}
	);

}


function set_review_table( responseText ) {

		
	var r = eval('(' + responseText + ')');
	var f = new TKFormatter();
	var sb = new TKStringBuffer();
	
	sb.a('<table width="100%">');
	
	for(var i=0; i<r.length; i++){
	
		sb.a('<tr><td align="left">');
		
		
		var star_num = Math.floor(r[i].rating);
		for(var j=0; j<star_num; j++){
			sb.a('<img src="img/star_100.png" alt="">');
		}
		
		var hasu = r[i].rating - star_num;
		if( star_num < 5 ){
			
			star_num++;
			
			if( hasu < 0.2 ){
				sb.a('<img src="img/star_0.png" alt="">');
			}
			else if( hasu < 0.45 ){
				sb.a('<img src="img/star_25.png" alt="">');
			}
			else if( hasu < 0.65 ){
				sb.a('<img src="img/star_50.png" alt="">');
			}
			else {
				sb.a('<img src="img/star_75.png" alt="">');
			}
		}
		
		for(var k=star_num; k<5; k++){
			sb.a('<img src="img/star_0.png" alt="">');
		}
		
		sb.a('&nbsp;<b>');
		sb.a(r[i].rating);
		sb.a(' </b>点 <span class="review_detail_title">');
		sb.a(f.toabc(f.unescapeHTML(r[i].review_title)));
		sb.a('</span></td><td align="right">レビューア:<a href="search.php?q=reviewer:');
		sb.a( encodeURIComponent( r[i].nickname ));
		sb.a('">');
		sb.a(r[i].nickname);
		
		//alert( r[i].create_date);
		//alert( r[i].create_date.toUTCDate() );
		
		//var d = r[i].create_date.toUTCDate();
		
		
		sb.a('</a> on ' + r[i].create_date.toUTCUSDateString() + '');
		
		sb.a('</td></tr>');
		
		if(r[i].pics){
			sb.a('<tr><td colspan="2">');
			var pa = r[i].pics.split(';');
			for(var j=0;j<pa.length;j++){
				if(pa[j] != ''){
					sb.a('<img src="' + pa[j] + '" alt="">&nbsp;');
				}
			}
			sb.a('</td></tr>');
		}
		
		var rvw = f.unescapeHTML(r[i].review);
		rvw = f.toabc(rvw);
		rvw = rvw.replace('\n','<br>');
		rvw = rvw.replace('おいしい','<span class="review_oishi">おいしい</span>');
		rvw = rvw.replace('おいしくて','<span class="review_oishi">おいしくて</span>');
		rvw = rvw.replace('おいしかった','<span class="review_oishi">おいしかった</span>');
		rvw = rvw.replace('一押し','<span class="review_oishi">一押し</span>');
		rvw = rvw.replace('イチオシ','<span class="review_oishi">イチオシ</span>');
		rvw = rvw.replace('絶品', '<span class="review_oishi">絶品</span>');

		rvw = rvw.replace('満足','<span class="review_oishi">満足</span>');
		
		// URL Replace
		
		sb.a('<tr><td colspan="2" style="padding: 10px;">' + f.getLink(rvw) + '</td></tr>');
		sb.a('<tr><td colspan="2" class="is_useful">このレビューは役に立ちましたか？ <a onclick="return confirm(\'投票してよろしいですか？\');" href="review_item.php?useful=1&rid=' + r[i].review_id + '">はい</a> | <a onclick="return confirm(\'投票してよろしいですか？\');" href="review_item.php?useful=0&rid=' + r[i].review_id + '">いいえ</a></td></tr>');
		sb.a('<tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr>');

	}
	
	sb.a('</table>');
	
	$('review_all').innerHTML = sb.toString();
	

}
*/


function set_hover_numbers(){

	var elms = document.getElementsByClassName('number');
	
	for(var i=0; i<elms.length; i++){
	
		var num = elms[i].attributes['num'].value;
		
		if(num){
		
			Event.observe(elms[i], 'mouseover', number_onmouseover, false);
			Event.observe(elms[i], 'mouseout', number_onmouseout, false);

			set_image(elms[i], false);
						
		}
	}

}


function number_onmouseover(evt){
	
	var e = Event.element(evt);
	set_image(e, true);

}

function number_onmouseout(evt){

	var e = Event.element(evt);
	set_image(e, false);
}


function set_image(div, mouseover){
	
	if(!div){
		return;
	}

	var num = parseInt(div.attributes['num'].value);
	var img_width = 20;
	var offset = (-1) * ( num - 1 ) * img_width;
	
	if(mouseover) {
		offset -= 5 * img_width;
	}
	
	div.style.backgroundPosition = offset + 'px' + ' 0px'; 
	
}



