var active = false;

function toggle( item ) {
	var current = $( item );
	if( current ) {
		if( active ) {
			active.style.display = 'none';
		}
		if( ( current.style.display == 'none' ) ) {
			if ( active == current ) {												
				active = false;
			} else {
				current.style.display = 'block';
				active = current;
			}
		}
	}
}

function display( item ) {
	var current = $( item );
	if( current ) {
		if( active ) {
			active.style.display = 'none';
		}
		current.style.display = 'block';
		active = current;
	}
}

/**
 * ajax form submit function
 */
function submitForm( form_id, response_container ) {
	form_el = $j('#'+form_id);
	form_data = form_el.serialize();
	$j.ajax({
		type: "POST",
		url: form_el.attr('action'),
		data: form_data,
		success: function(html){
			$j('#'+response_container).html(html);
		}
	});
	return false;
}

var _class;
function showClass( class_name ) {
	if ( _class != class_name ) {
		$j('.question').hide();
		$j('.'+class_name).show('slow');
		_class = class_name;
	}

}

function getBlock( block_url, response_container ) {
	$j.ajax({
		type: "GET",
		url: block_url,
		success: function(html){
			$j('#'+response_container).html(html);
		}
	});
	return false;
}

var _section;
function getSection( section, response_container ) {
	if ( _section != section || $j('#'+response_container+' .question').length == 0 ) {
		_section = section;
		section_url = root_url + '?act=js/section&s='+section;
		getBlock( section_url, response_container );
  }
}
function number_format(number, decimals, dec_point, thousands_sep) {
    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
};
function overImg( obj, img, over ){	
	if ( $j( obj ).attr( 'src' ) == img ){
		$j( obj ).attr( 'src', over )
	} else {
		$j( obj ).attr( 'src', img )
	}
}
