var params = {
	'IP':'',
	'PORT':'',
	'CHANNEL_WNOUSER':'',
	'FONTSIZE':'',
	'CONLINK':'',
	'HELP':'',
	'WIDTH':'',
	'BGCOLOR':'',
	'SHOW_IP_PORT':'',
	'SN_BGCOLOR':'',
	'SN_COLOR':'',
	'INFO_BGCOLOR':'',
	'INFO_COLOR':'',
	'HELP_BGCOLOR':'',
	'HELP_COLOR':'',
	'CHANNEL_BGCOLOR':'',
	'CHANNEL_COLOR':'',
	'UN':'',
	'UN_BG':''
};

$(function(){	
	$(".color-selector").ColorPicker({
		onSubmit: function(hsb, hex, rgb, el) {
			$(el).val(hex);
			$(el).ColorPickerHide();
			$(el).css('border-left','10px solid #'+hex);
			loadParams();
		},
		onBeforeShow: function () {
			$(this).ColorPickerSetColor(this.value);
		}
	})
	.bind("keyup", function(){
		$(this).ColorPickerSetColor(this.value);
	});
	
	$(".color-selector").each(function(){
		$(this).css('border-left','10px solid #'+$(this).val());
	});
	
	$('.param').change(loadParams);
	
	loadParams();
});

function loadParams(){
	queryStringVars = new Array();
	$('.param').each(function(){
		params[$(this).attr('name')] = $(this).val();
		queryStringVars.push($(this).attr('name')+'='+$(this).val());		
	});	
	
	var template = '<span id="instantventrilo"><a href="http://www.instantventrilo.com/">ventrilo</a> Hosting by InstantVentrilo.com</span>';
	template += '<script type="text/javascript" src="http://view.light-speed.com/ventrilo.php?'+queryStringVars.join('&amp;')+'&amp;METHOD=js"></script>';
	$('#ventrilo-status-code textarea').val(template);
	
	$.ajax({
		'type'		: 'get',
		'url'		: '/ajax/server-status.php',
		'data'		: {
			'URL'	: 'http://view.light-speed.com/ventrilo.php?'+queryStringVars.join('&')
		},
		'success'	: function(res){
			$('#ventrilo-server-status-demo-code').html(res);
		}
	});	
}

var validate = {
	success : true,
	showError : function(field,scrollTo){
		if(scrollTo != null)
			$.scrollTo(field);

		field.css({background:'#d62d2d',color:'#fff'});

		var parentsUntil = field.parentsUntil('li');
		var selector = parentsUntil.length == 0 ? field.parent() : parentsUntil.parent();
		selector.find('.validation-error').show();

	},
	showSuccess : function(field){
		field.css({background: '#62ea6b',color:'#000'});
		var parentsUntil = field.parentsUntil('li');
		var selector = parentsUntil.length == 0 ? field.parent() : parentsUntil.parent();		
		selector.find('.validation-error').hide(); //remove any errors
	},
	checkAll : function(){
		validate.reset();

		for(var i in validate.checks){
			validate.checks[i](true);
			if(validate.success == false)
				return false;
		}
		$('#ventrilo-status-code').show(); 
		return true;
	},
	reset : function(){
		validate.success = true;
		$('.alert-wrapper').remove();
	},
	checks : {
		'IP' : function(scrollTo){
			if($('#IP').val() == ''){
				validate.showError($('#IP'),scrollTo);
				validate.success = false;
			}
			else{
				validate.showSuccess($('#IP'));
			}
		},
		'PORT' : function(scrollTo){
			if($('#PORT').val() == ''){
				validate.showError($('#PORT'),scrollTo);
				validate.success = false;
			}
			else{
				validate.showSuccess($('#PORT'));
			}
		}
	}
}
