/* gscript by www.gruposistemas.com */

$(window).load(function(){
	$.post($('#chat').attr('href'), {ajax:true}, function(data){
		$('#chat').text(data.status).attr('href', data.enlace).attr('id', data.id);
		$('#chat-no').attr('class', 'boxy');
		$('#chat-si').click(function(){ window.open($(this).attr('href'), 'chat', 'width=300,height=400'); return false; });
	}, 'json');
	
	$('.boxy').live('click', function(){ getFormBox($(this).attr('href')); return false; });
		
	if($('#slide').length > 0){
		var sld = new GSlide({container:'#slide', width:630, height:300, delay:5000});
		sld.addSlide('img/slides/hosting.jpg', '/hosting', 'Hosting y Dominios');
		sld.addSlide('img/slides/desarrollo.jpg', '/servicios', 'Desarrollo Web');
		sld.addSlide('img/slides/pronto.jpg', 'http://www.mercadir.com', 'Marketing digital');
		sld.showSlide();
	}
	
	$('#fdominios2').submit(function(){
		var form = new FORM(this);
		//form.disable();
		$('#dommsj').text('Espere por favor...').addClass('loader');
		$.post($(this).attr('action'), form.getFields(), function(data){
			$('#dommsj').replaceWith(data.mensaje);
			//form.enable();
			if(!data.error){
				form.setFieldValue(0, '');
				$('#domtab table').append(data.html);
			}
		}, 'json');
		return false;		
	});
	
	//$('.cbox').live('click', function(){ getContentBox($(this).attr('href')); return false; });
	$('.boxyh').click(function(){ getFormBox('/?c=hosting-comprar&t=' + escape($(this).text())); return false; });
});

/*
function getContentBox(url){
	Boxy.load(url);
}
*/

function getFormBox(url){
	Boxy.load(url, {unloadOnHide:true, afterShow:function(){ ajaxEvents(); }});
}

function ajaxEvents(){
	$('.ajaxform').submit(function(){
		var form = new FORM(this);
		form.disable();
		$.post($(this).attr('action'), form.getFields(), function(data){
			var $mensaje = $('#errormsg');
			if(data.error){
				$mensaje.attr('class', 'rojo');
				form.enable();
			} else{
				$mensaje.attr('class', 'verde').next().hide();
			}
			$mensaje.html(data.mensaje);
		}, 'json');
		return false;
	});
}

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){
		slides[count++] = {src:src, href:href, title:title};
	}
	
	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 src = slides[actual]['src'];		
		var img = new Image();
		jQuery(img).load(function(){
			jQuery(saliente).css({opacity:0.0});
			setData(saliente, src, href, title);
			jQuery(saliente).animate({opacity:1.0}, 1000);
		}).attr('src', src);
	}
	
	function setData(slide, src, href, title){
		jQuery(slide).attr('href', href);
		jQuery(slide).attr('title', title);
		jQuery(slide).children('img').attr('src', src);
	}
	
	this.showSlide = function(){
		setData(saliente, slides[0]['src'], slides[0]['href'], slides[0]['title']);
		setInterval(loadSlide, delay);
	}
}

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

