﻿// Media Tool By Javascript : VNVN_41
function setCookie(c_name, value)
{
    document.cookie = c_name+ "=" + escape(value);
}

function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start != -1)
        { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) 
                c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

var $A = function(iterable) 
{
	if (!iterable) return [];
	if (iterable.toArray) 
	{
		return iterable.toArray();
	}
	else 
	{
		var results = [];
		for (var i = 0, length = iterable.length; i < length; i++)
			results.push(iterable[i]);
		return results;
	}
}

Function.prototype.handle = function() 
{
	var __method = this, args = $A(arguments), object = args.shift();
	return function() 
	{
		return __method.apply(object, args.concat($A(arguments)));
	}
}
	
Function.prototype.eventHandle = function(object) 
{
	var __method = this, args = $A(arguments), object = args.shift();
	return function(event)
	{
		return __method.apply(object, [event || window.event].concat(args));
	}
}

var special_media_default_url	= "";
var special_media_default_pos	= 0;
var special_media_is_default	= false;
var special_media_auto_play		= true;
var special_media_play_url		= "";
var special_media_play_pos		= 0;
var special_media_play_type		= 0;
var special_media_wait_pos		= null;
var special_media_control		= null;
var is_IE = (navigator.appName == "Microsoft Internet Explorer");
var special_media_flv_player_path = "images/flvplayer.swf";

function special_media_run_frist()
{
	special_media_default_pos	= getCookie("special_media_default_pos");
	special_media_play_url		= getCookie("special_media_play_url");
	special_media_play_pos		= getCookie("special_media_play_pos");
	special_media_auto_play		= getCookie("special_media_auto_play") != "false";
	document.getElementById("special_media_auto_play").checked = special_media_auto_play;

	if (special_media_default_pos == null || special_media_default_pos == "") special_media_default_pos = 0;
	if (special_media_play_pos == null || special_media_play_pos == "") special_media_play_pos = 0;
	if (special_media_auto_play && (special_media_play_url == "" || special_media_play_url == null))
	{
		special_media_is_default = true;
		special_media_play_url = special_media_default_url;
	}
	
	special_media_play_media(special_media_play_url, special_media_play_pos);
	window.setTimeout(special_media_check_media, 500);
}

function special_media_change_media(url, pos)
{
	if (special_media_is_default)
	{
		special_media_default_pos = special_media_play_pos;
		special_media_is_default = false;
		setCookie("special_media_default_pos", special_media_default_pos);
	}
	
	special_media_play_url = url;
	special_media_play_pos = pos;
	setCookie("special_media_play_url", special_media_play_url);
	setCookie("special_media_play_pos", special_media_play_pos);
	special_media_play_media(special_media_play_url, special_media_play_pos);
}

function special_media_auto_play_change()
{
	special_media_auto_play = document.getElementById("special_media_auto_play").checked;
	setCookie("special_media_auto_play", special_media_auto_play);
}

function special_media_play_media(url, pos)
{
	var i_dotIndex	= url.lastIndexOf(".");
	var s_logo = "";
	
	if (i_dotIndex != -1)
	{
		var s_ext = url.substr(i_dotIndex);	// ".ext"
		special_media_play_type = (s_ext == ".flv") ? 1 : 0;
	}
	else
		special_media_play_type = 0;	//WM
		
	var embed_html = "";
	switch (special_media_play_type)
	{
		case 1:
			if (is_IE)
				embed_html = '<OBJECT id="special_media_control" height="268" width="320" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><PARAM value="' + special_media_flv_player_path + '" name="movie" /><PARAM value="#FFFFFF" name="bgcolor" /><PARAM value="high" name="quality" /><PARAM value="false" name="allowfullscreen" /><PARAM value="all" name="allownetworking" /><PARAM value="always" name="allowscriptaccess" /><PARAM value="file=' + url + '&image=' + s_logo + '&autostart=true&start=' + pos + '&bufferlength=' + pos + '" name="flashvars" /></OBJECT>';
			else
				embed_html = '<embed width="320" height="268" flashvars="file=' + url + '&image=' + s_logo + '&autostart=true&start=' + pos + '&bufferlength=' + pos + '" allowscriptaccess="always" allownetworking="all" allowfullscreen="false" quality="high" bgcolor="#FFFFFF" name="special_media_control" id="special_media_control" style="" src="' + special_media_flv_player_path + '" type="application/x-shockwave-flash"/>';
			break;
		case 0:
			if (is_IE)
				embed_html = '<object id="special_media_control" height="268" width="320" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" type="application/x-ms-wmp"><param name="FileName" value="' + url + '" /><param name="TransparentAtStart" value="true" /><param name="AutoStart" value="false" /><param name="AnimationatStart" value="false" /><param name="ShowControls" value="true" /><param name="autoSize" value="false" /><param name="displaySize" value="0" /><param name="showstatusbar" value="1" /></object>';
			else
				embed_html = '<embed id="special_media_control" src="' + url + '" name="special_media_control" type="application/x-ms-wmp" width="294px" height="263px" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" transparentatstart="0" animationatstart="0" showcontrols="0" autosize="0" showstatusbar="1" autostart="0" displaysize="0"></embed>';
			break;
	}
	var div = document.getElementById("TiviOnline_MediaZone");
	div.innerHTML = embed_html;
	
	if (special_media_play_type == 0) //WM
	{
		if (is_IE)
		{
			window.setTimeout(function()
			{
				document.special_media_control.Play();
				special_media_wait_pos = pos;
			}, 500);
		}
		else
		{
			document.special_media_control.controls.play();
			document.special_media_control.controls.currentPosition = parseFloat(pos);
		}
	}
	else if (special_media_play_type == 1) //FLV
	{
		special_media_play_pos = pos;
	}
}

function playerReady(obj) 
{
	special_media_control = document.getElementById('special_media_control');
};

function special_media_check_media()
{
	if (special_media_play_type == 0) //WM
	{
		if (document.special_media_control && document.special_media_control.controls)
		{
			if (is_IE)
			{
				var state = document.special_media_control.PlayState;
				if (state == 0 || state == 6)	//Hat xong va dung lai
				{
					setCookie("special_media_play_url", "");
					setCookie("special_media_play_pos", 0);
					if (!special_media_is_default && special_media_auto_play)
					{
						special_media_play_url = special_media_default_url;
						special_media_play_pos = special_media_default_pos;
						special_media_is_default = true;
						special_media_play_media(special_media_play_url, special_media_play_pos);
					}
				}
				else
				{
					if (state != 0 && state != 6 && state != 3 && special_media_wait_pos != null)
					{
						document.special_media_control.CurrentPosition = special_media_wait_pos;
						special_media_wait_pos = null;
					}
					special_media_play_pos = document.special_media_control.CurrentPosition;
					setCookie("special_media_play_pos", special_media_play_pos);
				}
			}
			else
			{
				var state = document.special_media_control.playState;
				if (state == 1 || state == 0 || state == 10)	//Hat xong va dung lai
				{
					setCookie("special_media_play_url", "");
					setCookie("special_media_play_pos", 0);
					if (!special_media_is_default && special_media_auto_play)
					{
						special_media_play_url = special_media_default_url;
						special_media_play_pos = special_media_default_pos;
						special_media_is_default = true;
						special_media_play_media(special_media_play_url, special_media_play_pos);
					}
				}
				else
				{
					special_media_play_pos = document.special_media_control.controls.currentPosition;
					setCookie("special_media_play_pos", special_media_play_pos);
				}
			}
		}
	}
	else if (special_media_play_type == 1) //FLV
	{
		if (special_media_control)
		{
			var config = special_media_control.getConfig();
			if (config.state == "COMPLETED")
			{
				setCookie("special_media_play_url", "");
				setCookie("special_media_play_pos", 0);
				if (!special_media_is_default && special_media_auto_play)
				{
					special_media_play_url = special_media_default_url;
					special_media_play_pos = special_media_default_pos;
					special_media_is_default = true;
					special_media_play_media(special_media_play_url, special_media_play_pos);
				}
			} else if (config.state == "PLAYING")
			{
				if (special_media_play_pos == "NaN" || special_media_play_pos == null || special_media_play_pos == "") special_media_play_pos = 0;
				special_media_play_pos = (special_media_play_pos * 1.0) + 0.5;
				setCookie("special_media_play_pos", special_media_play_pos);
			}
		}
	}
	window.setTimeout(special_media_check_media, 500);
}