
//querystring params
var qsParm = new Array();
//readi
function qs() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
}

/**
 * Our JWPlayer instance
 */
var player = null;
/**
 * Fires when the JWPlayer becomes ready.
 * Load a video if there is one in the querystring
 * else load the first video on the page.
 *
 * @param thePlayer The JWPlayer instance.
 *
 */
function playerReady(thePlayer) { 
	//alert("playerReady");
	player = window.document[thePlayer.id];
	var playVideo = qsParm['playVideo'];
	
	if(playVideo) {
		loadVideo(playVideo);
	} else {
		//go get the first video in the list	
		var firstCell = $('videoLinkCell');
		
		if(firstCell) {
			var href = firstCell.innerHTML;
			//find the filename to load
			var subs = href.substring(href.indexOf("('")+2, href.indexOf("')"));
			//load the first video
			loadVideo(subs, true);
		}
	}
}
/**
 * Creates the player swfObject.
 * 
 *
 */
function createPlayer() {
	//read the querystring
	qs();
	
	//setup flashvars, etc
	var flashvars = {
		autoplay: "true",
  		backcolor: "00355B",
 		frontcolor: "FFFFFF",
		lightcolor: "FFFFFF"
	};
	
	var params = {
  		allowfullscreen: "true",
		allowscriptaccess: "always"
	};
	var attributes = {
		id: "player1",
		name: "player1"
	};
	
    //load up our swfobject
	swfobject.embedSWF("flash/player.swf", "flashPlayer", "400", "320", "9.0.98", "Scripts/expressInstall.swf", flashvars, params, attributes);
	
}
/**
 * Loads a Video into the Video player.
 * 
 * @param name The name of the video file to load.
 * @param pause sets the video to pause after 1 sec to get preview image.
 *
 */
function loadVideo( name, pause ) {
	//alert(player.id);
	
	if(spacer) {
		$('fb-modal').fade('out'); 
		$('videoPlayerCell').setStyles({ display: 'block' });
		spacer.dispose();
		spacer = null;
	}
	
	
	$('sendToFriendLink').setStyles({
		opacity:1
	});
	
	if(player.sendEvent) {
		player.sendEvent('LOAD','../videos/'+name);
		if(!pause) {
			player.sendEvent('PLAY');
		} else {
			player.addModelListener("STATE", "stateListener");
			player.sendEvent('PLAY');
		}
	} else {
		qsParm['playVideo'] = name;
	}

	$('currentVideo').value = name;
}

var spacer;


/**
 *
 * Listens for a buffering state event and fires a pause
 * event 1 second after to get a preview image in the JWplayer.
 *
 * @param obj The event object.
 *
 */
function stateListener(obj) {
	if(obj.newstate == "BUFFERING") {
		setTimeout("player.sendEvent('PLAY', 'false')", 1000);
		player.removeModelListener("STATE", "stateListener");
	}
}

/**
 *
 * send to a friend code (via Mootools popup)
 *
 */
window.addEvent('domready',function() {
	/* hide using opacity on page load */
	$('fb-modal').setStyles({
		opacity:0,
		display:'block'
	});
	
	
	$('sendToFriendLink').setStyles({
		opacity:0
	});
	
	$('throbber').setStyles({
		opacity:0
	});
	/* hiders */
	$('ajax-close').addEvent('click',function(e) { 
			$('fb-modal').fade('out'); 
			$('videoPlayerCell').setStyles({ display: 'block' });
			(spacer)?spacer.dispose():null;
			spacer = null;
	});
	
	window.addEvent('keypress',function(e) { 
			if(e.key == 'esc') { 
				$('fb-modal').fade('out');
				$('videoPlayerCell').setStyles({ display: 'block' });
				(spacer)?spacer.dispose():null;
				spacer = null;
			} 
	});
	/*
	$(document.body).addEvent('click',function(e) { 
		if($('fb-modal').get('opacity') == 1 && !e.target.getParent('.generic_dialog') ) { 
			alert("3");
			$('fb-modal').fade('out');
			$('videoPlayerCell').setStyles({ display: 'block' });
			(spacer)?spacer.dispose():null;
		} 
	});
	*/
	/* click to show */
	$('fb-trigger').addEvent('click',function() {
		if(!spacer) {
			$(player.id).sendEvent('PLAY', 'false');
			$('videoPlayerCell').setStyles({ display: 'none' });
			spacer = new Element('img', { id: 'spacer_000', src: 'images/blank.gif', height: 340, width: 1 });
			spacer.inject($('videoPlayerContainer'), 'top');
			$('fb-modal').fade('in');
		}
	});
	
	//handle "send" click events
	$('ajax-send').addEvent('click', function(event) {
		 
		 event.stop();
		 
		 var success = true;
		 var errorMessage = '';
		 $('errorMessage').set({html: ''});
		 $('errorMessage').setStyles({ color: '#E00' });
		 
		 if($('fromName').value == '') {
		 	$('errorMessage').set({html: '* Please enter <strong>Your Name</strong> above.<br />'});
		 	return;
		 }
		 
		 if(!validateEmail($('fromEmail'))) {
			 $('errorMessage').set({html: $('errorMessage').get('html')+'* Please check <strong>Your Email</strong> address.<br />'});
			return;
		 }
		 
		 if(!validateEmail($('toEmail'))) {
			$('errorMessage').set({html: $('errorMessage').get('html')+'* Please check your <strong>Friend\'s Email</strong> address.<br />'});
			return;
		 }
		 
		 if(success) {
		 	
			$('ajax-send').disabled = true;
			
			$('throbber').setStyles({ opacity: 1});
			
			var loc = document.location.href;
			if(loc.indexOf('#') > 0) {
				loc = loc.substring(0, loc.indexOf('#'));	
			}
			
			if (loc.indexOf('?') > 0) {
				loc = loc.substring(0, loc.indexOf('?'));	
			}
			
			 var req = new Request({
					method: 'post',
					url: 'Scripts/emailtofriend.php',
					data: { 'fromEmail' : $('fromEmail').value,
							'fromName' : $('fromName').value,
							'toEmail' : $('toEmail').value,
							'pageURI' : escape(loc),
							'toMessage' : $('toMessage').value,
							'currentVideo' : $('currentVideo').value },
					onSuccess: onSuccessFunction
			}).send();
		 }
		 							  
	});
	
	createPlayer();
	
});

/**
 * AJAX Request callback function.
 *
 */
function onSuccessFunction(responseText, responseXML) {
	$('ajax-send').disabled = false;
	
	var success = responseXML.getElementsByTagName("success")[0].firstChild.nodeValue;
	
	if(success == 'false') {
		$('errorMessage').set({html: '* An error occurred sending the email.<br />Please try again.'});
	} else {
		$('errorMessage').setStyles({ color: '#00A300' });
		$('errorMessage').set({html: 'Email was successfully sent!'});
	}
	
	$('throbber').setStyles({ opacity: 0});
	
	//alert('Response: ' + getValue(responseXML.firstChild, 'success'));
	
}


/**
 * Basic email syntax validation routine.
 *
 */
function validateEmail ( emailField ) {
	 emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	 if( !emailpat.test( emailField.value ) ) {
		  return false;
	 }
	 return true;
}
