google.load('search', '1', {"language" : "es"});

// the cse class encapsulates a left and right search control
// both controls are driven by a shared search form
function cse( busqueda_defecto ) {
	
	// create a custom search form
	var sFormDiv = document.getElementById("be_googlecse_searchForm");
	this.searchForm = new google.search.SearchForm(false, sFormDiv);
	
	// bind clear and submit functions
	this.searchForm.setOnSubmitCallback(this, cse.prototype.onSubmit);
	
	
	
	// configure left control
	var options_opened = new google.search.SearcherOptions();
	options_opened.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
	
	var options_closed = new google.search.SearcherOptions();
	options_closed.setExpandMode(GSearchControl.EXPAND_MODE_CLOSED);
	
	var options_partial = new google.search.SearcherOptions();
	options_partial.setExpandMode(GSearchControl.EXPAND_MODE_PARTIAL);
	
	
	
	// create a left search results
	var leftScDiv = document.getElementById("be_googlecse_leftSearchControl");
	this.leftControl = new google.search.SearchControl();
	this.leftControl.setResultSetSize(google.search.Search.LARGE_RESULTSET); // set up for small result sets
	this.leftControl.setNoResultsString(google.search.SearchControl.NO_RESULTS_DEFAULT_STRING); // no results string
	
	var leftSearchs = false;
	leftSearchs = new google.search.WebSearch();
	leftSearchs.setUserDefinedLabel("Resultados de búsqueda");
	leftSearchs.setUserDefinedClassSuffix("velneoESSearch");
	leftSearchs.setSiteRestriction("velneo.es");
	this.leftControl.addSearcher(leftSearchs, options_opened);
	
	// Create a center search results
	var centerScDiv = document.getElementById("be_googlecse_centerSearchControl");
	this.centerControl = new google.search.SearchControl();
	this.centerControl.setResultSetSize(google.search.Search.LARGE_RESULTSET); // set up for small result sets
	this.centerControl.setNoResultsString(google.search.SearchControl.NO_RESULTS_DEFAULT_STRING); // no results string
	
	var centerSearchs = false;
	centerSearchs = new google.search.VideoSearch();
	centerSearchs.setUserDefinedLabel("Videos");
	this.centerControl.addSearcher(centerSearchs, options_partial);
	
	// Create a center search results
	var rightScDiv = document.getElementById("be_googlecse_rightSearchControl");
	this.rightControl = new google.search.SearchControl();
	this.rightControl.setResultSetSize(google.search.Search.LARGE_RESULTSET); // set up for small result sets
	this.rightControl.setNoResultsString(google.search.SearchControl.NO_RESULTS_DEFAULT_STRING); // no results string
	
	var rightSearchs = false;
	rightSearchs = new google.search.ImageSearch();
	rightSearchs.setUserDefinedLabel("Imágenes");
	rightSearchs.setSiteRestriction("velneo.es");
	this.rightControl.addSearcher(rightSearchs, options_partial);
	
	
	
	// draw left CONTROL
	var drawLeftOptions = new google.search.DrawOptions();
	drawLeftOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
	this.leftControl.draw(leftScDiv, drawLeftOptions);
	
	// CENTER CONTROL TABBED
	var drawCenterOptions = new google.search.DrawOptions();
	drawCenterOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
	this.centerControl.draw(centerScDiv, drawCenterOptions);
	
	// RIGHT CONTROL TABBED
	var drawRightOptions = new google.search.DrawOptions();
	drawRightOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
	this.rightControl.draw(rightScDiv, drawRightOptions);
	
	
	
	// execute a starter search
	this.searchForm.execute(busqueda_defecto);
}


var cse_general_title = '';

// when the form fires a submit, grab its
// value and call the left and right control
cse.prototype.onSubmit = function(form) {
	var q = form.input.value;
	
	if (q && q!= "") {
		if ( cse_general_title == '' ) cse_general_title = document.title;
		document.title = cse_general_title;
		
		this.leftControl.execute(q);
		this.centerControl.execute( "ytchannel:velneo " + q );
		this.rightControl.execute( "velneo " + q );
		
		document.title = cse_general_title + " - " + q;
	}
	
	return false;
}

// when the form fires a clear, call the left and right control
cse.prototype.onClear = function(form) {
	this.leftControl.clearAllResults();
	this.centerControl.clearAllResults();
	this.rightControl.clearAllResults();
	
	form.input.value = "";
	return false;
}


jQuery(document).ready( function() {
	jQuery('.be_googlecse_rightcolumn').find('.be_googlecse_tab').hide();
	jQuery('.be_googlecse_rightcolumn').find('.be_googlecse_tab:first').show();
	
	jQuery('.be_googlecse_rightcolumn').find('.be_googlecse_tabs A').click( function() {
		jQuery('.be_googlecse_rightcolumn').find('.be_googlecse_tab').hide();
		jQuery('.be_googlecse_rightcolumn').find(jQuery(this).attr('href')).show();
		return false;
	});
	
	jQuery('.gsc-cursor-page').click( function() {
		jQuery(this).parent().parent().parent().focus();
	});
});