var _gButtom = null;
var _gZoomPage = 0;
var mediaImagePlayerS = null;
var mediaImagePlayer = null;
var mediaVideoPlayer = null;
var zoomAddVideo = null;

function getStrPage( num , thumbnal )
{
    var preloader = "    ";
  

    if(  !thumbnal )
    {
        var str = "  <Image x:Name='pageImg"+getTwoDigitInt(num)+"' Source='assets/page"+getTwoDigitInt(num)+".png' />";
    }
    else
    {
        var str = "  <Image x:Name='pageImg"+getTwoDigitInt(num)+"' Source='assets/page" + getTwoDigitInt(num)+ "s.png' />";//+preloader;
        preloader = '';
    }
	
	var mystr = '';
    
    if(pageString(getTwoDigitInt(num))==null )
    {
        
        return str + preloader;
    }
    
    switch(getTwoDigitInt(num))
    { 		        
        case '01': mystr = page01;break;
        case '02': mystr = page02;break;
		case '03': mystr = page03;break;		
		case '04': mystr = page04;break;
		case '05': mystr = page05;break;
		case '06': mystr = page06;break;
		case '07': mystr = page07;break;
		case '08': mystr = page08;break;
		case '09': mystr = page09;break;
		case '10': mystr = page10;break;
        case '11': mystr = page11;break;
        case '12': mystr = page12;break;
		case '13': mystr = page13;break;		
		case '14': mystr = page14;break;
		case '15': mystr = page15;break;
		case '16': mystr = page16;break;
		case '17': mystr = page17;break;
		case '18': mystr = page18;break;
		case '19': mystr = page19;break;
		case '20': mystr = page20;break;
		case '21': mystr = page21;break;
        case '22': mystr = page22;break;
		case '23': mystr = page23;break;		
		case '24': mystr = page24;break;
		case '25': mystr = page25;break;
		case '26': mystr = page26;break;
		case '27': mystr = page27;break;
		case '28': mystr = page28;break;
		case '29': mystr = page29;break;
		case '30': mystr = page30;break;
		case '31': mystr = page31;break;
		case '32': mystr = page32;break;		

        default: mystr = str;     break;
    }
    
    if(  !thumbnal )
    {
        mystr = mystr.replace(/\$m/g, getTwoDigitInt(num));
    }
    else
    {
        mystr = mystr.replace(/\$m/g, getTwoDigitInt(num)+'s');
        //mystr = "  <Image x:Name='pageImg"+getTwoDigitInt(num)+"' Source='assets/pages.png' />";
    }
    mystr = mystr.replace(/\$p/g, _gAds);
    mystr = mystr.replace(/\$0/g, getTwoDigitInt(num));
    
    
    var ItemStr = '';   
    var NewItem = '';		
	for(l in obj)
	{
		if(l.substring(l.indexOf('_')+1)==getTwoDigitInt(num))
		{
		    
			var k = 0;
			NewItem = pageListVideo;
			for( j in obj[l] )
	    	{
				if( j.indexOf('video')==-1 )
					continue;
				var tempStr = NewItem.replace(/\$5/g, getTwoDigitInt(num));
				var tempStr = tempStr.replace(/\$4/g, k);
				if( k == 0 )
				{
				    var tempStr = tempStr.replace(/\$u/g, 'playMovieNow');
				}
				else
				{
				    var tempStr = tempStr.replace(/\$u/g, 'playThisMovie');
				}
				
		    	var tempStr = tempStr.replace(/\$t/g, k*90);
		    	
		    	//if( k==0 )	
		    	//{
		    	   mystr = mystr.replace(/\$s/g, '');
		    	//}
		    	
				ItemStr += tempStr;
				k++;
			}
			break;
		}
	}		
	
	mystr = mystr.replace(/\$7/g, ItemStr);
	
	
	var ItemStr = '';
	var NewItem = '';
	var inSoudBool = false;		
	for(l in obj)
	{
		
		if(l.substring(l.indexOf('_')+1)==getTwoDigitInt(num))
		{
		    
			var k = 0;
			NewItem = pageListSound;
			for( j in obj[l] )
	    	{
				if( j.indexOf('sound')==-1 )
					continue;
				
				inSoudBool = true;
				var tempStr = NewItem.replace(/\$5/g, getTwoDigitInt(num));
				var tempStr = tempStr.replace(/\$4/g, k);
		    	var tempStr = tempStr.replace(/\$t/g, k*90);		    	
		    	
				ItemStr += tempStr;
				k++;
			}
			
			break;
		}
	}		
	
	if( !inSoudBool )
	{
	    var ItemStr1 = mystr.replace(/\$6/g, 346);
	    ItemStr1 = ItemStr1.replace(/\$e/g, 396);
	    ItemStr1 = ItemStr1.replace(/\$q/g, 417);
	    //alert('0');
	}
	else
	{
	    var ItemStr1 = mystr.replace(/\$6/g, 343);    
	    ItemStr1 = ItemStr1.replace(/\$e/g, 0);
	    ItemStr1 = ItemStr1.replace(/\$q/g, 0);
	}
	
	var mystr1 = ItemStr1.replace(/\$r/g, ItemStr);
	if(  !thumbnal )
	{
	    return mystr1 + preloader;
	}
	else
	{
	    return mystr1;
	}
    
}
//--------------------------------------------------------------------------------
//start InkZoom for zoom page
//--------------------------------------------------------------------------------
InkZoom = function(plugIn, text, page , clickedHandler) {
    // create XAML string
    var _str = '<Canvas xmlns="http://schemas.microsoft.com/client/2007" x:Name="zoomMainCnv" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   MouseLeftButtonUp="closeScroll" >';
    _gZoomPage = page;    
    //jjj(); 
    
    newPlay = false;   
      
        
    var pageNum = '';        
    pageNum = getStrPage(page);
    
    if( text==0 )
    {
        _str = _str + '';
    }
    else
        _str = _str + pageNum;
        
    _str = _str + '</Canvas>';
    
    this.xamlElement = plugIn.content.createFromXaml(_str, true);
    this.xamlElement.findName("pageImg"+page)["source"] = "assets/page"+page+"z.png";
    //this.xamlElement.findName("loader"+page)["Canvas.Top"] = -1500;
    
    
    if(this.xamlElement.findName("all_lnk_"+page)!=null)
    {
       var top_ = this.xamlElement.findName("all_lnk_"+page)["Canvas.Top"];
       var left_ = this.xamlElement.findName("all_lnk_"+page)["Canvas.Left"];
    
        switch(page)
        {
            case 18:
                top_ = top_ - 10;   left_ = left_ - 7;
                break;
            case 32:
                top_ = top_ - 7;    left_ = left_ - 7;
                break;
            case 34:
                top_ = top_ - 7;    left_ = left_ - 5;
                break;
            case 26:
                top_ = top_ - 2;    left_ = left_ - 8;
                break;
            case 27:
                 top_ = top_ - 12;  left_ = left_ - 8;
                break;
            case 22:
                top_ = top_ - 3;    left_ = left_ - 7;
                break;
            case 21:
                top_= top_ - 6;     left_ = left_ - 7;
                break;
        }
    
    }
    
    
    if( page=='54' )
    {
         this.xamlElement.findName("all_lnk_"+page)["Canvas.Top"] = this.xamlElement.findName("all_lnk_"+page)["Canvas.Top"] - 4;
         left_ = left_ - 5;
    }
    
    if( page=='43' )
    {
         this.xamlElement.findName("linksAll1_"+page)["Canvas.Top"] = -12;
         this.xamlElement.findName("linksAll1_"+page)["Canvas.Left"] = -8;
    }
    
    //if( page=='29' )
    //{
         //this.xamlElement.findName("linksAll1_"+page)["Canvas.Top"] = -12;
         //this.xamlElement.findName("linksAll1_"+page)["Canvas.Left"] = -2;
    //}
   // if( page=='23' )
   // {
     //    this.xamlElement.findName("linksAll1_"+page)["Canvas.Top"] = -12;
      //   this.xamlElement.findName("linksAll1_"+page)["Canvas.Left"] = -7;
   // }
   // if( page=='15' )
   // {
       //  this.xamlElement.findName("linksAll1_"+page)["Canvas.Top"] = -13;
        // this.xamlElement.findName("linksAll1_"+page)["Canvas.Left"] = -2;
   // }
    //if( page=='03' )
    //{
        // this.xamlElement.findName("linksAll1_"+page)["Canvas.Top"] = -13;
       //  this.xamlElement.findName("linksAll1_"+page)["Canvas.Left"] = -5;
    //}
    
    
    
    
    if( this.xamlElement.findname("scalePage"+page)!=null )
    {
        this.xamlElement.findname("scalePage"+page)['ScaleX'] = 1.58;
        this.xamlElement.findname("scalePage"+page)['ScaleY'] = 1.58;
    }    
    this.clickedHandler = clickedHandler;
    
}
function jjj(s,e)
{
    // Create a Downloader object.
    var downloader = _gControl.createObject("downloader");

    // Set the Completed event handler.   
    downloader.addEventListener("downloadProgressChanged", "onDownloadProgressChanged");
    downloader.addEventListener("completed", "onCompleted");
    // Initialize the Downloader object.    
    downloader.open("GET", "assets/page"+_gZoomPage+"z.png");
    // Execute the Downloader request.
    downloader.send();
}
//--------------------------------------------------------------------------------
//end InkZoom for zoom page
//--------------------------------------------------------------------------------
function onDownloadProgressChanged(s,e)
{
    s.findName("downloadChange")["text"] = 'Loading: '+Math.floor(s.downloadProgress*100)+'%';
    var progressRect = s.findName("progressRect1");
    progressRect.width = (s.downloadProgress) * 225;
    
}
function onCompleted(s,e)
{    
   _gSenderG.findName("zoomPageDown")['opacity'] = 0;
   _gSenderG.findName("zoomPageDown")['canvas.top'] = 1600;
   s.findName("downloadChange")["text"]='Loading: 0%';
   s.findName("progressRect1").width = 0;
}
InkZoom.prototype.handleMouseEnter = function(s,e)
{
    this.rectangle.StrokeThickness = 2.5;
}
InkZoom.prototype.handleMouseLeave = function(s,e)
{
    this.rectangle.StrokeThickness = 1.5;
}
InkZoom.prototype.handleMouseDown = function(s,e)
{    
    if (this.clickedHandler) {
        this.clickedHandler();
    }
}
//=================================================================================
InkToggleButton = function(plugIn, text, clickedHandler) {
    // create XAML string
    var _str =    '<Canvas xmlns="http://schemas.microsoft.com/client/2007"  Cursor="Hand"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
    _str = _str + '    <TextBlock Height="19" Width="64" Canvas.Top="2" Canvas.Left="4" x:Name="toggleButtonText" Foreground="green" FontFamily="Verdana" FontSize="12" TextWrapping="Wrap"/>';
    _str = _str + '    <Rectangle Height="19" Width="0" x:Name="toggleButtonRectangle" Stroke="green" Fill="transparent" StrokeThickness="1.5"  RadiusX="4" RadiusY="4" Opacity="1"/>';
    _str = _str + '</Canvas>';
    
    // create XAML thumbnail using createFromXaml
    this.xamlElement = plugIn.content.createFromXaml(_str, true);
    
    this.rectangle = this.xamlElement.findName("toggleButtonRectangle");
    this.textBlock = this.xamlElement.findName("toggleButtonText");
    this.textBlock.text = text;
    this.rectangle.width = this.textBlock.actualWidth + 8;
  
    this.clickedHandler = clickedHandler;
        
    // Register eventhandlers
	this.xamlElement.addEventListener("mouseEnter", Silverlight.createDelegate(this, this.handleMouseEnter));
	this.xamlElement.addEventListener("mouseLeave", Silverlight.createDelegate(this, this.handleMouseLeave));
    this.xamlElement.addEventListener("mouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
}

InkToggleButton.prototype.handleMouseEnter = function(s,e)
{
    this.rectangle.StrokeThickness = 2.5;
}
InkToggleButton.prototype.handleMouseLeave = function(s,e)
{
    this.rectangle.StrokeThickness = 1.5;
}
InkToggleButton.prototype.handleMouseDown = function(s,e)
{
    this.textBlock.Foreground = "green";
    this.rectangle.Stroke = "green";
    if (this.clickedHandler) {
        this.clickedHandler();
    }
}



InkButton = function(plugIn, text, clickedHandler)
{
    // create XAML string
    var _str =    '<Canvas xmlns="http://schemas.microsoft.com/client/2007"  Cursor="Hand"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="'+text+'" >';
    _str = _str + '    <TextBlock Height="19" Canvas.Top="2" Canvas.Left="4" x:Name="buttonText" Foreground="green" FontFamily="Verdana" FontSize="12" TextWrapping="Wrap"/>';
    _str = _str + '    <Rectangle Height="19" Width="0" x:Name="buttonRectangle" Stroke="green" Fill="transparent" StrokeThickness="1.5"  RadiusX="4" RadiusY="4" Opacity="1"/>';
    _str = _str + '</Canvas>';
    
    // create XAML thumbnail using createFromXaml
    this.xamlElement = plugIn.content.createFromXaml(_str, true);
    
    this.rectangle = this.xamlElement.findName("buttonRectangle");
    this.textBlock = this.xamlElement.findName("buttonText");
    this.textBlock.text = text;
    this.rectangle.width = this.textBlock.actualWidth + 8;
  
    this.clickedHandler = clickedHandler;
        
    // Register eventhandlers
	this.xamlElement.addEventListener("mouseEnter", Silverlight.createDelegate(this, this.handleMouseEnter));
	this.xamlElement.addEventListener("mouseLeave", Silverlight.createDelegate(this, this.handleMouseLeave));
    this.xamlElement.addEventListener("mouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
}
InkButton.prototype.handleMouseEnter = function(s,e)
{
    this.rectangle.StrokeThickness = 2.5;
}
InkButton.prototype.handleMouseLeave = function(s,e)
{
    this.rectangle.StrokeThickness = 1.5;
}
InkButton.prototype.handleMouseDown = function(s,e)
{
    this.textBlock.Foreground = "green";
    this.rectangle.Stroke = "green";
    if (this.clickedHandler) {
        this.clickedHandler();
    }
}
goButton = function(plugIn, text, clickedHandler)
{
    // create XAML string
    var _str =    '<Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="buttonGo">';
    _str = _str + '    <TextBlock Height="19" Canvas.Top="2" Canvas.Left="4" x:Name="buttonTextGo" Foreground="White" FontFamily="Verdana" FontSize="12" TextWrapping="Wrap"/>';
    _str = _str + '    <Rectangle Height="19" Width="0" x:Name="buttonRectangleGo" Stroke="White" Fill="transparent" StrokeThickness="1.5"  RadiusX="4" RadiusY="4" Opacity="1"/>';
    _str = _str + '</Canvas>';
    
    // create XAML thumbnail using createFromXaml
    this.xamlElement = plugIn.content.createFromXaml(_str, true);
    
    this.rectangle = this.xamlElement.findName("buttonRectangleGo");
    this.textBlock = this.xamlElement.findName("buttonTextGo");
    this.textBlock.text = text;
    this.rectangle.width = this.textBlock.actualWidth + 8;
  
    this.clickedHandler = clickedHandler;
        
    // Register eventhandlers
	this.xamlElement.addEventListener("mouseEnter", Silverlight.createDelegate(this, this.handleMouseEnter));
	this.xamlElement.addEventListener("mouseLeave", Silverlight.createDelegate(this, this.handleMouseLeave));
    this.xamlElement.addEventListener("mouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
    
    var main = document.getElementById("SilverlightControl");
    
    var textInput = document.getElementById("textInput");
    textInput.style.display = "block";
    
}

goButton.prototype.handleMouseEnter = function(s,e)
{
    this.rectangle.StrokeThickness = 2.5;
}
goButton.prototype.handleMouseLeave = function(s,e)
{
    this.rectangle.StrokeThickness = 1.5;
}
goButton.prototype.handleMouseDown = function(s,e)
{
    this.textBlock.Foreground = "white";
    this.rectangle.Stroke = "white";
    if (this.clickedHandler) {
        this.clickedHandler();
    }
}

