﻿if (!window.occ_ejec_banner_02)
	window.occ_ejec_banner_02 = {};

occ_ejec_banner_02.Page = function() 
{
}

occ_ejec_banner_02.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		
		// Sample event hookup:	
		rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
	},
	
	// Sample event handler
	handleMouseDown: function(sender, eventArgs) 
	{
		// The following line of code shows how to find an element by name and call a method on it.
		// this.control.content.findName("Storyboard1").Begin();
	}
}

if (!window.mediaholder)
	window.mediaholder = {};

mediaholder = function() 
{
}

mediaholder.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
	    if(rootElement.Name == "rootCanvas"){
		    this.control = control;
    		
		    this.numElements =1;
		    this.carousel = new Carousel(control,this.numElements);
		    //Globals
		    this.indexSource = 0;
		    this.mediaSources = ['commercial.wmv'];
    		
		    this.root = this.control.content.FindName('rootCanvas');
		    this.holder = this.control.content.FindName('boxHolder');
    		
    		
		    this.xamlDownloader = this.control.createObject('downloader');
		    this.xamlDownloader.addEventListener('Completed',Silverlight.createDelegate(this, this.onDownloaderComplete));
    		
		    this.xamlDownloader.open('GET','holder.xaml');
		    this.xamlDownloader.send();
    		
    		
		    // Sample event hookup:	
		    rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
		}else {
		    this.control = control;
    		
		    // Sample event hookup:	
		    rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
		}
	},
	
	// Sample event handler
	handleMouseDown: function(sender, eventArgs) 
	{
		// The following line of code shows how to find an element by name and call a method on it.
		// this.control.content.findName("Storyboard1").Begin();
	}
}
mediaholder.prototype.onDownloaderComplete = function (sender,eventArgs){
	this.xamlHolder = sender.responseText;
	
	var mediaHolder;
	var border = 10;
	this.indexSource = 0;
	for(var i=0; i<this.numElements;i++){
		mediaHolder = this.buildMediaHolder(i,i);
		mediaHolder['Canvas.Top'] = 0;//i * mediaHolder.Height + border;
		//this.holder.children.add(mediaHolder);
		var carrouselItem = sender.FindName('container_' +  (i+1));
		carrouselItem.children.add(mediaHolder);
		border+=10;
		
		//JS Media Object
		var mObject = new mediaObject(mediaHolder,i+1);

		mObject.addEvent(mObject.btn_play,'MouseLeftButtonDown',Silverlight.createDelegate(mObject,mObject.play));
		mObject.addEvent(mObject.btn_play,'MouseLeftButtonDown',Silverlight.createDelegate(mObject,mObject.play));
		mObject.addEvent(mObject.player_mask,'MouseEnter',Silverlight.createDelegate(this.carousel,this.carousel.onCanvasItemMouseEnter));
		mObject.addEvent(mObject.player_mask,'MouseLeave',Silverlight.createDelegate(this.carousel,this.carousel.onCanvasItemMouseLeave));
		if(this.mediaSources[this.indexSource]){
			var source = this.mediaSources[this.indexSource];
			this.indexSource++;	
		}else {
			this.indexSource = 0;
		}
		//debug(this.indexSource);
		mObject.setSource(source);
		
	}
}
mediaholder.prototype.buildMediaHolder = function (index,data){
	var newTemplate = this.xamlHolder.replaceAll('$0',index+1);
	try {
		var xamlObject = this.control.content.createFromXaml(newTemplate);
	}catch(e){
		alert(e);
	}
	
	return xamlObject;
}
mediaholder.prototype.mediaMouseLeave = function(sender,eventArgs){
	//alert(sender.Name);
}
String.prototype.replaceAll = function(seed,nString){
	
	var oTxt = this;
	var matchIndex = oTxt.indexOf(seed);
	while(matchIndex != -1){
		oTxt = oTxt.replace(seed,nString);
		matchIndex = oTxt.indexOf(seed);
	}
	return oTxt;
}
mediaholder.get = function(name){
	return this.root.FindName(name);
}

