if (!window.MediaPreview)
	window.MediaPreview = {};

MediaPreview.Scene = function() 
{
}

var root;
var control;
var imgDown = 0;
var isdataloaded = false;

var pubto;
var newsto;

var pubL = new Array("Samples/pub_gms1.png", "Samples/pub_gms2.png");
var pubindex = 0;

MediaPreview.Scene.prototype =
{
	handleLoad: function(plugIn, userContext, rootElement) 
	{
	    imgDown = 0;
        isdataloaded = false;

	    root = rootElement;
        
        root.findName("wait2rotanim").begin();
        
        control = plugIn;
        control.content.onResize = OnResize;
        control.content.onFullScreenChange = OnFullScreenChange;
        
        TriggerChange();
	}
}

function onImageDownload(sender, args)
{
    // Calculate the downloaded percentage.
    if (sender.downloadProgress == 1)
    {
        imgDown++;
        root.findName("percent").text = Math.round( (Math.min(imgDown, 69) / 70) * 100).toString() + "%";
    }
}

var isDNLiveActive = false;
var isITLiveActive = false;

function CheckDownloadProgress(sender, args)
{   
    if (imgDown >= 73 && isdataloaded == true)
    {    
        if(root.findName("filmstriplist").children.count > 2)
            root.findName("crestrightshowanim").begin();
        if(root.findName("polaroidlist").children.count > 3)
            root.findName("medtrerightshowanim").begin();
        if(root.findName("reclist").children.count > 3)
            root.findName("recrightshowanim").begin();
        if(root.findName("parlist").children.count > 4)
            root.findName("parrightshowanim").begin();
        if(root.findName("favlist").children.count > 3)
            root.findName("favrightshowanim").begin();
            
        if(root.findName("presslist").children.count > 4)
            root.findName("dndownshowanim").begin();
        if(root.findName("itlist").children.count > 2)
            root.findName("itdownshowanim").begin();
            
        root.findName("layerhidden").visibility = "Visible";
        
        root.findName("wait2hideanim").begin();
        root.findName("layerfade").begin();
        
        if (dsVN[0].Video.Mode == 'BROADCAST')
        {
            isDNLiveActive = true;   
            control.content.findName("testTSScreen").Source = dsVN[0].Video.URL;
        }
        if (dsI[0].Video.Mode == 'BROADCAST')
        {
            isITLiveActive = true;
            control.content.findName("testITScreen").Source = dsI[0].Video.URL;
        }
		
		if(typeof(dsL) != "undefined")
            PlayFromPlayList(0);
    }
    else
        root.findName("wait2rotanim").begin();
}

function HideLayerOvelay(sender, args)
{
    root.findName("layeroverlay").visibility = "Collapsed";
}

var s = 1;

function OnResize(sender, args)
{
    root.width = control.content.actualWidth;
    root.height = control.content.actualHeight;

    var offset = 0;
/*    
    if((root.width / root.height) > 1.6)
    {
        offset = 410;
        
        root.findName("layer").width = 2458;
        root.findName("layer").clip = control.content.createFromXaml('<Canvas.Clip><RectangleGeometry Rect="0,0,2458,1536" /></Canvas.Clip>');
        root.findName("background").width = 2458;
        root.findName("header").width = 2458;
        root.findName("layeroverlay").width = 2458;
        root.findName("widescreen1")["Canvas.Left"] = 410;
        root.findName("widescreen2")["Canvas.Left"] = 410;
        root.findName("widescreen3")["Canvas.Left"] = 410;
        root.findName("wait2")["Canvas.Left"] = 1050;
        root.findName("extend").visibility = "Visible";
    }
    else
    {
        root.findName("layer").width = 2048;
        root.findName("layer").clip = control.content.createFromXaml('<Canvas.Clip><RectangleGeometry Rect="0,0,2048,1536" /></Canvas.Clip>');
        root.findName("background").width = 2048;
        root.findName("header").width = 2048;
        root.findName("layeroverlay").width = 2048;
        root.findName("widescreen1")["Canvas.Left"] = 0;
        root.findName("widescreen2")["Canvas.Left"] = 0;
        root.findName("widescreen3")["Canvas.Left"] = 0;
        root.findName("wait2")["Canvas.Left"] = 896;
        root.findName("extend").visibility = "Collapsed";
    }
    */
    var sx = root.width / (2048 + offset);
    var sy = root.height / 1536;
    
    var div1 = document.getElementById('mainDiv');
    var div2 = document.getElementById('questionDiv');
    var div3 = document.getElementById('loginDiv');
    var div4 = document.getElementById('recoverPassDiv');
    var div5 = document.getElementById('registerDiv');
    var div6 = document.getElementById('inputDiv');
    
    if(sx < sy)
    {
	    var ty = (root.height / 2) - (768 * sx);
	
	    root.findName("layer").renderTransform = control.content.createFromXaml('<TransformGroup><ScaleTransform ScaleX="' + sx + '" ScaleY="' + sx + '" /><TranslateTransform X="0" Y="' + ty + '" /></TransformGroup>');
	    
        s = sx;
        
        if(div1.style.visibility == "visible")
        {
            div1.style.left = ((440 + offset) * s).toString() + "px";
            div1.style.top = (365 * s + ty).toString() + "px";
        }
        
        if(div2.style.visibility == "visible")
        {
            div2.style.left = ((1050 + offset) * s).toString() + "px";
            div2.style.top = (928 * s + ty).toString() + "px";
        }
        
        if(div3.style.visibility == "visible")
        {
            div3.style.left = ((1050 + offset) * s).toString() + "px";
            div3.style.top = (193 * s + ty).toString() + "px";
        }
        
        if(div4.style.visibility == "visible")
        {
            div4.style.left = ((1050 + offset) * s).toString() + "px";
            div4.style.top = (193 * s + ty).toString() + "px";
        }
        
        if(div5.style.visibility == "visible")
        {
            div5.style.left = ((1050 + offset) * s).toString() + "px";
            div5.style.top = (193 * s + ty).toString() + "px";
        }
        
        if(div6.style.visibility == "visible")
        {
            div6.style.left = ((1430 + offset) * s).toString() + "px";
            div6.style.top = (253 * s + ty).toString() + "px";
        }
    }
    else
    {
        var tx = (root.width / 2) - ((1024 + offset / 2) * sy);

        root.findName("layer").renderTransform = control.content.createFromXaml('<TransformGroup><ScaleTransform ScaleX="' + sy + '" ScaleY="' + sy + '" /><TranslateTransform X="' + tx + '" Y="0" /></TransformGroup>');
    
        s = sy;
        
        if(div1.style.visibility == "visible")
        {
            div1.style.left = ((440 + offset) * s + tx).toString() + "px";
            div1.style.top = (365 * s).toString() + "px";
        }
        
        if(div2.style.visibility == "visible")
        {
            div2.style.left = ((1065 + offset) * s + tx).toString() + "px";
            div2.style.top = (928 * s).toString() + "px";
        }
        
        if(div3.style.visibility == "visible")
        {
            div3.style.left = ((1050 + offset) * s + tx).toString() + "px";
            div3.style.top = (193 * s).toString() + "px";
        }
        
        if(div4.style.visibility == "visible")
        {
            div4.style.left = ((1050 + offset) * s + tx).toString() + "px";
            div4.style.top = (193 * s).toString() + "px";
        }
        
        if(div5.style.visibility == "visible")
        {
            div5.style.left = ((1050 + offset) * s + tx).toString() + "px";
            div5.style.top = (193 * s).toString() + "px";
        }
        
        if(div6.style.visibility == "visible")
        {
            div6.style.left = ((1430 + offset) * s + tx).toString() + "px";
            div6.style.top = (253 * s).toString() + "px";
        }
    }
    
    var fs = Math.min(s * 150, 80).toString() + "%";
    
    if(div1.style.visibility == "visible")
    {
        div1.style.width = (1160 * s).toString() + "px";
        div1.style.height = (820 * s).toString() + "px";
    }
    
    if(div2.style.visibility == "visible")
    {
        div2.style.width = (739 * s).toString() + "px";
        div2.style.height = (200 * s).toString() + "px";
           
        document.getElementById('TextArea').style.fontSize = fs;
    }
    
    if(div3.style.visibility == "visible")
    {
        div3.style.width = (739 * s).toString() + "px";
        div3.style.height = (100 * s).toString() + "px";
        
        document.getElementById('LoginLabel').style.fontSize = fs;
        document.getElementById('LoginText').style.fontSize = fs;
        document.getElementById('PasswordLabel').style.fontSize = fs;
        document.getElementById('PasswordText').style.fontSize = fs;
    }
    
    if(div4.style.visibility == "visible")
    {
        div4.style.width = (739 * s).toString() + "px";
        div4.style.height = (100 * s).toString() + "px";
        
        document.getElementById('RecoverPassLabel').style.fontSize = fs;
        document.getElementById('RecoverPassText').style.fontSize = fs;
    }
    
    if(div5.style.visibility == "visible")
    {
        div5.style.width = (739 * s).toString() + "px";
        div5.style.height = (400 * s).toString() + "px";
        
        document.getElementById('NameRegLabel').style.fontSize = fs;
        document.getElementById('Name').style.fontSize = fs;
        document.getElementById('EmailRegLabel').style.fontSize = fs;
        document.getElementById('Email').style.fontSize = fs;
        document.getElementById('PasswordRegLabel').style.fontSize = fs;
        document.getElementById('Password').style.fontSize = fs;
        document.getElementById('Password2RegLabel').style.fontSize = fs;
        document.getElementById('Password2').style.fontSize = fs;
        document.getElementById('CompanyRegLabel').style.fontSize = fs;
        document.getElementById('Company').style.fontSize = fs;
        document.getElementById('JobTitleRegLabel').style.fontSize = fs;
        document.getElementById('JobTitle').style.fontSize = fs;
        document.getElementById('PostalCityLabel').style.fontSize = fs;
        document.getElementById('PostalCode').style.fontSize = fs;
        document.getElementById('Hiffen').style.fontSize = fs;
        document.getElementById('City').style.fontSize = fs;
        document.getElementById('PhoneRegLabel').style.fontSize = fs;
        document.getElementById('Phone').style.fontSize = fs;
    }
    
    if(div6.style.visibility == "visible")
    {
        div6.style.width = (350 * s).toString() + "px";
        div6.style.height = (40 * s).toString() + "px";
        
        document.getElementById('TextBox1').style.fontSize = fs;
    }
    
    root.findName("layer").visibility = "Visible";
}

function OnFullScreenChange(sender, args)
{
    OnResize(null, null);
    
    if(control.content.fullScreen == true)
    {
        root.findName("fshidden").visibility = "Collapsed";
        root.findName("background").visibility = "Collapsed";
        root.findName("fsbackground").visibility = "Visible";
        /*
        if((root.width / root.height) > 1.6)
            root.findName("fsvisible").renderTransform = control.content.createFromXaml('<ScaleTransform ScaleX="1.7" ScaleY="1.425"/>');
        else */
            root.findName("fsvisible").renderTransform = control.content.createFromXaml('<ScaleTransform ScaleX="1.425" ScaleY="1.425"/>');
    }
    else
    {
        root.findName("fshidden").visibility = "Visible";
        root.findName("background").visibility = "Visible";
        root.findName("fsbackground").visibility = "Collapsed";
        root.findName("fsvisible").renderTransform = control.content.createFromXaml('<ScaleTransform ScaleX="1.0" ScaleY="1.0"/>');
    }
}

function ChangeScreen(sender, args)
{
    control.content.fullScreen = !control.content.fullScreen;
}

var mediaserver = false;

var favshowed = false;
var recshowed = false;
var parshowed = false;
var crestshowed = false;
var medtreshowed = false;
var dnshowed = false;
var itshowed = false;

function HidePanels(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("rechideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("dnhideanim").begin();
    sender.findName("ithideanim").begin();
    
    favshowed = false;
    recshowed = false;
    parshowed = false;
    crestshowed = false;
    medtreshowed = false;
    dnshowed = false;
    itshowed = false;
}

function ShowFav(sender, args)
{
    sender.findName("rechideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("dnhideanim").begin();
    sender.findName("ithideanim").begin();
    
    recshowed = false;
    parshowed = false;
    crestshowed = false;
    medtreshowed = false;
    dnshowed = false;
    itshowed = false;
    
    if(favshowed)
        sender.findName("favhideanim").begin();
    else
	    sender.findName("favshowanim").begin();
	    
	favshowed = !favshowed;
}
function ShowRec(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("dnhideanim").begin();
    sender.findName("ithideanim").begin();
	
	favshowed = false;
    parshowed = false;
    crestshowed = false;
    medtreshowed = false;
    dnshowed = false;
    itshowed = false;
    
	if(recshowed)
        sender.findName("rechideanim").begin();
    else
	    sender.findName("recshowanim").begin();
	    
	recshowed = !recshowed;
}
function ShowPar(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("rechideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("dnhideanim").begin();
    sender.findName("ithideanim").begin();
	
	favshowed = false;
    recshowed = false;
    crestshowed = false;
    medtreshowed = false;
    dnshowed = false;
    itshowed = false;
	
	if(parshowed)
        sender.findName("parhideanim").begin();
    else
	    sender.findName("parshowanim").begin();
	    
	parshowed = !parshowed;
}

function ShowCreSt(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("rechideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("dnhideanim").begin();
    sender.findName("ithideanim").begin();
    
    favshowed = false;
    recshowed = false;
    parshowed = false;
    medtreshowed = false;
    dnshowed = false;
    itshowed = false;
	
	if(crestshowed)
        sender.findName("crestpanhideanim").begin();
    else
	    sender.findName("crestpanshowanim").begin();
	    
	crestshowed = !crestshowed;
}
function ShowMedTre(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("rechideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("dnhideanim").begin();
    sender.findName("ithideanim").begin();
    
    favshowed = false;
    recshowed = false;
    parshowed = false;
    crestshowed = false;
    dnshowed = false;
    itshowed = false;
	
	if(medtreshowed)
        sender.findName("medtrepanhideanim").begin();
    else
	    sender.findName("medtrepanshowanim").begin();
	    
	medtreshowed = !medtreshowed;
}

function ExpandeDN(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("rechideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("ithideanim").begin();
    
    favshowed = false;
    recshowed = false;
    parshowed = false;
    crestshowed = false;
    medtreshowed = false;
    itshowed = false;
    
	if(dnshowed)
        sender.findName("dnhideanim").begin();
    else
	    sender.findName("dnshowanim").begin();
	    
	dnshowed = !dnshowed;
}

function ExpandeIT(sender, args)
{
    sender.findName("favhideanim").begin();
    sender.findName("rechideanim").begin();
    sender.findName("parhideanim").begin();
    sender.findName("crestpanhideanim").begin();
    sender.findName("medtrepanhideanim").begin();
    sender.findName("dnhideanim").begin();
    
    favshowed = false;
    recshowed = false;
    parshowed = false;
    crestshowed = false;
    medtreshowed = false;
    dnshowed = false;
	
    if(itshowed)
        sender.findName("ithideanim").begin();
    else
	    sender.findName("itshowanim").begin();
	    
	itshowed = !itshowed;
}

function ShowDNL(sender, args)
{
	sender.findName("dnlshowanim").begin();

    sender.findName("dndownshowanim").begin();
}
function HideDNL(sender, args)
{
	sender.findName("dnlhideanim").begin();
}

function ShowCRESTLeft(sender, args)
{
	sender.findName("crestleftgfanim").begin();
}
function HideCRESTLeft(sender, args)
{
	sender.findName("crestleftlfanim").begin();
}
function ShowCRESTRight(sender, args)
{
	sender.findName("crestrightgfanim").begin();
}
function HideCRESTRight(sender, args)
{
	sender.findName("crestrightlfanim").begin();
}

function CRESTLeftMove(sender, args)
{
    var np = sender.findName("filmstriplist")["Canvas.Left"] + 194;
        
    if(np < 0)
    {
        sender.findName("crestleftmoveanim2").to = np;
        sender.findName("crestrightshowanim").begin();
    }
    else
    {
        sender.findName("crestleftmoveanim2").to = 0;
        sender.findName("crestlefthideanim").begin();
    }
    
	sender.findName("crestleftmoveanim").begin();
}
function CRESTRightMove(sender, args)
{
    var np = sender.findName("filmstriplist")["Canvas.Left"] - 194;
    var w = (root.findName("filmstriplist").children.count * 194) - 440;
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("crestrightmoveanim2").to = np;
            sender.findName("crestleftshowanim").begin();
        }
        else
        {
            sender.findName("crestrightmoveanim2").to = -w;
            sender.findName("crestrighthideanim").begin();
        }
        
	    sender.findName("crestrightmoveanim").begin();
	}
}

function ShowMEDTRELeft(sender, args)
{
	sender.findName("medtreleftgfanim").begin();
}
function HideMEDTRELeft(sender, args)
{
	sender.findName("medtreleftlfanim").begin();
}
function ShowMEDTRERight(sender, args)
{
	sender.findName("medtrerightgfanim").begin();
}
function HideMEDTRERight(sender, args)
{
	sender.findName("medtrerightlfanim").begin();
}

function MEDTRELeftMove(sender, args)
{
    var np = sender.findName("polaroidlist")["Canvas.Left"] + 160;
        
    if(np < 0)
    {
        sender.findName("medtreleftmoveanim2").to = np;
        sender.findName("medtrerightshowanim").begin();
    }
    else
    {
        sender.findName("medtreleftmoveanim2").to = 0;
        sender.findName("medtrelefthideanim").begin();
    }
    
	sender.findName("medtreleftmoveanim").begin();
}
function MEDTRERightMove(sender, args)
{
    var np = sender.findName("polaroidlist")["Canvas.Left"] - 160;
    var w = (root.findName("polaroidlist").children.count * 160) - 479;
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("medtrerightmoveanim2").to = np;
            sender.findName("medtreleftshowanim").begin();
        }
        else
        {
            sender.findName("medtrerightmoveanim2").to = -w;
            sender.findName("medtrerighthideanim").begin();
        }
        
	    sender.findName("medtrerightmoveanim").begin();
	}
}

var pos = -1;

function SliderOn(sender, args)
{
    sender.Source = "./Assets/volumeover.png";
}
function SliderOff(sender, args)
{
    sender.Source = "./Assets/volumepressed.png";
}
function SliderThumbCapture(sender, args)
{
    pos = args.getPosition(null).x;
    
    sender.captureMouse();
}
function SliderThumbRelease(sender, args)
{
    pos = -1;
    sender.releaseMouseCapture();
}
function SliderThumbMove(sender, args)
{
    if(pos != -1)
    {
        var newpos = sender["Canvas.Left"] + (args.getPosition(null).x - pos) / s;
        
        if(newpos >= 1144 && newpos <= 1248)
        {
            sender["Canvas.Left"] = newpos;
            
            pos = args.getPosition(null).x;
            
            sender.findName("screen").volume = 1 - ((1248 - newpos) / (1248 - 1144));
        }
    }
}

function ClearPolaroids()
{
    root.findName("polaroidlist")["Canvas.Left"] = 0;
    root.findName("polaroidlist").children.clear();
}
function AddPolaroid(url)
{
    var n = root.findName("polaroidlist").children.count;
    var p = 16 + (n * 160);
    var k = 'polaroid#' + n;
    var img = k + '#img';
    var a = new Array(-11, 0, 8, 0);

    var xamlStr = '<Canvas MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" Name="' + k + '" Cursor="Hand" Canvas.Left="' + p + '" Canvas.Top="48" RenderTransformOrigin="0.5,0.5" Width="160" Height="160" MouseLeftButtonDown="DragFrom" MouseMove="MoveFromPolaroid" MouseLeftButtonUp="PlayFromPolaroid"><Canvas.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#rot" Storyboard.TargetProperty="Angle" To="0" Duration="0:0:0.25" /><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleX" To="1.25" Duration="0:0:0.5" /><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleY" To="1.25" Duration="0:0:0.5" /></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#rot" To="' + a[n % 4] + '" Storyboard.TargetProperty="Angle" Duration="0:0:0.25" /><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleX" To="1" Duration="0:0:0.5" /><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleY" To="1" Duration="0:0:0.5" /></Storyboard></Canvas.Resources><Canvas.RenderTransform><TransformGroup><ScaleTransform Name="'+ k +'#sc" ScaleX="1" ScaleY="1"/><RotateTransform Name="'+ k +'#rot" Angle="' + a[n % 4] + '"/></TransformGroup></Canvas.RenderTransform><Image Source="./Assets/polaroid.png" /><Image Name="' + img +'" Canvas.Left="16" Canvas.Top="16" Width="127" Height="111" Stretch="UniformToFill"/></Canvas>';
 	 	   
    root.findName("polaroidlist").children.add(control.content.createFromXaml(xamlStr));
    root.findName(img).Source = url;
}

function ClearFilmstrips()
{
    root.findName("filmstriplist")["Canvas.Left"] = 0;
    root.findName("filmstriplist").children.clear();
}
function AddFilmstrip(url)
{
    var n = root.findName("filmstriplist").children.count;
    var p = 16 + (n * 194);
    var k = 'filmstrip#' + n;
    var f = "./Assets/frame.png";
    
    if(n%2 != 0)
        f = "./Assets/framer.png";
    
    var xamlStr = '<Canvas RenderTransformOrigin="0.5,0.5" Width="214" Height="180" MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" Name="' + k + '" Cursor="Hand" Canvas.Left="' + p + '" Canvas.Top="40" MouseLeftButtonDown="DragFrom" MouseMove="MoveFromFilmstrip" MouseLeftButtonUp="PlayFromFilmstrip"><Canvas.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleX" To="1.1" Duration="0:0:0.25" /><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleY" To="1.1" Duration="0:0:0.25" /></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleX" To="1" Duration="0:0:0.5" /><DoubleAnimation Storyboard.TargetName="' + k + '#sc" Storyboard.TargetProperty="ScaleY" To="1" Duration="0:0:0.5" /></Storyboard></Canvas.Resources><Canvas.RenderTransform><ScaleTransform Name="' + k + '#sc" ScaleX="1" ScaleY="1"/></Canvas.RenderTransform><Image Name="' + k + '#img" Canvas.Left="22" Canvas.Top="39" Width="170" Height="102" Stretch="UniformToFill"/><Image Source="' + f + '" Width="214" Height="180" /></Canvas>';
    
    root.findName("filmstriplist").children.add(control.content.createFromXaml(xamlStr));
    root.findName(k + "#img").Source = url;
}

function ItemGotFocus(sender, args)
{
    if(sender.name == "DNImg" || sender.name == "ITImg")
        sender["Canvas.ZIndex"] = 0;
    else
        sender["Canvas.ZIndex"] = 1;
    
    var i = sender.name;
    var i_array = i.split("#");
    var index = i_array[1];
    
    if (sender.name.match("polaroid") != null)
    {
        sender.findName("LowerRightLayerContent").Text = dsMT[index].Title;
    }

    if(sender.name.match("filmstrip") != null)
    {
        sender.findName("LowerLeftLayerContent").Text = dsCS[index].Title;
    }

    if(sender.name.match("playitem") != null)
    {
        sender.findName("nowplaying").Text = dsL[index].Title;
    }
    
    sender.findName(sender.name + "#gotanim").begin();
    
    if (sender.name.match("Img"))
        sender.findName(sender.name + "#liveactive").stop();
}
function ItemLostFocus(sender, args)
{
    sender["Canvas.ZIndex"] = 0;
    
    if (sender.name.match("polaroid") != null)
    {
        sender.findName("LowerRightLayerContent").Text = "";
    }

    if(sender.name.match("filmstrip") != null)
    {
        sender.findName("LowerLeftLayerContent").Text = "";
    }

    if(sender.name.match("playitem") != null && playingvideo != null)
    {
        sender.findName("nowplaying").Text = playingvideo.Title;
    }
    
    sender.findName(sender.name + "#lostanim").begin();
    if (sender.name.match("DNImg") && videoitem == 0)
    {
        isDNLiveActive = true;   
        control.content.findName("testTSScreen").Source = dsVN[0].Video.URL;
    }
    if (sender.name.match("ITImg") && videoitem == 0)
    {
        isITLiveActive = true;
        control.content.findName("testITScreen").Source = dsI[0].Video.URL;
    }
}

var playingvideo = null;
var pressh = 0;
var searchh = 0;
var ph = 0;

function ClearPressList()
{
    root.findName("presslist")["Canvas.Top"] = 0;
    root.findName("presslist").children.clear();
    
    pressh = 0;
}
function AddPress(title, subtitle, moretext)
{
    var n = root.findName("presslist").children.count;
    var p = pressh;
    var k = 'press#' + n;
    var t = 'title_' + k;
    var s = 'sub_' + k;
    var m = 'more_' + k;
    
    var xamlStr = '<Canvas Cursor="Hand" Name="' + k + '" Canvas.Top="' + p + '" Width="429" MouseLeftButtonDown="ShowFromPress"><TextBlock Name="' + t + '" Width="429" Height="36" FontSize="24" Foreground="#FFFFFFFF" TextWrapping="NoWrap"/><TextBlock Name="' + s + '" TextWrapping="Wrap" Width="429" Canvas.Top="40" FontSize="20" Foreground="#CCFFFFFF" Opacity="0.8"/><TextBlock Name="' + m + '" Canvas.Left="360" Width="429" Height="36" FontSize="20" TextDecorations="Underline" Foreground="#CCFFFFFF" Opacity="1" TextWrapping="NoWrap"/></Canvas>';
    
    root.findName("presslist").children.add(control.content.createFromXaml(xamlStr));
    root.findName(t).Text = title;
    root.findName(s).Text = subtitle;
    root.findName(m).Text = moretext;
    
    root.findName(m)["Canvas.Top"] = root.findName(t).actualHeight + root.findName(s).actualHeight;
    pressh = pressh + root.findName(t).actualHeight + root.findName(s).actualHeight + root.findName(m).actualHeight + 8;
}

function ClearITList()
{
    root.findName("itlist")["Canvas.Top"] = 0;
    root.findName("itlist").children.clear();
}
function AddITItem(url, title, text)
{
    var n = root.findName("itlist").children.count;
    var p = 32 + (n * 160);
    var k = 'it#' + n;
    var i = k + '#img';
    var t = k + '#title';
    var tx = k + '#text';
    
    var xamlStr = '<Canvas Background="#00000000" Cursor="Hand" MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" MouseLeftButtonDown="DragFrom" MouseMove="MoveFromInterview" MouseLeftButtonUp="PlayFromInterview" Name="' + k + '" Canvas.Left="0" Canvas.Top="' + p + '"><Image Name="' + i + '" Width="133" Height="100" Stretch="UniformToFill"><Image.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25"/></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.5"/></Storyboard></Image.Resources></Image><Image Name="' + k + '#imgplay" Opacity="0" IsHitTestVisible="False" Width="32" Height="32" Canvas.Left="94" Canvas.Top="54" Source="./Assets/playvideo.png"/><Image Width="160" Height="160" Canvas.Top="-25" Canvas.Left="-13" Source="./Assets/border2.png" /><TextBlock Name="' + t + '" Canvas.Left="150" Width="290" FontSize="24" Foreground="#FFFFFFFF" TextWrapping="NoWrap" /><TextBlock Name="' + tx + '" Canvas.Left="150" Canvas.Top="36" Width="290" TextWrapping="Wrap" FontSize="20" Foreground="#CCFFFFFF" Opacity="0.8"/></Canvas>';

    root.findName("itlist").children.add(control.content.createFromXaml(xamlStr));
    root.findName(i).Source = url;
    root.findName(t).Text = title;
    root.findName(tx).Text = text;
}

function ClearSearchList()
{
    root.findName("searchlist")["Canvas.Top"] = 0;
    searchh = 0;
    ph = 0;
    root.findName("searchlist").children.clear();
}

function ShowPressFromSearch(sender, args)
{
    sender.findName("presslayer")["Canvas.Top"] = 0;

    var i = sender.name;
    var i_array = i.split("#");
    var index = i_array[1];
    
    if(pressindex == index)
    {
        pressindex = -1;
        sender.findName("dnlhideanim").begin();
    }
    else
    {
        HideSearchWindow(null, null);
        pressindex = index;
        
        var time = searchList[index].Date.split(" ");
        var elems = time[0].split("-");
        var finalDate = "";
        if (elems[2] != null)
            finalDate = elems[2] + "/" + elems[1] + "/" + elems[0];
        
        sender.findName("overlaytitle").Text = searchList[index].Title;
        sender.findName("overlaysubtitle").text = searchList[index].Lead;
        sender.findName("overlaydate").text = finalDate;
        //sender.findName("overlayenter").Text = dsPN[index].Lead;
        sender.findName("overlaytext").Text = searchList[index].Text;
        
        sender.findName("infohideanim").begin();
        sender.findName("dnlshowanim").begin();
        
        sender.findName("overlayuphideanim").begin();
        sender.findName("overlaydownshowanim").begin();
        
        infoshowed = false;
    }
}

var searchIndex = -1;

function PlayVideoFromSearch(sender, args)
{
    mediaserver = false;
    
    var i = sender.name;
    var i_array = i.split("#");
    var index = i_array[1];
    searchIndex = index;
    
    HideSearchWindow(null, null);
    
    if (searchList[index].Video.Mode == 'ON_DEMAND')
    {
        mediaserver = false;
        AddToPlayList(searchList[index]);
    }
    else
    {
        mediaserver = true;
        isLiveFromS = true;
        isLiveFromI = false;
        isLiveFromVN = false;
        PlayLiveEvents(searchList[index]);
    }
}

function AddSearchItem(url, title, date, channel)
{
    var n = root.findName("searchlist").children.count;
    var p = searchh;
    var k = 'search#' + n;
    var i = k + '#img';
    var t = k + '#title';
    var d = k + '#date';
    var xamlStr = '';
    
    if(url.match('imagedownload') != null)
    {
        xamlStr = '<Canvas Background="#00000000" Cursor="Hand" MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" MouseLeftButtonDown="PlayVideoFromSearch" Name="' + k + '" Canvas.Left="10" Canvas.Top="' + p + '"><Image Name="' + i + '" Width="133" Height="100" Stretch="UniformToFill"><Image.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25"/></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.5"/></Storyboard></Image.Resources></Image><Image Name="' + k + '#imgplay" Opacity="0" IsHitTestVisible="False" Width="32" Height="32" Canvas.Left="94" Canvas.Top="54" Source="./Assets/playvideo.png"/><TextBlock Name="' + t + d + '" Canvas.Left="150" Width="352" TextWrapping="Wrap"><Run Name="' + t + '" Foreground="#FFFFFFFF" FontSize="24" /><LineBreak /><Run Name="' + d + '" Foreground="#CCFFFFFF" FontSize="20" /></TextBlock></Canvas>';
        root.findName("searchlist").children.add(control.content.createFromXaml(xamlStr));
        root.findName(i).Source = url;
        root.findName(t).Text = title;
        if (date == '' && channel == '')
            root.findName(d).Text = '';
        else
            root.findName(d).Text = date + " - " + channel;
        
        ph = searchh + 100;
        searchh = searchh + root.findName(t+d).actualHeight;
        searchh = Math.max(searchh, ph);
        searchh = searchh + 15;
    }
    else
    {
        xamlStr = '<Canvas Background="#00000000" Cursor="Hand" MouseLeftButtonDown="ShowPressFromSearch" Name="' + k + '" Canvas.Left="10" Canvas.Top="' + p + '"><TextBlock Name="' + t + d + '" Canvas.Left="0" Width="502" TextWrapping="Wrap"><Run Name="' + t + '" Foreground="#FFFFFFFF" FontSize="24" /><LineBreak /><Run Name="' + d + '" Foreground="#CCFFFFFF" FontSize="20" /></TextBlock></Canvas>';
        root.findName("searchlist").children.add(control.content.createFromXaml(xamlStr));
        root.findName(t).Text = title;
        if (date == '' && channel == '')
            root.findName(d).Text = '';
        else
            root.findName(d).Text = date + " - " + channel;
        
        searchh = searchh + root.findName(t+d).actualHeight + 15;
    }
}

function PlayFromPolaroid(sender, args)
{
    if(ddsource == "" && dragmove == true)
    {
        var i = sender.name;
        var i_array = i.split("#");
        var index = i_array[1];
        
        mediaserver = false;
        
        AddToPlayList(dsMT[index]);
    }
}

function PlayFromFilmstrip(sender, args)
{
    if(ddsource == "" && dragmove == true)
    {
        var i = sender.name;
        var i_array = i.split("#");
        var index = i_array[1];

        mediaserver = false;

        AddToPlayList(dsCS[index]);
    }
}

var scrolloverlay = false;
var scrollinfo = false;
var pressindex = -1;

function ShowFromPress(sender, args)
{
    sender.findName("presslayer")["Canvas.Top"] = 0;

    var i = sender.name;
    var i_array = i.split("#");
    var index = i_array[1];
    
    if(pressindex == index)
    {
        pressindex = -1;
        sender.findName("dnlhideanim").begin();
    }
    else
    {
        pressindex = index;
        
        var time = dsPN[index].Date.split(" ");
        var elems = time[0].split("-");
        var finalDate = "";
        if (elems[2] != null)
            finalDate = elems[2] + "/" + elems[1] + "/" + elems[0];
        
        sender.findName("overlaytitle").Text = dsPN[index].Title;
        sender.findName("overlaysubtitle").text = dsPN[index].Lead;
        sender.findName("overlaydate").text = finalDate;
        //sender.findName("overlayenter").Text = dsPN[index].Lead;
        sender.findName("overlaytext").Text = dsPN[index].Text;
        
        sender.findName("infohideanim").begin();
        sender.findName("dnlshowanim").begin();
        
        sender.findName("overlayuphideanim").begin();
        sender.findName("overlaydownshowanim").begin();
        
        infoshowed = false;
    }
}
function HidePress(sender, args)
{
    if(scrolloverlay == false)
    {
        pressindex = -1;
        sender.findName("dnlhideanim").begin();
    }
    else
        scrolloverlay = false;
}

var isLiveFromI = false;
var isLiveFromVN = false;
var isLiveFromS = false;

function PlayFromVideo(sender, args)
{
    if(dragmove == true)
    {
        if (videoitem == 0)
        {
            mediaserver = true;
            isLiveFromI = false;
            isLiveFromS = false;
            isLiveFromVN = true;
            PlayLiveEvents(dsVN[videoitem]);
        }
        else
        {
            mediaserver = false;
            AddToPlayList(dsVN[videoitem]);
        }
    }
}

var dragmove = false;
var ddsource = "";
var dditem = null;

function MoveDragDropData(sender, args)
{
    if(sender.name == "layer" && ddsource != "")
    {
        sender.findName("dragdropdata")["Canvas.Left"] = args.getPosition(sender).x - 64;
        sender.findName("dragdropdata")["Canvas.Top"] = args.getPosition(sender).y - 64;
    }
}
function ClearDragDropData(sender, args)
{
    ddsource = "";
    dditem = null;
    
    dragmove = false;
    
    sender.findName("dragdropdata").visibility = "Collapsed";
}

function DragFrom(sender, args)
{
    dragmove = true;
}

var dragindex = 0;

function DragFromPlayList(sender, args)
{
    var i = sender.name;
    var i_array = i.split("#");
    dragindex = i_array[1];
    
    dragmove = true;
}

function PlayFromInterview(sender, args)
{
    if(ddsource == "" && dragmove == true)
    {
        mediaserver = false;

        if(sender.name == "ITImg")
        {
            if (dsI[0].Video.Mode != 'ON_DEMAND')
            {
                mediaserver = true;
                isLiveFromI = true;
                isLiveFromS = false;
                isLiveFromVN = false;
                PlayLiveEvents(dsI[0]);
            }
            else
            {
                mediaserver = false;
                isLiveFromI = false;
                isLiveFromS = false;
                isLiveFromVN = false;
                AddToPlayList(dsI[0]);
            }
        }
        else
        {
            var i = sender.name;
            var i_array = i.split("#");
            var index = i_array[1];
            index++;
            mediaserver = false;
        
            AddToPlayList(dsI[index]);
        }
    }
}
function MoveFromInterview(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "Interview";
        dditem = sender;
        
        dragmove = false;
        
        if(sender.name == "ITImg")
            sender.findName("dragdropdata").source = sender.findName(sender.name).source;
        else
            sender.findName("dragdropdata").source = sender.findName(sender.name + "#img").source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function MoveFromPolaroid(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "Polaroid";
        dditem = sender;
        
        dragmove = false;

        sender.findName("dragdropdata").source = sender.findName(sender.name + "#img").source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function MoveFromFilmstrip(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "Filmstrip";
        dditem = sender;
        
        dragmove = false;

        sender.findName("dragdropdata").source = sender.findName(sender.name + "#img").source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function MoveFromVideo(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "Video";
        dditem = sender;
        
        dragmove = false;

        sender.findName("dragdropdata").source = sender.findName(sender.name).source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function DropToPlayList(sender, args)
{
    if(ddsource != "")
    {
        var i = dditem.name;
        var i_array = i.split("#");
        var index = i_array[1];
        
        if(sender.name == "screen")
        {
            switch(ddsource)
            {
                 case "Polaroid":
                    mediaserver = false;
                    AddToPlayList(dsMT[index]);
                    break;
                 case "Filmstrip":
                    mediaserver = false;
                    AddToPlayList(dsCS[index]);
                    break;
                 case "Video":
                    if (videoitem == 0)
                    {
                        mediaserver = true;
                        isLiveFromI = false;
                        isLiveFromVN = true;
                        isLiveFromS = false;
                        PlayLiveEvents(dsVN[videoitem]);
                    }
                    else
                    {
                        mediaserver = false;
                        AddToPlayList(dsVN[videoitem]);
                    }
                    break;
                case "Interview":
                    if(dditem.name == "ITImg")
                    {
                        mediaserver = true;
                        isLiveFromI = true;
                        isLiveFromVN = false;
                        isLiveFromS = false;
                        PlayLiveEvents(dsI[0]);
                    }
                    else
                    {
                        mediaserver = false;
                        
                        index++;
                    
                        AddToPlayList(dsI[index]);
                    }
                    break;
                case "Rec":
                    mediaserver = false;
                    AddToPlayList(dsR[index]);
                    break;
                case "Fav":
                    mediaserver = false;
                    AddToPlayList(dsF[index]);
                    break;
                case "PlayList":
                    mediaserver = false;
                
                    PlayFromPlayList(dragindex);
                    break;
            }
        }
        else
        {
            switch(ddsource)
            {
                 case "Polaroid":
                    AddToPlayList2(dsMT[index], -1);
                    break;
                 case "Filmstrip":
                    AddToPlayList2(dsCS[index], -1);
                    break;
                 case "Video":
                    if (videoitem == 0)
                        PlayLiveEvents(dsVN[videoitem]);
                    else
                        AddToPlayList2(dsVN[videoitem], -1);
                    break;
                case "Interview":
                    if(dditem.name == "ITImg")
                        PlayLiveEvents(dsI[0]);
                    else
                    {
                        index++;
                    
                        AddToPlayList2(dsI[index], -1);
                    }
                    break;
                case "Rec":
                    AddToPlayList2(dsR[index], -1);
                    break;
                case "Fav":
                    AddToPlayList2(dsF[index], -1);
                    break;

            }
        }
    }
}

function TestTopStoriesLive(sender, args)
{
    isDNLiveActive = false;
    NextDNMouseDown(null, null);
    NextDNMouseUp(null, null);
    control.content.findName("testScreen").stop();
    root.findName("DNImg#liveactive").begin();
}

function TestInterviewsLive(sender, args)
{
    isITLiveActive = false;
    control.content.findName("testScreen").stop();
    root.findName("ITImg#liveactive").begin();
}

function TestPlay(sender, args)
{
    mediaserver = true;
    root.findName("timedisplay").visibility = "Collapsed";
    control.content.findName("infohideanim").begin();
    
    control.content.findName("testScreen").stop();
    control.content.findName("screen").Source = tmpLive.Video.URL;
    playingvideo = tmpLive;

    control.content.findName("nowplaying").Text = tmpLive.Title;
    
    control.content.findName("vidselected").Visibility = "Collapsed";
}

function MediaFailedEventHandler(sender, args)
{
    if (isDNLiveActive || isITLiveActive)
    {
        if (isDNLiveActive)
            isDNLiveActive = false;
        else
            isITLiveActive = false;
    }
    else
    {
        mediaserver = false;
        if (isLiveFromI)
        {
            var timeI = dsI[0].Date.split(" ");
            var elemsI = timeI[0].split("-");
            var finalDateI = "";
            if (elemsI[2] != null)
            {
                var Itimes = timeI[1].split(":");
                finalDateI = elemsI[2] + "/" + elemsI[1] + "/" + elemsI[0] + " " + Itimes[0] + ":" + Itimes[1];
            }
            sender.findName("overlaytitle").Text = dsI[0].Title + " @ " + finalDateI;
            sender.findName("overlaysubtitle").text = dsI[0].Subtitle;
            sender.findName("overlayenter").Text = dsI[0].Lead;
            sender.findName("overlaytext").Text = dsI[0].Text;
        }
        if (isLiveFromVN)
        {
            var timeVN = dsVN[videoitem].Date.split(" ");
            var elemsVN = timeVN[0].split("-");
            var finalDateVN = "";
            if (elemsVN[2] != null)
            {
                var VNtimes = timeVN[1].split(":");
                finalDateVN = elemsVN[2] + "/" + elemsVN[1] + "/" + elemsVN[0] + " " + VNtimes[0] + ":" + VNtimes[1];
            }
            sender.findName("overlaytitle").Text = dsVN[videoitem].Title + " @ " + finalDateVN;
            sender.findName("overlaysubtitle").text = dsVN[videoitem].Subtitle;
            sender.findName("overlayenter").Text = dsVN[videoitem].Lead;
            sender.findName("overlaytext").Text = dsVN[videoitem].Text;
        }
        if (isLiveFromS)
        {
            var timeS = searchList[searchIndex].Date.split(" ");
            var elemsS = timeS[0].split("-");
            var finalDateS = "";
            if (elemsS[2] != null)
            {
                var Stimes = timeS[1].split(":");
                finalDateS = elemsS[2] + "/" + elemsS[1] + "/" + elemsS[0] + " " + Stimes[0] + ":" + Stimes[1];
            }
            sender.findName("overlaytitle").Text = searchList[searchIndex].Title + " @ " + finalDateS;
            sender.findName("overlaysubtitle").text = searchList[searchIndex].Subtitle;
            sender.findName("overlayenter").Text = searchList[searchIndex].Lead;
            sender.findName("overlaytext").Text = searchList[searchIndex].Text;
        }
        
        sender.findName("dnlshowanim").begin();
        
        //PlayFromPlayList(playListIndex);
    }
}

function LinkClicked(sender, args) 
{
    Link_Clicked("http://www.omd.com");
}

var ispaused = false;
var videoitem = 1;

function UpdateProgress(sender, args)
{
    var screen = root.findName("screen");
    var progress = root.findName("progress");
    
    if(mediaserver != true)
    {
        if(screen.naturalDuration != null)
        {
            if(screen.naturalDuration.seconds > 0)
            {
                progress.width = (screen.position.seconds / screen.naturalDuration.seconds) * 1048;
            
                if(Math.abs(screen.naturalDuration.seconds - screen.position.seconds) < 5)
                {
                    root.findName("newstickerlist")["Canvas.Left"] = 2000;
                    root.findName("newstickerhideanim").begin();
                    root.findName("marqueeanim").stop();
                    
                    clearTimeout(newsto);
                }
                              
                var cd = new Date();
                cd.setTime(screen.position.seconds * 1000);
                
                var td = new Date();
                td.setTime(screen.naturalDuration.seconds * 1000);
                
                var min = cd.getMinutes();
                var cm =  min.toString();
                if(min < 10)
                    cm = "0" + cm;
                
                var sec = cd.getSeconds();
                var cs =  sec.toString();
                if(sec < 10)
                    cs = "0" + cs;
                    
                root.findName("currtime").text = cm + ":" + cs;
                
                min = td.getMinutes();
                cm =  min.toString();
                if(min < 10)
                    cm = "0" + cm;
                
                sec = td.getSeconds();
                cs =  sec.toString();
                if(sec < 10)
                    cs = "0" + cs;
                    
                root.findName("totaltime").text = cm + ":" + cs;
                
                root.findName("timedisplay").visibility = "Visible";
            }
        }
    }
    
    if(progress.width < 1048)
        sender.begin();
}

function OnStateChanged(sender, args)
{
    if(sender.findName("screen").currentState == "Playing")
    {
        ispaused = false;
        sender.findName("play").source = "./Assets/pause.png";
    
        sender.findName("waithideanim").begin();
        sender.findName("waitrotanim").stop();
    
        sender.findName("timer").begin();           
    }
    else if(sender.findName("screen").currentState == "Buffering")
    {
        sender.findName("timer").stop();
        
        sender.findName("waitshowanim").begin();
        sender.findName("waitrotanim").begin();
    }
    else if(sender.findName("screen").currentState == "Paused")
    {
        sender.findName("waithideanim").begin();
        sender.findName("waitrotanim").stop();
    }
}

function OnPlay(sender, args)
{
    root.findName("newstickerlist")["Canvas.Left"] = 2000;
    root.findName("newstickerhideanim").begin();
    root.findName("marqueeanim").stop();
    clearTimeout(newsto);
                    
    root.findName("pubtickerhideanim").stop();
	root.findName("fastpubtickerhideanim").begin();
	clearTimeout(pubto);
	
    if(playingvideo.Advertise == 1)
    {
        pubindex = 0;
        sender.findName("pubticker").source = pubL[pubindex];   

        pubto = setTimeout("ShowPubTicker()", 15000);
    }
    else
        newsto = setTimeout("ShowNewsTicker()", 10000);
    
    if(mediaserver == true)	
        sender.findName("liveitem").visibility = "Visible";
    else
        sender.findName("liveitem").visibility = "Collapsed";
    
    sender.findName("progress").width = 0;
    
    sender.findName("waitshowanim").begin();
    sender.findName("waitrotanim").begin();
}

function OnChangeMedia(sender, args)
{        
    sender.findName("liveitem").visibility = "Collapsed";
    
    if(dsL.length > 0)
    {
        if (playListIndex < (dsL.length - 1))
        {
            if (!userList)
            {
                if(mediaserver == false)
                {
                    dsL.splice(playListIndex, 1);

                    UpdatePlayList(false);
                }
                
                PlayFromPlayList(playListIndex);
            }
            else
            {
                playListIndex++;
                PlayFromPlayList(playListIndex);
            }
        }
        else
        {
            if(!userList)
            {
                if(dsL.length > 1)
                {
                    dsL.splice(playListIndex, 1);

                    UpdatePlayList(true);
                }
                else
                {
                    dsL.splice(playListIndex, 1);
                    if (isLogged && userList)
                    {
                        dsL = dsLUser.clone();
                    }
                    if (isLogged && !userList)
                    {
                        dsL = dsLDefault.clone();
                    }
                    if (!isLogged && !userList)
                    {
                        dsL = dsLDefault.clone();
                    }
                    
                    UpdatePlayList(true);
                }
            }
            else
            {
                playListIndex = 0;
                PlayFromPlayList(playListIndex);
            }
        }
        
        UpdatePlayList(false);
    }
}

function ShowFullScreen(sender, args)
{
    sender.findName("fullscreenshowanim").begin();
}
function HideFullScreen(sender, args)
{
    sender.findName("fullscreenhideanim").begin();
}

function MuteMouseEnter(sender, args)
{
    if(!sender.findName("screen").isMuted)
        sender.source = "./Assets/muteover.png";
}
function MuteMouseLeave(sender, args)
{
    if(sender.findName("screen").isMuted)
        sender.source = "./Assets/mutepressed.png";
    else
        sender.source = "./Assets/mute.png";
}
function MuteMouseDown(sender, args)
{
    sender.source = "./Assets/mutepressed.png";
}
function MuteMouseUp(sender, args)
{
    sender.findName("screen").isMuted = !sender.findName("screen").isMuted;
    
    if(sender.findName("screen").isMuted)
        sender.source = "./Assets/mutepressed.png";
    else
        sender.source = "./Assets/muteover.png";
}

function PlayMouseEnter(sender, args)
{
    if(ispaused)
        sender.source = "./Assets/playover.png";
    else
        sender.source = "./Assets/pauseover.png";
}
function PlayMouseLeave(sender, args)
{
    if(ispaused)
        sender.source = "./Assets/play.png";
    else
        sender.source = "./Assets/pause.png";
}
function PlayMouseDown(sender, args)
{
    if(ispaused)
        sender.source = "./Assets/playpressed.png";
    else
        sender.source = "./Assets/pausepressed.png";
}
function PlayMouseUp(sender, args)
{
    if(ispaused)
    {
        sender.source = "./Assets/pauseover.png";
    
        sender.findName("screen").play();
    }
    else
    {
        sender.source = "./Assets/playover.png";
        
        sender.findName("screen").pause();
    }
    
    ispaused = !ispaused;
}

function ForwardMouseEnter(sender, args)
{
    sender.source = "./Assets/forwardover.png"
}
function ForwardMouseLeave(sender, args)
{
    sender.source = "./Assets/forward.png"
}
function ForwardMouseDown(sender, args)
{
    sender.source = "./Assets/forwardpressed.png"
    
    var np = playListIndex + 1;
    if(np < dsL.length)
        PlayFromPlayList(np);
}
function ForwardMouseUp(sender, args)
{
    sender.source = "./Assets/forwardover.png";
}

function BackwardMouseEnter(sender, args)
{
    sender.source = "./Assets/backwardover.png"
}
function BackwardMouseLeave(sender, args)
{
    sender.source = "./Assets/backward.png"
}
function BackwardMouseDown(sender, args)
{
    sender.source = "./Assets/backwardpressed.png"
    
    var np = playListIndex - 1;
    if(np >= 0)
        PlayFromPlayList(np);
}
function BackwardMouseUp(sender, args)
{
    sender.source = "./Assets/backwardover.png";
}

function PrevDNMouseEnter(sender, args)
{
    sender.source = "./Assets/setalover.png"
}
function PrevDNMouseLeave(sender, args)
{
    sender.source = "./Assets/setal.png"
}

function PrevDNMouseDown(sender, args)
{
    if(sender != null)
        sender.source = "./Assets/setalpressed.png"
    
    if(videoitem < (dsVN.length - 1))
    {
        videoitem++;
        
        if (videoitem > 0)
            root.findName("DNImg#liveactive").pause();
        
        var time = dsVN[videoitem].Date.split(" ");
        var elems = time[0].split("-");
        var finalDate = "";
        if (elems[2] != null)
        {
            var times = time[1].split(":");
            finalDate = elems[2] + "/" + elems[1] + "/" + elems[0] + " " + times[0] + ":" + times[1];
        }
        finalDate += " " + time[1];
        root.findName("DNDate").Text = dsVN[videoitem].Title;
        root.findName("DNHour").Text = finalDate;
        root.findName("DNImg").Source = dsVN[videoitem].Thumbnail;
    }
}
function PrevDNMouseUp(sender, args)
{
    sender.source = "./Assets/setalover.png";
}

function NextDNMouseEnter(sender, args)
{
    sender.source = "./Assets/setarover.png"
}
function NextDNMouseLeave(sender, args)
{
    sender.source = "./Assets/setar.png"
}
function NextDNMouseDown(sender, args)
{
    if(sender != null)
        sender.source = "./Assets/setarpressed.png"
    
    if(videoitem > 0)
    {
        videoitem--;
        
        if (videoitem == 0)
            root.findName("DNImg#liveactive").resume();
        
        var time = dsVN[videoitem].Date.split(" ");
        var elems = time[0].split("-");
        var finalDate = "";
        if (elems[2] != null)
        {
            var times = time[1].split(":");
            finalDate = elems[2] + "/" + elems[1] + "/" + elems[0] + " " + times[0] + ":" + times[1];
        }
        finalDate += " " + time[1];
        root.findName("DNDate").Text = dsVN[videoitem].Title;
        root.findName("DNHour").Text = finalDate;
        root.findName("DNImg").Source = dsVN[videoitem].Thumbnail;
    }
}
function NextDNMouseUp(sender, args)
{
    if(sender != null)
        sender.source = "./Assets/setarover.png";
}

function ShowSearchUp(sender, args)
{
	sender.findName("searchupgfanim").begin();
}
function HideSearchUp(sender, args)
{
	sender.findName("searchuplfanim").begin();
}
function ShowSearchDown(sender, args)
{
	sender.findName("searchdowngfanim").begin();
}
function HideSearchDown(sender, args)
{
	sender.findName("searchdownlfanim").begin();
}

function SearchDownMove(sender, args)
{
	var np = sender.findName("searchlist")["Canvas.Top"] - 160;
    var w = searchh - 945;
    
    sender.findName("searchupshowanim").begin();
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("searchdownmoveanim2").to = np;
        }
        else
        {
            sender.findName("searchdownmoveanim2").to = -w;
            sender.findName("searchdownhideanim").begin();
        }
        
	    sender.findName("searchdownmoveanim").begin();
	}
}
function SearchUpMove(sender, args)
{
	var np = sender.findName("searchlist")["Canvas.Top"] + 160;
    
    sender.findName("searchdownshowanim").begin();
        
    if(np < 0)
    {
        sender.findName("searchupmoveanim2").to = np;
    }
    else
    {
        sender.findName("searchupmoveanim2").to = 0;
        sender.findName("searchuphideanim").begin();
    }
    
	sender.findName("searchupmoveanim").begin();
}

function ShowDNUp(sender, args)
{
	sender.findName("dnupgfanim").begin();
}
function HideDNUp(sender, args)
{
	sender.findName("dnuplfanim").begin();
}
function ShowDNDown(sender, args)
{
	sender.findName("dndowngfanim").begin();
}
function HideDNDown(sender, args)
{
	sender.findName("dndownlfanim").begin();
}

function DNUpMove(sender, args)
{
    var np = sender.findName("presslist")["Canvas.Top"] + 160;
    
    sender.findName("dndownshowanim").begin();
        
    if(np < 0)
    {
        sender.findName("dnupmoveanim2").to = np;
    }
    else
    {
        sender.findName("dnupmoveanim2").to = 0;
        sender.findName("dnuphideanim").begin();
    }
    
	sender.findName("dnupmoveanim").begin();
}
function DNDownMove(sender, args)
{
    var np = sender.findName("presslist")["Canvas.Top"] - 160;
    var w = pressh - 688;
    
    sender.findName("dnupshowanim").begin();
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("dndownmoveanim2").to = np;
        }
        else
        {
            sender.findName("dndownmoveanim2").to = -w;
            sender.findName("dndownhideanim").begin();
        }
        
	    sender.findName("dndownmoveanim").begin();
	}
}

function ShowITUp(sender, args)
{
	sender.findName("itupgfanim").begin();
}
function HideITUp(sender, args)
{
	sender.findName("ituplfanim").begin();
}
function ShowITDown(sender, args)
{
	sender.findName("itdowngfanim").begin();
}
function HideITDown(sender, args)
{
	sender.findName("itdownlfanim").begin();
}

function ITUpMove(sender, args)
{
    var np = sender.findName("itlist")["Canvas.Top"] + 160;
        
    if(np < 0)
    {
        sender.findName("itupmoveanim2").to = np;
        sender.findName("itdownshowanim").begin();
    }
    else
    {
        sender.findName("itupmoveanim2").to = 0;
        sender.findName("ituphideanim").begin();
    }
    
	sender.findName("itupmoveanim").begin();
}
function ITDownMove(sender, args)
{
    var np = sender.findName("itlist")["Canvas.Top"] - 160;
    var w = (root.findName("itlist").children.count * 160) - 320;
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("itdownmoveanim2").to = np;
            sender.findName("itupshowanim").begin();
        }
        else
        {
            sender.findName("itdownmoveanim2").to = -w;
            sender.findName("itdownhideanim").begin();
        }
        
	    sender.findName("itdownmoveanim").begin();
	}
}

function ShowOverlayUp(sender, args)
{
	sender.findName("overlayupgfanim").begin();
}
function HideOverlayUp(sender, args)
{
	sender.findName("overlayuplfanim").begin();
}
function ShowOverlayDown(sender, args)
{
	sender.findName("overlaydowngfanim").begin();
}
function HideOverlayDown(sender, args)
{
	sender.findName("overlaydownlfanim").begin();
}

function OverlayUpMove(sender, args)
{
    scrolloverlay = true;
    
    var np = sender.findName("presslayer")["Canvas.Top"] + 96;
        
    if(np < 0)
    {
        sender.findName("overlayupmoveanim2").to = np;
        sender.findName("overlaydownshowanim").begin();
    }
    else
    {
        sender.findName("overlayupmoveanim2").to = 0;
        sender.findName("overlayuphideanim").begin();
    }
    
	sender.findName("overlayupmoveanim").begin();
}
function OverlayDownMove(sender, args)
{
    scrolloverlay = true;
    
    var np = sender.findName("presslayer")["Canvas.Top"] - 96;
    var w = (sender.findName("overlaycontent").actualHeight + 48) - 620;

    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("overlaydownmoveanim2").to = np;
            sender.findName("overlayupshowanim").begin();
        }
        else
        {
            sender.findName("overlaydownmoveanim2").to = -w;
            sender.findName("overlaydownhideanim").begin();
        }
        
	    sender.findName("overlaydownmoveanim").begin();
	}
}

function ShowInfoUp(sender, args)
{
	sender.findName("infoupgfanim").begin();
}
function HideInfoUp(sender, args)
{
	sender.findName("infouplfanim").begin();
}
function ShowInfoDown(sender, args)
{
	sender.findName("infodowngfanim").begin();
}
function HideInfoDown(sender, args)
{
	sender.findName("infodownlfanim").begin();
}

function InfoUpMove(sender, args)
{
    scrollinfo = true;
    
    var np = sender.findName("infolayercontent")["Canvas.Top"] + 96;
        
    if(np < 0)
    {
        sender.findName("infoupmoveanim2").to = np;
        sender.findName("infodownshowanim").begin();
    }
    else
    {
        sender.findName("infoupmoveanim2").to = 0;
        sender.findName("infouphideanim").begin();
    }
    
	sender.findName("infoupmoveanim").begin();
}
function InfoDownMove(sender, args)
{
    scrollinfo = true;
    
    var np = sender.findName("infolayercontent")["Canvas.Top"] - 96;
    var w = (sender.findName("infocontent").actualHeight + 48) - 640;

    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("infodownmoveanim2").to = np;
            sender.findName("infoupshowanim").begin();
        }
        else
        {
            sender.findName("infodownmoveanim2").to = -w;
            sender.findName("infodownhideanim").begin();
        }
        
	    sender.findName("infodownmoveanim").begin();
	}
}

var infoshowed = false;

function InfoMouseEnter(sender, args)
{
    sender.source = "./Assets/infoover.png";
}
function InfoMouseLeave(sender, args)
{
    sender.source = "./Assets/info.png";
}
function InfoMouseDown(sender, args)
{
    sender.source = "./Assets/infopressed.png";

    if(playingvideo != null)
    {    
        sender.findName("infotitle").Text = playingvideo.Title;
        sender.findName("infosubtitle").Text = playingvideo.Subtitle;
        sender.findName("infodate").Text = playingvideo.Date;
        sender.findName("infoenter").Text = playingvideo.Lead;
        sender.findName("infotext").Text = playingvideo.Text;
    }

    if(infoshowed)
        sender.findName("infohideanim").begin();
    else
    {
        sender.findName("dnlhideanim").begin();
        sender.findName("infoshowanim").begin();
        
        sender.findName("infodownshowanim").begin();
    }
    
    infoshowed = !infoshowed;
}
function InfoMouseUp(sender, args)
{
    sender.source = "./Assets/infoover.png";
}

function HideInfo(sender, args)
{
    if(scrollinfo == false)
    {
        sender.findName("infohideanim").begin();
        
        infoshowed = false;
    }
    else
        scrollinfo = false;
}

function AddToPlayList(content)
{
    var elemfound = -1;
    for(var i = 0; i < dsL.length; i++)
    {
        if(content.ID == dsL[i].ID)
        {
            elemfound = i;
            
            break;
        }
    }

    if (elemfound == -1)
    {
        if (isLogged && !userList)
        {
            dsL = dsLUser.clone();
            userList = true;
        }

        if(dsL.length == 15)
        {
            if (userList)
            {
                RemPlaylist(dsL[14].ID);
            }
            dsL.pop();
        }
            
        dsL.unshift(content);
        
        if (isLogged && userList)
        {
            dsLUser = dsL.clone();
        }
        
        UpdatePlayList(true);
        if(userList)
        {
            if (ddsource == "PlayList")
            {
                AddPlaylist(content.ID, 0, true);
            }
            else
            {
                AddPlaylist(content.ID, 0, false);
            }
        }
    }
    else
    {
        control.content.findName("vidselected").Visibility = "Visible";
        control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
        control.content.findName("vidselectedanim").begin();
        
        PlayFromPlayList(elemfound);
    }
}

function AddToPlayList2(content, index)
{
    var elemfound = -1;
    for(var i = 0; i < dsL.length; i++)
    {
        if(content.ID == dsL[i].ID)
        {
            elemfound = i;
            
            break;
        }
    }

    if (elemfound == -1)
    {
        if (isLogged && !userList)
        {
            dsL = dsLUser.clone();
            userList = true;
        }
        if(dsL.length < 15)
        {
            if(index == -1)    
                dsL.push(content);
            else
                dsL.splice(index, 0, content);
            
            if (isLogged && userList)
            {
                dsLUser = dsL.clone();
            }
            
            UpdatePlayList(false);
            if(userList)
            {
                if (ddsource == "PlayList")
                {
                    AddPlaylist(content.ID, index, true);
                }
                else
                {
                    AddPlaylist(content.ID, index, false);
                }
            }
        }
        else if(ddsource != "")
        {
            if (userList)
            {
                RemPlaylist(dsL[14].ID);
            }
            dsL.pop();
        }
    }
    else
    {
        control.content.findName("vidselected").Visibility = "Visible";
        control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
        control.content.findName("vidselectedanim").begin();
        
        PlayFromPlayList(elemfound);
    }
}

function UpdatePlayList(startplay)
{
    root.findName("playlist").children.clear();
    
    for(var i = 0; i < dsL.length; i++)
    {
        var p = 33 + (i * 95.6);
        var k = 'playitem#' + i;
            
        var xamlStr = '<Canvas MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" Name="' + k + '" Cursor="Hand" Canvas.Left="' + p + '" Canvas.Top="26" MouseLeftButtonDown="DragFromPlayList" MouseMove="MoveFromPlayList" MouseLeftButtonUp="PlayFromPlayListItem"><Canvas.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#img" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.5" /></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#img" Storyboard.TargetProperty="Opacity" To="0.6" Duration="0:0:0.5" /></Storyboard></Canvas.Resources><Image Name="' + k + '#img" Width="80" Height="80" Stretch="UniformToFill" Opacity="0.6"/><Rectangle Canvas.Left="-15.6" Fill="#00000000" Width="15.6" Height="80"/></Canvas>';
        
        root.findName("playlist").children.add(control.content.createFromXaml(xamlStr));
        root.findName(k + "#img").Source = dsL[i].Thumbnail;
    }
    
    if(dsL.length > 0 && startplay == true)
        PlayFromPlayList(0);
}

var playListIndex = 0;

function PlayFromPlayListItem(sender, args)
{
    var i = sender.name;
    var i_array = i.split("#");
    var index = i_array[1];
        
    if(ddsource != "")
    {
        var i2 = dditem.name;
        var i_array2 = i2.split("#");
        var index2 = i_array2[1];
            
        if(index > 0)
        {
            switch(ddsource)
            {
                 case "Polaroid":
                    AddToPlayList2(dsMT[index2], index);
                    break;
                 case "Filmstrip":
                    AddToPlayList2(dsCS[index2], index);
                    break;
                 case "Video":
                    AddToPlayList2(dsVN[videoitem], index);
                    break;
                 case "Interview":
                    index2++;
                
                    AddToPlayList2(dsI[index2], index);
                    break;
                 case "Rec":
                    AddToPlayList2(dsR[index2], index);
                    break;
                 case "Fav":
                    AddToPlayList2(dsF[index2], index);
                    break;
                 case "PlayList":
                    if(index2 != index)
                    {
                        var aux = dsL[index2];
                        
                        dsL.splice(index2, 1);
                        AddToPlayList2(aux, index);
                        
                        if(index2 == playListIndex)
                        {
                            playListIndex = index;
                                                
                            control.content.findName("vidselected").Visibility = "Visible";
                            control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
                            control.content.findName("vidselectedanim").begin();
                        }
                        else if(playListIndex == index && index2 < playListIndex)
                        {
                            playListIndex--;
                            
                            control.content.findName("vidselected").Visibility = "Visible";
                            control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
                            control.content.findName("vidselectedanim").begin();
                        }
                        else if(playListIndex == index)
                        {
                            playListIndex++;
                            
                            control.content.findName("vidselected").Visibility = "Visible";
                            control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
                            control.content.findName("vidselectedanim").begin();
                        }

                    }
                    break;
            }
 
            if(playListIndex > index && ddsource != "PlayList")
            {
                playListIndex++;
                control.content.findName("vidselected").Visibility = "Visible";
                control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
	            control.content.findName("vidselectedanim").begin();
	        }
        }
        else
        {
            switch(ddsource)
            {
                 case "Polaroid":
                    AddToPlayList(dsMT[index2]);
                    break;
                 case "Filmstrip":
                    AddToPlayList(dsCS[index2]);
                    break;
                 case "Video":
                    AddToPlayList(dsVN[videoitem]);
                    break;
                 case "Interview":
                    index2++;
                
                    AddToPlayList(dsI[index2]);
                    break;
                 case "Rec":
                    AddToPlayList(dsR[index2]);
                    break;
                 case "Fav":
                    AddToPlayList(dsF[index2]);
                    break;
                 case "PlayList":
                    var aux = dsL[index2];
                    
                    dsL.splice(index2, 1);
                    AddToPlayList2(aux, index);
                    
                    PlayFromPlayList(0);
                    break;
            }
        }
                    
        ddsource = "";
        dditem = null;
    }
    else if(dragmove == true)
        PlayFromPlayList(index);
}

function PlayFromPlayList(index)
{
    mediaserver = false;
    root.findName("timedisplay").visibility = "Collapsed";
    
    control.content.findName("infohideanim").begin();
    
    playListIndex = index;
    
    control.content.findName("screen").Source = dsL[index].Video.URL;
    playingvideo = dsL[index];

    control.content.findName("nowplaying").Text = dsL[index].Title;
    
    control.content.findName("vidselected").Visibility = "Visible";
    control.content.findName("vidselectedanim2").to = 86 + (index * 95.6);
	control.content.findName("vidselectedanim").begin();
}

var tmpLive;

function PlayLiveEvents(item)
{
    tmpLive = item;
    control.content.findName("testScreen").Source = item.Video.URL;
    /*
    mediaserver = true;
    root.findName("timedisplay").visibility = "Collapsed";
    control.content.findName("infohideanim").begin();
    
    control.content.findName("screen").Source = item.Video.URL;
    playingvideo = item;

    control.content.findName("nowplaying").Text = item.Title;
    
    control.content.findName("vidselected").Visibility = "Collapsed";
    */
}

function MoveFromPlayList(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "PlayList";
        dditem = sender;
        
        dragmove = false;

        sender.findName("dragdropdata").source = sender.findName(sender.name + "#img").source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function RemoveFromPlayList(sender, args)
{
    if(ddsource == "PlayList")
    {
        if(playListIndex == dragindex)
        {
            if (userList)
            {
                RemPlaylist(dsL[dragindex].ID)
            }
            dsL.splice(dragindex, 1);
    
            UpdatePlayList(false);
            
            if(playListIndex == dsL.length)
            {    
                playListIndex--;
            
                control.content.findName("vidselected").Visibility = "Visible";
                control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
	            control.content.findName("vidselectedanim").begin();
	        }
	        
	        if(dsL.length > 0)
	            PlayFromPlayList(playListIndex);
	        else if(dsL.length == 0)
	        {
	            dsL = dsLDefault.clone();
                
                UpdatePlayList(true);
	        }
        }
        else if(playListIndex > dragindex)
        {
            playListIndex--;
            
            if (userList)
            {
                RemPlaylist(dsL[dragindex].ID)
            }
        	dsL.splice(dragindex, 1);
        	
            UpdatePlayList(false);
            
            control.content.findName("vidselected").Visibility = "Visible";
            control.content.findName("vidselectedanim2").to = 86 + (playListIndex * 95.6);
	        control.content.findName("vidselectedanim").begin();
	    }
	    else
	    {
	        if (userList)
            {
                RemPlaylist(dsL[dragindex].ID)
            }
	        dsL.splice(dragindex, 1);
	            
            UpdatePlayList(false);
	    }
	    
	    root.findName("trashfatanim").begin();
    }
    else if (ddsource == "Fav")
    {
        var i = dditem.name;
        var i_array = i.split("#");
        var index = i_array[1];

        if (favList)
        {
            RemFavorite(dsF[index].ID);
            dsF.splice(index, 1);
            if (dsF.length == 0)
                favList = false;
        }

        ClearFavList();
        for (var cIndex = 0; cIndex < dsF.length; cIndex++) {
            var myFav = dsF[cIndex];
            var url = myFav.Thumbnail;
            var title = myFav.Title;
            
            AddFav(url, title);
        }
        if(root.findName("favlist").children.count > 3)
            root.findName("favrightshowanim").begin();
        else
            root.findName("favrighthideanim").begin();
            
        if(root.findName("favlist").children.count == 0)
            root.findName("mpex").text = "Drag your favorite videos into this area";
            
        root.findName("trashfatanim").begin();
    }
    
    ddsource = "";
    dditem = null;
}

function HidePubTicker(sender, args)
{
    control.content.findName("pubtickerhideanim").begin();
}

function ClearRecList()
{
    root.findName("reclist").children.clear();
}
function AddRec(url, text, date)
{
    var n = root.findName("reclist").children.count;
    var p = 40 + (n * 220);
    var k = 'rec#' + n;

    var xamlStr = '<Canvas Background="#00000000" MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" MouseLeftButtonDown="DragFrom" MouseMove="MoveFromRec" MouseLeftButtonUp="PlayFromRec" Name="' + k + '" Cursor="Hand" Canvas.Left="' + p + '" Canvas.Top="25"><Canvas.RenderTransform><ScaleTransform ScaleX="1.2" ScaleY="1.2"/></Canvas.RenderTransform><Image Name="' + k + '#img" Canvas.Left="10" Canvas.Top="35" Width="124" Height="84" Stretch="UniformToFill"/><Image Name="' + k + '#imgplay" Opacity="0" IsHitTestVisible="False" Width="32" Height="32" Canvas.Left="95" Canvas.Top="85" Source="./Assets/playvideo.png"><Image.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25"/></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.5"/></Storyboard></Image.Resources></Image><Image Source="./Assets/border.png" Width="175" Height="175" /><TextBlock Canvas.Left="10" Canvas.Top="145" Foreground="White" TextWrapping="Wrap" Width="150"><Run Name="' + k + '#text" /><LineBreak /><Run Name="' + k + '#date" Foreground="#C0FFFFFF" /></TextBlock></Canvas>';
    
    root.findName("reclist").children.add(control.content.createFromXaml(xamlStr));
    root.findName(k + "#img").Source = url;
    root.findName(k + "#text").text = text;
    root.findName(k + "#date").text = date;
}

function PlayFromRec(sender, args)
{
    if(ddsource == "" && dragmove == true)
    {
        var i = sender.name;
        var i_array = i.split("#");
        var index = i_array[1];

        mediaserver = false;

        AddToPlayList(dsR[index]);
    }
}

function MoveFromRec(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "Rec";
        dditem = sender;
        
        dragmove = false;

        sender.findName("dragdropdata").source = sender.findName(sender.name + "#img").source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function ShowRecLeft(sender, args)
{
	sender.findName("recleftgfanim").begin();
}
function HideRecLeft(sender, args)
{
	sender.findName("recleftlfanim").begin();
}
function ShowRecRight(sender, args)
{
	sender.findName("recrightgfanim").begin();
}
function HideRecRight(sender, args)
{
	sender.findName("recrightlfanim").begin();
}
function RecLeftMove(sender, args)
{
    var np = sender.findName("reclist")["Canvas.Left"] + 220;
        
    if(np < 0)
    {
        sender.findName("recleftmoveanim2").to = np;
        sender.findName("recrightshowanim").begin();
    }
    else
    {
        sender.findName("recleftmoveanim2").to = 0;
        sender.findName("reclefthideanim").begin();
    }
    
	sender.findName("recleftmoveanim").begin();
}
function RecRightMove(sender, args)
{
    var np = sender.findName("reclist")["Canvas.Left"] - 220;
    var w = (root.findName("reclist").children.count * 220) - 640;
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("recrightmoveanim2").to = np;
            sender.findName("recleftshowanim").begin();
        }
        else
        {
            sender.findName("recrightmoveanim2").to = -w;
            sender.findName("recrighthideanim").begin();
        }
        
	    sender.findName("recrightmoveanim").begin();
	}
}

function ClearParList()
{
    root.findName("parlist").children.clear();
}
function AddPar(url)
{
    var n = root.findName("parlist").children.count;
    var p = 40 + (n * 220);
    var k = 'par#' + n;

    var xamlStr = '<Canvas Opacity="0.8" MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" MouseLeftButtonDown="LinkToPar" Name="' + k + '" Cursor="Hand" Canvas.Left="' + p + '" Canvas.Top="55"><Canvas.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25"/></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '" Storyboard.TargetProperty="Opacity" To="0.8" Duration="0:0:0.5"/></Storyboard></Canvas.Resources><Canvas.RenderTransform><ScaleTransform ScaleX="1.2" ScaleY="1.2"/></Canvas.RenderTransform><Image Name="' + k + '#img" Width="128" Height="128" Stretch="UniformToFill"/></Canvas>';
    
    root.findName("parlist").children.add(control.content.createFromXaml(xamlStr));
    root.findName(k + "#img").Source = url;
}

function LinkToPar(sender, args)
{
    if(ddsource == "")
    {
        var i = sender.name;
        var i_array = i.split("#");
        var index = i_array[1];
        
        //Goto site
        window.open(dsP[index].URL,'_blank');
    }
}

function ShowParLeft(sender, args)
{
	sender.findName("parleftgfanim").begin();
}
function HideParLeft(sender, args)
{
	sender.findName("parleftlfanim").begin();
}
function ShowParRight(sender, args)
{
	sender.findName("parrightgfanim").begin();
}
function HideParRight(sender, args)
{
	sender.findName("parrightlfanim").begin();
}
function ParLeftMove(sender, args)
{
    var np = sender.findName("parlist")["Canvas.Left"] + 220;
        
    if(np < 0)
    {
        sender.findName("parleftmoveanim2").to = np;
        sender.findName("parrightshowanim").begin();
    }
    else
    {
        sender.findName("parleftmoveanim2").to = 0;
        sender.findName("parlefthideanim").begin();
    }
    
	sender.findName("parleftmoveanim").begin();
}
function ParRightMove(sender, args)
{
    var np = sender.findName("parlist")["Canvas.Left"] - 220;
    var w = (root.findName("parlist").children.count * 220) - 665;
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("parrightmoveanim2").to = np;
            sender.findName("parleftshowanim").begin();
        }
        else
        {
            sender.findName("parrightmoveanim2").to = -w;
            sender.findName("parrighthideanim").begin();
        }
        
	    sender.findName("parrightmoveanim").begin();
	}
}

function TrashScaleUp(sender, args)
{
    if(ddsource == "PlayList" || ddsource == "Fav")
    {
        sender["Canvas.ZIndex"] = 1;
        
        sender.findName("trashscupanim").begin();
    }
}
function TrashScaleDown(sender, args)
{
    sender["Canvas.ZIndex"] = 0;
    
    sender.findName("trashscdownanim").begin();
}

function ShowTerms(sender, args)
{
    sender.findName("layerhidden").ishittestvisible = false;
    sender.findName("layerfadeoutanim").begin();
    sender.findName("showtermsanim").begin();
    
    sender.findName("play").source = "./Assets/play.png";
    sender.findName("screen").pause();
    root.findName("marqueeanim").pause();
    root.findName("pubtickershowanim").pause();
    root.findName("pubtickerhideanim").pause();
    ispaused = true;
    
    setTimeout("ShowTermsText()", 1000);
}
function ShowTermsText()
{
    var div = document.getElementById('mainDiv');
    //var cDiv = document.getElementById('contentDiv');
    //var text = '<H1 style="MARGIN: 6pt 0cm 11pt; TEXT-INDENT: 0cm; TEXT-ALIGN: center; mso-list: none; tab-stops: 35.4pt" align=center><FONT face=Arial><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: PT; mso-fareast-language: PT">TERMOS DE UTILIZAÇÃO DO SITE MEDIAPREVIEW.TV</SPAN><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: PT"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></FONT></H1> <H1 style="MARGIN: 6pt 0cm 11pt; TEXT-INDENT: 0cm; TEXT-ALIGN: justify; mso-list: none; tab-stops: 35.4pt"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: PT"><o:p><FONT face=Arial>&nbsp;</FONT></o:p></SPAN></H1> <H1 style="MARGIN: 6pt 0cm 11pt; TEXT-INDENT: 0cm; TEXT-ALIGN: justify; mso-list: none; tab-stops: 35.4pt"><SPAN lang=ES style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial"><FONT face=Arial>INTRODUÇÃO<o:p></o:p></FONT></SPAN></H1> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT face="Times New Roman" size=2>O presente documento ("<B style="mso-bidi-font-weight: normal">Termos de Utilização</B>") regula o uso da presente página de Internet sob o endereço </FONT><A href=""><FONT face="Times New Roman" color=#0000ff size=2>www.mediapreview.tv</FONT></A><FONT face="Times New Roman" size=2> ("<B style="mso-bidi-font-weight: normal">Site</B>") e de todo o seu conteúdo. Os presentes Termos de Utilização não constituem uma proposta contratual, mas tão só a fixação dos termos em que é disponibilizado o acesso ao Site e as obras audiovisuais, anúncios publicitários, informações, textos, fotografias, gráficos, design, imagens, animações, quadros, links, cabeçalhos, layouts, meta tags, endereços de email, ícones, "scripts" e "applets" e demais elementos inseridos no Site ou que dele façam parte, incluindo o código das páginas do Site, a arquitectura do mesmo e as obras intelectuais nele constantes ou disponibilizadas (<B style="mso-bidi-font-weight: normal">"Conteúdos do Site"</B>). O utilizador do Site ("<B style="mso-bidi-font-weight: normal">Utilizador</B>") deverá ler esta informação atentamente. Mediante o acesso e utilização deste Site, o Utilizador declara ter lido, compreendido e aceite sem qualquer reserva os Termos de Utilização e outros termos e avisos aplicáveis, por exemplo, a Política de Privacidade, que sejam incorporados por remissão ou disponibilizados no Site, como se os tivesse assinado. Caso não concorde com estes Termos de Utilização, não deverá prosseguir com a utilização deste Site. </FONT><br/> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><o:p><FONT face="Times New Roman" size=2>&nbsp;</FONT></o:p><br/> <H3 style="MARGIN: 6pt 0cm; TEXT-INDENT: 0cm; mso-list: none; tab-stops: 35.4pt"><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: Arial; mso-ansi-language: PT"><FONT face=Arial>INFORMAÇÕES GERAIS<o:p></o:p></FONT></SPAN></B></H3> <P class=MsoNormal style="MARGIN: 0cm 0cm 11pt; TEXT-ALIGN: justify; mso-line-height-alt: 7.5pt"><FONT face="Times New Roman" size=2>O Site é da titularidade da OMD, S.A. ("<B style="mso-bidi-font-weight: normal">OMD</B>"), com sede em Av. Do Forte nº 6 Edifício Ramazzotti Piso 3,&nbsp; 2.02,&nbsp; 2790-072 Carnaxide, pessoa colectiva n.º 504967541 registado na Conservatória do Registo Comercial de Cascais, sob o n.º 13425, com o capital social de EURO. 156.000,00. O MediaPreview.tv é um site criado e operado pela OMD, mas que se quer assumir como um um espaço de disponibilização de conteúdos online de carácter informativo na área do marketing, media e publicidade.</FONT><br/> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><o:p><FONT face="Times New Roman" size=2>&nbsp;</FONT></o:p><br/> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><FONT size=2>TERMOS GERAIS</FONT></SPAN></B><br/> <OL> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><FONT size=2><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Utilização do Site. </STRONG></SPAN><FONT face="Times New Roman">O Utilizador pode navegar livremente pelo Site e aceder a todas as funcionalidades dele constantes. O Utilizador usufrui deste Site da forma e nos termos unilateralmente determinados pela OMD. Os contéudos encontram-se colocados à disposição dos Utilizadores, mas não serão passíveis de qualquer cópia, reprodução ou forma de download ("<I style="mso-bidi-font-style: normal"><STRONG>download</STRONG></I>"). O Utilizador apenas poderá utilizar os materiais para fins pessoais e não comerciais, sendo-lhe vedada a prática de quaisquer actos que possam levar à distribuição, modificação, transmissão, reutilização, recolocação, ou outro tipo de utilização dos materiais de forma pública e/ou para fins comerciais, sem a autorização expressa, e por escrito, da OMD.</FONT></FONT></SPAN></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><SPAN><FONT size=2><STRONG>Disponibilidade e Alteração do Site e Conteúdos</STRONG><FONT face="Times New Roman"><STRONG> </STRONG></SPAN><FONT face="Times New Roman">O Site e os conteúdos estão disponíveis da forma decidida pela OMD e pode estar sujeito a interrupção para manutenção e a outro tipo de medidas. Os Conteúdos serão disponilizados "as is" e tal como a OMD o entenda. Apesar de o Site ser acessível globalmente, a OMD reserva o direito de limitar a disponibilização do mesmo e/ou de Conteúdos do Site a qualquer Utilizador, região geográfica ou jurisdição. Deverá ser considerada sem efeito a disponilização do Site e/ou Conteúdos dos Site em jurisdições onde tal seja proibido. O Site e os Conteúdos do Site poderão ser disponibilizados apenas em algumas línguas. <SPAN style="mso-bidi-font-weight: bold">Os Conteúdos não serão disponibilizados para <I style="mso-bidi-font-style: normal">download</I>, por parte dos Utilizadores. </SPAN>No caso de os Utilizadores remeterem, através do Site ou mesmo à OMD por outros meios Conteúdos dos Utilizadores, a OMD não tem nenhuma obrigação de os controlar, mas pode fazê-lo com inteira discricionariedade. O Site é disponibilizado gratuitamente, para mera conveniência do Utilizador, pelo que a OMD reserva o direito de impedir, de condicionar o acesso ou alterar as condições de acesso por parte de algum Utilizador e as presentes Condições de Utilização e, bem assim, deixar de disponibilizar o Site. A OMD tem, pois, o direito de pôr fim à utilização do Site pelo Utilizador sem pré-aviso, em qualquer altura e com inteira discricionariedade, especialmente se o Utilizador violar os presentes Termos de Utilização, utilizar o Site ilegalmente ou duma forma que a OMD considere inadequada. A OMD reserva-se o direito, com inteira discricionariedade e sem obrigação, de introduzir melhorias ou corrigir eventuais erros ou omissões em dados contidos no Site. </FONT></FONT></FONT></SPAN></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><FONT face="Times New Roman" size=2><SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Limitações de Acesso. </STRONG></SPAN><FONT face="Times New Roman">Salvo se expressamente autorizado pela OMD, são proibidos quaisquer acesso ou tentativa de acesso a áreas vedadas do servidor ou na rede informática e, bem assim, a qualquer informação contida no sistema informática da OMD. O Utilizador compromete-se a não utilizar qualquer "robot", "spider" ou qualquer outro processo manual ou automático ou mecanismo para "screen scrape", "monitor mine", ou para copiar as páginas do Site ou os Conteúdos do Site. O Utilizador obriga-se ainda a não utilizar mecanismos, hardware, software, processo ou quaisquer outros meios que possam interferir no regular funcionamento ou utilização do Site, ou que possam sobrecarregar exagerada ou desproporcionalmente ou permitir o acesso à infra-estrutura do Site ou ao back-office da aplicação. Ao Utilizador é liminarmente vedada a utilização de técnicas de linking e de frames, a utilização e inclusão de meta tags, ou de textos e imagens indexados a motores de busca, que possam reproduzir, de algum modo, Conteúdos ou Direitos de Propriedade Intelectual do Site. A introdução, alteração ou supressão da informação disponibilizada no Site, feita pelo Utilizador e sem o devido consentimento da OMD, a interferência no sistema informático que lhe serve de suporte de forma a entravar ou perturbar o seu funcionamento e, em geral, todos os comportamentos que consubstanciem a prática de crimes ligados à informática são proibidos e puníveis nos termos da lei.</FONT></SPAN></FONT></SPAN></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Actualização da Informação. </STRONG></SPAN><FONT face="Times New Roman">A OMD promove os esforços razoáveis de forma a que a informação prestada seja fidedigna e actual. Apesar de todos os esforços serem desenvolvidos no sentido de assegurar a disponibilização de informação fiável, não é possível assegurar que todos os conteúdos sejam necessariamente rigorosos, completos e actualizados. A OMD não poderá ser responsabilizada nem assume qualquer risco relativamente à fiabilidade, exactidão, actualidade, utilidade ou perfeição de qualquer informação constante do site, nem tem qualquer dever de proceder à comprovação ou actualização dessa informação. A OMD não é responsável por perdas ou danos causados pelo facto do Utilizador se apoiar em dados contidos Site e/ou fornecidos a respeito destes.</FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Política de Privacidade. </STRONG></SPAN><FONT face="Times New Roman">A OMD respeita a privacidade dos seus Utilizadores e estabeleceu uma Política de Privacidade que regula o tratamento de dados por parte da OMD relativamente a dados pessoais dos Utilizadores transmitidos através ou no âmbito da utilização do Site. A navegação no Site não implica, em geral, o fornecimento de qualquer dado pessoal por parte do Utilizador. Todavia, quando tal não acontecer ou quando o Utilizador remeta dados pessoais para a OMD ainda que não através do Site, mas relacionado com este, a OMD assegurará a licitude do tratamento de tais dados, em obediência à legislação aplicável, mas podendo a OMD utilizar tais dados para o que entenda possa estar relacionado com a remessa dos mesmos, por parte do Utilizador. </FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Risco</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">. </SPAN><FONT face="Times New Roman">O acesso ao Site, como em geral o uso de plataformas tecnológicas, encerra, evidentemente, riscos para o Utilizador. O uso que o Utilizador faça do Site será feito por própria conta e risco deste. O Utilizador do Site reconhece que o mesmo é acedido por um universo incontrolável de Utilizadores, não sendo exigível a monitorização constante do mesmo por parte da OMD, designadamente em termos de controle de vírus ou bugs, worms, cavalos de Tróia, scripts ou qualquer outro código ou programa que contenha propriedades destrutivas ou prejudiciais aos sistemas informáticos dos Utilizadores. A OMD não poderá ser responsabilizada por quaisquer prejuízos ou danos (incluindo, danos emergentes, lucros cessantes e danos indirectos ou morais) que surjam em consequência da utilização do Site e dos Conteúdos do Site pelo Utilizador e do acesso ao computador e sistema informático do Utilizador por terceiros, até à máxima extensão permitida pela lei.</FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Confidencialidade</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">. </SPAN><FONT face="Times New Roman">Sem prejuízo do disposto na Política de Privacidade, quaisquer comunicações dados, questões, comentários, sugestões, ficheiros ou outros tipo de informação, materiais ou conteúdos, transmitidos ou enviados pelo Utilizador à OMD ou enviados para o Site, através de correio electrónico, colocação <I style="mso-bidi-font-style: normal">online</I>, <I style="mso-bidi-font-style: normal">upload</I> ou por qualquer outro meio, serão considerados como não confidenciais e conteúdo não reservado. </FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Licença concedida à OMD quanto a Conteúdos dos Utilizadores. </STRONG></SPAN><FONT face="Times New Roman">Quando o Utilizador forneça, mediante upload através do Site ou através de outros meios para a OMD, informações ou materiais tais como reacções, dados, texto, programas informáticos, música, som, fotografias, gráficos, vídeos, mensagens, respostas, perguntas, comentários, sugestões, classificações, estratégias, conceitos, desenhos, ideias, planos, ou quaisquer outros materiais ("<B>Conteúdos Do Utilizador</B>"), o Utilizador licencia e concede à OMD e às empresas do seu grupo e sub licenciadas um direito não exclusivo, e free of roaylties ou encargos, perpétuo, de âmbito mundial, irrevogável e plenamente passível de sub-licenciamento para usar, reproduzir, modificar, adaptar, comunicar ou colocar à disposião do ao público, publicar, traduzir, copiar, modificar, adaptar, criar trabalhos derivados, distribuir e exibir esses Conteúdos do Utilizador e através de quaisquer meios, produtos e/ou serviços, incluindo, nomeadamente, dispositivos sem fios, telemóveis e produtos, serviços e acessórios relacionados, publicidade, marketing e materiais promocionais e reproduções digitais, sem direito a qualquer retribuição, a invocar restrições à utilização, indicação da fonte e a exigir o dever de prestar contas ou responsabilidades. Acresce que a OMD encontra-se livre para usar quaisquer ideias, conceitos, know-how ou técnicas existentes em qualquer Conteúdo do Utilizador que seja enviado para o Site ou no âmbito do uso do Site por parte do Utiliazador, incluindo para o desenvolvimento, produção e marketing de produtos ou obras audiovisuais ou publicitárias.</FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Direitos de Propriedade Intelectual e imagens de pessoas</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">. </SPAN><FONT face="Times New Roman">O Site coloca à disposição dos Utilizadores peças de informação, conteúdos audiovisuais, anúncios publicitários, gráficos, design, imagens, animações, quadros e e outros ("<B style="mso-bidi-font-weight: normal">Conteúdo do Site</B>") e bem assim, contêm o Site e os referidos conteúdos, marcas e sinais protegidos por lei, apenas para fins pessoais e não comerciais. Em qualquer momento e sem necessidade de invocar qualquer razão, a OMD poderá deixar de disponibilizar o Conteúdo do Site sem necessidade de comunicação prévia ou posterior. Todo e qualquer Conteúdo do Site sinais protegidos são da titularidade da OMD e/ou de entidades que autorizaram a sua disponibilização e uso por parte da OMD e são protegidas pela lei de Portugal, por normas legais nacionais de direitos de autor e direitos de propriedade industrial e por tratados internacionais. Com excepção do direito de acesso, acima estabelecido, a OMD não concede aos Utilizadores qualquer outro direito ou autorização sobre os Conteúdos do Site para além do uso permitido de acordo com este Termos e Condições. O Utilizador reconhece ser estritamente proibido qualquer uso dos Conteúdos do Site, incluindo, mas sem limitar, reprodução, modificação, distribuição, transmissão, republicação, disponibilização ou apresentação, sem o consentimento expresso, por escrito, da OMD. Quaisquer imagens de pessoas ou de lugares constantes do Site são da titularidade da OMD, ou a OMD obteve a respectiva autorização para utilização. É proibido todo e qualquer uso destas imagens pelo Utilizador. Nada do constante do Site poderá ser interpretado como concedendo, expressa ou implicitamente, qualquer tipo de consentimento ou direito ao seu uso, sem o expresso consentimento, por escrito, da OMD e dos terceiros envolvidos. A utilização de Conteudos do Site ou sinais de propriedade industrial no Site de forma contrária ao referido é expressamente proibida. O Utilizador fica, também, desde já, informado de que a OMD poderá utilizar todas as faculdades permitidas pela lei para defender os seus direitos referentes aos Direitos de Propriedade Intelectual e imagens de pessoas, na máxima extensão permitida por lei, nomeadamente pelo accionamento dos meios criminais competentes. </FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Responsabilidade. </STRONG></SPAN><FONT face="Times New Roman">OS CONTEÚDOS E FUNCIONALIDADES CONSTANTES DO SITE SÃO DISPONIBILIZADAS NO ESTADO EM QUE SE ENCONTRAM ("AS IS"), NÃO CONSTITUINDO AS INFORMAÇÕES NELE CONTIDAS UM CONSELHO OU RECOMENDAÇÃO, NEM ESTABELECEM QUALQUER RELAÇÃO CONTRATUAL. Sem prejuízo de outras disposições especiais constantes do Site e até à máxima extensão permitida pela lei, a OMD não responde por quaisquer perdas ou danos, directos ou indirectos, sofridos por qualquer Utilizador, relativamente à informação ou Conteúdos contida no Site. A OMD não é responsável pela exactidão, qualidade, segurança, legalidade ou licitude, incluindo o cumprimento das regras respeitantes a direitos de autor e direitos conexos, dos conteúdos contidos no Site, designadmente em relação aos Conteúdos disponibilizados relativamente aos quais não seja o criador original. Por outro lado, o Utilizador reconhece que o mesmo poderá ser acedido por um universo incontrolável de outros Utilizadores, não sendo exigível a monitorização constante do mesmo por parte da OMD, designadamente em termos de controle de vírus ou bugs que possam afectá-lo ou nele serem depositados, pelo que a OMD não se responsabiliza pelas consequências que a navegação no Site possa acarretar para o Utilizador. A OMD não garante que o Site esteja livres de erros. A OMD não é responsável pela indisponibilidade do Site, independentemente da causa que lhes der origem. A OMD não assume qualquer responsabilidade por quaisquer atrasos, perda de dados ou danos causados durante a transmissão a partir do Site.</FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Indemnizações. </STRONG></SPAN><FONT face="Times New Roman">O Utilizador declara e aceita indemnizar, defender e proteger a OMD e terceiros por todos os danos, entre os quais se inclui os honorários de advogados e custas judiciais, resultantes da violação, pelo Utilizador dos presentes Termos de Utilização, ou em consequência de qualquer actividade realizada através de um um acesso que identifique o Utilizador, ainda que por um terceiro. </FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Controlo de Comunicações</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">. </SPAN><FONT face="Times New Roman">A OMD reserva o direito, apesar de não se obrigar a fazê-lo, de proceder ao controlo e fiscalização de comunicações e materiais transmitidos e/ou colocados no Site, e de bloquear, remover ou alterar comunicações ou materiais que considere: (a) abusivos, difamatórios ou obscenos; (b) fraudulentos, enganadores ou inexactos; (c) violarem direitos de autor ou de propriedade industrial ou qualquer outro direito de propriedade intelectual ou semelhante;<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ou (d) ofensivo, duvidoso ou de algum modo inaceitável na opinião da OMD.</FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Política Editorial</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">. </SPAN><FONT face="Times New Roman">A OMD reserva o direito de, a qualquer momento, alterar ou apagar material do Site.</FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Links</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">.</SPAN><FONT face="Times New Roman"> Este site contém links para sites operados por entidades terceiras. Essas ligações são, pois,<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>disponibilizadas apenas para a conveniência dos Utilizadores. A OMD não é responsável pelo conteúdo de nenhum desses sites, nem pelo acesso e disponibilidade dos mesmos. O acesso a outros sites ligados ao presente Site é realizado por conta e risco do Utilizador. A OMD não garante nem se responsabiliza perante o acesso do Utilizador aos referidos sites.</FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Alteração dos Termos de Utilização</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'">. </SPAN><FONT face="Times New Roman">Os Termos de Utilização poderão ser alterados ou modificados em qualquer momento por decisão da OMD, considerando-se que as alterações entram em vigor a partir da data da sua colocação no Site. O Utilizador é responsável por reler regularmente os presentes Termos de Utilização e outros termos e avisos aplicáveis. O acesso e utilização posteriores do Site pelo Utilizador serão consideradas como uma manifestação de adesão os Termos de Utilização alterados.</FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI> <LI> <DIV class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><FONT size=2><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><FONT face="Times New Roman"><o:p><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"><STRONG>Vários.</STRONG></SPAN><SPAN style="FONT-FAMILY: \'Arial\',\'sans-serif\'"> </SPAN><FONT face="Times New Roman">Em caso de conflito entre os presentes Termos de Utilização e eventuais Termos do Site e/ou Políticas de Privacidade, os presentes Termos de Utilização prevalecem. A OMD colaborará com qualquer autoridade, disponibilizando a sua colaboração ou quaisquer elementos de que tenha conhecimento referentes ao Utilizador, dentro dos limites legalmente previstos. A declaração de invalidade ou ineficácia de algum ponto ou cláusula prevista nos Termos de Utilização, não prejudicará a validade e eficácia dos restantes pontos ou cláusulas, considerando-se, nesse caso, que os Termos de Utilização se mantêm em vigor sem os pontos ou cláusulas inválidos ou ineficazes. <SPAN style="mso-fareast-language: EN-US">Os Termos de Utilização e o acesso do Utilizador ao Site serão regulados pela Lei Portuguesa. </SPAN>As epígrafes utilizadas nos Termos de Utilização foram colocadas, apenas, por mera conveniência, não tendo qualquer efeito da interpretação dos Termos de Utilização. </FONT></o:p></FONT></o:p></FONT></o:p></FONT></FONT></DIV></LI></OL> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify"><o:p><FONT face="Times New Roman" size=2>&nbsp;</FONT></o:p><br/> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><FONT face="Times New Roman" size=2>Copyright © 2007 OMD. Todos os direitos reservados.</FONT><br/>';
    //cDiv.innerHTML = text;
    div.style.visibility = "visible";
    
    OnResize(null, null);
}
function HideTerms(sender, args)
{
    var div = document.getElementById('mainDiv');
    div.style.visibility = "hidden";
    div.style.left = "0px";
    div.style.top = "0px";   
    div.style.width = "Auto";
    div.style.height = "Auto";
    
    sender.findName("layerhidden").ishittestvisible = true;
    sender.findName("layerfadeinanim").begin();
    sender.findName("hidetermsanim").begin();
    
    sender.findName("play").source = "./Assets/pause.png";
    sender.findName("screen").play();
    root.findName("marqueeanim").resume();
    root.findName("pubtickershowanim").resume();
    root.findName("pubtickerhideanim").resume();
    ispaused = false;
}

function ChangeVideoPosition(sender, args)
{
    if(mediaserver == false)
    {
        var screen = sender.findName("screen");
        
        sender.findName("progress").width = args.getPosition(sender).x;
        
        var timespan = screen.position;
        timespan.seconds = (args.getPosition(sender).x / 1048) * screen.naturalDuration.seconds;
        screen.position = timespan;
    }
}

var ntoffset = 0;

function ShowPubTicker()
{
    root.findName("pubtickershowanim").begin();
}

var currprindex = 0;
var countN = 0;

function ShowNewsTicker()
{
    var nFound = 0;
    ClearNewsTicker();
    
    for(var i = 0; i < 3; i++)
    {
        var found = false;
        if (currprindex == 0)
            countN = 0;
        while(!found)
        {
            var dteNComplete = dsPN[currprindex].Date;
            var dteNTmp = dteNComplete.split(" ");
            var dteNDComplete = dteNTmp[0];
            var dteND = dteNDComplete.split("-");
            
            if (dteND[2] != null)
            {
                var NDay = dteND[2];
                var NMonth = dteND[1];
                var NYear = dteND[0];
                
                var dteC = currentDate.split("/");
                var CDay = dteC[0];
                var CMonth = dteC[1];
                var CYear = dteC[2];
                
                if( (NDay == CDay) && (NMonth == CMonth) && (NYear == CYear) )
                {
                    AddToNewsTicker(dsPN[currprindex].Subtitle);
                    found = true;
                    countN++;
                    nFound++;
                }
            }
             
            if(currprindex < dsPN.length - 1)
                currprindex++;
            else
            {
                if (countN == 0)
                    found = true;
                currprindex = 0;
            }
        }
    }
    
    if (nFound == 3)
    {
        root.findName("newstickershowanim").begin();
        root.findName("marqueeanim").begin();
    }
}

function NextPubTicker(sender, args)
{
    pubindex++;
    if(pubindex >= pubL.length)
        pubindex = 0;
    
    sender.findName("pubticker").source = pubL[pubindex];
    
    pubto = setTimeout("ShowPubTicker()", 15000);
}

function NextNewsTickerPosition(sender, args)
{
    if(sender.findName("newstickerlist")["Canvas.Left"] < -(ntoffset + 250))
    {
        root.findName("newstickerlist")["Canvas.Left"] = 2000;
        root.findName("newstickerhideanim").begin();
        
        newsto = setTimeout("ShowNewsTicker()", 10000);
    }
    else
        sender.begin();
}

function ClearNewsTicker()
{
    root.findName("newstickerlist")["Canvas.Left"] = 2000;
    root.findName("newstickerlist").children.clear();
    
    ntoffset = 0;
}

var repeatedPress = 0;

function AddToNewsTicker(title)
{
    var xamlStr = '<Canvas Name="' + "newsticker#" + currprindex + "#" + repeatedPress + '" Canvas.Left="' + ntoffset.toString() + '" MouseLeftButtonDown="ShowFromPress"><Canvas Canvas.Top="-4" Width="64" Height="64" RenderTransformOrigin="0.5,0.5"><Canvas.RenderTransform><ScaleTransform ScaleX="0.25" ScaleY="0.25"/></Canvas.RenderTransform><Ellipse Stroke="#80000000" Width="64" Height="64"><Ellipse.Fill><LinearGradientBrush EndPoint="0,1" StartPoint="0,0"><GradientStop Color="#80FFFFFF" Offset="0"/><GradientStop Color="#80FFFFFF" Offset="0.5"/><GradientStop Color="#00000000" Offset="0.5"/></LinearGradientBrush></Ellipse.Fill></Ellipse><Ellipse Opacity="0.33" Width="62" Height="62" Stroke="#7FFFFFFF" Canvas.Left="1" Canvas.Top="1"><Ellipse.Fill><LinearGradientBrush EndPoint="0,1" StartPoint="0,0"><GradientStop Color="#FF5E6D7F" Offset="0"/><GradientStop Color="#FF0C1C30" Offset="1"/></LinearGradientBrush></Ellipse.Fill></Ellipse></Canvas><Canvas Canvas.Left="75" Canvas.Top="6"><TextBlock Canvas.Left="2" Canvas.Top="2" FontSize="28" Foreground="Black" Opacity="0.75" /><TextBlock FontSize="28" Foreground="White" /></Canvas></Canvas>';
    var ntitem = control.content.createFromXaml(xamlStr);
    root.findName("newstickerlist").children.add(ntitem);
    
    ntitem.children.getItem(1).children.getItem(0).Text = title;
    ntitem.children.getItem(1).children.getItem(1).Text = title;
    
    ntoffset = ntoffset + ntitem.children.getItem(1).children.getItem(0).actualWidth + 96;
    repeatedPress++;
}

function QuestionMouseEnter(sender, args)
{
    sender.source = "./Assets/questionover.png";
}
function QuestionMouseLeave(sender, args)
{
    sender.source = "./Assets/question.png";
}
function ShowQuestionWindow(sender, args)
{
    sender.findName("questionwindow").ishittestvisible = true;
    sender.findName("layerhidden").ishittestvisible = false;
    sender.findName("layerfadeoutanim").begin();
    sender.findName("showquestionanim").begin();
    
    sender.findName("play").source = "./Assets/play.png";
    sender.findName("screen").pause();
    root.findName("marqueeanim").pause();
    root.findName("pubtickershowanim").pause();
    root.findName("pubtickerhideanim").pause();
    ispaused = true;
    
    setTimeout("ShowQuestionDiv()", 1000);
}
function HideQuestionWindow(sender, args)
{
    document.getElementById('TextArea').innerText = "";

    sender.findName("questionwindow").ishittestvisible = false;

    var div = document.getElementById('questionDiv');
    div.style.visibility = "hidden";
    div.style.left = "0px";
    div.style.top = "0px";   
    div.style.width = "Auto";
    div.style.height = "Auto";
    
    sender.findName("layerhidden").ishittestvisible = true;
    sender.findName("layerfadeinanim").begin();
    sender.findName("hidequestionanim").begin();
    
    sender.findName("play").source = "./Assets/pause.png";
    sender.findName("screen").play();
    root.findName("marqueeanim").resume();
    root.findName("pubtickershowanim").resume();
    root.findName("pubtickerhideanim").resume();
    ispaused = false;
}

function ShowQuestionDiv()
{
    var div = document.getElementById('questionDiv');
    
    div.style.visibility = "visible";
    
    OnResize(null, null);
}

var processQuestion = false;

function SubmitMouseEnter(sender, args)
{
    if(!processQuestion)
    {
        sender.source = "./Assets/submitover.png";
    }
}
function SubmitMouseLeave(sender, args)
{
    sender.source = "./Assets/submit.png";
}

function SubmitQuestion(sender, args)
{
    if(!processQuestion)
    {
        Submit_Question(dsI[0].ID);
        processQuestion = true;
        
        document.getElementById('TextArea').innerText = "";
    }
}

function ShowLoginWindow(sender, args)
{
    sender.findName('logInfo').text = "";
    sender.findName("loginwindow").ishittestvisible = true;
    sender.findName("layerhidden").ishittestvisible = false;
    sender.findName("layerfadeoutanim").begin();
    sender.findName("showloginanim").begin();
    
    sender.findName("play").source = "./Assets/play.png";
    sender.findName("screen").pause();
    root.findName("marqueeanim").pause();
    root.findName("pubtickershowanim").pause();
    root.findName("pubtickerhideanim").pause();
    ispaused = true;
    
    setTimeout("ShowLoginDiv()", 1000);
}
function HideLoginWindow(sender, args)
{
    root.findName("processrotate").stop();
    root.findName("processcanvas").visibility = "Collapsed";

    document.getElementById('LoginText').innerText = "";
    document.getElementById('PasswordText').innerText = "";

    document.getElementById('RecoverPassText').innerText = "";

    document.getElementById('Name').innerText = "";
    document.getElementById('Email').innerText = "";
    document.getElementById('Password').innerText = "";
    document.getElementById('Password2').innerText = "";
    document.getElementById('Company').innerText = "";
    document.getElementById('JobTitle').innerText = "";
    document.getElementById('PostalCode').innerText = "";
    document.getElementById('City').innerText = "";
    document.getElementById('Phone').innerText = "";
    
    root.findName("loginwindow").ishittestvisible = false;
    
    root.findName("registersection").isHitTestVisible = false;
    root.findName("registersection").opacity = 0;
    root.findName("recoversection").isHitTestVisible = false;
    root.findName("recoversection").opacity = 0;
    
    var div = document.getElementById('loginDiv');
    div.style.visibility = "hidden";
    div.style.left = "0px";
    div.style.top = "0px";   
    div.style.width = "Auto";
    div.style.height = "Auto";
    
    var div2 = document.getElementById('recoverPassDiv');
    div2.style.visibility = "hidden";
    div2.style.left = "0px";
    div2.style.top = "0px";   
    div2.style.width = "Auto";
    div2.style.height = "Auto";
    
    var div3 = document.getElementById('registerDiv');
    div3.style.visibility = "hidden";
    div3.style.left = "0px";
    div3.style.top = "0px";   
    div3.style.width = "Auto";
    div3.style.height = "Auto";

    setTimeout("RestoreLogin()", 1000);
    
    root.findName("layerhidden").ishittestvisible = true;
    root.findName("layerfadeinanim").begin();
    root.findName("hideloginanim").begin();
    
    root.findName("play").source = "./Assets/pause.png";
    root.findName("screen").play();
    root.findName("marqueeanim").resume();
    root.findName("pubtickershowanim").resume();
    root.findName("pubtickerhideanim").resume();
    ispaused = false;
}

function RestoreLogin()
{
    root.findName("loginsection").opacity = 1;
    root.findName("borderrect").height = 380;
    root.findName("borderrect2").height = 360;
    root.findName("loginsection").isHitTestVisible = true;
}

function ShowLoginDiv()
{
    root.findName("processcanvas")["Canvas.Top"] = "186";
    var div = document.getElementById('loginDiv');
    
    div.style.visibility = "visible";
    
    OnResize(null, null);
}

function ClearFavList()
{
    root.findName("favlist").children.clear();
}
function AddFav(url, text)
{
    if(isLogged == true)
    {
        var n = root.findName("favlist").children.count;
        var p = 40 + (n * 220);
        var k = 'fav#' + n;

        var xamlStr = '<Canvas Background="#00000000" MouseEnter="ItemGotFocus" MouseLeave="ItemLostFocus" MouseLeftButtonDown="DragFrom" MouseMove="MoveFromFav" MouseLeftButtonUp="PlayFromFav" Name="' + k + '" Cursor="Hand" Canvas.Left="' + p + '" Canvas.Top="5"><Canvas.RenderTransform><ScaleTransform ScaleX="1.2" ScaleY="1.2"/></Canvas.RenderTransform><Image Name="' + k + '#img" Canvas.Left="10" Canvas.Top="35" Width="124" Height="84" Stretch="UniformToFill"/><Image Name="' + k + '#imgplay" Opacity="0" IsHitTestVisible="False" Width="32" Height="32" Canvas.Left="95" Canvas.Top="85" Source="./Assets/playvideo.png"><Image.Resources><Storyboard Name="' + k + '#gotanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25"/></Storyboard><Storyboard Name="' + k + '#lostanim"><DoubleAnimation Storyboard.TargetName="' + k + '#imgplay" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.5"/></Storyboard></Image.Resources></Image><Image Source="./Assets/border.png" Width="175" Height="175" /><TextBlock Canvas.Left="10" Canvas.Top="145" Foreground="White" TextWrapping="Wrap" Width="150"><Run Name="' + k + '#text" /></TextBlock></Canvas>';
        
        root.findName("favlist").children.add(control.content.createFromXaml(xamlStr));
        root.findName(k + "#img").Source = url;
        root.findName(k + "#text").text = text;
        
        root.findName("mpex").text = "";
    }
}

function PlayFromFav(sender, args)
{
    if(ddsource == "" && dragmove == true)
    {
        var i = sender.name;
        var i_array = i.split("#");
        var index = i_array[1];

        mediaserver = false;

        AddToPlayList(dsF[index]);
    }
}

function MoveFromFav(sender, args)
{
    if(dragmove == true)
    {
        ddsource = "Fav";
        dditem = sender;
        
        dragmove = false;

        sender.findName("dragdropdata").source = sender.findName(sender.name + "#img").source;
            
        sender.findName("dragdropdata").visibility = "Visible";
    }
}

function ShowFavLeft(sender, args)
{
	sender.findName("favleftgfanim").begin();
}
function HideFavLeft(sender, args)
{
	sender.findName("favleftlfanim").begin();
}
function ShowFavRight(sender, args)
{
	sender.findName("favrightgfanim").begin();
}
function HideFavRight(sender, args)
{
	sender.findName("favrightlfanim").begin();
}
function FavLeftMove(sender, args)
{
    var np = sender.findName("favlist")["Canvas.Left"] + 220;
        
    if(np < 0)
    {
        sender.findName("favleftmoveanim2").to = np;
        sender.findName("favrightshowanim").begin();
    }
    else
    {
        sender.findName("favleftmoveanim2").to = 0;
        sender.findName("favlefthideanim").begin();
    }
    
	sender.findName("favleftmoveanim").begin();
}
function FavRightMove(sender, args)
{
    var np = sender.findName("favlist")["Canvas.Left"] - 220;
    var w = (root.findName("favlist").children.count * 220) - 640;
    
    if(w > 0)
    {
        if(np > -w)
        {
            sender.findName("favrightmoveanim2").to = np;
            sender.findName("favleftshowanim").begin();
        }
        else
        {
            sender.findName("favrightmoveanim2").to = -w;
            sender.findName("favrighthideanim").begin();
        }
        
	    sender.findName("favrightmoveanim").begin();
	}
}

function PauseMarquee(sender, args)
{
	sender.findName("marqueeanim").pause();
}
function ResumeMarquee(sender, args)
{
	sender.findName("marqueeanim").resume();
}

function ShowRegisterWindow(sender, args)
{
    sender.findName("logintoregister").begin();
    sender.findName("loginsection").isHitTestVisible = false;
}
function ShowRecoverWindow(sender, args)
{
    sender.findName("logintorecover").begin();
    sender.findName("loginsection").isHitTestVisible = false;    
}

function ShowRegisterDiv(sender, args)
{
    sender.findName("processcanvas")["Canvas.Top"] = "520";
    
    sender.findName("registersection").isHitTestVisible = true;
    sender.findName("registersection").opacity = 1;

    var div = document.getElementById('loginDiv');
    div.style.visibility = "hidden";
    div.style.left = "0px";
    div.style.top = "0px";   
    div.style.width = "Auto";
    div.style.height = "Auto";
    
    var div2 = document.getElementById('registerDiv');
    div2.style.visibility = "visible";
    
    OnResize(null, null);
}

function ShowRecoverDiv(sender, args)
{
    sender.findName("processcanvas")["Canvas.Top"] = "140";
    
    sender.findName("recoversection").isHitTestVisible = true;
    sender.findName("recoversection").opacity = 1;
    
    var div = document.getElementById('loginDiv');
    div.style.visibility = "hidden";
    
    div.style.left = "0px";
    div.style.top = "0px";   
    div.style.width = "Auto";
    div.style.height = "Auto";
    
    var div2 = document.getElementById('recoverPassDiv');
    div2.style.visibility = "visible";
    
    OnResize(null, null);
}

function SendRegister(sender, args)
{
    sender.findName("loginwindow").ishittestvisible = false;
    sender.findName("processcanvas").Visibility = "Visible";
    sender.findName("processrotate").begin();
    sender.findName('regInfo').text = "";
    Register();
}

function SendLogin(sender, args)
{
    sender.findName("loginwindow").ishittestvisible = false;
    sender.findName("processcanvas").Visibility = "Visible";
    sender.findName("processrotate").begin();
    sender.findName('logInfo').text = "";
    Login();
}

function SendSearch(sender, args)
{
    if (searchTimer != null)
        clearTimeout(searchTimer);
    searchContents();
}

function SendLogout(sender, args)
{
    Logout();
}

function RequestRecover(sender, args)
{
    sender.findName("loginwindow").ishittestvisible = false;
    sender.findName("processcanvas").Visibility = "Visible";
    sender.findName("processrotate").begin();
    sender.findName('recInfo').text = "";
    RecoverPass();
}

function DropToFav(sender, args)
{
    if(ddsource != "" && isLogged == true)
    {
        var i = dditem.name;
        var i_array = i.split("#");
        var index = i_array[1];
        
        switch(ddsource)
        {
             case "Polaroid":
                dsF.unshift(dsMT[index]);
                AddFavorite(dsMT[index].ID);
                break;
             case "Filmstrip":
                dsF.unshift(dsCS[index]);
                AddFavorite(dsCS[index].ID);
                break;
             case "Video":
                if (videoitem > 0)
                {
                    dsF.unshift(dsVN[index]);
                    AddFavorite(dsVN[index].ID);
                }
                break;
            case "Interview":
                if(dditem.name != "ITImg")
                {
                    index++;

                    dsF.unshift(dsI[index]);
                    AddFavorite(dsI[index].ID);
                }
                break;
            case "Rec":
                dsF.unshift(dsR[index]);
                AddFavorite(dsR[index].ID);
                break;
            case "PlayList":
                dsF.unshift(dsL[index]);
                AddFavorite(dsL[index].ID);
                break;
        }
        ClearFavList();
        for (var cIndex = 0; cIndex < dsF.length; cIndex++) {
            var myFav = dsF[cIndex];
            var url = myFav.Thumbnail;
            var title = myFav.Title;
            
            AddFav(url, title);
            favList = true;
        }
        if(root.findName("favlist").children.count > 3)
            root.findName("favrightshowanim").begin();
    }
}

function ShowHighlight(sender, args)
{
    if(ddsource != "" && isLogged == true)
        sender.findName("favhlshowanim").begin();
}
function HideHighlight(sender, args)
{
    sender.findName("favhlhideanim").begin();
}

function SearchBGF(sender, args)
{
    sender.findName("searchbgfanim").begin();
}
function SearchBLF(sender, args)
{
    sender.findName("searchblfanim").begin();
}

function LoginBGF(sender, args)
{
    sender.findName("loginbgfanim").begin();
}
function LoginBLF(sender, args)
{
    sender.findName("loginblfanim").begin();
}

function RegBGF(sender, args)
{
    sender.findName("regbgfanim").begin();
}
function RegBLF(sender, args)
{
    sender.findName("regblfanim").begin();
}

function Send1BGF(sender, args)
{
    sender.findName("send1bgfanim").begin();
}
function Send1BLF(sender, args)
{
    sender.findName("send1blfanim").begin();
}

function Send2BGF(sender, args)
{
    sender.findName("send2bgfanim").begin();
}
function Send2BLF(sender, args)
{
    sender.findName("send2blfanim").begin();
}

function ShowSearchWindow(sender, args)
{
    sender.findName("searchwindow").ishittestvisible = true;
    sender.findName("layerhidden").ishittestvisible = false;
    sender.findName("layerfadeoutanim").begin();
    sender.findName("showsearchanim").begin();
    
    sender.findName("play").source = "./Assets/play.png";
    sender.findName("screen").pause();
    root.findName("marqueeanim").pause();
    root.findName("pubtickershowanim").pause();
    root.findName("pubtickerhideanim").pause();
    ispaused = true;
    
    setTimeout("ShowSearchDiv()", 1000);
}

function HideSearchWindow(sender, args)
{
    root.findName("processrotate").stop();
    root.findName("processcanvas").visibility = "Collapsed";
    
    var div = document.getElementById('inputDiv');
    
    div.style.visibility = "hidden";
    
    root.findName("searchwindow").ishittestvisible = false;
    
    root.findName("layerhidden").ishittestvisible = true;
    root.findName("layerfadeinanim").begin();
        
    root.findName("hidesearchanim").begin();
    
    root.findName("play").source = "./Assets/pause.png";
    root.findName("screen").play();
    root.findName("marqueeanim").resume();
    root.findName("pubtickershowanim").resume();
    root.findName("pubtickerhideanim").resume();
    ispaused = false;
}

function ShowSearchDiv()
{
    root.findName("processcanvas")["Canvas.Top"] = "186";
    var div = document.getElementById('inputDiv');
    
    div.style.visibility = "visible";
    
    OnResize(null, null);
}