function popup (url, name, x, y)
{
	window.open (url, name , "width="+x+", height="+y+", left=50, top=50, location=no, resizable=no, scrollbars=no, menubar=no, status=no, toolbar=no");

	return false;
}

function popupWithScroll (url, name, x, y)
{
	window.open (url, name , "width="+x+", height="+y+", left=50, top=50, location=no, resizable=no, scrollbars=yes, menubar=no, status=no, toolbar=no");

	return false;
}

function showTr(id)
{
	document.getElementById(id).style.visibility = "visible";
	document.getElementById(id).style.display = "block";
}

function hiddeTr(id)
{
	document.getElementById(id).style.visibility = "hidden";
	document.getElementById(id).style.display = "none";
}

function slider (a_init, a_tpl)
{
	this.f_setValue = f_sliderSetValue;
	this.f_getPos = f_sliderGetPos;

	// register in the global collection
	if (!window.A_SLIDERS)
	{
		window.A_SLIDERS = [];
	}

	//alert(window.A_SLIDERS.length);

	this.n_id = window.A_SLIDERS.length;
	window.A_SLIDERS[this.n_id] = this;

	// save config parameters in the slider object
	var s_key;

	if (a_tpl)
	{
		for (s_key in a_tpl)
		{
			this[s_key] = a_tpl[s_key];
		}
	}

	for (s_key in a_init)
	{
		this[s_key] = a_init[s_key];
	}

	document.write('<form name="' + this.s_form + this.n_id + '" action="#">');
	document.write('<input name="sliderValue" id="' + this.s_name + this.n_id + '" type="hidden" size="3">');
	document.write('</form>');

	document.write('<div style="position: relative; left: -4px; top: -8px; width: 20px;height: 420px;border:0; background-image:url(images/sitioshispanos/fondo_scroll.png); background-repeat: no-repeat" id="sl' + this.n_id + 'base">');
	document.write('<img src="images/sitioshispanos/scroll.png" width="15" height="31" border="0" style="position:relative; left: 2px; top: 0px; z-index: 1; cursor: pointer;visibility: hidden;" name="sl' + this.n_id + 'slider" id="sl' + this.n_id + 'slider" onmousedown="return f_sliderMouseDown(\'' + this.n_id + '\')"/>');
	document.write('</div>');

	this.n_pix2value = this.n_pathLength / (this.n_maxValue - this.n_minValue);

	if (this.n_value == null)
	{
		this.n_value = this.n_minValue;
	}

	this.e_base = get_element('sl' + this.n_id + 'base');
	this.e_slider = get_element('sl' + this.n_id + 'slider');

	// safely hook document/window events
	if (document.onmousemove != f_sliderMouseMove) {
		window.f_savedMouseMove = document.onmousemove;
		document.onmousemove = f_sliderMouseMove;
	}

	if (document.onmouseup != f_sliderMouseUp) {
		window.f_savedMouseUp = document.onmouseup;
		document.onmouseup = f_sliderMouseUp;
	}

	// preset to the value in the input box if available
	var e_input = eval('' + this.s_form + this.n_id) == null
					? get_element(this.s_name+this.n_id)
					: document.forms[this.s_form+this.n_id]
					? document.forms[this.s_form+this.n_id].elements[this.s_name+this.n_id]
					: null;

	this.f_setValue(e_input && e_input.value != '' ? e_input.value : null, 1);
	this.e_slider.style.visibility = 'visible';
}

function f_sliderSetValue (n_value, b_noInputCheck) {
	if (n_value == null)
		n_value = this.n_value == null ? this.n_minValue : this.n_value;

	if (isNaN(n_value))
		return false;

	// round to closest multiple if step is specified
	if (this.n_step)
	{
		n_value = Math.round((n_value - this.n_minValue) / this.n_step) * this.n_step + this.n_minValue;
	}

	// smooth out the result
	if (n_value % 1)
		n_value = Math.round(n_value * 1e5) / 1e5;

	if (n_value < this.n_minValue)
		n_value = this.n_minValue;

	if (n_value > this.n_maxValue)
		n_value = this.n_maxValue;

	this.n_value = n_value;

	// move the slider
	if (this.b_vertical)
		this.e_slider.style.top = (this.n_pathTop + this.n_pathLength - Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';
	else
		this.e_slider.style.left = (this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';

	// save new value
	document.getElementById(this.b_div_scroll).scrollTop=-420*(1-n_value/100)+parseInt(document.getElementById(this.b_div_scroll).scrollHeight)*(1-n_value/100);

	var e_input;
	if (eval(''+this.s_form+this.n_id) == null) {
		e_input = get_element(this.s_name+this.n_id);

		if (!e_input)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with ID='" + this.s_name + "'.");
	}
	else
	{
		var e_form = document.forms[this.s_form+this.n_id];

		if (!e_form)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the form with NAME='" + this.s_form + "'.");

		e_input = e_form.elements[this.s_name+this.n_id];

		if (!e_input)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with NAME='" + this.s_name + "'.");
	}

	e_input.value = n_value;
}

// get absolute position of the element in the document
function f_sliderGetPos (b_vertical, b_base) {
	var n_pos = 0,
	s_coord = (b_vertical ? 'Top' : 'Left');
	var o_elem = o_elem2 = b_base ? this.e_base : this.e_slider;

	while (o_elem) {
		n_pos += o_elem["offset" + s_coord];
		o_elem = o_elem.offsetParent;
	}

	o_elem = o_elem2;

	var n_offset;

	while (o_elem.tagName != "BODY") {
		n_offset = o_elem["scroll" + s_coord];

		if (n_offset)
			n_pos -= o_elem["scroll" + s_coord];

		o_elem = o_elem.parentNode;
	}

	return n_pos;
}

function f_sliderMouseDown (n_id) {
	window.n_activeSliderId = n_id;
	return false;
}

function f_sliderMouseUp (e_event, b_watching) {
	if (window.n_activeSliderId != null) {
		var o_slider = window.A_SLIDERS[window.n_activeSliderId];
		o_slider.f_setValue(o_slider.n_minValue + (o_slider.b_vertical
					? (o_slider.n_pathLength - parseInt(o_slider.e_slider.style.top) + o_slider.n_pathTop)
					: (parseInt(o_slider.e_slider.style.left) - o_slider.n_pathLeft)) / o_slider.n_pix2value);

		if (b_watching) return;

		window.n_activeSliderId = null;
	}

	if (window.f_savedMouseUp)
		return window.f_savedMouseUp(e_event);
}

function f_sliderMouseMove (e_event) {

	if (!e_event && window.event) e_event = window.event;

	// save mouse coordinates
	if (e_event) {
		window.n_mouseX = e_event.clientX + f_scrollLeft();
		window.n_mouseY = e_event.clientY + f_scrollTop();
	}

	// check if in drag mode
	if (window.n_activeSliderId != null) {
		var o_slider = window.A_SLIDERS[window.n_activeSliderId];

		var n_pxOffset;

		if (o_slider.b_vertical) {
			var n_sliderTop = window.n_mouseY - o_slider.n_sliderHeight / 2 - o_slider.f_getPos(1, 1) - 3;

			// limit the slider movement
			if (n_sliderTop < o_slider.n_pathTop)
				n_sliderTop = o_slider.n_pathTop;

			var n_pxMax = o_slider.n_pathTop + o_slider.n_pathLength;

			if (n_sliderTop > n_pxMax)
				n_sliderTop = n_pxMax;

			o_slider.e_slider.style.top = n_sliderTop + 'px';

			n_pxOffset = o_slider.n_pathLength - n_sliderTop + o_slider.n_pathTop;
		}
		else
		{
			var n_sliderLeft = window.n_mouseX - o_slider.n_sliderWidth / 2 - o_slider.f_getPos(0, 1) - 3;

			// limit the slider movement
			if (n_sliderLeft < o_slider.n_pathLeft)
				n_sliderLeft = o_slider.n_pathLeft;

			var n_pxMax = o_slider.n_pathLeft + o_slider.n_pathLength;

			if (n_sliderLeft > n_pxMax)
				n_sliderLeft = n_pxMax;

			o_slider.e_slider.style.left = n_sliderLeft + 'px';
			n_pxOffset = n_sliderLeft - o_slider.n_pathLeft;
		}

		if (o_slider.b_watch)
			f_sliderMouseUp(e_event, 1);

		return false;
	}

	if (window.f_savedMouseMove)
		return window.f_savedMouseMove(e_event);
}

// get the scroller positions of the page
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
				document.documentElement ? document.documentElement.scrollLeft : 0,
				document.body ? document.body.scrollLeft : 0
	);
}

function f_scrollTop() {
	return f_filterResults (
			window.pageYOffset ? window.pageYOffset : 0,
			document.documentElement ? document.documentElement.scrollTop : 0,
			document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body)
{
	var n_result = n_win ? n_win : 0;

	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;

	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_sliderError (n_id, s_message) {
	alert("Slider #" + n_id + " Error:\n" + s_message);
	window.n_activeSliderId = null;
}

get_element = document.all ?
	function (s_id) { return document.all[s_id] } :
	function (s_id) { return document.getElementById(s_id) };

function changeUrlFrame(selectFrame, url)
{
	objFrame = document.getElementById(selectFrame);
	objFrame.src=url;

	return false;
}

function confirm(idNew)
{

		url = 'ajax/confirm_news.php';

		$.get(url, { idNew : idNew });
}

function marc(imp, id)
{
	if (isNaN(imp))
	{
		j = eval('document.reportpay.imp_'+id);
		j.value = '';
		return;
	}


	var a = imp;
	a = a.replace(/^\s*/, '');
	a = a.replace(/\s*$/, '');

	if (a.length > 0 )
	{
		a = parseInt(imp);
	}
	else
	{
		document.getElementById('check_'+id).checked = 0;
		return;
	}

	if (a == 0)
	{
		document.getElementById('check_'+id).checked = 0;
		return;
	}
	else
	{
		document.getElementById('check_'+id).checked = 1;
	}
}

var GlobitoLock = false;

function showGlobito(idGlobito)
{
	GlobitoLock = true;

	$('#' + idGlobito).fadeIn("fast", function()
			{
				cmd = 'hideGlobito(' + idGlobito + ')';
				setTimeout(cmd, 2000);
			});
}

function hideGlobito(idToHide)
{
	$('#' + idToHide.id).fadeOut("slow");
	$('#' + idToHide.id).remove();

	GlobitoLock = false;
}

function showMessage(idGlobito)
{

	$('#' + idGlobito).fadeIn("fast", function()
			{
				cmd = 'hideGlobito(' + idGlobito + ')';
			});
}

function hideMessage(idToHide)
{
	$('#' + idToHide.id).fadeOut("slow");
	$('#' + idToHide.id).remove();
}


function add_to_shopping_cart(anchor, element, idPlan, domain)
{
	if (GlobitoLock) return false;

	elementOffset = $(element).position();

	$.ajax({
		async: true,
		url: 'ajax/add_to_shopping_cart.php',
		data: {'idPlan': idPlan, 'domain': domain},
		beforeSend: function(request) {
				$('#' + anchor).prepend('<div id="globito_carrito"></div>');
				$('#globito_carrito').addClass('globito');
				$('#globito_carrito').css({'top' : elementOffset.top+20});
				$('#globito_carrito').css({'left' : elementOffset.left});
				$('#globito_carrito').html("<div style=\"margin: 10px;\">El servicio fue agregado al carrito</div>");

				showGlobito('globito_carrito');


		},
		success: function(data) {

				$('#shopping-cart-message').css({'color' : '#073F4D', 'font-weight' : 'normal'});

				}
			});

		$.ajax({
			async: true,
			url: 'ajax/get_size_cart.php',
			dataType: "json",
			success: function(objCart) {

					$('#shopping-cart-icon').attr('src', 'images/sitioshispanos/icono_carrito_lleno.png');

					$('#shopping-cart-message').css({'color' : '#FF0099', 'font-weight' : 'bold'});

					$('#shopping-cart-message').html("&nbsp;");

					if (objCart.size > 0)
					{
						if (objCart.size == 1)
						{
							$('#shopping-cart-message').html("Tiene 1 item en el carrito");
						}
						else
						{
							$('#shopping-cart-message').html("Tiene " + objCart.size + " items en el carrito");
						}
					}
				}
			});

	return false;
}


function updateShoppingCart(myCart)
{
	items = myCart.elements;

	countItems = false;

	for (i=0; i < items.length; i++)
	{
		oneItem = items[i];

		if (oneItem.id != undefined)
		{
			$('#price_' + i).html(oneItem.price);
			$('#discountPrice_' + i).html(oneItem.discountPrice);
			$('#period_' + i).attr('selectedIndex', oneItem.period-1);
			$('#count_' + i).val(i);
			$('#id_' + i).val(oneItem.id);
			$('#quanty_' + i).val(oneItem.quanty);

			countItems = true;
		}
	}

	if (!countItems)
	{
		$('#shopping-cart-icon').attr('src', 'images/sitioshispanos/icono_carrito.png');
		$('#shopping-cart-message').html('');
	}

	$('#totalPrice').html(myCart.totalPrice);
	$('#totalPriceWithDiscount').html(myCart.totalPriceWithDiscount);
}
