﻿var hidden = [];
var error = "Моля, дайте отговор на въпроса преди да продължите напред."
var lastPage = false;

jQuery.fn.start = function (settings) {
	var divs = $("div#content   div");
	//hide unvisible divs
	for (var i=1; i<divs.length; i++) {
		var removedDiv = $(divs[i]).addClass("hidden");
	}
	$(divs[0]).removeClass("hidden");
};

jQuery.fn.forward = function (event, settings, container) {
	var hasRadio = $("div#content div[id^='item']:visible,div[id^='q']:visible :radio").length>0;
	var isChecked = true;
	
	if (hasRadio)
		isChecked = $("div#content div[id^='item']:visible,div[id^='q']:visible :radio:checked").length > 0;
	
	if($("div#content div[id^='item'],div[id^='q']").length > 0 && isChecked) {
		var current = $("div#content div[id^='item']:visible,div[id^='q']:visible");
		hidden.push(current);
		current.remove();
		//$("#error").slideUp("slow");
		
		$($("div#content div[id^='item'],div[id^='q']")[0]).removeClass("hidden");
		if ($("div#content div[id^='item'],div[id^='q']").length == 2) {
			$("#forward").addClass("hidden");
			$("#backward").addClass("hidden");
			lastPage = true;
		}
		if (hidden.length > 0 && !lastPage) {
			$("#backward").removeClass("hidden");
		}
		if ($("div#content div[id^='item'],div[id^='q']").length == 1) {
			$("#fortumo").removeClass("hidden");
			$("#smspay-widget").removeClass("hidden");
			$("#smspay-widget div").removeClass("hidden");
		}
	} else {
		//$("#error").slideDown("slow");
		$("#error").dialog('open');
	}
	event.preventDefault();
};

jQuery.fn.backward = function (event, settings, container) {
	var current = $("div#content div[id^='item']:visible,div[id^='q']:visible");
	var prev = hidden.pop();
	
	if(prev) {
		$(prev).insertBefore(current);
		current.addClass("hidden");
		if (hidden.length == 0) {
			$("#backward").addClass("hidden");
		} else if (container.children().length > 0)
			$("#forward").removeClass("hidden");
	}
	event.preventDefault();
};


$(document).ready(function(){
	var fastForward = true;
	//Disable firebug
	if (!("console" in window) || !("firebug" in console))
	{
	    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	    window.console = {};
	    for (var i = 0; i <names.length; ++i) window.console[names[i]] = function() {};
	}
	
	$("#arrows").removeClass("hidden");
	$("#error").text(error).hide();
	$("#error").dialog({
		bgiframe: true,
		modal: true,
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	});
	$("#error").dialog('close');
	$("#content").start({visible:1});
	$("#content").removeClass("hidden");
	$("#forward, #getMethodic").click(function(event){
		$(this).forward(event, {visible:1}, $("#content"));
	});
	$("#fastForward").click(function(event){
		if (fastForward) {
			$(this).forward(event, {visible:1}, $("#content"));
			$(this).forward(event, {visible:1}, $("#content"));
			$(this).forward(event, {visible:1}, $("#content"));
			fastForward = false;
		} else {
			
		}
		event.preventDefault();
	});
	$("#backward").click(function(event){
		$(this).backward(event, {visible:1}, $("#content"));
	});
	if (hidden.length == 0)
		$("#backward").addClass("hidden");
});
