// Controls the content for each page and the set of resources required by them
var _gmarker;
PageGenerator = function(numPages) {
    this.numPages = numPages;
    this.resourceArray = new Array();
    /*this.resourceArray[this.resourceArray.length] = "assets/figure01_1.png";
    this.resourceArray[this.resourceArray.length] = "assets/topBg.png";
    this.resourceArray[this.resourceArray.length] = "assets/workflow_zoom.png";
    this.resourceArray[this.resourceArray.length] = "assets/figure3.png";
    this.resourceArray[this.resourceArray.length] = "assets/figure1.png";
    this.resourceArray[this.resourceArray.length] = "assets/figure31.png";
    this.resourceArray[this.resourceArray.length] = "assets/figure4.png";
    this.resourceArray[this.resourceArray.length] = "assets/figure6.png";
    this.resourceArray[this.resourceArray.length] = "assets/TopLogo.png";
    this.resourceArray[this.resourceArray.length] = "assets/playerPage.png";
    this.resourceArray[this.resourceArray.length] = "assets/playerPageS.png";
    this.resourceArray[this.resourceArray.length] = "assets/media_player_800x600.png";    
    this.resourceArray[this.resourceArray.length] = "assets/page.png";*/
    /*for (var i=1; i<=this.numPages; i++){
        this.resourceArray[this.resourceArray.length] = "assets/page" + getTwoDigitInt(i) + ".png";
    }*/

}
PageGenerator.prototype.importXML = function()
{
	if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
		xmlDoc.onload = this.createTable;
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.onreadystatechange = function ()
		{
			if (xmlDoc.readyState == 4) this.createTable()
		};
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load("page.xml");
}

PageGenerator.prototype.createTable = function()
{	
}

PageGenerator.prototype.getPageString = function(pageNumber, isThumbnail)
{ 
  var retStr = "";
  if (pageNumber < 0)
  {
    return retStr;
  }
 	
  retStr =  "<Canvas>";
  var text = "To paint an area a solid color, you use a SolidColorBrush. XAML provides several ways to create a SolidColorBrush.\nYou can use attribute syntax to specify the name of a color, such as \"Black\" or \"Gray\".";
  retStr += getStrPage(pageNumber, isThumbnail);
  
  
  if ((pageNumber % 2) == 1)
  {
      retStr += "  <Path x:Name='pagePath"+getTwoDigitInt(pageNumber)+"' Data='M 436,590 h -436 v -590 h 436' Stroke='#cc0000' StrokeThickness='0'/>";
      //if (pageNumber != 0 && pageNumber != _gThisManager.maxNumPages)
      if( pageString(getTwoDigitInt(pageNumber))==null )
      {
        retStr += "  <Rectangle Height='590' Width='436' Opacity='0' Canvas.Left='0' x:Name='page11Hand00"+pageNumber+"' Cursor='None'  MouseEnter='mouseHandOverEnd'    >";//
        retStr += "    <Rectangle.Fill>";
        retStr += "      <LinearGradientBrush StartPoint='0,0' EndPoint='1,0'>";
        retStr += "        <GradientStop Color='red' Offset='0'/>";
        retStr += "        <GradientStop Color='red' Offset='1'/>";
        retStr += "      </LinearGradientBrush>";
        retStr += "    </Rectangle.Fill>";
        retStr += "  </Rectangle>";
      }     
  }
  else
  {  
      //if (pageNumber != 0 && pageNumber != _gThisManager.maxNumPages)
      if( pageString(getTwoDigitInt(pageNumber))==null )
      {
        retStr += "  <Rectangle Height='590' Width='436' Opacity='0' Canvas.Left='0' x:Name='page11Hand00"+pageNumber+"' Cursor='None'  MouseEnter='mouseHandOverEnd'   >";//
        retStr += "    <Rectangle.Fill>";
        retStr += "      <LinearGradientBrush StartPoint='0,0' EndPoint='1,0'>";
        retStr += "        <GradientStop Color='red' Offset='0'/>";
        retStr += "        <GradientStop Color='red' Offset='1'/>";
        retStr += "      </LinearGradientBrush>";
        retStr += "    </Rectangle.Fill>";
        retStr += "  </Rectangle>";
	    //retStr += " "+page04+"  ";
      }  
      retStr += "  <Path x:Name='pagePath"+getTwoDigitInt(pageNumber)+"' Data='M 0,0 h 436 v 590 h -436' Stroke='#cc0000' StrokeThickness='0'/>";
  }  
  retStr += "</Canvas>";
  return retStr;
}
function linkMailEnter(sender, eventArgs)
{
    var zoom = sender.findName("zoom");
    var Txt = sender.findName("Txt");
    var Txt1 = sender.findName("Txt1");
       
    var name = sender.name;
    var id = name.substring(name.indexOf("_")+1);
    //alert(id);
    sender.findName('mailunder_'+id)['opacity'] = 1;
    
    if( zoom!=null )
    {
       zoom["opacity"] = 0;
       zoom["canvas.top"] = 0;
       zoom["canvas.left"] = 0;    
    }
    if(sender.name=='')
    {
       if(Txt!=null)
          Txt["opacity"] = 0;
    }
    
    _gLink = true;
}
function linkMail(s,e)
{
    var name = s.name;
    var id = name.substring(name.indexOf("_")+1);
    
    
    var mail = objMail['page_' + id];
    window.open( "mailto:"+mail, "open", "" );
}
function linkMailLeave(sender, eventArgs)
{
    var name = sender.name;
    var id = name.substring(name.indexOf("_")+1);
    //alert(id);
    sender.findName('mailunder_'+id)['opacity'] = 0;
    
    
    _gLink = false;
}
function linkEnter(sender, eventArgs)
{
    
    if( sender.name.indexOf('lnk')!=-1 )
    {
        var temp_name = sender.name;    
        var number = temp_name.substring(temp_name.indexOf('_')+1);
        
        if( sender.findName("under"+number)!=null )
            sender.findName("under"+number)['opacity'] = 1;
    }
    if( sender.name.indexOf('link')!=-1 )
    {
        var temp_name = sender.name;    
        var number = temp_name.substring(temp_name.indexOf('_')+1);
        
        
        if( sender.findName("under_" + number + "_0")!=null )
        {
            sender.findName("under_" + number + "_0")['opacity'] = 1;            
        }
        
        if( sender.findName("under_"+number)!=null )
            sender.findName("under_"+number)['opacity'] = 1;    
        
    }
    //if( sender.name.indexOf('link_4_2')!=-1 || sender.name.indexOf('link_4_3')!=-1 )
    //{
        //sender.findName("under0")['opacity'] = 1;
        //sender.findName("under1")['opacity'] = 1;
    //}
    
    var zoom = sender.findName("zoom");
    var Txt = sender.findName("Txt");
    var Txt1 = sender.findName("Txt1");        

  
    if(Txt!=null)
    {
        Txt["opacity"] = 1;
        //alert(sender.name);
        if(sender.name.indexOf('link')==-1 && sender.name.indexOf('lnk')==-1 && sender.name.indexOf('copy')==-1)
        {
            Txt1["text"] = "Click to Play";
            Txt1["canvas.left"] = 4;
            
        }
        else
        {
            if(sender.name.indexOf('copy')!=-1)
            {
                Txt1["text"] = "Click to Copy";
                Txt1["canvas.left"] = 4;
            }
            else
            {
                Txt1["text"] = "Click to Go";
                Txt1["canvas.left"] = 8;
            }
        }      
        
        Txt["canvas.top"]=eventArgs.getPosition(null).y+20-sender.findName("MainCanvas")["canvas.top"];
        Txt["canvas.left"]=eventArgs.getPosition(null).x-30-sender.findName("MainCanvas")["canvas.left"];
    }
    else
    {
       // _GText["text"]
       if( _GText!=null )
       {
        if(sender.name.indexOf('link')==-1)
        {
            _GText["text"] = "Click to Play";
           _GText["canvas.left"] = -22;
        }
        else
        {
            _GText["text"] = "Click to Go";
            _GText["canvas.left"] = -17;
        }
       }
    }
    if( zoom!=null )
    {
        zoom["opacity"] = 0;
        zoom["canvas.top"] = 0;
        zoom["canvas.left"] = 0;    
    }
    if(sender.name=='')
    {
         //_GText["oapcity"] = 0;
         if(Txt!=null)
         Txt["opacity"] = 0;
    }
     _gLink = true;
    
    if( sender.name.indexOf('video_btnPlay')!=-1 )
    {
        Txt1["text"] = "Click to Play Video";
        Txt1["canvas.left"] = 4;  
         _gLink = false;          
    }
    if( sender.name.indexOf('video_btnStop')!=-1 )
    {
        Txt1["text"] = "Click to Stop Video";
        Txt1["canvas.left"] = 4; 
         _gLink = false;           
    }        
    
    if( sender.name.indexOf('RightDouble')!=-1 )
    {
        Txt1["text"] = "DbClick to Turn";
        Txt1["canvas.left"] = 4; 
         _gLink = false;           
    }   
    
    if( sender.name.indexOf('Left1Double')!=-1 )
    {
        Txt1["text"] = "DbClick to Turn";
        Txt1["canvas.left"] = 4; 
         _gLink = false;           
    }         
   
}
function linkLeave(sender, args)
{
    
    if( sender.name.indexOf('lnk')!=-1 )
    {
        var temp_name = sender.name;    
        var number = temp_name.substring(temp_name.indexOf('_')+1);        
        //alert(number);
        if(sender.findName("under"+number)!=null)
            sender.findName("under"+number)['opacity'] = 0;
    }
    if( sender.name.indexOf('link')!=-1 )
    {
        var temp_name = sender.name;    
        var number = temp_name.substring(temp_name.indexOf('_')+1);        
        //alert(number);
        if( sender.findName("under_" + number + "_0")!=null )
        {
            sender.findName("under_" + number + "_0")['opacity'] = 0;            
        }
        
        if( sender.findName("under_"+number)!=null )
            sender.findName("under_"+number)['opacity'] = 0;
        
        
    }
    //if( sender.name.indexOf('link_4_2')!=-1 || sender.name.indexOf('link_4_3')!=-1 )
    //{
        //sender.findName("under0")['opacity'] = 0;
        //sender.findName("under1")['opacity'] = 0;
    //}
    
    
    _gLink = false;
    var Txt = sender.findName("Txt");
    if(Txt!=null)
        Txt["opacity"] = 0;
    else
    {
        if( _GText!=null )
        {
            _GText["text"] = "Click to close";
            _GText["canvas.left"] = -22;
        }
    }
}
function linkToPage(sender, args)
{
 
 var num = sender.name.substring(sender.name.length-2);
 if(num.substring(0,num.length-1)=='0')
    num = num.substring(num.length-1);
 num = parseInt(num);
 
 if(num<2)
    num = 2;
 
 if((num/2 - Math.floor(num/2))==0) 
    num = num-1;
    
 
 _gNumberPage = num;
 if( _gIsZoom )
 {
     if(  num<10  )
        gotoZoomPage('0'+num);
     else
     {
        if(num==20)
            num++;
        gotoZoomPage(num);   
     }
 }
   // _gLink = false;
    var Txt = sender.findName("Txt");
    if(Txt!=null)
        Txt["opacity"] = 0;
   //doSend(num); 
   _gThisManager.jumpToPage1(num);
 
}
var DownLink = false;
function linkToPage1(sender, args)
{
     var num = sender.name.substring(sender.name.length-2); 
        
     if(num.substring(0,num.length-1)=='0')
        num = num.substring(num.length-1);
        
     num = parseInt(num);
     
     DownLink = true;
     if(num<2)
        num = 2;
        
     if((num/2 - Math.floor(num/2))==0) 
        num = num-1;
        
        
    var Txt = sender.findName("Txt");
        if(Txt!=null)
            Txt["opacity"] = 0;    
    _gLink = false;
    
    _gThisManager.jumpToPage1(num);
 
}
function linkToPage2(sender, args)
{
    DownLink = false; 
}
function media_state_changed(sender, markerEventArgs)
{
    var mediaStateTextBlock = 
    sender.findName("timeTextBlock");
    var media = sender.findName("mediaSound");
}
function onMarkerReached(sender, markerEventArgs)
{ 
}

