xoolPlayer = 
{
	key: '',								// license key
	src: '',								// hosting domain for xoolplayer.
	width: '640',							// width of the video
	height: '360',							// height of the video	
	source_path: '',						// url for video 
	start_pos: '0',							// start at playing position
	use_rtmp: true,							// use rtmp instead of pseudo-streaming
	auto_play: true,						// auto start video
	opaque: true,							// support oqpage
	enable_cursor: true,					// alow cursor movement
	auto_loop: false,						// auto loop in multi-sources playlist

	title: '',								// title
	show_title: false,						// show title
	splash_screen_url: '',					// splash screen for video
	cover_image_url: '',					// splash image for audio
	logo_image_url: '',						// logo image 
	logo_link_url: 'http://www.xool.tv',	// logo link
	logo_image_top: '',						// logo image position - distance from the top border 
	logo_image_left: '',					// logo image position - distance from the left border 
	logo_image_right: '5',					// logo image position - distance from the right border 
	logo_image_bottom: '25', 				// logo image position - distance from the bottom border 
	
	caption_url : '',						// caption url
	analytics_googleId : '',				// analytics google id
	embedcode_enabled : false,				// allow embed code
	share_enabled : true,					// allow social networks
	email_enabled : true,					// allow email
	viral_description : '',					// desctipion to be displayed 

	use_large_button: false,				// html 5 audio only
	use_html5_on_chrome: false,			 
	use_html5_on_safari: false,
	
	httpBaseUrl : 'http://vod01.netdna.com/vod',  
	rtmpStreamBaseUrl : ':vod/',  
	rtmpConnectionUrl : 'rtmp://vod01.netdna.com/play',
	
	flowplayer: 'flowplayer',
	mediaType: 0,							// 0 as unknonw, 1 as video, 2 as audio, 3 as mixed
	multiSources: false,					// has multi sources
	conatinerId: 'playercontainer',	
	playerId: '',
	
	useHtml5: function() {
		var useragent = navigator.userAgent.toLowerCase();
		if (useragent.indexOf("iphone")>=0 || useragent.indexOf("ipad")>=0)
			return true;
		if (xoolPlayer.use_html5_on_chrome && useragent.indexOf("safari")>=0 && useragent.indexOf("chrome") >=0)	
			return true;
		if (xoolPlayer.use_html5_on_safari && useragent.indexOf("safari")>=0 && useragent.indexOf("chrome") <0)	
			return true;
		return false;
	},
	playVideo: function() {
		xoolPlayer.play();
	},
	playAudio: function() {
		xoolPlayer.play();
	},
	play: function() {
		xoolPlayer.mediaType = 0;
		xoolPlayer.init();
		var code = '';
		if (xoolPlayer.useHtml5())	
			code = xoolPlayer.getHtml5();
		else {
			if (xoolPlayer.splash_screen_url != '')
				xoolPlayer.auto_play = false;
			code = xoolPlayer.getFlow();
		}
		jQuery("#"+xoolPlayer.conatinerId).html(code);
	},
	getFlow : function() {
		var code = xoolPlayer.getHeader() + xoolPlayer.getKey() + xoolPlayer.getLogo();
		code += xoolPlayer.getPlayList();
		code += xoolPlayer.getClip();	
		code += xoolPlayer.getPlugIn();
		code +=	'}); ' +
				'<\/sc' + 'ript>';	
		return code;
	},
	getHeader : function() {
		code = '<a style="display:block; width:'+xoolPlayer.width+'px; height:'+xoolPlayer.height+'px;" id="flowplayer"></a>';
		if (xoolPlayer.show_title) {
			code += xoolPlayer.getCSS();
			code += '<div style="display:block; width:'+xoolPlayer.width+'px;" id="clipinfo"><div id="cliptitle"></div></div>';
		}	
		code += '<script type="text/javascript" src="'+xoolPlayer.getFlowPlayerJsUrl()+'"><\/sc' + 'ript> ' +
				'<script type="text/javascript"> ' +
				'var keys = { ' +
				'	"climatetv.ca" : "#@59dc295840172f36605", ' +
				'	"climatetv.tv" : "#@191a35a6be351601137", ' +
				'	"itiva.net" : "#@6e8d63bdb1a3c825f35", ' +		
				'	"immunobiz.tv" : "#@a4aea9cebe4d6f843bc", ' +
				'	"immunotec.tv" : "#@e7cec76a3f8987a7b5b", ' +			
				'	"microchanneltv.tv" : "#@f390e588003a42c98c7", ' +						
				'	"xoollabs.com" : "#@88d53154efdadf8dc9f", ' +						
				'	"xooltv.net" : "#@fae2a9daeafc2c64733", ' +						
				'	"xool.tv" : "#@7fe9e70d6338e32e551", ' +
				'	"kidcarson.tv" : "#@4f20adf4a958bbddde7", ' +
				'	"6april.tv" : "#@6e4492629f68f8928da", ' +
				'	"bigboard.tv" : "#@41dc0a44956ff011760", ' +
				'	"expeditionworldcup.com" : "#@2826d272488d7624928", ' +
				'	"slingshotliving.com" : "#@93bb3855575114f1347", ' +
				'	"moneywisetv.tv" : "#@24ee66a5febb0721a49"' +
				'}; ';

		code += 'var flowPlayer = ';
		if (xoolPlayer.opaque)
			code += '$f("flowplayer", {src: "'+xoolPlayer.getFlowPlayerCommercialUrl()+'", wmode: "opaque" }, { ';
		else
			code += '$f("flowplayer", "'+xoolPlayer.getFlowPlayerCommercialUrl()+'", { ';
		return code;		
	},
	getKey : function() {
		if (xoolPlayer.key == '')
			return 'key : keys[location.host.replace("www.", "")] || keys[location.host.replace("m.", "")] || "", ';
		return 'key : "' + xoolPlayer.key + '", ';			
	},		
	getLogo : function() {
		var code = '';
		if (xoolPlayer.mediaType == 2) {
			code =	'logo: { ' +
					'	url: "'+xoolPlayer.getAbsoluteUrlOnHost('/images/audio-white-small-trans.png') +'", ' +
					'	top: 150, ' +
					'	right: 293, ' +
					'	opacity: 0.6, ' +
					'	fullscreenOnly: false, ' +
					'	displayTime: 0	' +
					'}, ';
		}
		else if (xoolPlayer.logo_image_url != '') {
			code =	'logo: { ' +
					'	url: "' + xoolPlayer.getAbsoluteUrlOnHost(xoolPlayer.logo_image_url) + '", ' +
					' 	fullscreenOnly: false,  ';	
			if (xoolPlayer.logo_image_top != '')	
				code += '   top: ' + xoolPlayer.logo_image_top + ', ';
			if (xoolPlayer.logo_image_left != '')	
				code += '   left: ' + xoolPlayer.logo_image_left + ', ';
			if (xoolPlayer.logo_image_bottom != '')	
				code += '   bottom: ' + xoolPlayer.logo_image_bottom + ', ';
			if (xoolPlayer.logo_image_right != '')	
				code += '   right: ' + xoolPlayer.logo_image_right + ', ';
			code +=	'	displayTime: 0, ' +	
					'   fadeSpeed: 0, ' +
					'	linkUrl: "' + xoolPlayer.logo_link_url+'" } , ';		
		}
		return code;
	},	
	getAutoPlayFlag : function() {
		if (xoolPlayer.auto_play)
			return 'true';
		return 'false';	
	},
	getCaption : function() {
		if (xoolPlayer.caption_url == '') 
			return '';
		var code = 	'captions: { ' +
					'	url: "'+xoolPlayer.getCaptionPluginUrl()+'", '+
					'	captionTarget: "captionContent" ' +
					'}, ' +
					'captionContent: { ' +
					'	url: "'+xoolPlayer.getContentPluginUrl()+'", '+
					'	bottom: 20, ' +
					'	width: "80%", ' +
					'	height: 40, ' +
					'	backgroundColor: "transparent", ' +
					'	backgroundGradient: "none", ' +
					'	border: 0, ' +
					'	textDecoration: "outline", ' +
					'	style: { ' +
					'		"body": { ' +
					'			fontSize: "12", ' +
					'			fontFamily: "Arial", ' +
					'			textAlign: "center", ' +
					'			color: "#ffffff" ' +
					'		} ' +
					'	} ' +
					'} ';
		return code;			
	},
	getAnalytics : function() {
		if (xoolPlayer.analytics_googleId == '')
			return '';
		var code = 'gatracker: { ' +
					'	url: "' + xoolPlayer.getAnalyticsPluginUrl() + '", ' +
					'	labels: { ' +
					'		start: "Start",' +	
					'		play: "Play",' +	
					'		pause: "Pause",' +	
					'		resume: "Resume",' +	
					'		seek: "Seek",' +	
					'		stop: "Stop",' +	
					'		finish: "Finish",' +	
					'		mute: "Mute",' +	
					'		unmute: "Unmute",' +	
					'		fullscreen: "Fullscreen",' +	
					'		fullscreenexit: "Fullscreen Exit" ' +	
					'	},' +
					'	trackingMode: "AS3", ' +
					'	googleId: "' + xoolPlayer.analytics_googleId + '" ' +
					'}';
		return code;					
	},
	getViral : function() {
		if (!xoolPlayer.embedcode_enabled && !xoolPlayer.share_enabled && !xoolPlayer.email_enabled)
			return '';
		if (xoolPlayer.viral_description == '' && typeof videoTitle != 'undefined' && videoTitle != null && videoTitle != '')
			xoolPlayer.viral_description = videoTitle;	
		var code = 'viral: { ' +
					'	url: "' + xoolPlayer.getViralPluginUrl() + '", ';
		
		if (xoolPlayer.email_enabled) {
			var description = escape(xoolPlayer.viral_description);
			description = description.replace(/%27/g, '`');
			code += '	email: { ' +
					'		texts: { ' +
					'			subject:  "' + description + '", ' +
					'			template: "{0} \\n\\nVideo Link: {1}"' +
					'		}' +
					'	}, ';
		}			
		else 
			code += '	email: false, ';			
					
		if (xoolPlayer.share_enabled) {
			var description = escape(xoolPlayer.viral_description);
			description = description.replace(/%27/g, '&rsquo;');
			code += '	share: { ' +
					'		description: "'+ description + '" ' +
					'	}, ';
		}			
		else
			code += '	share: false, ';			
		if (!xoolPlayer.embedcode_enabled)			
			code += '	embed: false ';
		code +=	'}';
		return code;			
	},
	getFlowPlayerCommercialUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.commercial-3.2.5.swf');
	},
	getFlowPlayerJsUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer-3.2.4.min.js');
	},
	getAnalyticsPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.analytics-3.2.1.swf');
	},
	getAudioPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.audio-3.2.1.swf');
	},
	getCaptionPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.captions-3.2.2.swf');
	},
	getContentPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.content-3.2.0.swf');
	},
	getControlPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.controls-3.2.3.swf');
	},
	getRtmpPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.rtmp-3.2.3.swf');
	},
	getViralPluginUrl : function() {
		return xoolPlayer.getAbsoluteUrlOnHost('/flow/32/flowplayer.viralvideos-3.2.3.swf');
	},
	getOnMetaEvent : function() {
		if (typeof updateMetaDataUrl == 'undefined' || updateMetaDataUrl == '')
			return '';
		if (typeof langShortName == 'undefined' || langShortName == '')
			langShortName = 'en';	
			
		code = 	'	onMetaData: function(clip) { ' +
				'		var maxFullDuration = clip.fullDuration; '+
				'		var completeUrl = clip.completeUrl; ' +
				'		if (xoolPlayer.use_rtmp) ' +
				'			completeUrl = ""; ' +
				'		var post = { '+
				'			"langshortname" : langShortName, ' +
				'			"fullduration" : maxFullDuration, ' +			
				'			"completeurl" : completeUrl ' +
				'		}; ' +
				'		jQuery.post(updateMetaDataUrl + "updatemetdata",post,function(response){ ' +
				'		});' +
				'	}, ';
		return code;
	},
	getClip : function() {
		var code = 	'clip : { ';
		if (xoolPlayer.show_title)
			code +=	'	onBegin: function(clip) { '+
					'		if (typeof clip.title != "undefined") ' +
					'			jQuery("#cliptitle").html("Now playing: "+clip.title);' +
					'	} ';
		if (!xoolPlayer.enable_cursor) {	
			if (xoolPlayer.show_title)
				code += ', ';
			code += '	onBeforeSeek: function() { ' +
					'		return false; } ';
		}			
		code += '}, ';
		return code;
	},
	getPlugIn : function() {
		var code =	'plugins: { ' +
					'	controls: { ';
		if (xoolPlayer.multiSources) 
			code += '		playlist: true ';
		else	
			code += '		url: "'+xoolPlayer.getControlPluginUrl() + '" ';
		code += '	} ';
			
		if (xoolPlayer.use_rtmp) {
			if (xoolPlayer.mediaType == 1 || xoolPlayer.mediaType == 3) {
				code += ', 	xool: {  ' +
						'		url: "'+xoolPlayer.getRtmpPluginUrl() + '", ' +
						' 		netConnectionUrl: "'+xoolPlayer.rtmpConnectionUrl+ '" ' +
						' 	} ';
			}
			if (xoolPlayer.mediaType == 2 || xoolPlayer.mediaType == 3) {		
				code +=	', 	audio: {  ' +
						'		url: "'+xoolPlayer.getRtmpPluginUrl() + '", ' +
						' 		netConnectionUrl: "' + xoolPlayer.rtmpConnectionUrl+'", ' +
						' 		durationFunc: "getStreamLength" ' +
						' 	} ';
			}		
		}	
		if (xoolPlayer.caption_url != '') 
			code += ', ' + xoolPlayer.getCaption();
		if(xoolPlayer.analytics_googleId !='')
			code += ', ' + xoolPlayer.getAnalytics();
		if(xoolPlayer.embedcode_enabled || xoolPlayer.share_enabled || xoolPlayer.email_enabled)
			code += ', ' + xoolPlayer.getViral();

		code +=	'} ';		
		return code;	
	},
	getPlayList : function() {
		var code =	'playlist: [ ';

		if (xoolPlayer.splash_screen_url != '')
			code += '	{ url: "'+xoolPlayer.splash_screen_url + '", ' +
					'	  scaling: "scale" }, ';
					
		var sources = xoolPlayer.source_path.split('|');
		var titles = xoolPlayer.title.split('|');
		var captions = xoolPlayer.caption_url.split('|');
		var images = xoolPlayer.cover_image_url.split('|');
		
		for(i = 0; i < sources.length; i ++ ) {
			var source = jQuery.trim(sources[i]);
			var image = '';
			var title = '';
			var caption = '';
			var mediaType = xoolPlayer.getMediaType(source);
			
			if (titles.length > i)
				title = jQuery.trim(titles[i]);
			if (captions.length > i)
				caption = jQuery.trim(captions[i]);
			if (images.length > i)
				image = jQuery.trim(images[i]);
			
			if (mediaType == 2 && image != '') 
				code +=	'	{ url: "'+xoolPlayer.getAbsoluteUrl(xoolPlayer.httpBaseUrl, image) + '", title:"'+title+'" }, ' +
						'	{ url: "'+xoolPlayer.getMediaSourceUrl(source) + '", '+
						'	  title:"'+title+'" ';
			else 
				code += '	{ url: "'+xoolPlayer.getMediaSourceUrl(source) + '", '+
						'	  title:"'+title+'" ';

			if (i == 0)
				code += ',	  autoPlay: ' + xoolPlayer.getAutoPlayFlag() + ' ' + 
						',	  start: ' + xoolPlayer.start_pos + ' ';

			if (caption != '')
				code += ',	captionUrl: "' + xoolPlayer.getAbsoluteUrlOnHost(caption) + '" ';
			if (mediaType == 1 && xoolPlayer.use_rtmp)
				code += ',	provider: "xool" ';	 	
			if (i == sources.length - 1 && xoolPlayer.auto_loop) {
				code += ', 	onBeforeFinish: function() {' +
						'		return false; ' + 
						'	} ';  					
			}
			code +=	' 	} ';
			if (i != sources.length - 1)								
				code +=	',';
		}

		code += '], ';
		return code;
	},	
	getMediaSourceUrl : function(sourcePath) {
		if (xoolPlayer.use_rtmp)  {
			var file_type = '';
			var rtmp_file_path = '';
			var	index = sourcePath.lastIndexOf( '.' );

			if (index != -1) {
				file_type = sourcePath.substring(index + 1, sourcePath.length );
				rtmp_file_path = sourcePath.substring(0, index);
			}	
			return file_type + xoolPlayer.rtmpStreamBaseUrl + rtmp_file_path;			
		}
		else {
			return xoolPlayer.httpBaseUrl+'/'+sourcePath;
		}
	},
	getMediaType: function(sourcePath) {
		var fileType = '';
		var	index = sourcePath.lastIndexOf( '.' );
		if (index != -1) {
			fileType = sourcePath.substring(index + 1, sourcePath.length).toLowerCase();
			if (fileType == 'mp3'|| fileType == 'wma' || fileType == 'wav')
				return 2;
			return 1;	
		}
		return 0;
	},
	init : function() {
		var sources = xoolPlayer.source_path.split('|');
		if (sources.length > 1)
			xoolPlayer.multiSources = true;

		if (xoolPlayer.mediaType == 0) {
			for(var i = 0; i < sources.length; i ++) {
				var mediaType = xoolPlayer.getMediaType(sources[i]);
				if (xoolPlayer.mediaType != mediaType) {
					if (xoolPlayer.mediaType == 0)
						xoolPlayer.mediaType = mediaType;
					else {
						xoolPlayer.mediaType = 3;
						break;
					}		
				}
			} 
		}
		if (xoolPlayer.start_pos == '-1')
			xoolPlayer.start_pos = 'xoolplayeroffset';
		if (xoolPlayer.title == '')
			xoolPlayer.show_title = false;	
		if (xoolPlayer.mediaType == 2) {
			if (xoolPlayer.cover_image_url == '' && xoolPlayer.logo_image_url != '')
				xoolPlayer.cover_image_url = xoolPlayer.logo_image_url;
		}
	},
	getAbsoluteUrlOnHost : function(url) {
		return xoolPlayer.getAbsoluteUrl(xoolPlayer.src, url);
	},
	getAbsoluteUrl : function(host, url) {
		if (url =='')
			return url;
		var newUrl = url.toLowerCase();
		if (newUrl.indexOf('http://') == 0 || newUrl.indexOf('https://') == 0)
			return url;	
		if (url.indexOf('/') == 0)	
			return host + url;
		return host +'/' + url;
	},

	getCSS : function() {
		return '<link href="'+xoolPlayer.getAbsoluteUrlOnHost('/js/xoolPlayer.css')+'" rel="stylesheet" type="text/css" />';
	},
	// html5  
	getHtml5 : function() {
		var code = '';
		xoolPlayer.playerId = 'mediaplayer_' + randomString();
		
		code += xoolPlayer.getHtml5Js();
		code += xoolPlayer.getCSS();
		
		code += '<div id="'+xoolPlayer.playerId + '_container" ';
		code +=	'	clipSrc="'+xoolPlayer.src+'" ' +
				'	clipHttpBaseUrl="'+xoolPlayer.httpBaseUrl+'" ' +
				'	clipWidth="'+xoolPlayer.width+'" ' +
				'	clipHeight="'+xoolPlayer.height+'" ' +
				'	clipUseLargeButton="'+xoolPlayer.use_large_button+'" ';

		if (xoolPlayer.multiSources) 
			code += ' clipIndex="0" '+
					' clipSources="'+xoolPlayer.source_path+'" '+
					' clipTitles="'+xoolPlayer.title+'" ' +
					' clipImages="'+xoolPlayer.cover_image_url+'" ';
		
		code += '>';
		code += xoolPlayer.getHtml5Media(0);
		code +=	'</div>';
				
		code += xoolPlayer.getHtml5ClipTitle();
		code += xoolPlayer.getHtml5AutoStart(xoolPlayer.playerId, xoolPlayer.auto_play);
		return code;
	},
	getHtml5Media : function(index) {
		var source = xoolPlayer.source_path;
		var image = xoolPlayer.cover_image_url;
		if (xoolPlayer.multiSources) {
			var sources = xoolPlayer.source_path.split("|");
			source = jQuery.trim(sources[0]);
			var images = xoolPlayer.cover_image_url.split("|");
			image = jQuery.trim(images[0]);
		}
		var mediaType = xoolPlayer.getMediaType(source);	
		var params = new Object;

		params.src = xoolPlayer.src;
		params.httpBaseUrl = xoolPlayer.httpBaseUrl;
		params.width = xoolPlayer.width;
		params.height = xoolPlayer.height;
		params.multiSources = xoolPlayer.multiSources;
		params.use_large_button = xoolPlayer.use_large_button;
		params.playerId = xoolPlayer.playerId;
		params.source = source;
		params.image = image;		
		
		if (mediaType == 1)
			return xoolPlayer.getHtml5Video(params);
		else 
			return xoolPlayer.getHtml5Audio(params);
	},
	getHtml5Video : function(params) {
		var code = '';
		code += '<video id="'+params.playerId+'" width="' + params.width + '" height="' + params.height + '" ' +
				' src="'+params.httpBaseUrl+'/' + params.source + '" ' +
				' controls="controls" autoplay="autoplay" x-webkit-airplay="allow"  ';
	
		if (params.multiSources)
			code += ' onplay="onPlay(\''+params.playerId+'\')" ' +
					' onended="onEnded(\''+params.playerId+'\')" ';
		code+=	'>' +
				'your browser does not support the video tag' +
				'</video>';
		return code;		
	},
	getHtml5Audio : function(params) {
		var code = '';
		code +=	'<div id="imagecontainer">' +
				'<img id="'+params.playerId+'_splashimage" src="'+xoolPlayer.getAbsoluteUrl(params.httpBaseUrl, params.image)+'" width="'+params.width+'" height="'+params.height+'" ></img>'+
				'</div>';
		code +=	'<audio id="'+params.playerId+'" style="width:' + params.width + 'px;" '+
				' src="'+params.httpBaseUrl+'/' + params.source + '" autoplay="autoplay" x-webkit-airplay="allow" ';
				
		if (!params.use_large_button)
			code += ' controls="controls" ';
		else
			code += ' onloadedmetadata="onLoadedMetadata(\''+params.playerId+'\');" ' +
					' ontimeupdate="onTimeUpdate(\''+params.playerId+'\');" '+
					' onpause="onPause(\''+params.playerId+'\')" ' +
					' onplay="onPlay(\''+params.playerId+'\')" ' +
					' onended="onEnded(\''+params.playerId+'\')" ';

		if (params.multiSources) {
			if (!params.use_large_button)
				code += ' onplay="onPlay(\''+params.playerId+'\')" ' +
						' onended="onEnded(\''+params.playerId+'\')" ';
		}
		code+=	'>' +
				'your browser does not support the audio tag' +
				'</audio>';
		code += xoolPlayer.getHtml5ClipController(params);	
		return code; 
	}, 			
	getHtml5AutoStart : function(playerId, autoStart) {
		if (!autoStart)
			return '';
		return 	'<script type="text/javascript"> ' +
				'var player = document.getElementById("'+playerId+'"); ' +
				'player.play();' +
				'<\/sc' + 'ript>';	
	}, 
	getHtml5ClipController: function(params) {
		if (!params.use_large_button)
			return '';
		var code = '';
		code = 	'<div id="audioController" style="display:block; width:'+params.width+'px">' +
				'<div id="left">' +
				'	<img id="'+params.playerId+'_playpause" src="'+xoolPlayer.getAbsoluteUrl(params.src, "/images/audio_play.gif")+'" width="80" height="80" onclick="togglePlay(\''+xoolPlayer.playerId+'\');"></img>' +
				'</div>' +
				'<div id="right">'+
				'	<div id="'+params.playerId+'_currenttime" class="currenttime">0:00 </div>' +
				'	<div id="'+params.playerId+'_duration" class="duration"> / 0:00 </div>' +
				'</div>'+  
				'</div>'; 
		return code;				
	},
	getHtml5ClipTitle : function() {
		var code = '';
		if (xoolPlayer.show_title) {
			code += '<div style="display:block; width:'+xoolPlayer.width+'px;" id="clipinfo"><div id="cliptitle">';
			if (!xoolPlayer.multiSources) 
				code += xoolPlayer.title;
			code += '</div>';
			if (xoolPlayer.multiSources) {
				code += '<div id="clipcontroller">' +
						'<a id="'+xoolPlayer.playerId+'_clipbackward" onclick="backwardClip(\''+xoolPlayer.playerId+'\');">' +
						'<img src="'+xoolPlayer.getAbsoluteUrlOnHost('/images/skip_backward.png')+'" width="18" height="16"></img> Prev</a>' +
						'&nbsp;&nbsp;' +
						'<a id="'+xoolPlayer.playerId+'_clipforward" onclick="forwardClip(\''+xoolPlayer.playerId+'\');">Next ' +
						'<img src="'+xoolPlayer.getAbsoluteUrlOnHost('/images/skip_forward.png')+'" width="18" height="16"></img></a>' +
						'&nbsp;</div>';
			}
			code += '</div>';
		}
		return code;
	},
	getHtml5Js : function() {
		return '<script type="text/javascript" src="'+xoolPlayer.getAbsoluteUrlOnHost('/js/xoolPlayerHtml5.js')+'"><\/sc' + 'ript>';
	}
}

function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}



var eventAccessId = 0;
function videoStartViewJSON(id){
	jQuery.getJSON(url_+'incviews&e='+id+'&t=e&callback=?',
			function(response){
				eventAccessId = response.id;
				if (eventAccessId != 0) {
					updateViews = setInterval(videoStopViewJSON, 10*1000);
				}	
			}
	);
}
function videoStopViewJSON(){
	if (typeof maxFullDuration == 'undefined' || maxFullDuration == '')
		maxFullDuration = 0;

	jQuery.getJSON(url_+'incviewstop&v='+eventAccessId+'&mfd='+maxFullDuration,
			function(response){
				toContinue = response.tocontinue; 
				if (toContinue == 0) {
					clearInterval(updateViews);				
				}
			}
	);
}
