if (typeof MPL == "undefined") {
	var MPL = {};
}

MPL.object = ".m_data";

MPL.loadMediaPlayer = function (jPlayer, jData) {
	if(jData.find(".box").length > 0) {
		MPL.object = ".box";
	};
	
	var jContent = jData.find(".current");
	if(jContent.length == 0) {
		var _firstCotent = jData.find(MPL.object + ":first");
		_firstCotent.addClass("current");
	}

	jPlayer.find("a.a_next").click(function (e) { MPL._next(jPlayer, jData); return false; });
	jPlayer.find("a.a_prev").click(function (e) { MPL._prev(jPlayer, jData); return false; });

//	MPL.loadContent(jPlayer, jData);

	jPlayer.find(".btn_play a").click(function (e) {
		e.stopPropagation();
		e.preventDefault();

		var _action = getProperty(jPlayer.find(".btn_play"), "action");
		
		if(_action == "load_page") {
			var _href = jPlayer.find("a.mplayer_title").attr("href");
			document.location = _href;
		} else {
			MPL._playVideo(jPlayer, jData);				
		}
	});

	var _p_data = MPL.refresh(jPlayer, jData);
	if(jPlayer.find(".mplayer_auto_pager").length > 0) {

		jData.find(".m_data").each(function (i, data) {
			jQuery(data).addClass("elto_" + parseInt(i + 1));
		});

		jPlayer.find(".mplayer_auto_pager").autoPager(_p_data["total"], _p_data["current"], 10, function (data) {
			MPL._goto(jPlayer, jData, data.html());
		});
	}
	
	return true;
};

MPL.refresh = function(jPlayer, jData) {
	jData.find(".current").removeClass("current");
	var _firstCotent = jData.find(MPL.object + ":first");
	_firstCotent.addClass("current");
	
	MPL.loadContent(jPlayer, jData);

	var _indice = 1;
	var _total = jData.find(MPL.object).length;

	jPlayer.find("span.indice").html(_indice);
	jPlayer.find("span.total").html(_total);

	if (_total < 2) {
		jPlayer.find(".m_rotator_paginator").hide();
	}	
	return {"total": _total, "current" : _indice};

}
	
MPL._goto = function (jPlayer, jData, elto) {
	var _content = jData.find(".current");
	_content.removeClass("current");
	if(jData.find(".elto_" + elto).length == 0) {
		jData.find(".m_data:first").addClass("current");	
	} else {
		jData.find(".elto_" + elto).addClass("current");
	}

	MPL.loadContent(jPlayer, jData);
	return false;
}

MPL._next = function (jPlayer, jData) {
	var _content = jData.find(".current");
	_content.removeClass("current");
	if(_content.next(MPL.object).length == 0) {
		jData.find(".m_data:first").addClass("current");	
	} else {
		_content.next().addClass("current");
	}
	MPL.loadContent(jPlayer, jData);
	return false;
};

MPL._prev = function (jPlayer, jData) {	
	var _content = jData.find(".current");
	_content.removeClass("current");
	if(_content.prev(MPL.object).length == 0) {
		jData.find(".m_data:last").addClass("current");	
	} else {
		_content.prev().addClass("current")	
	}
	MPL.loadContent(jPlayer, jData);
	return false;
};

MPL.loadContent = function (jPlayer, jData) {		

	var jContent = jData.find(".current");
	var _type = jContent.find(".m_type").html();

	jPlayer.find(".btn_play").hide();
	jPlayer.find(".dimlayer").hide();
	jPlayer.find(".dimmap").hide();
	jPlayer.find(".image_dest").show();
	
	jData.find(MPL.object).each(function (i, data) {
		if(jQuery(data).attr("id") == jContent.attr("id")) {
			jPlayer.find("span.indice").html(parseInt(i) + 1);
			return true;
		}
	});

	if(_type == null) {
		return false;
	}

	switch (_type.replace(" ", "")) {
	case "NWS":
		MPL._loadBasicContent(jPlayer, jData);
		break;
	case "VID":
		MPL._loadBasicContent(jPlayer, jData);
		MPL._loadVideoContent(jPlayer, jData);
		break;
	case "MAP":
		MPL._loadMapContent(jPlayer, jData);
		break;
	case "MOV":
		MPL._loadMovTrailer(jPlayer, jData);
		break;
	default:
		MPL._loadBasicContent(jPlayer, jData);
		break;
	}

};

MPL._loadBasicContent = function (jPlayer, jData) {
	var jContent = jData.find(".current");

	var _title = jContent.find(".m_title a").html();
	var _url = jContent.find(".m_title a").attr("href");	
	var _image = jContent.find(".m_image").html();

	jPlayer.find(".mplayer_title").html(_title);	
	jPlayer.find(".mplayer_title").attr("href", _url);
	jPlayer.find(".mplayer_image").attr("src", _image);
	jPlayer.find(".mplayer_image").attr("alt", _title);
	jPlayer.find(".mplayer_image").attr("title", _title);

	jPlayer.find(".image_dest").attr("href", _url);


};

MPL._loadVideoContent = function (jPlayer, jData) {
	jPlayer.find(".btn_play").show();
};

MPL._loadMapContent = function (jPlayer, jData) {
	var jContent = jData.find(".current");

	var id = jContent.find(".m_contentId").html();	
	var version = jContent.find(".m_versionId").html();

	var _map = jContent.find(".m_map").html().split(",");
	var initLng = _map[0];
	var initLat = _map[1];
	var initZoom = _map[2];

	var _map_datas = [id, version, initLat, initLng, initZoom];
	
	var _title = jContent.find(".m_title a").html();
	var _url = jContent.find(".m_title a").attr("href");


       if(typeof(G_NORMAL_MAP) == "undefined") {
               jPlayer.find(".mplayer_image").attr("src", "/static/img/preview_mapa.png");
               return false;
       }


	jPlayer.find(".mplayer_title").html(_title);	
	jPlayer.find(".mplayer_title").attr("href", _url);

	jPlayer.find(".image_dest").hide();
	jPlayer.find(".dimmap").show();
	
	jPlayer.find(".dimmap").css("width", "640px");
	jPlayer.find(".dimmap").css("height", "300px");

	MPL._loadMap(_map_datas, jPlayer.find(".dimmap").attr("id"));
};

MPL._loadMovTrailer = function (jPlayer, jData) {
	jPlayer.find(".btn_play").hide();
	jPlayer.find(".dimlayer").show();
	jPlayer.find(".image_dest").hide();

	var jContent = jData.find(".current");
        var id = jContent.find(".m_contentId").html();

//	jPlayer.find(".dimlayer").load("/cartelera-cine/chunk/trailer/" + id);
// 	El método de arriba de hacerlo es más gonito, pero da hostias con explorer.

	jQuery.get("/cartelera-cine/chunk/trailer/" + id, function (data) {
		
		jPlayer.find(".dimlayer").html(data);
		
	});


	
};

MPL._loadMap = function (datas, layerId) {
	// comprobar para editores

	var initLat = datas[2];
	var initLng = datas[3];
	var mapType = G_NORMAL_MAP;
	var initZoom = datas[4];
	var contentId = datas[0];
	var versionId = datas[1];
	var mapa = new map(layerId, initLat, initLng, initZoom, mapType, "/relatedVersions/"  + contentId + "/" + versionId + "/");
	mapa.loadFromXML("/mapData/" + contentId + "/" + versionId + "/");
};

MPL._playVideo = function (jPlayer, jData) {
	jPlayer.find(".btn_play").hide();
	jPlayer.find(".dimlayer").show();
	jPlayer.find(".image_dest").hide();

	var jContent = jData.find(".current");
	var id = jContent.find(".m_contentId").html();	
	
	var alternateId = id;

	var _layer = jPlayer.find(".dimlayer").attr("id");	
	videoChunk(id, _layer, alternateId)
	
}
