﻿// JScript File

function OnMediaOpened(sender,args)
{	
	this.isMediaOpened = true;
    sender.findName("timer").begin();
	//markerCount = 0;
	media = sender.findName("mediaElement");
	
    // Set duration textblock
    // Process the duration of the media into an hours:minutes:seconds string to be presented.
    var datetime = new Date(0, 0, 0, 0, 0, media.naturalDuration.Seconds)
    var hours = datetime.getHours();
    var minutes = datetime.getMinutes();
    var seconds = datetime.getSeconds();
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    
    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    
    var durationString;
    if (hours > 0) 
    {
        durationString = hours.toString() + ":" + minutes + ":" + seconds;
        sender.findName("CurrentTimeText").text = durationString.toString();
    }
    else 
    {
        durationString = minutes + ":" + seconds;
        sender.findName("CurrentTimeText").text = durationString.toString();
        
    } 
    //sender.findName("StopButton").IsHitTestVisible=false;
	sender.findName("PlayPauseButton").addEventListener("mouseEnter", "playpauserollover");
	sender.findName("PlayPauseButton").addEventListener("mouseLeave", "playbtnrollout"); 
	sender.findName("MuteButton").addEventListener("mouseEnter", "sound_rollover");
	sender.findName("MuteButton").addEventListener("mouseLeave", "sound_rollout");
	sender.findName("Full_screenButton1").addEventListener("mouseEnter", "fsrollover");
	sender.findName("Full_screenButton1").addEventListener("mouseLeave", "fshandleMouseEnter");
	sender.findName("VolumeThumb").addEventListener("mouseLeftButtonDown", "volume_rollover");
	sender.findName("VolumeThumb").addEventListener("mouseLeftButtonUp", "volume_rollout");
	
}


function onMediaEnded()
{
	if(ScrollPrev == true && ScrollNext == false)
	{
		tMenuScrollPrev();
	}
	
	RootCanvas.findName("smoothani_out").begin();
	markerCount = 0;
	onMarkerOut();
    RootCanvas.findName("pause_play").begin();
	RootCanvas.findName("mediaElement").stop();
    //RootCanvas.findName("MediaBrush").Opacity = 0;
	RootCanvas.findName("mediaElement").removeEventListener("mediaEnded",markertoken);
	
    RootCanvas.findName("timer").begin();
	RootCanvas.findName("value").text = "00:00";
	MarkerReached = false;
}

function timerTick(sender,args)
{
	
	if (this.isMediaOpened) 
    { 
			if (this.media.downloadProgress < 1) 
			{
				sender.findName("downloadProgressRect")["Canvas.Left"]=1252.844;
				sender.findName("downloadProgressRect").width = this.media.downloadProgress * 174;
				sender.findName("value").Text="buffering...";
			}
			else
			{
				sender.findName("value").Text="buffering end...";
				sender.findName("value").Visibility="Collapsed";
			}
	}
}

function playpauserollover(sender, args) 
{
    	var playrollover = sender.findName("play_rollover");
		playrollover.begin();
}


function playbtnrollout(sender, args)
{
	var playrollout = sender.findName("play_rollout");
	playrollout.begin();
}

function media_begin() 
{
    var videoplay = RootCanvas.findName("mediaElement");
	//alert(videoplay.CurrentState);
	// ControlsFlag=false;
	RootCanvas.findName("StopButton").IsHitTestVisible=true;
	RootCanvas.findName("StopButton").addEventListener("MouseEnter", "stophandleMouseEnter");
	RootCanvas.findName("StopButton").addEventListener("MouseLeave", "stophandleMouseLeave");
	var silverlightPlugin = RootCanvas.getHost();
	if(videoplay.CurrentState == "Playing")
	{  
		RootCanvas.findName("mediaElement").removeEventListener("mediaEnded",markertoken);
    	RootCanvas.findName("pause_play").begin();
		videoplay.pause();	
	}
	else if(videoplay.CurrentState == "Stopped" || videoplay.CurrentState == "Paused")
	{
	    RootCanvas.findName("play_pause").begin();
		videoplay.play();		
		markertoken = RootCanvas.findName("mediaElement").AddEventListener("markerReached","onMarkerReached");
		RootCanvas.findName("timer").begin();
	}	
}

var tooltip;
function ToolTip(sender, args) 
{
	// Determine whether the tool tip is created.
    plugin = sender.getHost();
    var videoplay = RootCanvas.findName("mediaElement");
	var parent = sender.getParent(); 

        // Define the XAML fragment for the tool tip.
		   var xamlFragment = '<Canvas Width="'+(((sender.Name).replace("Button","")).length+10)+'" Height="20" Canvas.Left="100" Canvas.Top="2">' 
           xamlFragment +='<TextBlock RenderTransformOrigin="0.5,0.5" Canvas.Left="5" Canvas.Top="2" Width="55.176" Height="14.848" FontSize="11" Foreground="#FFFFFFFF" Text="'+(sender.Name).replace("Button","").replace("1","")+'" TextWrapping="Wrap" Name="textname">'
            xamlFragment +=' <TextBlock.RenderTransform>'
            xamlFragment +=' <TransformGroup>'
            xamlFragment +=' <ScaleTransform ScaleX="1" ScaleY="1"/>'
            xamlFragment +=' <SkewTransform AngleX="0" AngleY="0"/>'
            xamlFragment +=' <RotateTransform Angle="0"/>'
            xamlFragment +=' <TranslateTransform X="0" Y="0"/>'
            xamlFragment +=' </TransformGroup>'
            xamlFragment +=' </TextBlock.RenderTransform>'
            xamlFragment +=' </TextBlock>' 
            xamlFragment +=' </Canvas>';

        // Create the XAML fragment for the tool tip.
        toolTip = plugin.content.createFromXaml(xamlFragment);

        // Position the tool tip at a relative x/y coordinate value.
        var cursorPosition = args.getPosition(sender);
	    toolTip["Canvas.Left"] = parent["Canvas.Left"]/3;
	    toolTip["Canvas.Top"] = parent["Canvas.Top"]/1;
	   
		toolTip.Width=(sender.Name).length+10;
		
		sender.children.Add(toolTip);

		// Add the tool tip to the Canvas object.
    
	if (videoplay.CurrentState == "Playing")
	{
	 sender.findName("textname").Text=sender.findName("textname").Text.replace("Play", "");
	}

	if (videoplay.CurrentState == "Paused" || videoplay.CurrentState == "Stopped")
	{

	 sender.findName("textname").Text=sender.findName("textname").Text.replace("Pause", "");
	}
	
	if (sender.findName("textname").Text=="Info" || sender.findName("textname").Text=="Fullscreen")
	{
	 
	 var cursorPosition = args.getPosition(sender);
     toolTip["Canvas.Left"] = parent["Canvas.Left"] + (-1500);
     toolTip["Canvas.Top"] = parent["Canvas.Top"] + (-425) ;
	 toolTip.Width=(sender.Name).length+10;
 	}
	
	if (sender.findName("textname").Text=="Pause" || sender.findName("textname").Text=="Play")
		{
			toolTip["Canvas.Left"] = parent["Canvas.Left"] /11;
     		toolTip["Canvas.Top"] = parent["Canvas.Top"] /11 ;
		}
	
	if (sender.findName("textname").Text=="Full_screen")
	{
	 sender.findName("textname").Text=sender.findName("textname").Text.replace("Full_screen", "Fullscreen");
	 var cursorPosition = args.getPosition(sender);
	
     toolTip["Canvas.Left"] = parent["Canvas.Left"] /200;
     toolTip["Canvas.Top"] = parent["Canvas.Top"]/2 ;
	
	 toolTip.Width=(sender.Name).length+10;
  	}
 	
	if (sender.findName("textname").Text=="play_video")
	{
	 sender.findName("textname").Text=sender.findName("textname").Text.replace("_video", "");
	 
	}
	if (sender.findName("textname").Text=="play")
	{
	  toolTip["Canvas.Left"] = parent["Canvas.Left"] + 25;
      toolTip["Canvas.Top"] = parent["Canvas.Top"]+ 40 ;
 	}

}

function ToolTipMouseLeave(sender, args)
{
	// Determine whether the tool tip is created.
    if (toolTip != null)
   {
      // Remove the tool tip from the Canvas object.
      sender.children.remove(toolTip);
   }
} 

function media_stop(sender, args) 
{   
	RootCanvas.findName("pause_play").begin();
	sender.findName("stop_rollout").begin();
	sender.findName("mediaElement").stop();
	sender.findName("mediaElement").removeEventListener("mediaEnded",markertoken);
	sender.findName("StopButton").IsHitTestVisible=false;
	sender.children.remove(toolTip);
	markerCount = 0;
	//sender.findName("MediaBrush").Opacity = 0;
	onMarkerOut();
	MarkerReached = false;
}

// Neet to create Timeline
function stophandleMouseEnter(sender, args)
{
	sender.findName("stop_rollover").begin();
}


// Neet to create Timeline
function stophandleMouseLeave(sender, args)
{
	sender.findName("stop_rollout").begin();
}

function StartMovie(sender,args)
{
    sender.findName("main_playbtn_off").begin();
    bFlag=true;
    sender.findName("mediaElement").Play();    
    sender.findName("pause_on").begin();    
    sender.findName("handlers_on").begin();
	sender.findName("videothumbs_in").begin();
}

var resizeBy = 1.1;

function fsrollover(sender, args) 
{
	var FullScreenButton = sender.findName("Full_screenButton1");
	sender.findName("fs_rollover").begin();
	FullScreenButton.addEventListener("MouseLeave","fshandleMouseEnter");
}
	
function fshandleMouseEnter(sender, args)
{
	sender.findName("fs_rollout").begin();
}

function toggle_fullScreen(sender, args)
{
	HideControls();
    var plugin = sender.getHost();
    plugin.content.onfullScreenChange = onFullScreenChanged;
    var silverlightPlugin = sender.getHost();
    silverlightPlugin.content.fullScreen = !silverlightPlugin.content.fullScreen; 
}

var fullscreenval = 0;

function onFullScreenChanged(sender, args)
{    
	
	var silverlightPlugin = sender.getHost();
	var mediaPlayer = sender.findName("mediaElement");
	var scaleControls1 = sender.findName("scaleControls");
	
	var Controls = sender.findName("Controls");
	var scaleX = scaleControls1.getValue("ScaleX"); 
	var scaleY = scaleControls1.getValue("ScaleY");
	
	mediaPlayer.width = silverlightPlugin.content.actualWidth;
    mediaPlayer.height = silverlightPlugin.content.actualHeight;
    if (silverlightPlugin.content.fullScreen == true)
    {
	 mediaPlayer ["Canvas.Top"] = 20;
	 mediaPlayer ["Canvas.Left"] = 750;
	 sender.findName("dress_bg").opacity=0;
	 sender.findName("brand_bg").opacity=0;
	 sender.findName("scroll_video")["Canvas.Top"]=-2000;
	 Controls ["Canvas.Top"]= silverlightPlugin.content.actualHeight/2;
	 Controls ["Canvas.Left"]= (silverlightPlugin.content.actualWidth - Controls.Width)*1.1;
	}
   	else 
   	{
      RootCanvas.findName("Controls").IsHitTestVisible=true;
	  mediaPlayer.width=392.713;
	  mediaPlayer.height=271.255;
	  mediaPlayer ["Canvas.Top"] = 341.671;
	  mediaPlayer ["Canvas.Left"] = 1252.844;
	  sender.findName("dress_bg").opacity=1;
	  sender.findName("brand_bg").opacity=1;
	  sender.findName("thumbnails_small").opacity=1;
	  sender.findName("header").opacity=1;
	  
	  sender.findName("scroll_video")["Canvas.Top"]=-111.898;
	  sender.findName("thumbnails_small")["Canvas.Left"]=1071.699;
	  sender.findName("mediaElement").isHitTestVisible=true;
	  sender.findName("credits").isHitTestVisible=true;
	  Controls ["Canvas.Top"]=43;
	  Controls ["Canvas.Left"]=1018.478;
	  
	  if(jsonDressObject.BrandDresses.length<=7)
        {
			var test = RootCanvas.findName("thumbnails_small").width - RootCanvas.findName("ThRect").width;

		RootCanvas.findName("scroll_info")["Canvas.Left"] = RootCanvas.findName("scroll_info")["Canvas.Left"] + test;	
		   RootCanvas.findName("thumbnails_small")["Canvas.Left"] = RootCanvas.findName("thumbnails_small")["Canvas.Left"] + test;
           if(RootCanvas.findName("tNext")!=null)
           RootCanvas.findName("tNext").Visibility = "Collapsed";
           if(RootCanvas.findName("tPrev")!=null)
           RootCanvas.findName("tPrev").Visibility = "Collapsed";
        }
   }
}

//<!--sound on-off-->
function sound_on_of(sender, args)
{
	 if(sender.findName("mediaElement").IsMuted == true)
		{
			sender.findName("sound_on").begin();
			sender.findName("mediaElement").IsMuted = false;
		}
	else if(sender.findName("mediaElement").IsMuted == false)
		{
			sender.findName("sound_mute").begin();
			sender.findName("mediaElement").IsMuted=true;
		}
		
}

function sound_rollover(sender, args)
{
	
sender.findName("sound_on_rollover").begin();	
}

function sound_rollout(sender, args)
{
sender.findName("sound_on_rollout").begin();	
}


  var volmouseDownPosition = 0;  
	var volmouseDownValue = -1; 
	
	function slider_thumb_MouseLeftButtonDown(sender, args)  
	{        
		var slider = sender.findName(sender.name.replace("VolumeThumb","Volume")); 
		sender.captureMouse();     
		volmouseDownValue = slider_GetValue(slider);     
		volmouseDownPosition = args.getPosition(null).x;  
	}    
	function slider_MouseLeftButtonDown(sender, args)   
	{   
		 var coordinate = args.getPosition(null).x - sender["Canvas.Left"];     
	}  
	function slider_thumb_MouseLeftButtonUp(sender, args)   
	{        
		sender.releaseMouseCapture();     
		volmouseDownValue = -1;  
	}    
	
	function slider_thumb_MouseMove(sender, args)   
	{        
		 var slider = sender.findName(sender.name.replace("VolumeThumb","Volume"));     
		 
		 if (volmouseDownValue != -1)     
		 {
			 var newValue = volmouseDownValue + (args.getPosition(null).x -volmouseDownPosition);        
			 slider_SetValue(slider, newValue);     
		 }       
	 }
	 
	 function slider_GetValue(sender)   
	 {   	 
		 var thumb = sender.findName(sender.name.replace("Volume","VolumeThumb"));  
		 return thumb["Canvas.Left"] + .5 * thumb.width;  
	 }    
	 
	 function slider_SetValue(sender, newValue)   
	 {	 
		 if (newValue > sender.width)     
		 {      
		 	newValue = sender.width;     
		 }     
	 	if 
	 	(newValue < 0)     
		{       
			newValue = 0;     
		}    
		 var thumb = sender.findName(sender.name.replace("Volume","VolumeThumb")); 
		 thumb["Canvas.Left"] = newValue - .5 * thumb.width;           
		 var Pos = thumb["Canvas.Left"] + .5*thumb.width;
		// sender.findName(sender.name.replace("slider","sliderPos")).Text=Pos.toString();
	
		if(Pos.toString()==0)
		{
			sender.findName("mediaElement").volume = 0;
		}
		else
		{
			sender.findName("mediaElement").volume = Pos/45.042;
		}
	  } 


/************ volume rollover***************/

function volume_rollover(sender, args)
{
sender.findName("vol_thumb_inactive").begin();
}

function volume_rollout(sender, args)
{
sender.findName("vol_thumb_active").begin();
}


/***********************Play video rollover_rollout****************************/

function video_play_rollover(sender, args)
{
	sender.findName("video_play_rollover").begin();
	
}

function video_play_rollout(sender, args)
{
sender.findName("video_play_rollout").begin();
}

/*****************Thumbnails prev next rollover_rollout*****************/
function tNext_rollover(sender, args)
{
 sender.findName("tnext_rollover").begin();	
}

function tNext_rollout(sender, args)
{
 sender.findName("tnext_rollout").begin();
}

function tprev_rollover(sender, args)
{
 sender.findName("tprev_rollover").begin();	
}

function tprev_rollout(sender, args)
{
 sender.findName("tprev_rollout").begin();
}


/*****************menu prev next rollover_rollout*****************/
function next_rollover(sender, args)
{
 sender.findName("next_rollover").begin();	
}

function next_rollout(sender, args)
{
 sender.findName("next_rollout").begin();
}

function prev_rollover(sender, args)
{
 sender.findName("prev_rollover").begin();	
}

function prev_rollout(sender, args)
{
 sender.findName("prev_rollout").begin();
}

var plugin, toolTip1, mainCanvas;

function onMouseEnter(sender, args) {
    // Determine whether the tool tip is created.
	
      plugin = sender.getHost();
		var parent = sender.getParent(); 
        // Define the XAML fragment for the tool tip.
        var xamlFragment = '<Canvas Width="'+(((sender.Name).replace("Button","")).length+10)+'" Height="20" Canvas.Left="100" Canvas.Top="2">' 
           xamlFragment +='<TextBlock RenderTransformOrigin="0.5,0.5" Canvas.Left="5" Canvas.Top="2" Width="55.176" Height="14.848" FontSize="11" Foreground="#FFFFFFFF" Text="'+(sender.Name).replace("Button","").replace("1","")+'" TextWrapping="Wrap" Name="textname">'
            xamlFragment +=' <TextBlock.RenderTransform>'
            xamlFragment +=' <TransformGroup>'
            xamlFragment +=' <ScaleTransform ScaleX="1" ScaleY="1"/>'
            xamlFragment +=' <SkewTransform AngleX="0" AngleY="0"/>'
            xamlFragment +=' <RotateTransform Angle="0"/>'
            xamlFragment +=' <TranslateTransform X="0" Y="0"/>'
            xamlFragment +=' </TransformGroup>'
            xamlFragment +=' </TextBlock.RenderTransform>'
            xamlFragment +=' </TextBlock>' 
            xamlFragment +=' </Canvas>';

        // Create the XAML fragment for the tool tip.
        toolTip1 = plugin.content.createFromXaml(xamlFragment);

    // Add the tool tip to the Canvas object.
    sender.findName("Page").children.add(toolTip1); 
	if (sender.findName("textname").Text=="CurrentTimeText")
	{
	 sender.findName("textname").Text=sender.findName("textname").Text.replace("CurrentTimeText", "Duration");
	 var cursorPosition = args.getPosition(sender);
	
     toolTip1["Canvas.Left"] = parent["Canvas.Left"]*20;
     toolTip1["Canvas.Top"] = parent["Canvas.Top"]*23.5;
  	}
}

function onMouseLeave(sender, args)
{
    // Determine whether the tool tip is created.
    if (toolTip != null)
    {
        // Remove the tool tip from the Canvas object.
      sender.findName("Page").children.remove(toolTip1);
    }
}