jQuery.fn.reverse = Array.prototype.reverse;

var urlCheckDone = false;

$(function() {

	if ( $('#domainName').length != 0) {
		if ( $('#domainName').html().length > 18 ) {
			var chars = $('#domainName').html().length - 18;

			chars = Math.floor(chars / 1.3);
			if (chars > 19) chars = 19;

			$('#domainName').css('fontSize', 30-chars + 'px');
		}
	}

	$('#checkForm').submit(function(e) {

		if (!urlCheckDone) {
			if ($('#analysisURL').val().length > 3) {
				$('#analyzeURL').click();
			} else alert('Bitte geben Sie zunächst eine Webseite an.');
			return false;
		}

	});

	$('#analyzeURL').click(function() {
		if ($('#analysisURL').val().length > 3) {
			$.post('ajax.php', { load: 'isDomainReachable', site: $('#analysisURL').val() }, function(d) {
				if (d.substr(0, 6) == 'newurl') {
					$('#analysisURL').val( d.replace('newurl:', '' ).replace('http://', '') );
					$('#analyzeURL').click();
					return false;
				}

				if (d == 'success') {
					//$('#analysisURL').attr('disabled', true);
					$('#analysisURL').addClass('inputLoading');
					urlCheckDone = true;
					$('#checkForm').submit();
				}

				if(d == 'register')
				{
					window.location = "/registrieren.html/AnalysisLimit";
				}
			});
		}
	});

	$('.moreButton').click(function() {

		var slideElement = $(this).parents('div.resultBar').next('div.resultDetail');

		if (!slideElement.hasClass('hidden')) {
			$(this).parents('div.resultBar').find('.resultArrow').removeClass('active');
			slideElement.slideUp(300);
			slideElement.addClass('hidden');
		} else {
			$(this).parents('div.resultBar').find('.resultArrow').addClass('active');
			slideElement.slideDown(300);
			slideElement.removeClass('hidden');
		}

	});

	//setProgressBar(85.4, $('#googleResult'));

});

function setPoints(txt, points, totalPoints, selector) {
	var newValue = points + "<small>"+ txt[0] + " " + totalPoints + " "+ txt[1] +"</small>";

	if (!selector)
	    selector = '#totalPoints';

	$(selector).html(newValue);

	Cufon.refresh();
}

function setProgressBar(progress, resultBar, reverse) {
	var progressBar = $(resultBar).find('.resultProgress .progressBar');
	var highlightItems = Math.round(progress / 20);

    if (reverse)
        progressBar.reverse();

	$.each(progressBar, function(i, item) {
		$(item).removeClass('active');
		if (i < highlightItems) {
			$(item).addClass('active');
		}
	});

    $(resultBar).find('.resultProgress h3').text(parseInt(progress) + '%');
}

function appendResult(txtArray, category, status, html, score, selector) {
    var _score = score == null
        ? ''
        // : '<div class="points">' + score + ' <small>Punkt' + (score != 1 ? 'e' : '')+ '</small></div>';
		: '<div class="points">' + score + ' <small>' + txtArray[1]+ '</small></div>'; // asdf

    _score = '<div class="' + status + '">' + _score + html + '</div>';

    if (!selector) {
        selector = '#' + category + 'Result + div.resultDetail';

        if (status == 'warning') {
            if ($(selector + ' div.ok:last').length == 0)
                $(selector).prepend(_score);
            else
                $(selector + ' div.ok:last').after(_score);
        } else if (status == 'info') {
            if ($(selector + ' div.warning:last').length > 0)
                $(selector + ' div.warning:last').after(_score);
            else if ($(selector + ' div.ok:last').length > 0)
                $(selector + ' div.ok:last').after(_score);
            else
                $(selector).append(_score);
        } else {
            if ($(selector + ' div.ok:last').length == 0)
                $(selector).prepend(_score);
            else
                $(selector + ' div.ok:last').after(_score);
        }
    } else {
        $(selector).append(_score);
    }

    $(selector + ' > div:not(:last)').removeClass('last');
    $(selector + ' > div:last').addClass('last');
}
