jQuery.noConflict();
jQuery( document ).ready( function( $ ) {

	$( '#searchcontent-yourlist > li:even' ).addClass( 'searchcontent-yourlist-even' ); //change bg color only even list without JOUI-PR

	var config = {
		compare: {
			uri: 'http://rd.gnavi.co.jp/compare/regist_shop.php?id_shop=',
			cookieName: 'GCompareShop',
			cookieDelimiter: ',',
			disableClass: 'disable',
			targetObj: '.searchcontent-yourlist-description-bookmark a'
		},
		catalyst: {
			fixCode: 'ffsc',
			exist: function(){ return ( ( typeof s === 'object' ) && ( s.visitorNamespace === 'gurunavi' ) && ( typeof trackAjaxName === 'function' ) ) }
		}
	}

	if ( ! $( '#userarea' ).size() ) {
		if ( getCompare() ) {
			$.map( getCompare(), function( obj, idx ) {
				if ( obj ) {
					$( 'a[href^=' + config.compare.uri + obj  + ']' ).addClass( config.compare.disableClass );
				}
			});
		}
		$( config.compare.targetObj ).click(function(){
			var obj = $( this );
			if ( ! obj.hasClass( config.compare.disableClass ) ) {
				$( 'a[href^=' + obj.attr('href') + ']' ).addClass( config.compare.disableClass );
			}
			window.open( obj.attr( 'href' ), '_blank' );
			return false;
		});
	}
	function getCompare() {
		if ( !$.cookie( config.compare.cookieName ) ) {
			return '';
		}
		var arr = ( $.cookie( config.compare.cookieName ).split( config.compare.cookieDelimiter ) );
		var shops = new Array();
		for ( var i = 0, max = arr.length; i < max; i++ ) {
			shops[i] = ( arr[i].split( ':' ) )[0];
		}
		return shops;
	}

	$( '.refine-link > li > a' ).click( function() {
		$( this ).addClass( 'clicked' );
	});


	var $r = $( '#refine' );
	$r.hide();
	$( '.allboxes a' ).click( function() {
		if( $( '#gcurtain' ).length != 1 ) {
			$( '<div id="gcurtain"></div>' ).insertBefore( $r ).css( {backgroundColor: '#ccc', width: $( 'body' ).width(), height: $( 'body' ).height(), position: 'absolute', left: 0, top: 0, display: 'none' } ).fadeTo( 128, 0.8 ).show();
		} else {
			$( '#gcurtain' ).fadeTo( 128, 0.8 ).css( { width: $( 'body' ).width(), height: $( 'body' ).height()} );
		}
		var he = $( window ).height() - $r.height();
		var h = ( he < 0 ) ? 10 : he / 2;
		$r.css( { position: 'absolute', left: ( $( 'body' ).width() - 950 ) / 2, top: h + $( window ).scrollTop() } ).fadeTo( 256, 1 );
		return false;
	});
	$( '#gcurtain' ).live( 'click', function(){
		$r.hide();
		$( '#gcurtain' ).hide();
	} );
	
	$( '<a href="#">閉じる</a>' ).appendTo( '#refine-more-opt-h' );
	$( '#refine-more-opt-h > a' ).click( function() {
		$( '#gcurtain').trigger( 'click' );
		return false;
	} );

	$( '.refine-more-opt-option-food ul li input:checked' ).next().addClass( 'refine-more-opt-option-checked' );
	$( '.refine-more-opt-option-food ul li input' ).live( 'click', function(){
		var o = $( this );
		o.next().toggleClass( 'refine-more-opt-option-checked' );
	});
	$( '.refine-more-opt-option-service ul li input:checked' ).next().addClass( 'refine-more-opt-option-checked' );
	$( '.refine-more-opt-option-service ul li input:checkbox' ).live( 'click', function(){
		var o = $( this );
		o.next().toggleClass( 'refine-more-opt-option-checked' );
	});
	$( '.uncheckall a' ).click( function(){
		if( $( this ).closest( 'dd' ).hasClass( 'refine-more-opt-option-food' ) ) {
			$( this ).closest( 'ul' ).find( 'input:checked' ).attr( 'checked', false ).next().removeClass( 'refine-more-opt-option-checked' );
		} else if( $( this ).closest( 'dd' ).hasClass( 'refine-more-opt-option-service' ) ) {
		 $( '.refine-more-opt .refine-more-opt-option .refine-more-opt-option-service li label input' ).attr( 'checked', false ).next().removeClass( 'refine-more-opt-option-checked' );
		}
		return false;
	});

//	alert( $( '#refine .refine-more-opt-option :checked' ).length );
	if( $( '#refine .refine-more-opt-option :checked' ).length > 0) {
		$( '.allboxes' ).css( { position: 'relative' } ).append( '<p id="checking">チェック中</p>' );
		$( '#checking' ).fadeTo( 'slow', 1 );
	}

	$( '#totop > a' ).click( function() {
			var targetOffset = 0;
			var nowOffset = $( window ).scrollTop();
			var speed = Math.floor( Math.max( nowOffset,targetOffset ) - Math.min( nowOffset,targetOffset ) ) | 3;
			$( navigator.appName.match( /Opera/ ) ? 'html' : 'html,body' ).animate( {scrollTop:targetOffset}, speed );
		return false;
	});

});

