/* 
 *************************************************************************************************************
   www.allblacks.com - Silverlight Desktop Gadget + Vista Sidebar Gadget
 *************************************************************************************************************
	v1.3.3.3 - September 13, 2007
	Developed by Niall Ginsbourg for Mabode Media Ltd - www.mabode.com 
	Feed Data supplied by ZeroOne - www.zeroone.co.nz
	Content, Media, and other Data displayed is copyright of www.allblacks.com and may not be redistributed
	without permission/consent.
 *************************************************************************************************************
*/

if (!window.TestProject)
	window.TestProject = {};

TestProject.Page = function() 
{
}

TestProject.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		callXMLTicker();
		LoadHome();
		
		rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));

        // Retrieve a reference to the plug-in.
        var plugin = document.getElementById("SilverlightControl");

        // Retrieve the EnableFramerateCounter property.
        plugin.settings.enableFramerateCounter = true;


	},
	
	handleMouseDown: function(sender, eventArgs) 
	{
	}
	

}

//var xURIBase = 'http://www.allblacks.com/gadget/feeds/';
var xURIBase = 'http://mobilewares.net/ab/';
//var xURIBase = 'http://localhost:55454/'
var lastRequest='';
var iii=0;

function callXML(xUrl) {

  var xmlhttp = false;
  var res = '';
  iii++;
  var d = new Date();
  xUrl = xUrl + "&amp;k=" + iii.toString() + d.getMilliseconds().toString();
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
   }

  /*@end @*/

  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  
  lastRequest=xUrl;
  xmlhttp.open("GET", xUrl,true);
  xmlhttp.onreadystatechange=function() {

          if ((xmlhttp.readyState==4) && (lastRequest==xUrl)) { 
          
                    //alert("pfinished request : " + xUrl);
                   // if (xmlhttp.responseText.length>10) 
                    //{
                        //alert("pfinished request : " + xmlhttp.responseText);
                   // }
                    try {
                               
                               var slPlugin = document.getElementById("SilverlightControl");
                               //alert("aa12");
                               var xamlFragment =  xmlhttp.responseText;
                               
                               //alert("rt");
                               var newcontent = slPlugin.content.createFromXaml(xamlFragment);
                               
                               //alert("aa53");
                               var root = slPlugin.content.findName("pnContent");
                               //alert("aa38");
                               if (root==null) alert("couldnt find root");
                               else 
                               {
                                root.Children.clear();
                                //alert("aa1");
                                root.Children.Add(newcontent);
                                //alert("aa2");
                                CreateEventHandlers(slPlugin.content);
                                //alert("aa3");
                                }
                               
                               }
                            catch (ex)
                            {
                                alert("Error in Request : " + ex.description);
                            }
                   //alert("dfinished request : " + xmlhttp.responseText.length.toString());
          
                //document.getElementById(xId).innerHTML = xmlhttp.responseText;
          }
  }
  xmlhttp.send(null)
  
}

function callXMLTicker() {

  var xmlhttp = false;
  var res = '';
  iii++;
  var d = new Date();
  var xUrl = xURIBase + "ab-news.aspx?ID=NEWSTICKER&amp;k=" + iii.toString() + d.getMilliseconds().toString();
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
   }

  /*@end @*/

  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  
  
  xmlhttp.open("GET", xUrl,true);
  xmlhttp.onreadystatechange=function() {

          if ((xmlhttp.readyState==4) ) { 
          
                    //alert("pfinished trequest : " + xUrl);
                   // if (xmlhttp.responseText.length>10) 
                    //{
                        //alert("pfinished request : " + xmlhttp.responseText);
                   // }
                    try {
                               
                               var slPlugin = document.getElementById("SilverlightControl");
                               //alert("aa12");
                               var xamlFragment =  xmlhttp.responseText;
                               
                               //alert("rt");
                               var newcontent = slPlugin.content.createFromXaml(xamlFragment);
                               
                               //alert("aa53");
                               var root = slPlugin.content.findName("pnNewsTicker");
                               //alert("aa38");
                               if (root==null) alert("couldnt find root");
                               else 
                               {
                                root.Children.clear();
                                //alert("aa1");
                                root.Children.Add(newcontent);
                                //alert("aa2");
                                CreateEventHandlers(slPlugin.content);
                                //alert("aa3");
                                }
                               
                               }
                            catch (ex)
                            {
                                alert("Error in Requestt : " + ex.description);
                            }
                   //alert("dfinished request : " + xmlhttp.responseText.length.toString());
          
                //document.getElementById(xId).innerHTML = xmlhttp.responseText;
          }
  }
  xmlhttp.send(null)
  
}







 function LoadSourceHome(src)
      {
        //alert("Sent Request : " + src);
        try
        {
            var plugin = document.getElementById("SilverlightControl");
            var xamlFragment = GetLoadingXAML(140);//'<TextBlock Canvas.Left="20" Canvas.Top="160" Opacity="1" Text="Initializing - Please Wait..." FontSize="12" />';
            var root = plugin.content.FindName("pnContent");
            var button = plugin.content.createFromXaml(xamlFragment);
            media_stop(plugin.content,null);
            ClearEventHandlers(plugin.content);
            root.Children.clear();
            root.Children.Add(button);
            callXML(src);
        }
        catch (ex)
        {
            alert("Error in Call XML : " + ex.message);
        }
        
        /*try
        {
            var plugin = document.getElementById("SilverlightControl");
            var downloader = plugin.createObject("downloader");
            downloader.addEventListener("completed", onContentComplete);
            var xamlFragment = '<TextBlock Canvas.Left="20" Canvas.Top="20" Opacity="1" Text="Downloading Data - Please Wait..." />';
            var root = downloader.findName("pnContent");
            var button = plugin.content.createFromXaml(xamlFragment);
            ClearEventHandlers(downloader);
            root.Children.clear();
            root.Children.Add(button);
            downloader.open("GET", src);
            downloader.send();
            
        }
        catch (ex)
        {
            alert("Error in Request : " + ex.message);
        }*/
      }

 function GetLoadingXAML(vTop)
 {
  var vOut = ' 	<Canvas Width="320" Height="56" Canvas.Left="64" Canvas.Top="' + vTop.toString() + '" Name="pnLoadingAnim">';
  vOut = vOut + ' 	<Canvas.Triggers>';
  vOut = vOut + '		<EventTrigger RoutedEvent="Canvas.Loaded">';
  vOut = vOut + '			<BeginStoryboard>';
  vOut = vOut + '				<Storyboard Name="ldAnim" SpeedRatio="3" RepeatBehavior="Forever">';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:00.5000000" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:04" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse1" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:01" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:04.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse2" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:01.5000000" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:05" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse3" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:02" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:05.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse4" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:02.5000000" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:06" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse5" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:03" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:06.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '					<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse6" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)">';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:03.5000000" Value="#FF000000"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07" Value="#FFFFFFFF"/>';
  vOut = vOut + '						<SplineColorKeyFrame KeyTime="00:00:07.5000000" Value="#FFFFFFFF"/>';
  vOut = vOut + '					</ColorAnimationUsingKeyFrames>';
  vOut = vOut + '				</Storyboard>';
  vOut = vOut + '			</BeginStoryboard>';
  vOut = vOut + '		</EventTrigger>';
  vOut = vOut + '	</Canvas.Triggers>';
  vOut = vOut + ' 		<TextBlock Width="168" Height="24" Canvas.Left="80" Canvas.Top="8" TextWrapping="Wrap"><Run Text="loading ... please wait"/></TextBlock>';
  vOut = vOut + '		<Ellipse Name="ellipse" Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="88" Canvas.Top="32"/>';
  vOut = vOut + '		<Ellipse Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="108" Canvas.Top="32" Name="ellipse1"/>';
  vOut = vOut + '		<Ellipse Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="128" Canvas.Top="32" Name="ellipse2"/>';
  vOut = vOut + '		<Ellipse Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="148" Canvas.Top="32" Name="ellipse3"/>';
  vOut = vOut + '		<Ellipse Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="168" Canvas.Top="32" Name="ellipse4"/>';
  vOut = vOut + '		<Ellipse Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="188" Canvas.Top="32" Name="ellipse5"/>';
  vOut = vOut + '		<Ellipse Width="16" Height="16" Fill="#FFFFFFFF" Stroke="#FF000000" Canvas.Left="208" Canvas.Top="32" Name="ellipse6"/>';
  vOut = vOut + '	</Canvas>';
  
  return vOut;
  
 }
 


 function LoadSource(src)
      {
        //alert("Sent Request : " + src);
        try
        {
            var plugin = document.getElementById("SilverlightControl");
            var xamlFragment = GetLoadingXAML(20);//'<TextBlock Canvas.Left="20" Canvas.Top="20" Opacity="1" Text="Downloading Data - Please Wait..." />';
            var root = plugin.content.FindName("pnContent");
            var button = plugin.content.createFromXaml(xamlFragment);
            media_stop(plugin.content,null);
            ClearEventHandlers(plugin.content);
            root.Children.clear();
            root.Children.Add(button);
            callXML(src);
        }
        catch (ex)
        {
            alert("Error in Call XML : " + ex.message);
        }
        
        /*try
        {
            var plugin = document.getElementById("SilverlightControl");
            var downloader = plugin.createObject("downloader");
            downloader.addEventListener("completed", onContentComplete);
            var xamlFragment = '<TextBlock Canvas.Left="20" Canvas.Top="20" Opacity="1" Text="Downloading Data - Please Wait..." />';
            var root = downloader.findName("pnContent");
            var button = plugin.content.createFromXaml(xamlFragment);
            ClearEventHandlers(downloader);
            root.Children.clear();
            root.Children.Add(button);
            downloader.open("GET", src);
            downloader.send();
            
        }
        catch (ex)
        {
            alert("Error in Request : " + ex.message);
        }*/
      }
    
      function onContentComplete(sender, eventArgs)
        {
           
          try {
           var slPlugin = sender.getHost();
           var xamlFragment =  sender.ResponseText;
           var newcontent = slPlugin.content.createFromXaml(xamlFragment);
           var root = sender.findName("pnContent");
           if (root==null) alert("couldnt find root");
           else 
           {
            root.Children.clear();
            root.Children.Add(newcontent);
            CreateEventHandlers(sender);
            }
           
           }
        catch (ex)
        {
            alert("Error in Request : " + ex.toString());
        }
           
        }
      
      var evMax = 70;
      var evME = new Array();
      var evML = new Array();
      var evMC = new Array();
      var evPg = new Array();
      var evNws = new Array();
      var BuiltEvents = false;
      
      for (var k=0;k<evMax;k++)
      {
        evME[k]=null;
        evML[k]=null;
        evMC[k]=null;
        
      }
      
      for (var k=0;k<10;k++)
      {
        evPg[k]=null;
        evNws[k]=null;
      }
      
      function ClearEventHandlers(sender)
      {
         if (!BuiltEvents) return;
         
         for (var k=1;k<evMax;k++)
         {
            if (evME[k]!=null) 
                {
                    var o= sender.findName("artBack" + k.toString());
                    if (o!=null) {o.removeEventListener("MouseEnter",evME[k])}
                }

            if (evML[k]!=null) 
                {
                    var o= sender.findName("artBack" + k.toString());
                    if (o!=null) {o.removeEventListener("MouseLeave",evML[k])}
                }

            if (evMC[k]!=null) 
                {
                    var o= sender.findName("artBack" + k.toString());
                    if (o!=null) {o.removeEventListener("MouseLeftButtonUp",evMC[k])}
                }
                
            evML[k]=null;
            evMC[k]=null;
            evME[k]=null;
        }
        
        for (var k=1;k<10;k++)
         {
            if (evPg[k]!=null) 
                {
                    var o= sender.findName("pg" + k.toString());
                    if (o!=null) {o.removeEventListener("MouseLeftButtonUp",evPg[k])}
                }

            evPg[k]=null;
            
            if (evNws[k]!=null) 
                {
                    var o= sender.findName("nws" + k.toString());
                    if (o!=null) {o.removeEventListener("MouseLeftButtonUp",evNws[k])}
                }
            
            evNws[k]=null;
        }
        
        
        BuiltEvents=false;
      }
        
      function CreateEventHandlers(sender)
      {
         for (var k=1;k<evMax;k++)
         {
            var o= sender.findName("artBack" + k.toString());
            if (o==null) break;
            evME[k]=o.addEventListener("MouseEnter",doMouseEnter);
            evML[k]=o.addEventListener("MouseLeave",doMouseLeave);
            evMC[k]=o.addEventListener("MouseLeftButtonUp",doMouseClick);
         }

         for (var k=1;k<10;k++)
         {
            var o= sender.findName("pg" + k.toString());
            if (o==null) break;
            evPg[k]=o.addEventListener("MouseLeftButtonUp",doPage);
         }

         for (var k=1;k<10;k++)
         {
            var o= sender.findName("nws" + k.toString());
            if (o==null) break;
            evNws[k]=o.addEventListener("MouseLeftButtonUp",doMouseClick);
         }

         BuiltEvents=true;
      }
      
      function setHeaderImage(src)
      {
       var plugin = document.getElementById("SilverlightControl");
       if (plugin!=null) 
       {       

        var sbB = plugin.content.FindName("imgBot"); 
        var sbT2 = plugin.content.FindName("imgMHdr");
        var sbT = plugin.content.FindName("imgHdr");
        var sbC = plugin.content.FindName("pnContent"); 
        if (src=="images/h_main.jpg")
            {
                if (sbB!=null) {sbB.Visibility="Visible";}; 
                if (sbT!=null) {sbT.Visibility="Collapsed";}; 
                if (sbT2!=null) {sbT2.Visibility="Visible";}; 
            }
        else
            {
                if (sbT!=null) {sbT.Source=src;}; 
                if (sbB!=null) {sbB.Visibility="Collapsed";}; 
                if (sbT!=null) {sbT.Visibility="Visible";}; 
                if (sbT2!=null) {sbT2.Visibility="Collapsed";}; 
            }       
        
        ClearEventHandlers(plugin.content);
        //if (sbC!=null) {sbC.Children.clear();}; 
        
       }
      }
          
      function LoadHome()
      {
        //alert("Audio Loaded");
	setContentInView2();
        lastHomePage=true;
        lastHaka=false;
        setHeaderImage("images/h_main.jpg");
        SetButtons("","","");
        LoadSourceHome(xURIBase + "ab-news.aspx?ID=VIDEOSLATEST");
      }

      function LoadResults(NewID)
      {
        //alert("Audio Loaded");
	setContentInView2();        
        var t=NewID;
        if (t==null) t='WORLDCUP';
        if (t=='') t='WORLDCUP';
        setHeaderImage("images/h_results.jpg");
        SetButtons("worldcup","IVECO","trinations");
        setTabButtonX(1);
        LoadSource(xURIBase + "ab-fixtures.aspx?ID=" + t);
      }
      
      function LoadAudio()
      {
        //alert("Audio Loaded");
	setContentInView2();        
        setHeaderImage("images/h_mm.jpg");
        SetButtons("videos","audio","photos");
        setTabButtonX(2);
        LoadSource(xURIBase + "ab-news.aspx?ID=AUDIO");
      }
    
      function LoadTeam()
      {
        //alert("Audio Loaded");
	setContentInView2();        
        initPArray();
        setHeaderImage("images/h_team.jpg");
        SetButtons("team","players","the haka");
        setTabButtonX(2);
        LoadSource(xURIBase + "ab-players.aspx?");
      }

    
      function LoadTeam22()
      {
        //alert("Audio Loaded");
        //media_stop();
	setContentInView2();
        initPArray();
        setHeaderImage("images/h_team.jpg");
        SetButtons("team","players","the haka");
        setTabButtonX(1);
        LoadSource(xURIBase + "ab-players.aspx?ID=22");
      }

      function LoadHaka()
      {
        //alert("Audio Loaded");
        //media_stop();
	setContentInView2();
        initPArray();
        lastHaka=true;
        lastHomePage=false;
        setHeaderImage("images/h_team.jpg");
        SetButtons("team","players","the haka");
        setTabButtonX(3);
        LoadSource(xURIBase + "ab-news.aspx?ID=THEHAKA");
      }
    
    
   
      function LoadPhotos()
      {
        //alert("Audio Loaded");
        //media_stop();
	setContentInView2();
        setHeaderImage("images/h_mm.jpg");
        SetButtons("videos","audio","photos");
        setTabButtonX(3);
        LoadSource(xURIBase + "ab-news.aspx?ID=PHOTOS");
      }

      function LoadVideos()
      {
        //alert("Audio Loaded");
       // media_stop();
       lastHomePage=false;
	setContentInView2();
       lastHaka = false;
        setHeaderImage("images/h_mm.jpg");
        SetButtons("videos","audio","photos");
        setTabButtonX(1);
        LoadSource(xURIBase + "ab-news.aspx?ID=VIDEOS");
      }

      function LoadNews()
      {
        //media_stop();
	setContentInView2();
        setHeaderImage("images/h_news.jpg");
        SetButtons("","latest","archives");
        setTabButtonX(2);
        LoadSource(xURIBase + "ab-news.aspx?ID=NEWSLATEST");
      }

      function LoadNewsArchives()
      {
        //media_stop();
	setContentInView2();
        setHeaderImage("images/h_news.jpg");
        SetButtons("","latest","archives");
        setTabButtonX(3);
        LoadSource(xURIBase + "ab-news.aspx?ID=NEWSARCHIVE");
      }
      
    function SetTabVisibility(plugin,pf,txt)
    {
        if (txt.length>0)
            {
                plugin.content.FindName("btxt" + pf).Text=txt;           
                plugin.content.FindName("bt" + pf).Visibility="Visible"; 
            }
        else
            {
                plugin.content.FindName("btxt" + pf).Text="";           
                plugin.content.FindName("bt" + pf).Visibility="Collapsed"; 
            }
    }

    function SetButtons(txt1,txt2,txt3)
    {
       var plugin = document.getElementById("SilverlightControl");
       if (plugin!=null) 
       {
        SetTabVisibility(plugin,"1",txt1);
        SetTabVisibility(plugin,"2",txt2);
        SetTabVisibility(plugin,"3",txt3);
        setPageVisibleX(plugin, "pnVideoPlayer",false);
        setPageVisibleX(plugin, "pnContent",true);
       } 
    }



	function doMouseEnter(sender, mouseEventArgs)
    {
    // Retrieve the Storyboard and begin it.
        var sb;
        var sN = sender.Name.toString();
        sN = sN.substring(7,11);
        sb = sender.findName("cnvEnable" + sN);
        
        if (sb!=null)
        {
            sb.begin();
        }

        sN = sender.Tag.toString();
        if (1==1)
        {
            var pre = sN.substring(0,1);
            if (pre=="t")
            { 
                var src = "http://www.allblacks.com/portraits/"  + sN.substring(2,500) + ".jpg";
                var sI = sender.findName("imgProfile");
                if (sI!=null) sI.Source=src;
            }
            //alert(src);
        }
    }

	function doMouseLeave(sender, mouseEventArgs)
    {
        var sN = sender.Name.toString();
        sN = sN.substring(7,11);
        sb = sender.findName("cnvDisable" + sN);
        
        if (sb!=null)
        {
            sb.begin();
        }
        
    }
    
    function setContentHide(sender)
    {
       var sbp = sender.findName("pnContent"); 
       if (sbp!=null) {sbp["Canvas.Top"]=500;}
    }
    
    function setContentInView(sender)
    {
       var sbp = sender.findName("pnContent"); 
       if (sbp!=null) {sbp["Canvas.Top"]=48;}
    }

    function setContentInView2()
    {

       var plugin = document.getElementById("SilverlightControl");
       if (plugin!=null) 
        if (plugin.content!=null) 
          {
		setContentInView(plugin.content);	       
	  }
    }
    

    
    function setPanelVisible(sender,key,IsVisible)
    {
        var sb = sender.findName(key); if (sb!=null) {sb.Visibility=(IsVisible?"Visible":"Collapsed");};
    }
    
    var lastHomePage=false;
    var lastHaka=false;

	function doMouseClick(sender, mouseEventArgs)
    {
        var sN = sender.Tag.toString();
        if (sN.length>2)
        {
            var pre = sN.substring(0,1);
            //alert(pre);
            var src = sN.substring(2,500);
            //alert(src);
            
            if (pre=="v")
                {    setHeaderImage("images/h_mm.jpg");
                     setPageVisible(sender,"pnVideoPlayer",true);
                     //setPageVisible(sender,"pnContent",false);
                     
                     setContentHide(sender);
  

                                          
                     var sb = sender.findName("mp"); if (sb!=null) 
                     {
                        sb.Source=src;
                        var sb11 = sender.findName("progbar"); if (sb11!=null) sb11.Width=0;
                        };
                        
                     setFieldText(sender,"txtVideoTitle","");
                     setFieldText(sender,"txtVideoDate","");
                     setFieldText(sender,"txtVideoTime","");
                     
                    var sb2 = sender.GetParent();
                    if (sb2!=null)
                    {
                    try
                    {
                        var mmm = sb2.Tag;
                        var d = mmm.split("$");
                        if (d.length==2)
                        {
                            setFieldText(sender,"txtVideoTitle",d[1]);
                            setFieldText(sender,"txtVideoDate",d[0]);
                        }

                    }
                    catch (ex22)
                    {
                    }
                    
                        
                    }
                    //getVideoSource
                    //var b = getVideoSource(src);
                    //setInnerContent(sender, b);
                }
            else if (pre=="z")
                {
                	//Action Pressed....;
                	
                	if (src=="closeplayer")
                	{
                	    var sbA = sender.findName("pAnimHide");
                        if (sbA!=null) sbA.begin();
                	    //var sb = sender.findName("pnArticles5"); if (sb!=null) {sb.Visibility="Collapsed";};
                	}
                	                	
                }

            else if (pre=="j")
                {
                	//Action Pressed....;
                	//alert("anim pressed!");
        	        var sbA = sender.findName(src);
                    if (sbA!=null) sbA.begin();
                	                	
                }                
            else if (pre=="n")
                {
                    NavigateExternal(src);
                }
            else if (pre=="s")
                {
                    doTabByKey(src);
                }
            else if (pre=="a")
                {
                    NavigateExternal(src);
                }
            else if (pre=="t")
                {
                    var sb2 = sender.GetParent();
                    if (sb2!=null)
                    {
                        try
                        {
                            var ab=sb2.Tag;
                            var aa=ab.split("$");
                            var sb = sender.findName("pnArticles5");
                            
                            try
                            {
                                if (sb!=null) 
                                    {
                                        sb.visibility="Visible";
                                        setFieldText(sender, "txtPlayerName", getPlayerStat(aa,fldplayer));
                                        setFieldText(sender, "lPosition", getPlayerStat(aa,fldposition) + " (" + getPlayerStat(aa,fldgroup) + ")" );
                                        //setFieldText(sender, "lPosition", getPlayerStat(aa,fldposition));
                                        setFieldText(sender, "lBorn", getPlayerStat(aa,fldborn));
                                        setFieldText(sender, "lTests", getPlayerStat(aa,fldtests));
                                        setFieldText(sender, "lTestPoints", getPlayerStat(aa,fldtestpoints));
                                        setFieldText(sender, "lTestDebut", getPlayerStat(aa,fldtestdebut));
                                        setFieldText(sender, "lProvince", getPlayerStat(aa,fldprovice)); 
                                        setFieldText(sender, "lSuper14Team", getPlayerStat(aa,fldsuper14team));
                                        setFieldText(sender, "txtPlayerGroup", "");
                                        var sbA = sender.findName("pAnim");
                                        if (sbA!=null) sbA.begin();
                                    }
                            }
                            catch (ex)
                            {
                            }
                            /* alert("Player Name: " + getPlayerStat(aa,fldplayer) + "\n"
                                  + "Position: " + getPlayerStat(aa,fldposition) + "\n"
                                  + "Born: " + getPlayerStat(aa,fldborn) + "\n"
                                  + "Physical: " + getPlayerStat(aa,fldphysical) + "\n"
                                  + "Test Debut: " + getPlayerStat(aa,fldtestdebut) + "\n");
                            if (sb!=null) {sb.visibility="Visible";};*/
                        }
                        catch (ex)
                        {
                            alert("error getting player : " + ex.description);
                        }
                    }
                }                
            else if (pre=="p")
                {
                    var sb = sender.findName("imgPhoto"); if (sb!=null) {sb.Source=src;};
                    var sb2 = sender.GetParent();
                    if (sb2!=null) {
                        var Title=sb2.Tag;
                        var pubDate=sb2.Children.GetItem(0).Tag;
                        var LinkURI=sb2.Children.GetItem(1).Tag;
                        
                        var sbT = sender.findName("txtPhotoTitle"); if (sbT!=null) {sbT.Text=Title; sbT.Tag=LinkURI;};
                        var sbD = sender.findName("txtPhotoDate"); if (sbD!=null) {sbD.Text=pubDate;};
                        //alert(sb2.Children.GetItem(2).Tag);
                        }
                }
            
        }
        
        
        
        
//        sN = sN.substring(7,11);
//        sb = sender.findName("cnvDisable" + sN);
//        
//        if (sb!=null)
//        {
//            sb.begin();
//        }
//        
    }
    
    function NavigateExternal(src)
    {
        var b=false;
        try
        { 
          window.open(src,'abmain','toolbar=yes,location=yes,directories=yes,resizable=yes,scrollbars=yes');
          //b=true;
        }
        catch (ex)
        {
            b=false;
        }
        //if (!b) alert("Unable to navigate to : " + src);
    }
    
    function setFieldText(sender,fld,newvalue)
    {
        try
        {
            var bb = sender.findName(fld);
            if (bb!=null) bb.Text=newvalue;
        }
        catch (ex)
        {
        }
    }
    
    function setInnerContent(sender, xtxt)
    {
    
        try {
           
           ClearEventHandlers(sender);
           var slPlugin = sender.getHost();
           var xamlFragment =  xtxt;
           var newcontent = slPlugin.content.createFromXaml(xamlFragment);
           var root = sender.findName("pnContent");
           if (root==null) alert("couldnt find root");
           else 
           {
            root.Children.clear();
            root.Children.Add(newcontent);
            CreateEventHandlers(sender);
            }
           
           }
        catch (ex)
        {
            alert("Error Inserting Content : " + ex.toString());
        }
    
    }
    
    
    function setPageVisible(sender, pg, IsVis)
    {
        var sb = sender.findName(pg);
        if (sb!=null) sb.visibility=(IsVis?"Visible":"Collapsed");
    }
    
    function setPageVisibleX(slPlugin, pg, IsVis)
    {
      var sb = slPlugin.content.FindName(pg);
      if (sb!=null) sb.visibility=(IsVis?"Visible":"Collapsed");
    }

    function setPageNominated(sender, pg, IsSel)
    {
        var sb = sender.findName(pg);
        if (sb!=null) 
            {
                sb.FontWeight=(IsSel?"Bold":"Normal");
                sb.TextDecorations=(IsSel?"Underline":"None");
                sb.Cursor=(IsSel?"Arrow":"Hand");
            }
    }
    
    
    function abClick(sender, mouseEventArgs)
    {
       NavigateExternal("http://www.allblacks.com");

    }

    function z1Click(sender, mouseEventArgs)
    {
       NavigateExternal("http://www.zeroone.co.nz");
    }

    function mbClick(sender, mouseEventArgs)
    {
        NavigateExternal("http://www.mabode.com");
    }
    
    function AboutClick(sender, mouseEventArgs)
    {
        setPanelVisible(sender,"pnAbout",true);
    }
    
    function AboutClose(sender, mouseEventArgs)
    {
        setPanelVisible(sender,"pnAbout",false);
    }
    
    function doPage(sender, mouseEventArgs)
    {
        var sN = sender.Name.toString();
        sN = sN.substring(2,11);
        
        
        for (k=1;k<9;k++)
        {
            //alert("a");
            if (sN==k.toString()) 
            {
                setPageNominated(sender, "pg" + k.toString(),true);
                setPageVisible(sender, "pnArticles" + k.toString(), true);
            }
            else
            {
                setPageNominated(sender, "pg" + k.toString(),false);
                setPageVisible(sender, "pnArticles" + k.toString(), false);
            }
            //alert("b");
        }
        
    }
    
    function setTabButton(sender, idx)
    {
        for (k=1;k<4;k++)
        {
            var IsSel = (k==idx);
            var sb = sender.findName("bt" + k.toString());
            if (sb!=null) {sb.Source= (IsSel?"images/btTabOn.png":"images/btTabOff.png")};
            var sb2 = sender.findName("btxt" + k.toString());
            if (sb2!=null) {sb2.FontWeight= (IsSel?"Normal":"Normal")};
        }
    }
    
    function setTabButtonX(idx)
    {
        var plugin = document.getElementById("SilverlightControl");
        for (k=1;k<4;k++)
        {
            var IsSel = (k==idx);
            var sb = plugin.content.FindName("bt" + k.toString());
            if (sb!=null) {sb.Source= (IsSel?"images/btTabOn.png":"images/btTabOff.png")};
            var sb2 = plugin.content.FindName("btxt" + k.toString());
            if (sb2!=null) {sb2.FontWeight= (IsSel?"Normal":"Normal")};
        }
    }
    
    function doTabByKey(v)
    {
        //alert("d");
        var sT = v.toLowerCase();
        if (sT=="videos") {LoadVideos();}
        if (sT=="photos") {LoadPhotos();}
        if (sT=="audio") {LoadAudio();}
        if (sT=="latest") {LoadNews();}
        if (sT=="archives") {LoadNewsArchives();setTabButtonX(3);}
        if (sT=="players") {LoadTeam();}
        if (sT=="team") {LoadTeam22();}
        if (sT=="the haka") {LoadHaka();}
        if (sT=="iveco") {LoadResults("IVECO");setTabButtonX(2);}
        if (sT=="trinations") {LoadResults("TRINATIONS");setTabButtonX(3);}
        if (sT=="worldcup") {LoadResults("WORLDCUP");setTabButtonX(1);}
        if (sT=="results") {LoadResults("WORLDCUP");setTabButtonX(1);}
        
    }

    function doTabClick(sender, mouseEventArgs)
    {
        //alert("p");
        var s = sender.Tag.toString();
        var sT = "";
        if (s=="1") {setTabButtonX(1);sT=sender.findName("btxt1").Text;}
        if (s=="2") {setTabButtonX(2);sT=sender.findName("btxt2").Text;}
        if (s=="3") {setTabButtonX(3);sT=sender.findName("btxt3").Text;}
        doTabByKey(sT);
    }
    

    function getVideoSource(src)
    {
        var str='';
        str = str + '<Canvas Name="pnVideo" Width="460" Height="258" Canvas.Left="0" Canvas.Top="-3">';
        str = str + '      <Image Name="ivb" Width="460" Height="258" Source="images/b_video.jpg" Stretch="Fill"/>';
        str = str + '      <MediaElement Name="mp" Width="425" Height="241" Canvas.Left="17" Canvas.Top="9" Stretch="Uniform" Source="' + src + '"/>';
        str = str + '    </Canvas>';
        return str;
    }    
    

    function media_stop(sender, args) {
        try {sender.findName("mp").stop();} catch(ex) {}
        
    }
    
    function media_opened(sender, eventArgs)
    {
            var n=0;

            
    try
        {
         for (w=0;w<2;w++)
           for (u=0;u<60;u++)
             for (a=0;a<2;a++)
               { n=n+1;
                 sender.markers.add(sender.getHost().content.createFromXaml('<TimelineMarker Time="0:' + w.toString() + ':' + u.toString() + '" Type="test" Text="a" />'));
                 }
         }
    catch (ex)
        {
             alert("Error Adding Markers : " + n.toString());
        }              
    }




    function media_statechanged(sender, args) {
        try {
                
                var m="--:--:--";
                if (sender.NaturalDuration.Seconds>=0) 
                {   
                    m = parseInt(sender.NaturalDuration.Seconds).toString() + " sec";
                }
                setFieldText(sender,"txtVideoTime",m);                
            } catch(ex) {
            
            setFieldText(sender,"txtVideoTime","--:--:--");
            }
        
        try
            {
                var d=sender.Position.Seconds/sender.NaturalDuration.Seconds;
                var c=d*320.0;
                if (c>320) c=320.0;
                sender.findName("progbar").Width=c;
            }
            catch(ex)
            {
            }
    }
    
    function media_pause(sender, args) {
    
    /*
    var player = sender.findName("mp");
 // The display message.
    var msg;
    msg =  "MediaElement Source: " + player.source + "\n\n";
    msg += "Attributes: \n  time : " + player.NaturalDuration.Seconds.toString();
    
    // Variable to hold the MediaAttribute.
    var attribute;

    // Iterate through the collection of MediaAttributes.
    var loop = 0;
    while(loop < player.Attributes.count)
    {
        // Get the current Attribute.
        attribute = player.Attributes.getItem(loop);
        
        msg += "Name: "  + attribute.Name + "\n";
        msg += "Value: " + attribute.Value + " \n\n";
        loop++;
    }
    
    // Display the MediaAttribute information.
    alert(msg);
    */
    
        try {sender.findName("mp").pause();} catch(ex) {}
    }

    function media_begin(sender, args) {
        try {sender.findName("mp").play();} catch(ex) {}
    }
    
    function media_back(sender,args)
    {
        media_stop(sender,args);
        try {sender.findName("mp").Source=null;} catch(ex) {}
        setPageVisible(sender,"pnVideoPlayer",false);
        setContentInView(sender);
        
        
        
        if (lastHomePage)
            {
            	setHeaderImage("images/h_main.jpg");
          
            }
        else if (lastHaka)
            {
               setHeaderImage("images/h_team.jpg");

            }
        else
        {
            //setPageVisible(sender,"pnVideoPlayer",false);
            //setPageVisible(sender,"pnContent",true);
            setHeaderImage("images/h_mm.jpg");
                    }
         var plg = document.getElementById("SilverlightControl");
         ClearEventHandlers(plg.content);
         CreateEventHandlers(plg.content);
    }


//fields for unpacking players...
    var fldID = 0;
    var fldteam = 1;
    var fldgroup = 2;
    var fldplayer = 3;
    var fldposition = 4;
    var fldborn = 5;
    var fldphysical = 6;
    var fldtests = 7;
    var fldtestpoints = 8;
    var fldtestdebut = 9;
    var fldprovice = 10;
    var fldsuper14team = 11;
    var fldimgBig = 12;
        
    function getPlayerStat(aDetails,fld)
    {
        var out="";
        try
        {
            if (aDetails.length>fld) out = aDetails[fld];
        }
        catch (ex)
        {
            alert("error on unpack player!");
            out="";
        }
        return out;
    }
    
    
    
    
    
    ///logic for 3dplayers
    
    var xQ= new Array();
    var yQ= new Array();
    var aQ= new Array();
    var qMax=23;
    
    function initPArray()
    {
            var qidx=0;
        	qidx=0; yQ[qidx]=43; xQ[qidx]=100;
	        qidx=1; yQ[qidx]=57; xQ[qidx]=102;
	        qidx=2; yQ[qidx]=74; xQ[qidx]=107;
	        qidx=3; yQ[qidx]=89; xQ[qidx]=109;
	        qidx=3; yQ[qidx]=105; xQ[qidx]=112;
	        qidx=5; yQ[qidx]=124; xQ[qidx]=117;
	        qidx=6; yQ[qidx]=144; xQ[qidx]=123;
	        qidx=7; yQ[qidx]=165; xQ[qidx]=126;
	        qidx=8; yQ[qidx]=187; xQ[qidx]=129;
	        qidx=9; yQ[qidx]=211; xQ[qidx]=136;
	        qidx=10; yQ[qidx]=238; xQ[qidx]=142;
	        qidx=11; yQ[qidx]=268; xQ[qidx]=147;
	        qidx=12; yQ[qidx]=300; xQ[qidx]=154;
	        qidx=13; yQ[qidx]=336; xQ[qidx]=162;
	        qidx=14; yQ[qidx]=373; xQ[qidx]=170;
	        qidx=15; yQ[qidx]=416; xQ[qidx]=179;
	        qidx=16; yQ[qidx]=462; xQ[qidx]=189;
	        qidx=17; yQ[qidx]=515; xQ[qidx]=200;
	        qidx=18; yQ[qidx]=574; xQ[qidx]=213;
	        qidx=19; yQ[qidx]=641; xQ[qidx]=227;
	        qidx=20; yQ[qidx]=719; xQ[qidx]=243;
	        qidx=21; yQ[qidx]=809; xQ[qidx]=263;
	        qidx=22; yQ[qidx]=915; xQ[qidx]=286;
	        
	        for (var k=0;k<qMax;k++)
	        {
	            aQ[k] = (xQ[k]/286.0);
	            //if (k==10) alert(aQ[k].toString());
	        }

    }
    
    
