/* 
 * Elvin Player Embed
 * embeds every media file and specially the 'elvin player' using the browser capabilities. 
 *
 * @author 		Elvin Verlaat [elvin@isioux.nl] 
 * @company 	I Sioux Media Productions B.V. [www.isioux.nl]
 * @version    0.0.1
 */
var EPEmbed = function() {
	
	var win = window, doc = document, nav = navigator,
               
	settings = {                      
		// general settings
		'file'			  	: 'video.flv',				//[file] 
		'defaultFileHandling' : 'elvinplayer', 
		'width'	 			: '550',
		'height'				: '400',
		                  
		// elvin player settings
		'playerLocation' 	: 'player.swf',
		
		'autoPlay'		  	: '0',						// 0, 1
		'autoRepeat'	  	: '0',						// 0, 1
		'volume'			  	: '70',						// 0 - 100			
		'showControls'	  	: '1',						// 0, 1
		'bufferTime'	  	: '10',						// 0 - 10
		'smoothing'		  	: '1',						// 0, 1
		'aspectRatio'	  	: '0',						// 0, 1
		'equalizerColor'	: 'FFFFFF',					// 000000 - FFFFFF
		'equalizer'			: 'revolt',					// revolt, simple
		'skin'				: 'default',				// default, youtube, npo, ..
		'color'				: 'FFFFFF',					// 000000 - FFFFFF
		'background'		: '000000',					// 000000 - FFFFFF
		'videoBackground'	: '000000',					// 000000 - FFFFFF
		'alpha'				: '100',					  	// 0 - 100
		'position'			: 'under',			 		// over, under
		'hide'				: '0',						// 0, 1
		'showTrigger'		: 'all'  					// all, control
	},
	
	userAgent = function() {
		var w3cdom 			= typeof doc.getElementById != undefined && typeof doc.getElementsByTagName != undefined && typeof doc.createElement != undefined,
	   u 			  			= nav.userAgent.toLowerCase(),
      p 						= nav.platform.toLowerCase(),
      windows 				= p ? /win/.test(p) : /win/.test(u),
      mac 				  	= p ? /mac/.test(p) : /mac/.test(u),
      webkit 				= /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // returns either the webkit version or false if not webkit
      ie 		  			= !+"\v1", // feature detection based on Andrea Giammarchi's solution: http://webreflection.blogspot.com/2009/01/32-bytes-to-know-if-your-browser-is-ie.html
      playerVersion 		= [0,0,0],
      d = null;
               
		return { w3:w3cdom, pv:playerVersion, wk:webkit, ie:ie, win:windows, mac:mac };     
	}();
	
	mergeSettings = function(object) {  
		
		var mergedsettings = {}; 
		var i;
		for(i in settings) { 
			mergedsettings[i] = settings[i];
		}
		for(i in object) {   
			mergedsettings[i] = object[i];
		}     
		return mergedsettings;
	}
	
	embedFlashPlayer = function(params) {  
		var FlashVars = '';
		var allowFullScreen = 'true';
		var wmode = 'normal';
		if(userAgent.mac || userAgent.ie || userAgent.webkit) {
		  wmode = 'transparent';
		}
	   for(var i in params) {
			FlashVars += i + '=' + params[i] + '&'
		} 
		FlashVars += 'antiCache=' + new Date().getTime();
		 
		AC_FL_RunContent( 
		'codebase',				'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0',
		'width', 				params.width,
		'height', 				params.height,
		'src',					params.playerLocation.split('.')[0],
		'quality',				'high',
		'pluginspage',			'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',
		'movie',					params.playerLocation.split('.')[0],
		'FlashVars', 			FlashVars,      
		'allowFullScreen', 	allowFullScreen,
		'wmode',					wmode
		);		
	}
	
  	return {    
			
	   settings: settings,     
	 	
		embedFile: function(file, params) {
	   	
			// merge default with given settings
			params = mergeSettings(params);        
			params.file = file;
		  	
		  	// try to determine file type and run the correct function   
			switch( params.file.split('.')[params.file.split('.').length -1].toLowerCase() ) 
			{
				case 'flv': 
				case 'mp3':
				case 'mp4':
				default:
					embedFlashPlayer(params);
					break;
		  	}       
	   }
  	};
	
 
}();   


var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function ControlVersion()
{var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version");}catch(e){}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0";}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11";}catch(e){version=-1;}}
return version;}
function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4];}
if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1);}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"));}}
var flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}}
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera){flashVer=ControlVersion();}
return flashVer;}
function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision)
{versionStr=GetSwfVer();if(versionStr==-1){return false;}else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",");}else{versionArray=versionStr.split(".");}
var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer)){return true;}else if(versionMajor==parseFloat(reqMajorVer)){if(versionMinor>parseFloat(reqMinorVer))
return true;else if(versionMinor==parseFloat(reqMinorVer)){if(versionRevision>=parseFloat(reqRevision))
return true;}}
return false;}}
function AC_AddExtension(src,ext)
{if(src.indexOf('?')!=-1)
return src.replace(/\?/,ext+'?');else
return src+ext;}
function AC_Generateobj(objAttrs,params,embedAttrs)
{var str='';if(isIE&&isWin&&!isOpera)
{str+='<object ';for(var i in objAttrs)
{str+=i+'="'+objAttrs[i]+'" ';}
str+='>';for(var i in params)
{str+='<param name="'+i+'" value="'+params[i]+'" /> ';}
str+='</object>';}
else
{str+='<embed ';for(var i in embedAttrs)
{str+=i+'="'+embedAttrs[i]+'" ';}
str+='> </embed>';}
document.write(str);}
function AC_FL_RunContent(){var ret=AC_GetArgs
(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_SW_RunContent(){var ret=AC_GetArgs
(arguments,".dcr","src","clsid:166B1BCA-3F9C-11CF-8075-444553540000",null);AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object();ret.embedAttrs=new Object();ret.params=new Object();ret.objAttrs=new Object();for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case"classid":break;case"pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case"src":case"movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblClick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"onload":case"onlosecapture":case"onpropertychange":case"onreadystatechange":case"onrowsdelete":case"onrowenter":case"onrowexit":case"onrowsinserted":case"onstart":case"onscroll":case"onbeforeeditfocus":case"onactivate":case"onbeforedeactivate":case"ondeactivate":case"type":case"codebase":case"id":ret.objAttrs[args[i]]=args[i+1];break;case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1];}}
ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret;}
