/* --------------------------------------------------------------------------------------------
	Javascript for WRAP Events details page
	- VC 11/10/06
	
	Dependent on: YUI/yahoo-min.js, YUI/dom-min.js, YUI/event-min.js
-------------------------------------------------------------------------------------------- */

// uses yahoo dom, event and animation
var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;
var $ = $D.get; // get element by ID

//init function
function initEvents(){
	var arr_venues = $D.getElementsByClassName('venue-showhide-wrapper', 'div', 'event_venues');
	//generate id for div if none given
	$D.generateId(arr_venues, 'hiddenvenue_');
	
	//process each venue to add button actions
	for (i=0; i< arr_venues.length; i++){
		//alert(arr_venues[i].id);
		addShowHideActions(arr_venues[i].id);
	}
}
function addShowHideActions(parentObjID){
	var showButton = $D.getElementsByClassName('venue-show-button', 'div', parentObjID);
	var hideButton = $D.getElementsByClassName('venue-hide-button', 'div', parentObjID);
	
	$E.addListener(showButton,'click', function(){showVenueDetails(parentObjID); return false;});
	$E.addListener(hideButton,'click', function(){hideVenueDetails(parentObjID); return false;});
}

function showVenueDetails(parentObjID){
	var hiddenDiv = $D.getElementsByClassName('venue-hidden-details', 'div', parentObjID);
	var showButton = $D.getElementsByClassName('venue-show-button', 'div', parentObjID);
	var hideButton = $D.getElementsByClassName('venue-hide-button', 'div', parentObjID);
	
	$D.removeClass(hiddenDiv, 'js-hidden');
	$D.addClass(hiddenDiv, 'js-shown-block');
	$D.removeClass(hideButton, 'js-hidden');
	$D.addClass(hideButton, 'js-shown');
	$D.removeClass(showButton, 'js-shown');
	$D.addClass(showButton, 'js-hidden');
}

function hideVenueDetails(parentObjID){
	var hiddenDiv = $D.getElementsByClassName('venue-hidden-details', 'div', parentObjID);
	var showButton = $D.getElementsByClassName('venue-show-button', 'div', parentObjID);
	var hideButton = $D.getElementsByClassName('venue-hide-button', 'div', parentObjID);
	
	$D.removeClass(hiddenDiv, 'js-shown-block');
	$D.addClass(hiddenDiv, 'js-hidden');
	$D.removeClass(hideButton, 'js-shown');
	$D.addClass(hideButton, 'js-hidden');
	$D.removeClass(showButton, 'js-hidden');
	$D.addClass(showButton, 'js-shown');	
}

//=============================================
// on load
$E.addListener(window,'load',initEvents);

//=============================================
//Loac CSS
function setCSS(css) {
	try {
		// append stylesheet to alter
		document.getElementsByTagName("head")[0].appendChild(css);
	} catch (e) {
		setTimeout(function(){setCSS(css)}, 100);
	}
}

// create CSS element to set up the page
var js_css = document.createElement("link");
js_css.setAttribute("href","/css/front/wrap/event_showhide_venue_js.css");
js_css.setAttribute("rel","stylesheet");
js_css.setAttribute("type","text/css");

// attempt to add the css and then keep trying till we do
setCSS(js_css);
js_css = null;

