// JavaScript by www.gruposistemas.com

$(window).load(function(){
	$('h1,#creditos,#leyenda').supersleight();

	$('#playlist dt a').live('click', function(){
			var rel = $(this).attr('rel');
			ytplayer.stopVideo();
			ytplayer.clearVideo();
			ytplayer.loadVideoById(rel, 0);
			$.get('/?c=pagina&m=vervideo&idyt=' + rel);
			return false;
	});
	
	if($('#player').length > 0){
	    swfobject.embedSWF("http://www.youtube.com/v/" + $('#playlist dt a:eq(0)').attr('rel') + "?enablejsapi=1&playerapiid=ytplayer&autoplay=0&hl=es&fs=1&rel=0", 
       	                "player", "360", "295", "8", null, null, { allowScriptAccess: "always", allowfullscreen:"true" }, { id: "videoplayer" });
	}

	$('#fcomentar form').enviarForm(function(json){
		alert(json.mensaje);
		if(!json.error){
			location.reload(true);
		}
	});
	
	if($('#playerVivo').length > 0){
	    swfobject.embedSWF("http://www.ustream.tv/flash/live/1/2662617?autoplay=false&amp;brand=embed&amp;cid=2662617",
       	                	"playerVivo", "480", "384", "8", null, null, { allowScriptAccess: "always", allowfullscreen:"true" }, { id: "videoplayer"});
	}
	
	//updatestatus();
	scrollalert();
});

/*
function updatestatus()
{  
	//Show number of loaded items  
	var totalItems=$('#content p').length;  
	$('#status').text('Loaded '+totalItems+' Items');  
}
*/

function scrollalert()
{
	var scrolltop=$('#playlist').attr('scrollTop');
	var scrollheight=$('#playlist').attr('scrollHeight');  
	var windowheight=$('#playlist').attr('clientHeight');
	var scrolloffset=20;
	if(scrolltop>=(scrollheight-(windowheight+scrolloffset))){
		//fetch new items
		//$('#status').text('Loading more items...');
		$.get('/?c=pagina&m=masVideos&id=' + $('#playlist>dl>dt:last').attr('rel'), '', function(newitems){
			$('#playlist > dl').append(newitems);
			//updatestatus();
		});
	}
	setTimeout('scrollalert();', 1500);
}  

jQuery.fn.supersleight = function(settings) {
	settings = jQuery.extend({
		imgs: true,
		backgrounds: true,
		shim: '/img/x.gif',
		apply_positioning: true
	}, settings);
	
	return this.each(function(){
		if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7 && parseInt(jQuery.browser.version, 10) > 4) {
			jQuery(this).find('*').andSelf().each(function(i,obj) {
				var self = jQuery(obj);
				// background pngs
				if (settings.backgrounds && self.css('background-image').match(/\.png/i) !== null) {
					var bg = self.css('background-image');
					var src = bg.substring(5,bg.length-2);
					var mode = (self.css('background-repeat') == 'no-repeat' ? 'crop' : 'scale');
					var styles = {
						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='" + mode + "')",
						'background-image': 'url('+settings.shim+')'
					};
					self.css(styles);
				};
				// image elements
				if (settings.imgs && self.is('img[src$=png]')){
					var styles = {
						'width': self.width() + 'px',
						'height': self.height() + 'px',
						'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + self.attr('src') + "', sizingMethod='scale')"
					};
					self.css(styles).attr('src', settings.shim);
				};
				// apply position to 'active' elements
				if (settings.apply_positioning && self.is('a, input') && (self.css('position') === '' || self.css('position') == 'static')){
					self.css('position', 'relative');
				};
			});
		};
	});
};

var GSlide = function(params){
	var params = params || {};
	
	var container = params.container;
	var width = params.width;
	var height = params.height;
	var delay = params.delay;
		
	var count = 0;
	var slides = new Array();
	var actual = 0;
	
	var entrante = document.createElement('a');
	var saliente = document.createElement('a');

	/* init */
	jQuery(container).css({'position':'relative', 'width':width + 'px', 'height':height + 'px'});
	jQuery(entrante).css({'position':'absolute', 'z-index':'20'}).html('<img />');
	jQuery(saliente).css({'position':'absolute', 'z-index':'30'}).html('<img />');
	jQuery(container).append(entrante).append(saliente);

	this.addSlide = function(src, href, title, desc){
		slides[count++] = {src:src, href:href, title:title, desc:desc};
	}
	
	function loadSlide(){
		jQuery(entrante).children('img').attr('src', slides[actual]['src']);
		actual = (actual + 1) % count;
		var href = slides[actual]['href'];
		var title = slides[actual]['title'];
		var desc = slides[actual]['desc'];
		var src = slides[actual]['src'];
		var img = new Image();
		jQuery(img).load(function(){
			jQuery(saliente).css({opacity:0.0});
			setData(saliente, src, href, title, desc);
			jQuery(saliente).animate({opacity:1.0}, 1000);
		}).attr('src', src);
	}
	
	function setData(slide, src, href, title, desc){
		jQuery(slide).attr('href', href);
		jQuery(slide).attr('title', title);
		jQuery(slide).children('img').attr('src', src);
		/* extra */
		jQuery('#leyenda>h4').text(title);
		jQuery('#leyenda>p').text(desc);
	}
	
	this.showSlide = function(){
		setData(saliente, slides[0]['src'], slides[0]['href'], slides[0]['title'], slides[0]['desc']);
		setInterval(loadSlide, delay);
	}
}

function onYouTubePlayerReady(playerId){
	ytplayer = document.getElementById('videoplayer');
}

/* plugin jQuery para enviar formulario con ajax */
jQuery.fn.enviarForm = function(respuesta){
	$(this).submit(function(){
		var objForm = new FORM(this);
		objForm.disable();
		$.post($(this).attr('action'), objForm.getFields(), function(data){ objForm.enable(); respuesta(data); }, 'json');
		return false;
	});	
}

/* pseudo clase FORM */
var FORM = function(form)
{
	var form = form;
	var disablings = new Array();
	
	this.disable = function(){
		for(i = 0; i < form.elements.length; i++){
			disablings[i] = form.elements[i].disabled;
			form.elements[i].disabled = true;
		}
	} // end disable
	
	this.enable = function(){
		for(i = 0; i < form.elements.length; i++){
			form.elements[i].disabled = disablings[i];
		}
	} // end enable
	
	this.clean = function(){
		form.reset();
	}
	
	this.getFields = function(){
		var fields = {};
		jQuery('input, select, textarea', form).each(function(){
			var fieldName = jQuery(this).attr('name');
			if(fieldName){ fields[fieldName] = jQuery(this).val(); }
		});
		fields['ajax'] = true;
		return fields;
	}
	
	this.setFieldValue = function(iField, valor){
		form.elements[iField].value = valor;
		//form.elements[iField].focus();
	}
} // end seudo clase form