$(document).ready(function(){
	init_formsuite();
})

function init_formsuite(){
	$('div.fs_move_container').sortable(
		{
			accept: 		'fs_move_item',
			handle: 		'div.fs_mover',
			connectWith: 	'.fs_move_container',
			placeholder: 	'fs_sortHelper',
			update: 		fs_element_update
		}
	);
}

function callScoreEvents() {
	if(score_events != undefined) {
		var incomplete = score_events.length;
		if(incomplete > 0) {
			for (var i = 0; i < score_events.length; ++i) {
				window['dependency'+score_events[i]](true);
				incomplete--;
			}
		}
	}
}

function fs_element_update (event, ui){
	items = $(this).sortable('serialize');

	var url = '/?m=formsuite&a=element_sort&container='+this.id+'&'+items;
	AJAX.get(url, function(){}, {});
}

function previousPage(form_name, current_id){
	previous_id = window["previous_page_"+current_id];
	if(previous_id != ''){
		callScoreEvents();
		while(!window["page_enabled_"+form_name+"_"+previous_id]){			
			previous_id = window["previous_page_"+previous_id];
		}
		AJAX.get('?m=formsuite&a=page_view_log&page_id='+current_id+'&next_page_id='+previous_id+'&direction=prev', null, null);
		el(form_name+'_fs_page_'+current_id).parentNode.style.display = 'none';
		el(form_name+'_fs_page_'+previous_id).parentNode.style.display = 'block';
//		el(form_name+'_fs_page_'+previous_id).style.display = 'block';
	}
}

function update_result_id(content, params) {
    form = el(params['form_id']);

	if(content.indexOf(';') > 0){
		info = content.split(';');

		$.each( form.elements,
			function( index, element) {
			if (element.name == 'result_id') element.value = info[0];
			if (element.name == 'result_id_hash') element.value = info[1];
			}
		);
	}
}

function fs_validate_table_of_fs_page( page_id, form_element_id) {
    errors = AJAX.getSynch("/?m=formsuite&a=form_page_validate&page_id="+page_id+"&"+$(el(form_element_id)).serialize(), "", []);;
    return errors;
}

function fs_init_intermediate_saves(form_id){
    ajaxSubmitFormToUrl(form_id, "update_result_id", {'form_id' : form_id}, "?m=formsuite&a=intermediate_post_form");
}


function nextPage(form_name, current_id, form_id, save){
	if(window["fs_validate_" + current_id]()){				
		next_id = window["next_page_"+current_id];

		while(next_id != '' && !window["page_enabled_"+form_name+"_"+next_id]){
			next_id = window["next_page_"+next_id];
		}
		if(next_id == ''){
			FSSubmit(current_id, form_id);
		} else {
			if (save) {
			    ajaxSubmitFormToUrl(form_id, "update_result_id", {'form_id' : form_id}, "?m=formsuite&a=intermediate_post_form");
			}
			AJAX.get('?m=formsuite&a=page_view_log&page_id='+current_id+'&next_page_id='+next_id+'&direction=next', null, null);
			el(form_name+'_fs_page_'+current_id).parentNode.style.display = 'none';
			el(form_name+'_fs_page_'+next_id).parentNode.style.display = 'block';
		}
		callScoreEvents();
	}
}

function action_page_show(id, condition){
	window['page_enabled_'+id] = condition;
}

function action_page_hide(id, condition){action_page_show(id, !condition);}
function action_page_enable(id, condition){action_page_show(id, condition);}
function action_page_disable(id, condition){action_page_hide(id, condition);}

function FSSubmit(current_id, form_id){
	if(!el('submit_'+current_id).style.disabled){
		el('submit_'+current_id).style.disabled = true;
		if(window["fs_validate_" + current_id]()){
			AJAX.get('?m=formsuite&a=page_view_log&page_id='+current_id+'&direction=next', null, null);
			el(form_id).submit(); //submit_form(form_id);
		}else{
			el('submit_'+current_id).style.disabled = false;
		}
	}
}

function elements_add_popup(form_id, id) {
	createPopup('/?m=formsuite&a=elements_add&form_id=' + form_id + '&page_id=' + id);
}
