
var formSection = {};
var formSectionOptions = {
	max: 0,
	visible: 0,
	current: 0,
	action: 'view'
};

function setFormSection(options)
{
	options = $.extend({}, formSectionOptions, options);
	formSection[options.name] = options;
	if (options.visible+1 >= options.max) {
		$('#'+options.name+'_add').hide();
	}
}

function toggleFormSection(name, nr, action)
{
	if (formSection[name] != 'undefined')
	{
		sec = formSection[name];
		if (sec.current!=nr || sec.action!=action) {
			//$(':input[name="SFRM_ent_'+name+'['+nr+'][validate]"]').val('true');
			$('#'+name+'_'+nr+'_'+action).show();
			//$('#'+name+'_'+nr+'_view').slideUp('slow');
			$('#'+name+'_'+nr+'_view').hide();
			formSection[name].current = name;
			formSection[name].action = action;
		}
	}
	
	// return false to stay on this page
	return false;
}

function removeFormSection(name, nr, input, undo)
{
	var prefix = name+'_'+nr;
	if (undo) {
		$(':input[name="'+input+'[remove]"]').val('false');
		$('#'+prefix+'_remove').hide();
		$('#'+prefix+'_view').show();
	} else {
		$(':input[name="'+input+'[remove]"]').val('true');
		$('#'+prefix+'_remove').show();
		$('#'+prefix+'_view').hide();
	}
	return false;
}

function addFormSection(name)
{
	if (formSection[name] != 'undefined') {
		formSection[name].visible++;
		if (formSection[name].visible < formSection[name].max) {
			//$(':input[name="SFRM_ent_'+name+'['+formSection[name].visible+'][validate]"]').val('true');
			$('#'+name+'_'+formSection[name].visible).show();
			toggleFormSection(name, formSection[name].visible, 'edit');
			$('#'+name+'_add').hide().show();
		} 
		
		if (formSection[name].visible+1 == formSection[name].max) {
			$('#'+name+'_add').hide();
		}
	}
	return false;
}

function setSalaryPeriod(value, nr)
{
	if (typeof(nr)=='number') {
		setSalaryRange('', nr);
		$('#salary_'+nr+'_hour,#salary_'+nr+'_month,#salary_'+nr+'_year,#salary_'+nr).hide();
		$('#SFRM_ent_job_'+nr+'_salary_range').removeClass('validator-required');
		if (value.indexOf('hour') >= 0) { 
			$('#salary_'+nr+'_hour').show();
			$('#salary_'+nr).show();
			$('#SFRM_ent_job_'+nr+'_salary_range').addClass('validator-required');
		} else if (value.indexOf('month') >= 0) {
			$('#salary_'+nr+'_month').show();
			$('#salary_'+nr).show();
			$('#SFRM_ent_job_'+nr+'_salary_range').addClass('validator-required');
		} else if (value.indexOf('year') >= 0) {
			$('#salary_'+nr+'_year').show();
			$('#salary_'+nr).show();
			$('#SFRM_ent_job_'+nr+'_salary_range').addClass('validator-required');
		}
	} else {
		setSalaryRange('');
		$('#salary_hour,#salary_month,#salary_year').hide();
		if (value.indexOf('hour') >= 0) { 
			$('#salary_hour').show();
		} else if (value.indexOf('month') >= 0) {
			$('#salary_month').show();
		} else if (value.indexOf('year') >= 0) {
			$('#salary_year').show();
		}
	}
}

function setSalaryRange(value, nr)
{
	if (typeof(nr) == 'number') {
		$(":input[name='SFRM_ent_job["+nr+"][att_salary_range]']").val(value);
	} else {
		$("#SFRM_att_salary_range").val(value);
	}
}

function toggleRadios(name, value)
{
	$(":input[name='"+name+"[]']").attr('checked', (value ? 'checked' : ''));
}

function initTinyMCE()
{

	//valid_elements : "*[*]",
	//can use in future:
	//init_instance_callback : "myMCEInstance",

	tinyMCE.init({

		mode : "textareas",
		theme : "advanced",
		editor_selector : "ctrl_tinymce",
		width : 510,
		height: 350,
		plugins : "table,paste,wclink",
		language : "en",

		// various
		apply_source_formatting : true,
		//forced_root_block : 'p',
		doctype : '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
		content_css : "/stylesheets/styles.css",

		// link
		relative_urls : false,
		remove_script_host : true,
		document_base_url : '',
		convert_urls : false,

		// buttons placing
		theme_advanced_buttons1 : "bold,italic,|,bullist,numlist,|,cut,copy,paste,pastetext,pasteword",
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : false,
		theme_advanced_resizing : false,
		theme_advanced_resize_horizontal : false,
		//theme_advanced_resizing_use_cookie : false,

		// paste plugin
		paste_use_dialog : false,
		paste_auto_cleanup_on_paste : true,
		paste_convert_headers_to_strong : true,
		//paste_unindented_list_class : false,
		paste_strip_class_attributes : "all",

		// allowed tags
		valid_elements : "" +
			//"+a[id|style|rel|rev|charset|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|" +
			//    "ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup]," +
			"-strong/-b[class|style]," +
			"-em/-i[class|style]," +
			"-strike[class|style]," +
			"-u[class|style]," +
			"#p[id|style|dir|class|align]," +
			"-ol[class|style]," +
			"-ul[class|style]," +
			"-li[class|style]," +
			 "br," +
			//"img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align]," +
			//"-sub[style|class]," +
			//"-sup[style|class]," +
			//"-blockquote[dir|style]," +
			//"-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor]," +
			//"-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor]," +
			// "tbody[id|class]," +
			// "thead[id|class]," +
			// "tfoot[id|class]," +
			//"-td[id|lang|title|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope]," +
			//"-th[id|lang|title|dir|class|colspan|rowspan|width|height|align|valign|style|scope]," +
			// "caption[id|lang|dir|class|style]," +
			//"-div[id|dir|title|class|style]," +
			//"-span[style|class|align]," +
			//"-pre[class|align|style]," +
			// "address[class|align|style]," +
			//"-h1[id|style|dir|class|align]," +
			//"-h2[id|style|dir|class|align]," +
			//"-h3[id|style|dir|class|align]," +
			//"-h4[id|style|dir|class|align]," +
			//"-h5[id|style|dir|class|align]," +
			//"-h6[id|style|dir|class|align]," +
			 //"hr[class|style]," +
			 //"dd[id|class|title|style|dir|lang]," +
			 //"dl[id|class|title|style|dir|lang]," +
			 //"dt[id|class|title|style|dir|lang]," +
			 //"iframe[align<bottom?left?middle?right?top|class|frameborder|height|id|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style|title|width]," +
			 //"noscript," +
			 //"script[type|src]" +
			 ""
	});
	//set when tinyMCE is supposed to be loaded
	tinymce_loaded = true;
}

function setBusiness(status)
{
	if (status==='Yes') {
		$('#form_business_info').hide();
		$('#vat_country').show();
		$('#SFRM_att_vat_country').addClass('validator-required').focus();;
		if($('#SFRM_att_vat_country').val()=='') $('#SFRM_att_vat_country').val($('#SFRM_att_country').val());
		setVATCountry($('#SFRM_att_vat_country').val());
	} else if (status=='No') {
		$('#form_business_info').show();
		$('#vat_country, #vat_number').hide();
		$('#SFRM_att_vat_country,#SFRM_att_vat_number').removeClass('validator-required').val('');
	}
}
function setVATCountry(country)
{
	// Array.indexOf is defined in validation.js for IE
	if (['AT', 'BE', 'BG', 'CY', 'CZ', 'DE', 'DK', 'EE', 'FI', 'FR', 'GB', 'GR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'MT', 'MC', 'ME', 'PL', 'PT', 'RO', 'SE', 'SM', 'SI', 'SK', 'ES'].indexOf(country) > -1) {
		$('#vat_number').show();
		//$('#SFRM_att_vat_number').addClass('validator-required validator-minlength-3').focus();
		$('#SFRM_att_vat_number').focus();
		if ($('#SFRM_att_vat_number').val().substring(0,2)!=country) $('#SFRM_att_vat_number').val(country);
	} else {
		$('#vat_number').hide();
		//$('#SFRM_att_vat_number').removeClass('validator-required validator-minlength-3').val('');
		$('#SFRM_att_vat_number').val('');
	}
}

var old_type; 
function setPaymentType(type)
{
	if (type=='paypal') {
		$('#creditcard_container').hide();
		$('#SFRM_creditcard_number, #SFRM_creditcard_expmonth, #SFRM_creditcard_expyear, #SFRM_creditcard_verify').removeClass('validator-required');
	} else {
		$('#creditcard_container').show();
		$('#SFRM_creditcard_number, #SFRM_creditcard_expmonth, #SFRM_creditcard_expyear, #SFRM_creditcard_verify').addClass('validator-required');
		$('#SFRM_creditcard_number').addClass('validator-creditcard-'+type);
	}
	if (old_type) $('#SFRM_creditcard_number').removeClass('validator-creditcard-'+old_type);
	old_type = type;
}

function setWillingToTravel(status)
{
	if (status==='Yes') {
		$('#form_travel_weeks').show();
		$('#SFRM_att_travel_weeks').addClass('validator-required').focus();
	} else if (status=='No') {
		$('#form_travel_weeks').hide();
		$('#SFRM_att_travel_weeks').removeClass('validator-required').val('');
	}
}

function setFormerPlayer(status) 
{
	if (status==='Yes') {
		$('#form_player').show();
		$('#SFRM_att_player_rank').addClass('validator-required').focus();
	} else {
		$('#SFRM_att_player_rank').removeClass('validator-required');
		$('#SFRM_att_player_other,#SFRM_att_player_year,#SFRM_att_player_rank').val('');
		$('#form_player').hide();
	}
}

function setExpEndDate(month, nr)
{
	var validator = 'validator-requiredby-SFRM_ent_exp_coach_'+nr+'_att_name validator-date validator-greater-SFRM_ent_exp_coach_'+nr+'_att_from_date';
	if (month > 0) {
		$('#SFRM_ent_exp_coach_'+nr+'_att_to_date_year').show();
		$('#SFRM_ent_exp_coach_'+nr+'_att_to_date').addClass(validator);
	} else {
		$('#SFRM_ent_exp_coach_'+nr+'_att_to_date_year').hide();
		$('#SFRM_ent_exp_coach_'+nr+'_att_to_date').removeClass(validator).val('0000-00-00');
	}
}

function checkAllChecked(name, id_all)
{
	var inputs = $(':input[name="'+name+'"]');
	var total = inputs.length
	var cnt = 0;
	inputs.each(function(){
		if (this.checked) cnt++;
	});
	$('#'+id_all).attr('checked', (cnt==total ? 'checked' : ''));
}

var oldFormUrl;
function setPromoCode(ob)
{
	var form = $(ob).parents('form');
	var formUrl = form.attr('action') || '';
	if (ob.value!='' && formUrl!='') {
		oldFormUrl = formUrl;
		form.attr('action', '');
	} else if (ob.value=='' && formUrl=='') {
		form.attr('action', oldFormUrl);
	}
}


function disableRequired(ob)
{
	$(':input', $(ob).parents('form')).removeClass('validator-required validator-select');
}

