/**
 * 
 */


window.addEvent('domready', function()
{
	// the entry point, executing javascript before this point
	// is not safe.

	//gameinfo.init();
	

	window.addEvent('resize',resizeGamePage);
	//alert(window.location);
	
	
});

var gameinfo = {};

gameinfo.init = function(options)
{
	
	var info = $('gameinfo');
	var content = $('gameinfo_content');
	if(content == null) return;
	
	var contentItems = content.getElements('div.item');
	var tabCont = $('gameinfo_tabs');
	var tabs = tabCont.getElements('div.tab');
	var items = content.getElements('div');
	var header = $('gameinfo_header');
	
	//alert(contentItems.length);
	
	for(var i =0; i<tabs.length;i++)
	{
		var tab = tabs[i].getElement('div');

		
		if(tabs[i].getProperty("title") == "Forum")
		{
			tab.addEvent('click',function(){
				
				var overlay = new Element('div');
				overlay.setProperty('id', 'galleryOverlay');
				overlay.addClass('fullscreenOverlay');
				overlay.inject($(document.body));
				
				overlay.addEvent('click',function(){
					overlay.destroy();
				});
				
				var final_width = 986;
				var final_height = getWindowHeight() -100;
				
				
				
				var panel = new Element('div');
				panel.setProperty('id', 'overlayPanel');
				panel.addClass('forums');
				panel.setStyle('width',final_width);
				panel.setStyle('height',final_height+31);
				panel.setStyle('top',  getScrollXY().y + 25);
				panel.inject(overlay);
				
				var iframe = new Element("iframe");
				iframe.setProperty("src",options.forumURL);
				iframe.addClass('frame');
				iframe.setStyle('width',final_width - 6);
				iframe.setStyle('height',final_height +25 -6);
				iframe.inject(panel);
				
				
			});
			continue;
		}
		
		(function(index)
		{
			

			tab.addEvent('click', function(){
				
				
				//alert(index);
				for(var t =0; t<tabs.length;t++)
				{
					tabs[t].removeClass('selected');
					
				
				}
				
				tabs[index].addClass('selected');
				
				header.set('html', tabs[index].getProperty('title'));
				
				
				for(var t =0; t<contentItems.length;t++)
				{
					contentItems[t].setStyle('display','none');
				}
				
				contentItems[index].setStyle('display','block');
				
			});
		})(i);
	
	}
}


var featuredmedia = {};

featuredmedia.lastSelected = 0;

featuredmedia.deselect = function(options)
{
	var items = $(options.itemContainer).getElements(options.selector);
	for(var i = 0; i < items.length; i++)
	{
		var item = items[i];
		item.removeClass('selected');
	}

}

featuredmedia.init = function(options){
	
	var player = $(options.player);
	
	if(player == null) return;
	var items = $(options.itemContainer).getElements(options.selector);
	
	//alert(items.length);
	
	items[featuredmedia.lastSelected].addClass('selected');
	
	for(var i = 0; i < items.length; i++)
	{
		var item = items[i];
		
		(function(index)
		{
			item.addEvent('click', function() {

				for(var t =0; t<items.length;t++)
				{
					items[t].removeClass('selected');	
				}
				
				items[index].addClass('selected');
				featuredmedia.lastSelected = index;
				
				var mediaType = items[index].getProperty('mediaType');
				
				var c_width = player.getComputedSize().width;
				var c_height = player.getComputedSize().height;
				var c_ratio = c_width / c_height;
				
				if(mediaType == 1)
				{
					
					var thumb = items[index].getElement('div.thumbnail');
					var img_thumb_src = thumb.getStyle('background-image');
					var parts = img_thumb_src.split('"');
					img_thumb_src = parts.join('');
					img_thumb_src = img_thumb_src.substr(4,img_thumb_src.length-5);
					//alert(img_thumb_src);
					
					var img = new Image;
					img.src = img_thumb_src;
					
					var t_width = img.width;
					var t_height = img.height;
					var ratio = t_width / t_height;
					
					var media = new Element('div');
					media.setStyle('width',c_width);
					media.setStyle('height',c_height);
					media.setStyle('opacity',0);
					media.setStyle('overflow','hidden');
					
					var final_width = 0;
					var final_height = 0;
					if(c_ratio > ratio)
					{
						final_height = c_height;
						final_width = c_height*ratio;
						
						media.setStyle('padding-top',0);
						media.setStyle('padding-left',(c_width-final_width)/2);
					}
					else
					{
						final_width = c_width;
						final_height = c_width/ratio;
						
						media.setStyle('padding-top',(c_height-final_height)/2);
						media.setStyle('padding-left',0);
					}
					
					//alert(final_width + " " + final_height);
					
					var image = new Element('img');
					image.setProperty('width', final_width);
					image.setProperty('height', final_height);
					image.setStyle('width', final_width);
					image.setStyle('height', final_height);
					image.setProperty('src',items[index].getProperty('mediaPath'));
					image.inject(media);
					
					player.set('html','');
					media.inject(player);
					
					media.morph({opacity: 1});
					
				}
				
				if(mediaType == 2)
				{
					if(Browser.Engine.trident || Browser.Engine.gecko)
					{
						// use flash
						//alert(items[index].getProperty('mediaPathF4V'));
						
						var obj = new Swiff('/html/layout/meridian4/images/player.swf', {
						    id: 'featuredVideoPlayer',
						    width: 562,
						    height: 320,
						    params: {
						        wMode: 'opaque',
						        bgcolor: '#000000',
						        allowFullScreen : 'true' 
						    },
						    vars: {
						        skin: "/html/layout/meridian4/images/player_skin.swf",
						        thumbnail: items[index].getProperty('mediaPath'),
						        video: items[index].getProperty('mediaPathF4V'),
						        fullscreen: 'true',
						        autoplay: options.autoplay
						    }
						   
						});
						
						player.set('html','');
						obj.inject(player);

					}
					else
					{
						// use video tag
						
						var video = new Element('video');
						video.setProperty('width',c_width);
						video.setProperty('height',c_height);
						video.setProperty('controls','controls');
						video.setProperty('poster', items[index].getProperty('mediaPath'));
						video.setProperty('posterframe', items[index].getProperty('mediaPath'));
						/*video.setProperty('autoplay',"0");*/
						var source =  new Element('source');
						source.setProperty('src',items[index].getProperty('mediaPathH264'));
						source.setProperty('type',"video/mp4");
						source.inject(video);
						
					
						player.set('html','');
						video.inject(player);
						
					}
					
				}
				
			});
			
			item.addEvent('mouseover', function() {

				for(var t =0; t<items.length;t++)
				{
					items[t].removeClass('selected');	
				}	
			});
			
			item.addEvent('mouseout', function() {

				items[featuredmedia.lastSelected].addClass('selected');
			});

		})(i);
		
	}
	
	items[featuredmedia.lastSelected].fireEvent('click');
	
}

var storefeaturedmedia = {};

storefeaturedmedia.lastSelected = 0;

storefeaturedmedia.deselect = function(options)
{
	var items = $(options.itemContainer).getElements(options.selector);
	for(var i = 0; i < items.length; i++)
	{
		var item = items[i];
		item.removeClass('selected');
	}

}

storefeaturedmedia.init = function(options){
	
	var player = $(options.player);
	
	if(player == null) return;
	var items = $(options.itemContainer).getElements(options.selector);
	
	//alert(items.length);
	
	storefeaturedmedia.numItems = items.length;
	storefeaturedmedia.currentItem = 0;
	
	items[storefeaturedmedia.lastSelected].addClass('selected');
	

	
	for(var i = 0; i < items.length; i++)
	{
		var item = items[i];
		
		(function(index)
		{
			item.addEvent('click', function() {

				for(var t =0; t<items.length;t++)
				{
					items[t].removeClass('selected');	
				}
				
				items[index].addClass('selected');
				featuredmedia.lastSelected = index;
				
				var mediaType = items[index].getProperty('mediaType');
				
				var c_width = player.getComputedSize().width;
				var c_height = player.getComputedSize().height;
				var c_ratio = c_width / c_height;
				
				if(mediaType == 1)
				{
					
					var thumb = items[index].getElement('div.thumbnail');
					var img_thumb_src = thumb.getStyle('background-image');
					var parts = img_thumb_src.split('"');
					img_thumb_src = parts.join('');
					img_thumb_src = img_thumb_src.substr(4,img_thumb_src.length-5);
					//alert(img_thumb_src);
					
					var img = new Image;
					img.src = img_thumb_src;
					
					var t_width = img.width;
					var t_height = img.height;
					var ratio = t_width / t_height;
					
					var media = new Element('div');
					media.setStyle('width',c_width);
					media.setStyle('height',c_height);
					media.setStyle('opacity',0);
					media.setStyle('overflow','hidden');
					
					var final_width = 0;
					var final_height = 0;
					if(c_ratio > ratio)
					{
						final_height = c_height;
						final_width = c_height*ratio;
						
						media.setStyle('padding-top',0);
						media.setStyle('padding-left',(c_width-final_width)/2);
					}
					else
					{
						final_width = c_width;
						final_height = c_width/ratio;
						
						media.setStyle('padding-top',(c_height-final_height)/2);
						media.setStyle('padding-left',0);
					}
					
					//alert(final_width + " " + final_height);
					
					var image = new Element('img');
					image.setProperty('width', final_width);
					image.setProperty('height', final_height);
					image.setStyle('width', final_width);
					image.setStyle('height', final_height);
					image.setProperty('src',items[index].getProperty('mediaPath'));
					image.inject(media);
					
					player.set('html','');
					media.inject(player);
					
					media.morph({opacity: 1});
					
				}
				
				if(mediaType == 2)
				{
					if(Browser.Engine.trident || Browser.Engine.gecko)
					{
						// use flash
						//alert(items[index].getProperty('mediaPathF4V'));
						
						var obj = new Swiff('/html/layout/meridian4/images/player.swf', {
						    id: 'featuredVideoPlayer',
						    width: 562,
						    height: 320,
						    params: {
						        wMode: 'opaque',
						        bgcolor: '#000000',
						        allowFullScreen : 'true' 
						    },
						    vars: {
						        skin: "/html/layout/meridian4/images/player_skin.swf",
						        thumbnail: items[index].getProperty('mediaPath'),
						        video: items[index].getProperty('mediaPathF4V'),
						        fullscreen: 'true',
						        autoplay: options.autoplay
						    }
						   
						});
						
						player.set('html','');
						obj.inject(player);

					}
					else
					{
						// use video tag
						
						var video = new Element('video');
						video.setProperty('width',c_width);
						video.setProperty('height',c_height);
						video.setProperty('controls','controls');
						video.setProperty('poster', items[index].getProperty('mediaPath'));
						video.setProperty('posterframe', items[index].getProperty('mediaPath'));
						/*video.setProperty('autoplay',"0");*/
						var source =  new Element('source');
						source.setProperty('src',items[index].getProperty('mediaPathH264'));
						source.setProperty('type',"video/mp4");
						source.inject(video);
						
					
						player.set('html','');
						video.inject(player);
						
					}
					
				}
				
				// set the data
				var title = $(options.title);
				title.set('html',items[index].getProperty('title'));
				
				var desc = $(options.desc);
				desc.set('html',items[index].getProperty('brief'));
				
				var more = $(options.more);
				more.setProperty('href',items[index].getProperty('morelink'));
				
				var buy = $(options.buy);
				buy.setProperty('href',items[index].getProperty('buylink'));
				
			});
			
			item.addEvent('mouseover', function() {

				for(var t =0; t<items.length;t++)
				{
					items[t].removeClass('selected');	
				}	
			});
			
			item.addEvent('mouseout', function() {

				items[featuredmedia.lastSelected].addClass('selected');
			});

		})(i);
		
	}
	

	
	items[storefeaturedmedia.lastSelected].fireEvent('click');
	
	storefeaturedmedia.intervalID  = (function(){
		storefeaturedmedia.lastSelected += 1;
		if(storefeaturedmedia.lastSelected >= storefeaturedmedia.numItems)
		{
			storefeaturedmedia.lastSelected = 0;
			
		}
		
		items[storefeaturedmedia.lastSelected].fireEvent('click');
		
	}).periodical(3500);
	
	player.addEvent('mouseover', function(){
		clearInterval(storefeaturedmedia.intervalID);
	});
	
}



function resizeGamePage()
{
	var galleryOverlay = $('galleryOverlay');
	var panel = $('overlayPanel');
	if(galleryOverlay == null) return;
	
	panel.setStyle('top', getScrollXY().y + ((window.innerHeight - 500)/2));
	
}


var imagegallery = {};
imagegallery.init = function(options) {
	
	var container = $(options.container);
	var items = container.getElements(options.selector);
	
	for(var i = 0; i < items.length; i++)
	{
		var item = items[i];
		(function(index)
		{
			item.addEvent('click', function() {
				
				var overlay = new Element('div');
				overlay.setProperty('id', 'galleryOverlay');
				overlay.addClass('fullscreenOverlay');
				overlay.currentIndex = index;
				overlay.inject($(document.body));
				
				var thumb = items[index].getElement('div.thumbnail');
				var img_thumb_src = thumb.getStyle('background-image');
				var parts = img_thumb_src.split('"');
				img_thumb_src = parts.join('');
				img_thumb_src = img_thumb_src.substr(4,img_thumb_src.length-5);
				//alert(img_thumb_src);
				var img = new Image;
				img.src = img_thumb_src;
				
				var t_width = img.width;
				var t_height = img.height;
				var ratio = t_width / t_height;
				
				var media = new Element('div');
				media.setStyle('width',700);
				media.setStyle('height',531);
				//media.setStyle('opacity',0);
				media.setStyle('overflow','hidden');
				
				var final_width = 0;
				var final_height = 0;
				if((700/500) > ratio)
				{
					final_height = 500;
					final_width = 500*ratio;
					
					/*media.setStyle('padding-top',0);
					media.setStyle('padding-left',(700-final_width)/2);*/
				}
				else
				{
					final_width = 700;
					final_height = 700/ratio;
					
					/*media.setStyle('padding-top',(500-final_height)/2);
					media.setStyle('padding-left',0);*/
				}
				
				//alert(final_height);
				
				var panel = new Element('div');
				panel.setProperty('id', 'overlayPanel');
				panel.addClass('panel');
				panel.setStyle('width',final_width);
				panel.setStyle('height',final_height+31);
				panel.setStyle('top', getScrollXY().y + ((getWindowHeight() - (final_height+20))/2));
				panel.inject(overlay);
				
				media.setStyle('width',final_width);
				media.setStyle('height',final_height+31);
				
				var image = new Element('img');
				image.setProperty('width', final_width);
				image.setProperty('height', final_height);
				image.setStyle('width', final_width);
				image.setStyle('height', final_height);
				image.setStyle('clear', 'both');
				image.setProperty('src',items[index].getProperty('mediaPath'));
				image.inject(media);
				
				media.inject(panel);
				
				var sep = new Element('div');
				sep.inject(media);
				
				var leftbtn = new Element('div', {'class':'leftbtn'});
				leftbtn.inject(media);
				
				
				var rightbtn = new Element('div', {'class':'rightbtn'});
				rightbtn.inject(media);
				
				leftbtn.addEvent('click',function(e){
					e.stopPropagation();

					overlay.currentIndex = overlay.currentIndex - 1;
					
					if(overlay.currentIndex > 0)
					{		
						leftbtn.setStyle('display', 'block');
					}
					else
					{
						leftbtn.setStyle('display', 'none');
					}
					if(overlay.currentIndex < items.length -1)
					{
						rightbtn.setStyle('display', 'block');
					}
					else
					{
						rightbtn.setStyle('display', 'none');
					}
					
					var delimg = media.getElement('img');
					delimg.destroy();
					
					var thumb = items[overlay.currentIndex].getElement('div.thumbnail');
					var img_thumb_src = thumb.getStyle('background-image');
					var parts = img_thumb_src.split('"');
					img_thumb_src = parts.join('');
					img_thumb_src = img_thumb_src.substr(4,img_thumb_src.length-5);
					//alert(img_thumb_src);
					var img = new Image;
					img.src = img_thumb_src;
					
					var t_width = img.width;
					var t_height = img.height;
					var ratio = t_width / t_height;
					
					var final_width = 0;
					var final_height = 0;
					if((700/500) > ratio)
					{
						final_height = 500;
						final_width = 500*ratio;
					}
					else
					{
						final_width = 700;
						final_height = 700/ratio;
					}
					
					panel.setStyle('width',final_width);
					panel.setStyle('height',final_height+31);
					
					media.setStyle('width',final_width);
					media.setStyle('height',final_height+31);
					
					var image = new Element('img');
					image.setProperty('width', final_width);
					image.setProperty('height', final_height);
					image.setStyle('width', final_width);
					image.setStyle('height', final_height);
					image.setProperty('src',items[overlay.currentIndex].getProperty('mediaPath'));
					image.inject(media,'top');
					
				});
				
				if(index == 0)
				{
					leftbtn.setStyle('display', 'none');
				}
				
			
				
				rightbtn.addEvent('click',function(e){
					e.stopPropagation();
					
					overlay.currentIndex = overlay.currentIndex + 1;
					
					if(overlay.currentIndex > 0)
					{		
						leftbtn.setStyle('display', 'block');
					}
					else
					{
						leftbtn.setStyle('display', 'none');
					}
					if(overlay.currentIndex < items.length -1)
					{
						rightbtn.setStyle('display', 'block');
					}
					else
					{
						rightbtn.setStyle('display', 'none');
					}		
					
					var delimg = media.getElement('img');
					delimg.destroy();
					
					var thumb = items[overlay.currentIndex].getElement('div.thumbnail');
					var img_thumb_src = thumb.getStyle('background-image');
					var parts = img_thumb_src.split('"');
					img_thumb_src = parts.join('');
					img_thumb_src = img_thumb_src.substr(4,img_thumb_src.length-5);
					//alert(img_thumb_src);
					var img = new Image;
					img.src = img_thumb_src;
					
					var t_width = img.width;
					var t_height = img.height;
					var ratio = t_width / t_height;
					
					var final_width = 0;
					var final_height = 0;
					if((700/500) > ratio)
					{
						final_height = 500;
						final_width = 500*ratio;
					}
					else
					{
						final_width = 700;
						final_height = 700/ratio;
					}
					
					panel.setStyle('width',final_width);
					panel.setStyle('height',final_height+31);
					
					media.setStyle('width',final_width);
					media.setStyle('height',final_height+31);
					
					var image = new Element('img');
					image.setProperty('width', final_width);
					image.setProperty('height', final_height);
					image.setStyle('width', final_width);
					image.setStyle('height', final_height);
					image.setProperty('src',items[overlay.currentIndex].getProperty('mediaPath'));
					image.inject(media,'top');
					
					
					
				});
			
				if(index == items.length -1)
				{
					rightbtn.setStyle('display', 'none');
				}
				
				
				
				overlay.addEvent('click', function(){
					overlay.destroy();
				});
				
			});

				

		})(i);
	}
	
}



var videogallery = {};
videogallery.init = function(options) {
	
	var container = $(options.container);
	var items = container.getElements(options.selector);
	
	var player = $(options.player);
	
	for(var i = 0; i < items.length; i++)
	{
		var item = items[i];
		(function(index)
		{
			item.addEvent('click', function() {
				

				if(Browser.Engine.trident || Browser.Engine.gecko)
				{
					// use flash
					//alert(items[index].getProperty('mediaPathF4V'));
					
					var obj = new Swiff('/html/layout/meridian4/images/player.swf', {
					    id: 'featuredVideoPlayer',
					    width: 562,
					    height: 320,
					    params: {
					        wMode: 'opaque',
					        bgcolor: '#000000',
					        allowFullScreen : 'true' 
					    },
					    vars: {
					        skin: "/html/layout/meridian4/images/player_skin.swf",
					        thumbnail: items[index].getProperty('mediaPath'),
					        video: items[index].getProperty('mediaPathF4V'),
					        fullscreen: 'true',
					        autoplay: '1'
					    }
					   
					});
					
					player.set('html','');
					obj.inject(player);

				}
				else
				{
					// use video tag
					
					var video = new Element('video');
					video.setProperty('width',c_width);
					video.setProperty('height',c_height);
					video.setProperty('controls','controls');
					video.setProperty('autoplay', '1');
					var source =  new Element('source');
					source.setProperty('src',items[index].getProperty('mediaPathH264'));
					source.setProperty('type',"video/mp4");
					source.inject(video);
					
				
					player.set('html','');
					video.inject(player);
					
				}
				
				if($('videoContainer') != null)
				{
					featuredmedia.deselect({itemContainer:'featuredContainer', selector:'div.videoItemWhite'});
				}
					
				
				
			});

				

		})(i);
	}
	
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
//Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return {x: scrOfX, y: scrOfY };
}

function getWindowHeight()
{
	var theHeight = 0;
	if (window.innerHeight) {
		theHeight=window.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
		theHeight=document.documentElement.clientHeight;
	}
	else if (document.body) {
		theHeight=document.body.clientHeight;
	}

	return theHeight;
}

