﻿if (!window.blog)
	blog = {};

blog.Page = function() 
{
}

var twitters;

blog.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		var SL = document.getElementById("TwitControl");
		if(twitters != null)
		{
			var currentTopMargin = 0;
			var i;
			for (i=0;i<twitters.length;i++)
			{
				TwitXAML = '<Canvas Canvas.Top="' + (7+currentTopMargin) + '" x:Name="TwitCanvas' + i + '" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
				TwitXAML += '<Rectangle Width="180" Height="24.888" Fill="#FFF5F5F5" Stroke="#FF000000" RadiusX="10.148" RadiusY="10.148" Canvas.Top="-4.426" x:Name="TwitRec' + i + '" RenderTransformOrigin="0,0">';
				TwitXAML += '<Rectangle.RenderTransform>';
				TwitXAML += '<TransformGroup>';
				TwitXAML += '<ScaleTransform ScaleX="1" ScaleY="1"/>';
				TwitXAML += '<SkewTransform AngleX="0" AngleY="0"/>';
				TwitXAML += '<RotateTransform Angle="0"/>';
				TwitXAML += '<TranslateTransform X="0" Y="0"/>';
				TwitXAML += '</TransformGroup>';
				TwitXAML += '</Rectangle.RenderTransform>';
				TwitXAML += '</Rectangle>';
				TwitXAML += '<Rectangle Fill="#FF797979" Width="179.537" Height="23.962" RadiusX="10.148" RadiusY="10.148" Canvas.Left="0.463" Canvas.Top="-3.5" x:Name="TwitGlow' + i + '">';
				TwitXAML += '<Rectangle.OpacityMask>';
				TwitXAML += '<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">';
				TwitXAML += '<GradientStop Color="#FF000000" Offset="0"/>';
				TwitXAML += '<GradientStop Color="#00FFFFFF" Offset="1"/>';
				TwitXAML += '</LinearGradientBrush>';
				TwitXAML += '</Rectangle.OpacityMask>';
				TwitXAML += '</Rectangle>';
				TwitXAML += '<TextBlock x:Name="Twit' + i + '" Width="164" Canvas.Left="8" FontSize="10" TextWrapping="Wrap"><Run Text="' + EscapeChar(twitters[i].text) + '"/><LineBreak/><Run Foreground="#FFFF0000" Text="' + relative_time(twitters[i].created_at) + '"/></TextBlock>';
				TwitXAML += '<Rectangle Tag="http://twitter.com/'+twitters[i].user.screen_name+'/statuses/'+twitters[i].id+'" Cursor="Hand" MouseLeftButtonDown="GoTwit" MouseLeave="MouseGone" MouseEnter="MouseCame" Width="180" Height="24.888" Fill="#00F5F5F5" Stroke="#00000000" RadiusX="10.148" RadiusY="10.148" Canvas.Top="-4.426" x:Name="TwitHov' + i + '" RenderTransformOrigin="0,0">';
				TwitXAML += '<Rectangle.RenderTransform>';
				TwitXAML += '<TransformGroup>';
				TwitXAML += '<ScaleTransform ScaleX="1" ScaleY="1"/>';
				TwitXAML += '<SkewTransform AngleX="0" AngleY="0"/>';
				TwitXAML += '<RotateTransform Angle="0"/>';
				TwitXAML += '<TranslateTransform X="0" Y="0"/>';
				TwitXAML += '</TransformGroup>';
				TwitXAML += '</Rectangle.RenderTransform>';
				TwitXAML += '</Rectangle>';
				TwitXAML += '</Canvas>';
				var Twit = SL.content.createFromXaml(TwitXAML);

				SL.content.findName("Page").children.add(Twit);
				SL.content.findName("TwitRec" + i).Height = SL.content.findName("Twit" + i).actualHeight + 8;
				SL.content.findName("TwitHov" + i).Height = SL.content.findName("TwitRec" + i).Height ;
				SL.content.findName("TwitGlow" + i).Height = (SL.content.findName("Twit" + i).actualHeight + 8)/2;
				currentTopMargin += SL.content.findName("TwitRec" + i).Height + 2;
				SL.style.height = (currentTopMargin + 3) + "px";
				document.getElementById("TwitterControlHost").style.height = (currentTopMargin + 3) + "px";
				SL.content.findName("Page").Height = currentTopMargin + 10;
					var StartUpXAML = '<Storyboard x:Name="StartUp' + i + '" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
					StartUpXAML += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="Twit' + i + '" Storyboard.TargetProperty="(UIElement.Opacity)">';
					StartUpXAML += '<SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="0"/>';
					StartUpXAML += '<SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1"/>';
					StartUpXAML += '</DoubleAnimationUsingKeyFrames>';
					StartUpXAML += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TwitRec' + i + '" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">';
					StartUpXAML += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0.016"/>';
					StartUpXAML += '<SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="1"/>';
					StartUpXAML += '</DoubleAnimationUsingKeyFrames>';
					StartUpXAML += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TwitRec' + i + '" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">';
					StartUpXAML += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="-12.25"/>';
					StartUpXAML += '<SplineDoubleKeyFrame KeyTime="00:00:00.5000000" Value="0"/>';
					StartUpXAML += '</DoubleAnimationUsingKeyFrames>';
					StartUpXAML += '<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TwitRec' + i + '" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
					StartUpXAML += '<SplineColorKeyFrame KeyTime="00:00:00" Value="#00F5F5F5"/>';
					StartUpXAML += '<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FFF5F5F5"/>';
					StartUpXAML += '</ColorAnimationUsingKeyFrames>';
					StartUpXAML += '<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TwitGlow' + i + '" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
					StartUpXAML += '<SplineColorKeyFrame KeyTime="00:00:00.4" Value="#00797979"/>';
					StartUpXAML += '<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FF797979"/>';
					StartUpXAML += '</ColorAnimationUsingKeyFrames>';
					StartUpXAML += '</Storyboard>';
					var StartUpAnim = SL.content.createFromXaml(StartUpXAML);
					SL.content.findName("Page").resources.add(StartUpAnim);
					
					var HoverXAML =  '<Storyboard x:Name="TwitHov' + i + 'Came" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
					HoverXAML +=  '<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TwitGlow' + i + '" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
					HoverXAML +=  '<SplineColorKeyFrame KeyTime="00:00:00" Value="#FF797979"/>';
					HoverXAML +=  '<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FFFFFFFF"/>';
					HoverXAML +=  '</ColorAnimationUsingKeyFrames>';
					HoverXAML +=  '</Storyboard>';
					var HoverAnim = SL.content.createFromXaml(HoverXAML);
					SL.content.findName("Page").resources.add(HoverAnim);
					
					var GoneXAML =  '<Storyboard x:Name="TwitHov' + i + 'Gone" xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
					GoneXAML +=  '<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TwitGlow' + i + '" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
					GoneXAML +=  '<SplineColorKeyFrame KeyTime="00:00:00" Value="#FFFFFFFF"/>';
					GoneXAML +=  '<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FF797979"/>';
					GoneXAML +=  '</ColorAnimationUsingKeyFrames>';
					GoneXAML +=  '</Storyboard>';
					var GoneAnim = SL.content.createFromXaml(GoneXAML);
					SL.content.findName("Page").resources.add(GoneAnim);
									
				};
		}
	}
}
function twitterCallback2(param)
{
	twitters = param;
}
function MouseGone(sender)
{
	sender.findName(sender.Name + "Gone").Begin();
}
function MouseCame(sender)
{
	sender.findName(sender.Name + "Came").Begin();
}
function GoTwit(sender)
{
	 window.location.href = sender.Tag;
}

function EscapeChar(strInput)
{
  strInput=strInput.replace(/&/g,"&");  
  strInput=strInput.replace(/</g,"<");	
  strInput=strInput.replace(/>/g,">");	
  strInput=strInput.replace(/"/g,"");	
  strInput=strInput.replace(/'/g,"&apos;");	
  
  return(strInput);
}


function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'bir dakikadan az oldu';
  } else if(delta < 120) {
    return 'yaklaşık bir dakika önce';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' dakika önce';
  } else if(delta < (120*60)) {
    return 'yaklaşık bir saat önce';
  } else if(delta < (24*60*60)) {
    return 'yaklaşık ' + (parseInt(delta / 3600)).toString() + ' saat önce';
  } else if(delta < (48*60*60)) {
    return 'bir gün önce';
  } else {
    return (parseInt(delta / 86400)).toString() + ' gün önce';
  }
}