// Select mobility restrictions 
function process_itdLPxx_restrictionGroup (id, status) {
	if (document.getElementById(id) && status) {	
		// wheelchair
		if(id === 'itdLPxx_restrictionGroup_wheelchair') {
			if (document.getElementById('noSolidStairs')) {
				document.getElementById('noSolidStairs').checked = 'checked';
			}
			if (document.getElementById('noEscalators')) {
				document.getElementById('noEscalators').checked = 'checked';
			}
			if (document.getElementById('noElevators')) {
				document.getElementById('noElevators').checked = '';
			}
			if (document.getElementById('lowPlatformVhcl')) {
				document.getElementById('lowPlatformVhcl').checked = 'checked';
			}
			if (document.getElementById('wheelchair')) {
				document.getElementById('wheelchair').checked = '';
			}
		}
		// electric wheelchair
		else if(id === 'itdLPxx_restrictionGroup_electricWheelchair') {
			if (document.getElementById('noSolidStairs')) {
				document.getElementById('noSolidStairs').checked = 'checked';
			}
			if (document.getElementById('noEscalators')) {
				document.getElementById('noEscalators').checked = 'checked';
			}
			if (document.getElementById('noElevators')) {
				document.getElementById('noElevators').checked = '';
			}
			if (document.getElementById('lowPlatformVhcl')) {
				document.getElementById('lowPlatformVhcl').checked = '';
			}
			if (document.getElementById('wheelchair')) {
				document.getElementById('wheelchair').checked = 'checked';
			}
		}
		// buggy
		else if(id === 'itdLPxx_restrictionGroup_buggy') {
			if (document.getElementById('noSolidStairs')) {
				document.getElementById('noSolidStairs').checked = 'checked';
			}
			if (document.getElementById('noEscalators')) {
				document.getElementById('noEscalators').checked = 'checked';
			}
			if (document.getElementById('noElevators')) {
				document.getElementById('noElevators').checked = '';
			}
			if (document.getElementById('lowPlatformVhcl')) {
				document.getElementById('lowPlatformVhcl').checked = '';
			}
			if (document.getElementById('wheelchair')) {
				document.getElementById('wheelchair').checked = '';
			}
		}
	}
}

// Toggle mobility restriction group on manual selection
function process_noSolidStairs (id, status) {
	if (document.getElementById('itdLPxx_restrictionGroup_noRestrictions')) {
		document.getElementById('itdLPxx_restrictionGroup_noRestrictions').checked = 'checked';
	}
}

function process_noElevators (id, status) {
	if (document.getElementById('itdLPxx_restrictionGroup_noRestrictions')) {
		document.getElementById('itdLPxx_restrictionGroup_noRestrictions').checked = 'checked';
	}
}

function process_noEscalators (id, status) {
	if (document.getElementById('itdLPxx_restrictionGroup_noRestrictions')) {
		document.getElementById('itdLPxx_restrictionGroup_noRestrictions').checked = 'checked';
	}
}

function process_lowPlatformVhcl (id, status) {
	if (document.getElementById('itdLPxx_restrictionGroup_noRestrictions')) {
		document.getElementById('itdLPxx_restrictionGroup_noRestrictions').checked = 'checked';
	}
}

function process_wheelchair (id, status) {
	if (document.getElementById('itdLPxx_restrictionGroup_noRestrictions')) {
		document.getElementById('itdLPxx_restrictionGroup_noRestrictions').checked = 'checked';
	}
}


// Toggle stop sequence 
mdv.beg.toggleStopSequence = function(pos, noPRoute) {
	var i; 

	mdv.common.toggleElem(mdvLib.$('open_stopSeq_' + pos));
	mdv.common.toggleElem(mdvLib.$('close_stopSeq_' + pos));
	for (i=1; i <= noPRoute; i++) {
        if (mdvLib.$('open_stopSeq_' + pos).style.display === 'none') {
            jQuery('#stopSequence_' + pos + '_' + i).slideDown("slow");
        }
        else {
            jQuery('#stopSequence_' + pos + '_' + i).slideUp("slow");
        }
	}
} 
 

// Toggle expert dialog
mdv.beg.toggleExpertDialog = function() {
	mdv.common.toggleElem(mdvLib.$('expertDialog_open'));
	mdv.common.toggleElem(mdvLib.$('expertDialog_close'));
    if (mdvLib.$('expertDialog_open').style.display === 'none') {
        jQuery('#expertDialog').slideDown("slow");
        if (!(jQuery('#feedback:visible').length > 0)) {
            jQuery("#scrollContent").animate({ scrollTop: jQuery("#scrollContent").attr("scrollHeight") }, 3000);
        }
    }
    else {
        jQuery('#expertDialog').slideUp("slow");
    }
}

// Toggle feedback dialog
mdv.beg.toggleFeedback = function() {
	mdv.common.toggleElem(mdvLib.$('feedback_open'));
	mdv.common.toggleElem(mdvLib.$('feedback_close'));
    if (mdvLib.$('feedback_open').style.display === 'none') {
        jQuery('#feedback').slideDown("slow");
        jQuery("#scrollContent").animate({ scrollTop: jQuery("#scrollContent").attr("scrollHeight") }, 3000);
    }
    else {
        jQuery('#feedback').slideUp("slow");
    }
}


// Toggle trip details
mdv.beg.toggleJourneyDetails = function (pos) { 
    // open/close detailview
    if (mdvLib.$('closeDetails_' + pos).style.display === 'none') {
        jQuery('#itdRouteList_' + pos + '_details').slideDown("slow");
    }
    else {
        jQuery('#itdRouteList_' + pos + '_details').slideUp("slow");
    }
    // switch open/close buttons
    mdv.common.toggleElem(mdvLib.$('openDetails_' + pos));
	mdv.common.toggleElem(mdvLib.$('closeDetails_' + pos));
}


// Toggle via 
mdv.beg.toggleVia = function() {
	mdv.common.toggleElem(mdvLib.$('openVia'));
	mdv.common.toggleElem(mdvLib.$('closeVia'));
    if (mdvLib.$('openVia').style.display === 'none') {
        jQuery('#prs_via').show();
        jQuery('#odvContainer_via').slideDown("slow");
    }
    else {
        jQuery('#odvContainer_via').slideUp("slow");
        jQuery('#prs_via').hide();
    }
}


// Toggle foot path description.
mdv.beg.togglePathDesc = function(routeIdx, partialRoute) {
    mdv.common.toggleElem(mdvLib.$('openPathDesc_' + routeIdx + '_' + partialRoute));
    mdv.common.toggleElem(mdvLib.$('closePathDesc_' + routeIdx + '_' + partialRoute));
    if (mdvLib.$('openPathDesc_' + routeIdx + '_' + partialRoute).style.display === 'none') {
        jQuery('#pathDesc_' + routeIdx + '_' + partialRoute).slideDown("slow");
    }
    else {
        jQuery('#pathDesc_' + routeIdx + '_' + partialRoute).slideUp("slow");
    }
}

// Toggle interchange description
mdv.beg.toggleInterchangeDesc = function(routeIdx, partialRoute) {
    mdv.common.toggleElem(mdvLib.$('open_footpath_' + routeIdx + '_' + partialRoute));
    mdv.common.toggleElem(mdvLib.$('close_footpath_' + routeIdx + '_' + partialRoute));
    if (mdvLib.$('open_footpath_' + routeIdx + '_' + partialRoute).style.display === 'none') {
        jQuery('#details_footpath_' + routeIdx + '_' + partialRoute).css('display','');
    }
    else {
        jQuery('#details_footpath_' + routeIdx + '_' + partialRoute).css('display','none');
    }
}

// Toggle delfi.
mdv.beg.toggleDelfi = function (state) {
    // delete ODVs and enable delfi
    if (state && (!jQuery('#name_origin').hasClass('emptyInput') || jQuery('#name_origin').attr('value') != jQuery('#nameDefaultText_origin').attr('value') || !jQuery('#name_destination').hasClass('emptyInput') || jQuery('#name_destination').attr('value') != jQuery('#nameDefaultText_destination').attr('value') || !jQuery('#name_via').hasClass('emptyInput') || jQuery('#name_via').attr('value') != jQuery('#nameDefaultText_via').attr('value'))) {
        // delfi confirmation window
        jQuery('#delfiConfirmOverlay').css('display','');
    }
    // enable delfi
    else if (state) {
        mdv.beg.setDelfiParams();
    }
    // disable delfi
    else {
        jQuery('#nameMethod_origin').attr('name', 'itdLPxx_nameMethod_origin');
        jQuery('#nameMethod_destination').attr('name', 'itdLPxx_nameMethod_destination');
        jQuery('#providercode_origin').attr('name', 'itdLPxx_providercode_origin');
        jQuery('#providercode_destination').attr('name', 'itdLPxx_providercode_destination');
        mdv.beg.removeInputForDelfi();
        mdv.map.mapInput = true;
    }
}

// Toggle delfi (in ODV list).
mdv.beg.toggleDelfi2 = function (obj) {
    if ( obj.options[obj.selectedIndex].value === 'delfi') {
        mdv.beg.toggleDelfi (true);
    }
}

// Delfi confirmation.
mdv.beg.confirmDelfi = function (state) {
    if (state) {
        var delfi = '';
        // delfi style 2
        if (jQuery('#delfi').length < 1) {
            delfi = '&itdLPxx_delfi=true';
        }
        // reset odv
        location.href = location.href + '?itdLPxx_odvReset=true' + delfi; 
    }
    else {
        jQuery('#delfi').attr('checked',false);
    }
    jQuery('#delfiConfirmOverlay').css('display','none');
}

// Set delfi parameter.
mdv.beg.setDelfiParams = function () {
    // set delfi paramter
    jQuery('#nameMethod_origin').attr('name', 'nameMethod_origin');
    jQuery('#nameMethod_destination').attr('name', 'nameMethod_destination');
    jQuery('#providercode_origin').attr('name', 'providercode_origin');
    jQuery('#providercode_destination').attr('name', 'providercode_destination');
    
    mdv.beg.setInputForDelfi();
    mdv.map.mapInput = false;
}

mdv.beg.setInputForDelfi = function () {
    // deactivate via 
    jQuery('#anyObjFilter_via_0').attr('disabled', 'disabled');
    jQuery('#anyObjFilter_via_2').attr('disabled', 'disabled');
    jQuery('#anyObjFilter_via_12').attr('disabled', 'disabled');
    jQuery('#anyObjFilter_via_32').attr('disabled', 'disabled');
    jQuery('#name_via').attr('disabled', 'disabled');
    jQuery('#name_via').css('background', 'none');
    // deactivate options
    jQuery('#routeType').attr('disabled', 'disabled');
    jQuery('#maxChanges').attr('disabled', 'disabled');
    jQuery('#itdLPxx_bayernticket').attr('disabled', 'disabled');
    jQuery('#changeSpeed_normal').attr('disabled', 'disabled');
    jQuery('#changeSpeed_slow').attr('disabled', 'disabled');
    jQuery('#changeSpeed_fast').attr('disabled', 'disabled');
    jQuery('#itdLPxx_restrictionGroup_noRestrictions').attr('disabled', 'disabled');
    jQuery('#itdLPxx_restrictionGroup_wheelchair').attr('disabled', 'disabled');
    jQuery('#itdLPxx_restrictionGroup_electricWheelchair').attr('disabled', 'disabled');
    jQuery('#itdLPxx_restrictionGroup_buggy').attr('disabled', 'disabled');
    jQuery('#noSolidStairs').attr('disabled', 'disabled');
    jQuery('#noEscalators').attr('disabled', 'disabled');
    jQuery('#noElevators').attr('disabled', 'disabled');
    jQuery('#lowPlatformVhcl').attr('disabled', 'disabled');
    jQuery('#wheelchair').attr('disabled', 'disabled');
    // disable map 
    jQuery('#mdvMapOverlay').css('display', 'block');
}

mdv.beg.removeInputForDelfi = function () {
    // activate via 
    jQuery('#anyObjFilter_via_0').attr('disabled', '');
    jQuery('#anyObjFilter_via_2').attr('disabled', '');
    jQuery('#anyObjFilter_via_12').attr('disabled', '');
    jQuery('#anyObjFilter_via_32').attr('disabled', '');
    jQuery('#name_via').attr('disabled', '');
    jQuery('#name_via').css('background', '');
    // activate options
    jQuery('#routeType').attr('disabled', '');
    jQuery('#maxChanges').attr('disabled', '');
    jQuery('#itdLPxx_bayernticket').attr('disabled', '');
    jQuery('#changeSpeed_normal').attr('disabled', '');
    jQuery('#changeSpeed_slow').attr('disabled', '');
    jQuery('#changeSpeed_fast').attr('disabled', '');
    jQuery('#itdLPxx_restrictionGroup_noRestrictions').attr('disabled', '');
    jQuery('#itdLPxx_restrictionGroup_wheelchair').attr('disabled', '');
    jQuery('#itdLPxx_restrictionGroup_electricWheelchair').attr('disabled', '');
    jQuery('#itdLPxx_restrictionGroup_buggy').attr('disabled', '');
    jQuery('#noSolidStairs').attr('disabled', '');
    jQuery('#noEscalators').attr('disabled', '');
    jQuery('#noElevators').attr('disabled', '');
    jQuery('#lowPlatformVhcl').attr('disabled', '');
    jQuery('#wheelchair').attr('disabled', '');
    // enable map
    jQuery('#mdvMapOverlay').css('display', 'none');
}

// Set OMC and nameValue for DELFI localities
mdv.beg.setDelfiLoc = function (type, usage, omc, id, stream) {
    if (!type && !omc && !id && !stream) {
        var params = jQuery('#delfi_' + usage + '_' + jQuery('#name_' + usage + ' option:selected').attr('id').replace('lstIdx_','')).text().split('--');  // type, usage, omc, id, stream
        type = params[0];
        omc = params[2];
        id = params[3];
        stream = params[4];
    }
    if (type === 'locExt') {
        jQuery('#anyOmc_' + usage).attr('name', 'anyOmc_' + usage);
        jQuery('#anyOmc_' + usage).attr('value', omc);
        jQuery('#nameID_' + usage).attr('name', 'itdLPxx_nameID_' + usage);
        jQuery('#nameID_' + usage).attr('value', id);
        jQuery('#nameStream_' + usage).attr('name', 'itdLPxx_nameStream_' + usage);
        jQuery('#nameStream_' + usage).attr('value', stream);
    }
    else {
        jQuery('#anyOmc_' + usage).attr('name', 'itdLPxx_anyOmc_' + usage);
        jQuery('#nameID_' + usage).attr('name', 'nameID_' + usage);
        jQuery('#nameID_' + usage).attr('value', id);
        jQuery('#nameStream_' + usage).attr('name', 'nameStream_' + usage);
        jQuery('#nameStream_' + usage).attr('value', stream);
    }
    if (jQuery('#nameValue_' + usage).length > 0) {
        jQuery('#nameValue_' + usage).attr('value', jQuery('#name_' + usage + ' option:selected').attr('value'));
    }
}

// Enable/disable the option "max changes".
mdv.beg.disableMaxChanges = function () {
    if (jQuery('#routeType option:selected').attr('value') === 'LEASTINTERCHANGE') {
        jQuery('#maxChanges').attr('disabled', 'disabled');
    }
    else {
        jQuery('#maxChanges').attr('disabled', '');
    }
}
