// JavaScript Document
function loadXML( ) {
	document.write(
	"<div id=\"media_container\"><div id=\"media\" align=\"left\"></div><div id=\"media_controller\" align=\"right\"></div></div>"
	);
	if ( window.XMLHttpRequest ) {
		//code for IE7+, Firefox, Chrome, Opera, Safari
		xml_http = new XMLHttpRequest( );
	} else {
		//IE6, IE5
		xml_http = new ActiveObject( "Microsoft.XMLHTTP" );	
	}
	
	xml_http.open( "GET", "media.xml", false );
	xml_http.send( );
	xml_file = xml_http.responseXML;
	
	//Run Test on XML :: Initial Media
	//alert( xml_file.getElementsByTagName( "Media" )[0].getElementsByTagName( "Media_File" )[0].childNodes[0].nodeValue );
	var media_file_1 = xml_file.getElementsByTagName( "Media" )[0].getElementsByTagName( "Media_File" )[0].childNodes[0].nodeValue;
	var media_url_1 = xml_file.getElementsByTagName( "Media" )[0].getElementsByTagName( "Full_URL" )[0].childNodes[0].nodeValue;
	//document.getElementById( "media_1" ).innerHTML = "<a href='" + media_url_1 + "' target='_self' style='outline: none; -moz-outline-style: none;'><img src='" + media_file_1 + "' border='0' /></a>";
	
	//Run XML Func
	collectMedia( xml_file );
}

//s for "slide number"
var media_length = 0;
var media_array = new Array( );
var url_array = new Array( );
var is_start_show = false;
var s = 0;
var cur_slide = s;
var timeout;
var mb_obj = [];
var m_slide;
var m_controller;

function collectMedia( xmlDoc ) {
	var xml_doc = xmlDoc;
	var i;
	
	media_length = Number( xml_doc.getElementsByTagName( "Media" ).length );
	
	for ( i = 0; i < media_length; i++ ) {
		media_array.push( xml_doc.getElementsByTagName( "Media" )[i].getElementsByTagName( "Media_File" )[0].childNodes[0].nodeValue );
		url_array.push( xml_doc.getElementsByTagName( "Media" )[i].getElementsByTagName( "Full_URL" )[0].childNodes[0].nodeValue );
		//alert( media_array );
	}
	
	//Start Slideshow
	var media_container_divs = document.getElementById( "media_container" ).getElementsByTagName( "div" );
	
	m_slide = media_container_divs[0];
	m_controller = media_container_divs[1];
	
	slideController( media_length );
	firstSlide( );
}

function slideController( slide_count ) {
	var i;
	m_controller.innerHTML = '';
	//alert( m_controller[0] );
	
	for ( i = slide_count; i >= 1; i-- ) {
		m_controller.innerHTML +=	"<div id=\"media_button\" name=\"m_button\" onclick=\"mediaRequest(" + Number( i - 1 ) + ");\"><span class=\"no_highlight\">" + i + "</span></div>";
	}
	
	if ( slide_count > 1 ) {
		m_controller.innerHTML += "<div style=\"clear: both;\"></div>";
		m_controller.innerHTML += "<div id=\"media_next\" onclick=\"nextSlide( );\"><span class=\"no_highlight\">&gt;</span></div><div id=\"media_prev\" onclick=\"prevSlide( );\"><span class=\"no_highlight\">&lt;</span></div>";
		m_controller.innerHTML += "<div style=\"clear: both;\"></div>";
	}
	
	mb_obj = document.getElementsByName( "m_button" );
}

function selectedSlide( sel_box_name ) {
	//alert( sel_box_name );
	var object = sel_box_name;
	var i;
	//alert( mb_obj[0] ); 
	
	//object.style.backgroundColor = "#3178D9";
	
	for ( i = 0; i < mb_obj.length; i++ ) {
		mb_obj[i].style.backgroundColor = "#7197D9";
		if ( i == mb_obj.length - 1 ){
			object.style.backgroundColor = "#3178D9"	
		}
	}
}

var is_movie = false;

function mediaRequest( slide_num ) {
	s = slide_num;
	displayMedia( media_array[s], url_array[s] );
	autoSlide( );	
}

function firstSlide( ) {
	//slideShow( );
	displayMedia( media_array[s], url_array[s] );
	
	if ( !is_movie ) {
		//s += 1;
		autoSlide( );
	}
}

function autoSlide( ) {
	s += 1;
	window.clearTimeout( timeout );
	timeout = window.setTimeout( "slideShow( )", 15000 );
}

function slideShow( ) {
	if ( typeof (s) == "object" ) {
		s = 1;	
	}
	
	//s += 1;
	if ( s > media_length - 1 ) {
		s = 0;
	}
	
	displayMedia( media_array[s], url_array[s] );
	
	if ( !is_movie ) {
		autoSlide( );
	} else {
		//alert("CLEAR TIMEOUT");
		window.clearTimeout( timeout );
	}
}

var file_ext;
var valid_ext = ['gif', 'jpg', 'jpeg', 'mov', 'mp4', 'm4v'];

function displayMedia( media, url ) {
	var movie_ext = ['mov', 'mp4', 'm4v'];
	var media_ext = checkExtensionType( media );
	var sel_box;
	
	//is_movie = false;
	
	//alert( mb_obj.length );
	
	for ( var j = 0; j < mb_obj.length; j++ ) {
		mb_obj[j].style.backgroundColor = "#7197D9";
		if ( j == mb_obj.length - 1 ) {
			sel_box = ( mb_obj.length - s ) - 1;
			mb_obj[sel_box].style.backgroundColor = "#3178D9";
		}
	}
	
	for ( var i in movie_ext ) {
		if ( media_ext == movie_ext[i] ) {
			m_slide.innerHTML = 
			"<object classid=\'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\' width=\"100%\" height=\"100%\" codebase=\'http://www.apple.com/qtactivex/qtplugin.cab\'>" + 
				"<param name=\'src\' value=\"" + media + "\">" +
				"<param name=\'autoplay\' value=\"false\">" + 
				"<param name=\'controller\' value=\"true\">" +
				"<param name=\'loop\' value=\"false\">" +
				"<param name=\'wmode\' value=\"opaque\">" +
				"<embed src=\"" + media + "\" width=\"100%\" height=\"100%\" autoplay=\"false\"" +
				"controller=\"true\" loop=\"false\" wmode=\"opaque\" bgcolor=\"#FFFFFF\" pluginspage=\'http://www.apple.com/quicktime/download/\'></embed>" +
			"</object>";
				
			is_movie = true;
			break;
		} 
	}
	//alert( is_movie );
	if ( !is_movie ) {
		//alert( media );
		m_slide.innerHTML = "<a href='" + url + "' target='_self' style='outline: none; -moz-outline-style: none;'><img src='" + media + "' border='0' /></a>";
	} else {
		m_slide.innerHTML = "Flash is needed in order to watch this video file!";
		is_movie = false;	
	}
	
	//alert( s );
}

function nextSlide( ) {
	//s += 1;
	if ( typeof (s) == "object" ) {
		s = 1;	
	}
	
	if ( s > media_length - 1 ) {
		s = 0;
	}
	
	displayMedia( media_array[s], url_array[s] );
	if ( !is_movie ) {
		autoSlide( );
	} else {
		window.clearTimeout( timeout );	
	}
}

function prevSlide( ) {
	if ( typeof (s) == "object" ) {
		s = media_length - 1;	
	} else {
		s -= 2;
	}
	
	if ( s < 0 ) {
		s = media_length - 1;
	}
	
	displayMedia( media_array[s], url_array[s] );
	
	if ( !is_movie ) {
		autoSlide( );
	} else {
		window.clearTimeout( timeout );	
	}
}

function checkExtensionType( file ) {
	var ext_index = file.lastIndexOf( "." );
	var ext_match = false;
	
	if ( ext_index == -1 ) {
		s += 1;
	
		if ( s > media_length - 1 ) {
			s = 0;
		}
		
		//return s;
		
	} else {
		var file_ext = file.substr( ext_index + 1, file.length );
		//alert( file_ext );
		
		for ( var i in valid_ext ) {
			if ( file_ext == valid_ext[i] ) {
				ext_match = true;
				break;
			}
		}
		
		if ( ext_match ) {
			//alert( "EXT MATCH" );
			return file_ext;
			//return s;
		} else {
			is_movie = true;
			return is_movie;
		}
			/*else {
			//alert( "Must have Flash Player to view this video!" )
			s += 1;
	
			if ( s > media_length - 1 ) {
				s = 0;
			}
			//return s;
		}*/
	}
}
