window.onload = initPage;
function initPage() {
	//alert("inside init page");
	xmlLoad();
	document.getElementById("fader").style.filter = "alpha(opacity=0)";
	document.getElementById("fader").style.MozOpacity = 0;
	document.getElementById("fader").style.Opacity = 0
}
var theImage = new Array;
var theLink = new Array;
var theId = new Array;
var imageLink = new Array;
var imgPreload = new Array;
var imgsets;
function xmlLoad() {
	request = createRequest();
	if (request == null) {
		alert("Unable to create request");
		return
	}
	var intRandom = Math.floor(Math.random() * 1000);
	var url = "/pages/videos?" + intRandom;
	request.open("GET", url, false);
	request.send(null);
	if (request.readyState == 4) {
		if (request.status == 200) {
			getVars()
		}
	}
}
function getVars() {
	if (request.readyState == 4) {
		if (request.status == 200) {
			var responseDoc = request.responseXML;
			imgsets = responseDoc.getElementsByTagName("imgset");
			for (var i = 0; i < imgsets.length; i++) {
				var set = imgsets[i];
				var imgElement = set.getElementsByTagName("img")[0];
				theImage[i] = imgElement.firstChild.nodeValue;
				var linkElement = set.getElementsByTagName("link")[0];
				theLink[i] = linkElement.firstChild.nodeValue;
				var idElement = set.getElementsByTagName("id")[0];
				theId[i] = idElement.firstChild.nodeValue;
				imgPreload[i] = new Image();
				imgPreload[i].src = theImage[i];
				if (theId[i] == "swf") {
					imageLink[i] = 'javascript:createVidPlayer("' + theLink[i] + '");'
				} else {
					imageLink[i] = theLink[i]
				}
			}
			controlFade()
		}
	}
}
var timeoutID;
var steps = 10;
var gap = 75;
var show_img_gap = 80000;
var hide_img_gap = 75;
steps = (steps < 1 || steps > 100) ? 15 : Math.round(steps);
gap = (gap < 1) ? 75 : Math.round(gap);
show_img_gap = (show_img_gap < 1) ? 75 : Math.round(show_img_gap);
hide_img_gap = (hide_img_gap < 1) ? 75 : Math.round(hide_img_gap);

function controlFade(fromVid) {
	if (fromVid) {
		var theNode = document.getElementById("moogDiv");
		var vidDiv = document.getElementById("vid_area");
		vidDiv.removeChild(theNode);
		vidDiv.innerHTML = "<div id=\"rotateMod\"><a href=\"\" id=\"atag\"><img src=\"\" id=\"fader\" alt=\"\" border=\"0\" /></a></div>"
	} else {
		img_num = 0
	}
	n = 0;
	m = 0;
	fading = "in";
	if (fromVid) {
		fade_vid();
	} else {
	fade(false);
	}
}
function fade(fromFade_Vid) {
	var faderImg = document.getElementById("fader");
	if (faderImg) {
		if (fromFade_Vid) {
			img_num = 0;
		} 
		document.getElementById("fader").src = theImage[img_num];
		document.getElementById("atag").href = imageLink[img_num];
		m = Math.round(n / steps * 100);
		document.getElementById("fader").style.filter = "alpha(opacity=" + m + ")";
		document.getElementById("fader").style.MozOpacity = m / 100;
		document.getElementById("fader").style.Opacity = m / 100;
		n += (fading == "in") ? 1 : ( - 1);
		if (n == steps + 1) {
			n -= 2;
			fading = "out";
			timeoutID = setTimeout("fade()", show_img_gap)
		} else if (n == 0) {
			fading = "in";
			img_num++;
			if (img_num == imgsets.length) {
				img_num = 0
			}
			timeoutID = setTimeout("fade()", hide_img_gap)
		} else {
			timeoutID = setTimeout("fade()", gap)
		}
	}
}

function fade_vid() {
	var faderImg = document.getElementById("fader");
	if (faderImg) {
		document.getElementById("fader").src = theImage[img_num + 1];
		document.getElementById("atag").href = imageLink[img_num + 1];
		m = Math.round(n / steps * 100);
		document.getElementById("fader").style.filter = "alpha(opacity=" + m + ")";
		document.getElementById("fader").style.MozOpacity = m / 100;
		document.getElementById("fader").style.Opacity = m / 100;
		n += (fading == "in") ? 1 : ( - 1);
		if (n == steps + 1) {
			n -= 2;
			fading = "out";
			timeoutID = setTimeout("fade_vid()", show_img_gap)
		} else if (n == 0) {
			fading = "in";
			img_num++;
			if (img_num == imgsets.length) {
				img_num = 0
			}
			timeoutID = setTimeout("fade(true)", hide_img_gap)
		} else {
			timeoutID = setTimeout("fade_vid()", gap)
		}
	}
}
function createOLDVidPlayer(flvlink) {
	if (timeoutID) {
		clearTimeout(timeoutID);
	}
	var vidDiv = document.getElementById("vid_area");
	var imgDiv = document.getElementById("rotateMod");
	vidDiv.removeChild(imgDiv);
	vidDiv.innerHTML = "<object type=\"application/x-shockwave-flash\" data=\"/custom/player.swf\" width=\"528\" height=\"297\" class=\"home_page\" id=\"flashvideo\"><param name=\"allowScriptAccess\" value=\"sameDomain\" /><param name=\"movie\" value=\"/custom/player.swf\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\"#ffffff\" /><param name=\"wmode\" value=\"transparent\" /><param name=\"flashVars\" value=\"urlPath=" + flvlink + "\" /></object>"
}
function createVidPlayer(flvlink) {
	if (timeoutID) {
		clearTimeout(timeoutID);
	}
	var vidDiv = document.getElementById("vid_area");
	var imgDiv = document.getElementById("rotateMod");
	vidDiv.removeChild(imgDiv);
	vidDiv.innerHTML = "<div id=\"moogDiv\" style=\"width: 528px; height: 297px;\"></div>"
		var video_id = flvlink;
		var moogaloop = false;

		// Run the javascript when the page is ready
		var swf_id = 'moogDiv';
		
	 	var flashvars = {
	        clip_id: video_id,
	        show_portrait: 1,
	        show_byline: 1,
	        show_title: 1,
			js_api: 1, // required in order to use the Javascript API
			js_onLoad: 'vimeo_player_loaded', // moogaloop will call this JS function when it's done loading (optional)
			js_swf_id: 'moogDiv' // this will be passed into all event methods so you can keep track of multiple moogaloops (optional)
	    };
		var params = {
			allowscriptaccess: 'always',
			allowfullscreen: 'true'
		};
		var attributes = {};
			
		// For more SWFObject documentation visit: http://code.google.com/p/swfobject/wiki/documentation
		swfobject.embedSWF("http://vimeo.com/moogaloop.swf", swf_id, "528", "297", "9.0.0","expressInstall.swf", flashvars, params, attributes);

}
function vimeo_player_loaded(swf_id) {
			moogaloop = document.getElementById(swf_id);
			//document.getElementById('controls').style.display = '';
			
			moogaloop.api_addEventListener('onProgress', 'vimeo_on_progress');
			moogaloop.api_addEventListener('onLoading',  'vimeo_on_loading');
			moogaloop.api_addEventListener('onFinish',   'vimeo_on_finish');
			moogaloop.api_addEventListener('onPlay',     'vimeo_on_play');
			moogaloop.api_addEventListener('onPause',    'vimeo_on_pause');
			moogaloop.api_addEventListener('onSeek',     'vimeo_on_seek');
			
			document.getElementById('vimeo_duration').innerHTML = moogaloop.api_getDuration();
			//alert("video is finished loading");
			moogaloop.api_play();
		}
		
		function vimeo_on_play(swf_id) {
			document.getElementById('state').innerHTML = 'Playing';
		}
		
		function vimeo_on_pause(swf_id) {
			document.getElementById('state').innerHTML = 'Paused';
		}
		
		function vimeo_on_seek(time, swf_id) {
			document.getElementById('state').innerHTML = 'Seeking to ' + time;
		}
		
		function vimeo_on_progress(time, swf_id) {
			document.getElementById('vimeo_cur_time').innerHTML = time + 's';
		}
		
		function vimeo_on_loading(data, swf_id) {
			document.getElementById('vimeo_bytes_loaded').innerHTML = data.bytesLoaded;
			document.getElementById('vimeo_bytes_total').innerHTML = data.bytesTotal;
			document.getElementById('vimeo_decimal_loaded').innerHTML = data.decimal;
			document.getElementById('vimeo_percent_loaded').innerHTML = data.percent + '%';
		}
		
		function vimeo_on_finish(swf_id) {
			//alert("video has ended");
			//document.getElementById('state').innerHTML = 'Finished';
			controlFade(true);
		}
		
		function toggle_loop(el) {
			if (el.value == 'Loop is off') {
				el.value = 'Loop is on';
				moogaloop.api_setLoop(true);
			}
			else {
				el.value = 'Loop is off';
				moogaloop.api_setLoop(false);
			}
		}

function createVidPlayerDOMSTYLE(flvlink) {
	var imgDiv = document.getElementById("rotateMod");
	imgDiv.className = "disabled";
	var vidDiv = document.getElementById("vid_area");
	var objectElement = document.createElement("object");
	var paramElement = document.createElement("param");
	paramElement.setAttribute("name", "flashvars");
	var flashvariables = [];
	for (var name in flashvariables) {
		flashvariables.push(name + "=" + flashvariables[name])
	}
	paramElement.setAttribute("value", flvlink);
	objectElement.appendChild(paramElement);
	var paramElement = document.createElement("param");
	paramElement.setAttribute("name", "movie");
	paramElement.setAttribute("value", "/videos/fimian_player.swf");
	objectElement.appendChild(paramElement);
	var embedElement = document.createElement("embed");
	embedElement.setAttribute("width", "594px");
	embedElement.setAttribute("height", "334px");
	embedElement.setAttribute("type", "application/x-shockwave-flash");
	embedElement.setAttribute("data", "/videos/fimian_player.swf");
	embedElement.setAttribute("allowScriptAccess", "sameDomain");
	embedElement.setAttribute("wmode", "transparent");
	embedElement.setAttribute("quality", "high");
	embedElement.setAttribute("src", "flash_tour.swf");
	objectElement.appendChild(embedElement);
	objectElement.setAttribute("width", "594px");
	objectElement.setAttribute("height", "334px");
	objectElement.style.position = "absolute";
	objectElement.style.left = "10px";
	objectElement.style.top = "10px";
	vidDiv.appendChild(objectElement)
}