/**
 * SWFObject v1.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formarly known as FlashObject. The name was changed for
 *   legal reasons.
 */
if(typeof lc_deconcept=="undefined"){var lc_deconcept=new Object();}
if(typeof lc_deconcept.util=="undefined"){lc_deconcept.util=new Object();}

if(typeof lc_deconcept.SWFObjectUtil=="undefined"){lc_deconcept.SWFObjectUtil=new Object();}

lc_deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
	if(!document.createElement||!document.getElementById){return;}
	this.DETECT_KEY=_b?_b:"detectflash";
	this.skipDetect=lc_deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params=new Object();
	this.variables=new Object();
	this.attributes=new Array();
	if(_1){this.setAttribute("swf",_1);}
	if(id){this.setAttribute("id",id);}
	if(w){this.setAttribute("width",w);}
	if(h){this.setAttribute("height",h);}
	if(_5){this.setAttribute("version",new lc_deconcept.PlayerVersion(_5.toString().split(".")));}
	this.installedVer=lc_deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute("version"),_7);
	if(c){this.addParam("bgcolor",c);}
	var q=_8?_8:"high";
	this.addParam("quality",q);
	this.setAttribute("useExpressInstall",_7);
	this.setAttribute("doExpressInstall",false);
	var _d=(_9)?_9:window.location;
	this.setAttribute("xiRedirectUrl",_d);
	this.setAttribute("redirectUrl","");
	if(_a){this.setAttribute("redirectUrl",_a);}
};
lc_deconcept.SWFObject.prototype={
	setAttribute:function(_e,_f){
		this.attributes[_e]=_f;
	},getAttribute:function(_10){
		return this.attributes[_10];
	},addParam:function(_11,_12){
		this.params[_11]=_12;
	},getParams:function(){
		return this.params;
	},addVariable:function(_13,_14){
		this.variables[_13]=_14;
	},getVariable:function(_15){
		return this.variables[_15];
	},getVariables:function(){
		return this.variables;
	},getVariablePairs:function(){
		var _16=new Array();
		var key;
		var _18=this.getVariables();
		for(key in _18){
			_16.push(key+"="+_18[key]);
		}
		return _16;
	},getSWFHTML:function(){
		var _19="";
		if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
			if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
			_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
			_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
			var _1a=this.getParams();
			for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
			var _1c=this.getVariablePairs().join("&");
			if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
			_19+="/>";
		}else{
			if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
			_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
			_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
			var _1d=this.getParams();
			for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
			var _1f=this.getVariablePairs().join("&");
			if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}
			_19+="</object>";
		}
		return _19;
	},write:function(_20){
		if(this.getAttribute("useExpressInstall")){
			var _21=new lc_deconcept.PlayerVersion([6,0,65]);
			if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
			this.setAttribute("doExpressInstall",true);
			this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
			document.title=document.title.slice(0,47)+" - Flash Player Installation";
			this.addVariable("MMdoctitle",document.title);}
		}
		if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
			var n=(typeof _20=="string")?document.getElementById(_20):_20;
			n.innerHTML=this.getSWFHTML();
			return true;
		}else{
			if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}
		}
		return false;
	}
};
lc_deconcept.SWFObjectUtil.getPlayerVersion=function(_23,_24){
	var _25=new lc_deconcept.PlayerVersion([0,0,0]);
	if(navigator.plugins&&navigator.mimeTypes.length){
	var x=navigator.plugins["Shockwave Flash"];
	if(x&&x.description){_25=new lc_deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
	}else{
		try{
			var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			for(var i=3;axo!=null;i++){
				axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
				_25=new lc_deconcept.PlayerVersion([i,0,0]);
			}
		}
		catch(e){}
		if(_23&&_25.major>_23.major){return _25;}
		if(!_23||((_23.minor!=0||_23.rev!=0)&&_25.major==_23.major)||_25.major!=6||_24){
			try{
				_25=new lc_deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
			}
			catch(e){}
		}
	}
	return _25;
};

lc_deconcept.PlayerVersion=function(_29){
	this.major=parseInt(_29[0])!=null?parseInt(_29[0]):0;
	this.minor=parseInt(_29[1])||0;
	this.rev=parseInt(_29[2])||0;
};
lc_deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
	if(this.major<fv.major){return false;}
	if(this.major>fv.major){return true;}
	if(this.minor<fv.minor){return false;}
	if(this.minor>fv.minor){return true;}
	if(this.rev<fv.rev){return false;}return true;
};
lc_deconcept.util={
	getRequestParameter:function(_2b){
		var q=document.location.search||document.location.hash;
		if(q){
			var _2d=q.indexOf(_2b+"=");
			var _2e=(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length;
			if(q.length>1&&_2d>-1){
				return q.substring(q.indexOf("=",_2d)+1,_2e);
			}
		}return "";
	}
};
if(Array.prototype.push==null){
	Array.prototype.push=function(_2f){
		this[this.length]=_2f;
		return this.length;
	};
}
var lc_getQueryParamValue=lc_deconcept.util.getRequestParameter;
var lc_FlashObject=lc_deconcept.SWFObject; // for backwards compatibility
var lc_SWFObject=lc_deconcept.SWFObject;


/* Flash Player Version Detection - Rev 1.6
 * Detect Client Browser type
 *Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
 */

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;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}
//JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	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;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

/**
 * Liveclicker Javascript functions
 */

function LiveclickerStringReplace(lc_search, lc_repla, lc_orig)
{
	var lc_original_str 	= new String(lc_orig);
	var lc_regular_Exp	= "/"+lc_search+"/g";
	var lc_rExp	= eval(lc_regular_Exp);
	var lc_new_str	= String(lc_repla);

	return (new String(lc_original_str.replace(lc_rExp, lc_new_str)));
}

function addLCEventListener(ev, param){
	if(arguments[2]) {
		var LCPlayers = new Array();
		for (var i = 2, j = arguments.length; i < j; i++){
			LCPlayers.push(getLCPlayers(arguments[i])[0]);
		}
	}else {
		var LCPlayers = getLCPlayers();
	}		
	for(var LCPlayersI=0; LCPlayersI<LCPlayers.length; LCPlayersI++){
		var LCPswf = LCPlayers[LCPlayersI];
		LCPswf.addEventListener(ev, param);
	}
}

function removeLCEventListener(ev, param){
	if(arguments[2]) {
		var LCPlayers = new Array();
		for (var i = 2, j = arguments.length; i < j; i++){
			LCPlayers.push(getLCPlayers(arguments[i])[0]);
		}
	}else {
		var LCPlayers = getLCPlayers();
	}		
	for(var LCPlayersI=0; LCPlayersI<LCPlayers.length; LCPlayersI++){
		var LCPswf = LCPlayers[LCPlayersI];
		LCPswf.removeEventListener(ev, param);
	}
}

function getLCPlayers(){
	var LCPlayers = [];
	if(arguments[0]) {
		for (var i = 0, j = arguments.length; i < j; i++){
			try{
				LCPlayers.push(document.getElementById("Liveclicker_video_"+arguments[i]).firstChild);
			}catch(e){
			}
		}
	}else{
		var divs = document.getElementsByTagName('div');		
		for (var i = 0; i < divs.length; i++) {
			var div = divs[i];			
			if (div.className == 'Liveclicker_video') {
				LCPlayers.push(div.firstChild);
			}
		}
	}
	return LCPlayers;
}

function sendLCEvent(ev, param) {
	var arg_i;
	((ev != "seek") && (ev != "volume")) ? arg_i = 1 : arg_i = 2;
	if(arguments[arg_i]) {
		var LCPlayers = new Array();
		for (var i = arg_i, j = arguments.length; i < j; i++){
			LCPlayers.push(getLCPlayers(arguments[i])[0]);
		}
	}else {
		var LCPlayers = getLCPlayers();
	}		
	for(var LCPlayersI=0; LCPlayersI<LCPlayers.length; LCPlayersI++){
		var LCPswf = LCPlayers[LCPlayersI];
		LCPswf.sendEvent(ev, param);
	}
}


function getRootPath(aditionalFVars){
	var rootPath = "http://cdn.liveclicker.net/";
	try{
		if(aditionalFVars && aditionalFVars['accountCDN']){
			rootPath = aditionalFVars['accountCDN'];
		}
	}catch(e){
		rootPath = "http://cdn.liveclicker.net/";
	}
	return rootPath;
}

function addLCFlashvars(so, lc_aditionalFVars, lc_SkinPath){
	if(lc_aditionalFVars){		
		for(var lc_cfv in lc_aditionalFVars){
			switch(lc_cfv){
				case "skinPath":
					so.addVariable(lc_cfv, lc_SkinPath + lc_aditionalFVars[lc_cfv]);
					break;
				case "navfile":
					so.addVariable(lc_cfv, escape(lc_aditionalFVars[lc_cfv]));
					break;
				default:
					so.addVariable(lc_cfv, lc_aditionalFVars[lc_cfv]);
					break;		
			}
		} 
	}
	return so;
}

function addLCParameters(so, args){
	so.addVariable("widgetid", 		args[0]);
	var autostart = args[6];
	if (args[7]) {
		if (args[7]['autostart'] != undefined) {
			autostart =	args[7]['autostart']; 
		}
	}
	so.addVariable("autostart", 	autostart);
	so.addVariable("enablejs", 		"true");
	so.addVariable("width", 		args[1]);
	so.addVariable("height", 		args[2]);
	so.addVariable("displaywidth", 	args[3]);
	so.addVariable("displayheight", args[4]);
	so.addParam("build", "0");
	so.addParam("allowfullscreen", "true");
	so.addParam('allowscriptaccess', 'always');
	so.addParam("wmode", "opaque");
	so.addVariable("overstretch", "false");
	so.addVariable("showdigits", "true");
	so.addVariable("showfsbutton", "false");
	return so;
}

function getLCConcatFVersion(lc_flashVersion){
	return "&flashVersion="+lc_flashVersion; //en devel se concatena con '&flashVersion='
}

function filterXmlUrl(xmlURL, lc_flashVersion){
	
	if(xmlURL.indexOf("%")!=-1){
		xmlURL = unescape(xmlURL);	
	}
	
	if (xmlURL.indexOf("http") != 0){
		xmlURL = "http://" + xmlURL;
	}
	
	xmlURL = xmlURL+getLCConcatFVersion(lc_flashVersion);
	xmlURL = escape(xmlURL);
	
	return xmlURL;
}

function getLCFlashVersion(){
	var lc_fV;
	try{
		lc_fV = LiveclickerStringReplace("WIN", " ", GetSwfVer());
		lc_fV = LiveclickerStringReplace(" ", "", lc_fV);
	}
	catch(e){
		lc_fV = 5;
	}
	return lc_fV;
}

function getLCMajorFlashVersion(lc_FV){
	var lc_fMV = LiveclickerStringReplace(",", ".", lc_FV);
	lc_fMV = lc_fMV.split(".");
	lc_fMV = lc_fMV[0];
	return lc_fMV; //para el caso de develsx ya viene listo.
}

function chooseLCPlayer(lc_MFV){
	var selP = "mediaplayer_as3_3.40.4.swf";
	if(getLCMajorFlashVersion(lc_MFV) < 9){
		selP = "mediaplayer.swf";
	}
	return selP;
}

function writeLiveclickerVideo(widgetId, width, height, displayWidth, displayHeight, xmlURL, autostart){
	
	var rootPath = "http://cdn.liveclicker.net/";
	
	var playerSwfPath;
	var playerSkinPath;
	var host = "my.liveclicker.com";
	var playerSwfName = 'mediaplayer_'+widgetId;
	var impactDivId = 'Liveclicker_video_';
	
	if (arguments[7]) {
		if (arguments[7]['container']) {
			impactDivId = arguments[7]['container'];
			delete arguments[7]['container']; 
		}	
	}
	
	impactDivId += widgetId;
	
	/* Busco la version de Flash */
	var lc_flashVersion = getLCFlashVersion();	
	var selectedPlayer = chooseLCPlayer(lc_flashVersion);
	
	/* Modifico el rootPath segun la cdn que venga seleccionada.*/
	( arguments[7] ) ? rootPath = getRootPath(arguments[7]) : null;	

	/* Formo la ruta al player y a los skins (en my no se le concatena la '/')*/
	playerSwfPath = rootPath + "player/" + selectedPlayer; 
	playerSkinPath = rootPath + "player/skin/";
  // alert("is me ");
	/* Mensaje por si no esta instalado flash player */
	document.getElementById(impactDivId).innerHTML = "<div style=\"width:" + width +"px; height:" + height +"px\">This site requires Flash 7 or higher<br><a href=\"http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&Lang=english\" target=\"_blank\">Download</a></div>";
	var so = new lc_SWFObject(playerSwfPath, playerSwfName, width, height, "7", "#FFFFFF");
	//http://edge.liveclicker.net/player/mediaplayer_as3_3.39.1.swf
//	alert(playerSwfPath);
	/* Agrego flashvars Adicionales */
	( arguments[7] ) ? so = addLCFlashvars(so, arguments[7], playerSkinPath) : null;
	
	/* Filtros adicionales para la ruta al getXML */
	xmlURL = filterXmlUrl(xmlURL, lc_flashVersion);
	
	so.addVariable("rootPath", rootPath);
	so.addVariable("file", 	xmlURL);
	so.addVariable("host", 	host);
	so.addVariable("strFPVersion", escape(getLCConcatFVersion(lc_flashVersion)));
	
	/* Agrego parametros necesarios */
	so = addLCParameters(so, arguments);
   	so.write(impactDivId);
}

