// JavaScript Document
function createMultiSelector() {
	var multi_selector = new MultiSelector(document.getElementById('fileList'), 20);
	multi_selector.addElement(document.getElementById('my_file_element'));
}
function MultiSelector( list_target, max ){

	// Where to write the list
	this.list_target = list_target;
	// How many elements?
	this.count = 0;
	// How many elements?
	this.id = 0;
	// Is there a maximum?
	if( max ){
		this.max = max;
	} else {
		this.max = -1;
	};
	
	/**
	 * Add a new file input element
	 */
	this.addElement = function( element ){

		// Make sure it's a file input element
		if( element.tagName == 'INPUT' && element.type == 'file' ){

			// Element name -- what number am I?
			element.name = 'photos[]';

			// Add reference to this object
			element.multi_selector = this;

			// What to do when a file is selected
			element.onchange = function(){

				// New file input
				var new_element = document.createElement( 'input' );
				new_element.type = 'file';

				// Add new element
				this.parentNode.insertBefore( new_element, this );

				// Apply 'update' to element
				this.multi_selector.addElement( new_element );

				// Update list
				this.multi_selector.addListRow( this );

				// Hide this: we can't use display:none because Safari doesn't like it
				this.style.position = 'absolute';
				this.style.left = '-300px';
				
				document.getElementById('submit').disabled = false;

			};
			// If we've reached maximum number, disable input element
			if( this.max != -1 && this.count >= this.max ){
				element.disabled = true;
			};

			// File element counter
			this.count++;
			// Most recent element
			this.current_element = element;
			
		} else {
			// This can only be applied to file input elements!
			alert( 'Error: not a file input element' );
		};

	};

	/**
	 * Add a new row to the list of files
	 */
	this.addListRow = function( element ){

		// Row div
		var new_row = document.createElement( 'div' );

		// Delete button
		var new_row_button = document.createElement( 'input' );
		new_row_button.type = 'button';
		new_row_button.value = 'Delete';
		
		// References
		new_row.element = element;

		// Delete function
		new_row_button.onclick= function(){

			// Remove element from form
			this.parentNode.element.parentNode.removeChild( this.parentNode.element );

			// Remove this row from the list
			this.parentNode.parentNode.removeChild( this.parentNode );

			// Decrement counter
			this.parentNode.element.multi_selector.count--;

			// Re-enable input element (if it's disabled)
			this.parentNode.element.multi_selector.current_element.disabled = false;

			// Appease Safari
			//    without it Safari wants to reload the browser window
			//    which nixes your already queued uploads
			return false;
		};

		var label = document.createElement( 'label' );
		label.innerHTML = element.value;
		
		// Add button
		new_row.appendChild( new_row_button );
		
		// Set row value
		new_row.appendChild(label);
		
		var clear = document.createElement( 'div' );
		clear.className = 'clear';
		if(this.list_target.childNodes.length > 3){
		clear.style.borderBottom = '1px dotted #ddd';
		}
		new_row.appendChild( clear );
		
		// Add it to the list
		this.list_target.insertBefore( new_row, this.list_target.firstChild );
		
	};

};

// image-manager
function showButton()
{
	var button = document.getElementById('addButton');
	button.style.display = 'inline';
	var fileFields = document.getElementById('fileFields');
	var fieldArray = fileFields.getElementsByTagName('input');
	if(fieldArray.length < 20)
	{
		var newField = document.createElement('<input>');
		var fieldType = document.createAttribute('type');
		var fieldName = document.createAttribute('name');
		var fieldSize = document.createAttribute('size');
		var fieldDir = document.createAttribute('dir');
		var fieldAdd = document.createAttribute('onChange');
		newField.setAttribute('type', 'file');
		newField.setAttribute('name', 'photos[]');
		newField.setAttribute('size', '60');
		newField.setAttribute('dir', 'rtl');
		newField.setAttribute('onChange', 'showButton();');
		fileFields.appendChild(newField);
	}
	
}
function showElement(id) {
	document.getElementById(id).style.top = '50%';
	document.getElementById(id).style.left = '50%';
	document.getElementById('blackout').style.visibility = 'visible';
	document.getElementById(id).style.visibility = 'visible';
	document.getElementById('blackout').style.display = 'block';
	document.getElementById(id).style.display = 'block';
	centerElement(id);
}
function hideElement(id) {
	document.getElementById(id).style.top = '-200px';
	document.getElementById('blackout').style.visibility = 'hidden';
	document.getElementById(id).style.visibility = 'hidden';
	document.getElementById('blackout').style.display = 'none';
	document.getElementById(id).style.display = 'none';
	
}

var bio = false;

function replaceContent() {
	if(bio == true) {
		
		document.getElementById('section').innerHTML = '<h2>home</<h2>';
		
		swfobject.removeSWF('copy');
		
		if(!document.getElementById('copy'))
		{
			var d = document.createElement('div');
			d.setAttribute('id', 'copy');
			document.getElementById('column3content').appendChild(d);
		}
		
		
		var homeCopy = 		'<p>Welcome to Sacred Space Gardens. Since 1995, we&rsquo;ve designed, built and ';
		homeCopy += 		'maintained beautiful gardens within the San Francisco Bay Area.</p>';

		homeCopy += 		'<p>I invite you to explore our site for a sample of our expertise then contact us to discuss your landscaping needs.</p>';
		homeCopy += 		'<img src="ssg-pics/chris-sig.png" style="margin: 10px 0" />';
		homeCopy += 		'<p><b>Christopher Hurley</b>, proprietor<br />';
		homeCopy += 		'CA Contractors License #759323<br />';
		homeCopy += 		'(415) 412-4495</p>';
		
		document.getElementById('copy').innerHTML = homeCopy;
		document.getElementById('copy').style.overflow = 'visible';
		
		bio = false;
	} else {
		
		document.getElementById('section').innerHTML = '<h2><span style="font-size: 13px;"><a href="javascript:replaceContent();">home<span></a> |</span> bio</h2>';
		
		if(!document.getElementById('copy'))
		{
			var d = document.createElement('div');
			d.setAttribute('id', 'copy');
			document.getElementById('column3content').appendChild(d);
		}
		
		if(swfobject.hasFlashPlayerVersion("6"))
		{
			var att = { data: 'ssg-flash/bio.swf', width: '100%', height: '100%' };
			var par = { wmode: 'transparent', menu: 'false' };
			var id = 'copy';
			swfobject.createSWF(att, par, id);
		}
		else
		{
		
			var bioCopy = 		'<p>Christopher Hurley was born and raised in the West Country of England, ';
			bioCopy += 			'inheriting the British love of gardening. He went into the horticultural business ';
			bioCopy += 			'after completing his schooling, learning proper gardening techniques as well as propagation and pruning.';
	
			bioCopy += 			'<p>He lived in France for several years, working in oyster farming, good restaurants and vineyards, ';
			bioCopy += 			'and then spent some time in the Carribean and eastern US before settling in San Francisco in 1989.</p> ';
	
			bioCopy += 			'<p>After experimenting with his own garden in San Francisco, he returned to horticultural college to ';
			bioCopy += 			'compliment his earlier studies, and opened his landscaping business in 1995.</p>';
	
			bioCopy += 			'<p>Sacred Space Gardens is dedicated to Christophers spiritual reverence of Nature, and his belief ';
			bioCopy += 			'that everyone need a garden sanctuary for a myriad of benefits.</p>';
			
			document.getElementById('copy').innerHTML = bioCopy;
			document.getElementById('copy').style.overflow = 'auto';
		}
		
		bio = true;
	}
}
function showimage(image, id) {
	// Show popup
	document.getElementById('imageHolder').innerHTML = '<img id="currentImage" src="../photo_dbase/photos_' + id + '/' + image + '" title="close" onclick="hideimage()" onload="centerImage();" />'
	//<img src="images/closeButton.gif" id="closeButton" onclick="hideimage()" />';
	//var closer = document.getElementById('closeButton');
	document.getElementById('blackout').style.visibility = 'visible';
	document.getElementById('imageHolder').style.visibility = 'visible';
	document.getElementById('blackout').style.display = 'block';
	document.getElementById('imageHolder').style.display = 'block';
	document.getElementById('currentImage').style.cursor = 'pointer';
}
function hideimage() {
	// Hide popup
	document.getElementById('imageHolder').innerHTML = '';
	document.getElementById('blackout').style.visibility = 'hidden';
	document.getElementById('imageHolder').style.visibility = 'hidden';
	document.getElementById('blackout').style.display = 'none';
	document.getElementById('imageHolder').style.display = 'none';
}
function editimage(id) {
	if(!document.getElementById('editScreen'))
	{
		var image = document.getElementById('currentImage');
		var editScreen = document.createElement('div');
		editScreen.id = 'editScreen';
		editScreen.style.width = image.width;
		editScreen.style.height = image.height;
		editScreen.style.position = 'fixed';
		editScreen.style.left = '50%';
		editScreen.style.top = '50%';
		editScreen.style.backgroundColor = '#990000';
		editScreen.style.marginTop = -image.width / 2;
		editScreen.style.marginLeft = -image.height / 2;
		var o = 50;
		editScreen.style.opacity = ( o / 100 );
		editScreen.style.MozOpacity = ( o / 100 );
		editScreen.style.KhtmlOpacity = ( o / 100 );
		editScreen.style.filter = "alpha(opacity=" + o + ")";
		document.getElementById('imageHolder').appendChild(editScreen);
	}
}
function centerImage() {
	var o = 100;
	var object = document.getElementById('imageHolder').firstChild;
	
	object.style.marginLeft = -object.width / 2;
	object.style.marginTop = -object.height / 2;
	
	object.style.opacity = ( o / 100 );

	object.style.MozOpacity = ( o / 100 );

	object.style.KhtmlOpacity = ( o / 100 );

	object.style.filter = "alpha(opacity=" + o + ")";
	
/*	var closer = document.getElementById('closeButton');
	closer.style.marginLeft = object.width / 2 - (closer.offsetHeight / 2);
	closer.style.marginTop = -object.height / 2 - (closer.offsetHeight / 2);
	
	closer.style.opacity = ( o / 100 );

	closer.style.MozOpacity = ( o / 100 );

	closer.style.KhtmlOpacity = ( o / 100 );

	closer.style.filter = "alpha(opacity=" + o + ")";
*/
}

function centerElement(id) {
	var o = 100;
	var object = document.getElementById(id);
	
	object.style.marginLeft = -object.offsetWidth / 2;
	object.style.marginTop = -object.offsetHeight / 2;
	
	object.style.opacity = ( o / 100 );

	object.style.MozOpacity = ( o / 100 );

	object.style.KhtmlOpacity = ( o / 100 );

	object.style.filter = "alpha(opacity=" + o + ")";
	
}

