
var dom_window_close= '<a class="nicelink" href="javascript:awlRecommend_exit();">Click here to return to the main screen</a>';
var _processing={};
function processing_set( section ) {
    name= (section.split('-'))[0]
	_processing[name]= true;
}
function processing_unset( section ) {
    name= (section.split('-'))[0]
	_processing[name]= false;
}
function processing_check( section ) {
    name= (section.split('-'))[0]
	if ( _processing[name] ) {
		return true;
	}
	return false;
}


function buttonOver( img_node , name ) {
    if ( processing_check( name ) ) {
    	return;
    }
    img_node.src= "/_img/btn/" + name + "-over.png";

    if ( name == 'favorite-is' ) {
    	img_node.src= "/_img/btn/favorite-del-over.png";
    }
}
function buttonOut( img_node , name ) {
    if ( processing_check( name ) ) {
    	return;
    }
	img_node.src= "/_img/btn/" + name + ".png";
}


var $=$j;

var default_window_options= {
    loader:1, 
    loaderImagePath:'/_js/jquery.DOMWindow-animationProcessing.gif', 
    loaderHeight:16,
    loaderWidth:17
};

function buttonClick( img_node , name , id_val  ) {
    var awl_object_type = $j("#awl_object-type").val()
    var awl_object_hex_id = $j("#awl_object-hex_id").val()
    var _authentication_token= $j('#_authentication_token').val()


    if ( processing_check( name ) ) {
    	return;
    }
    processing_set(name);
    img_node.src= "/_img/btn/processing.gif";

    // copy the defaults
    var my_window_options= {};
    for ( var domDefault in default_window_options ) {
        my_window_options[domDefault]= default_window_options[domDefault];
    }
    

    if ( name == 'loggedOut' ) {
        awlLogin(1);
	    processing_unset(name);
    	return;
    }


    if ( name == 'review_write' ) {
    	var dest= '/';
    	if ( awl_object_type === 'artworld_persona' ) {
    		dest += 'artist';
    	}
    	else if ( awl_object_type === 'show' ) {
    		dest += 'show';
    	}
    	else if ( awl_object_type === 'venue' ) {
    		dest += 'venue';
    	}
    	else {
    		alert('Error');
    		processing_unset('review');
    		return;
    	}
    	dest += '/-id/' + awl_object_hex_id ;
    	dest += '/reviews/add' ;
    	window.location= dest ;
    	return;
    }

    if ( name == 'favorite-add' ) {
        $j.post( '/service/awl/favorite', { 'awl_object.type':awl_object_type, 'awl_object.hex_id':awl_object_hex_id, 'format':'json' , '_authentication_token': _authentication_token } , awlFavorite_gotResult  , "json");
        return;
    }
    else if ( name == 'favorite-is' ) {
        $j.post( '/service/awl/favorite', { 'awl_object.type':awl_object_type, 'awl_object.hex_id':awl_object_hex_id, 'action':'del', 'format':'json' , '_authentication_token': _authentication_token} , awlFavorite_gotResult , "json");
        return;
    }
    
	if ( name == 'recommend' ) {
		my_window_options.modal= true;
		my_window_options.windowSource= 'ajax';
		my_window_options.windowHTTPType= 'get';
		my_window_options.windowSourceURL= '/service/awl/recommend?step=intro&awl_object.type=' + awl_object_type + '&awl_object.hex_id=' + awl_object_hex_id;
		$j.openDOMWindow( my_window_options ); 
    	return;
	}


}

function awlFavorite_gotResult(responseText, statusText){
    processing_unset('favorite');
	$j('#btn-favorite').empty();
	if ( responseText.status == 'success' ) {
	    affected= responseText.affected
	    if ( responseText[affected].direction == 'add' ) {
	        var image= '<img \
											id="btn-favorite-btn" \
											src="/_img/btn/favorite-is.png" \
											onMouseOver="buttonOver(this,\'favorite-is\')" \
											onMouseOut="buttonOut(this,\'favorite-is\')" \
											onClick="buttonClick(this,\'favorite-is\',\'###HEX###\')" \
									/>';
				image= image.replace( '###HEX###' , responseText[affected]['awl_object.hex_id'] )
		    $j('#btn-favorite').html(image);
		}
	    else if ( responseText[affected].direction == 'del' ) {
	        var image= '<img \
											id="btn-favorite-btn" \
											src="/_img/btn/favorite-add.png" \
											onMouseOver="buttonOver(this,\'favorite-add\')" \
											onMouseOut="buttonOut(this,\'favorite-add\')" \
											onClick="buttonClick(this,\'favorite-add\',\'###HEX###\')" \
									/>';
				image= image.replace( '###HEX###' , responseText[affected]['awl_object.hex_id'] )
		    $j('#btn-favorite').html(image);
		}
	}
	else {
	    $j('#btn-favorite').html('<img src="/_img/btn/error.png"/>');
	}	
}




function awlRecommend_exit(){
	$j.closeDOMWindow({closeNow:1});
    processing_unset('recommend');
	$j('#btn-recommend').empty();
	$j('#btn-recommend').html(
		'<img \
			id="btn-recommend-btn" \
			src="/_img/btn/recommend.png" \
			onMouseOver="buttonOver(this,\'recommend\')" \
			onMouseOut="buttonOut(this,\'recommend\')" \
			onClick="buttonClick(this,\'recommend\')" \
		/>'
	);

}


function recommendationForm_response(responseText, statusText)  { 
	$j('#recommendationWindow').empty();
	if ( responseText.status == 'success' ) {
		$j('#recommendationWindow').html('Sucessfully recommended.  ' + dom_window_close );
	}
	else {
	    var error= '';
	    if ( responseText.error ) {
	    	error = responseText.error;
	    }
		$j('#recommendationWindow').html('There was an error.  ' + error + '  ' + dom_window_close );
	}
}

function reloadSession(){
	$j.getJSON( '/service/awl/reload_session' );
	return;
}

function awlShowTab(tab){
	// grab the tab section
	var splot= tab.split('-');

	// toggle the tabs
	$j('#' + splot[0] + ' > div .awlShowTab').css( {'display':'none'} );
	$j('#' + tab ).css( {'display':'block'} );

	// toggle the options
	$j('#' + splot[0] + ' > div .option').removeClass( 'selected' );
	$j('#' + tab + '-tab' ).addClass( 'selected' );
}
