var select_box;
var select_options;
var select_options_items;
var select_value;

$( function() {

	select_box = $( '#select_box' );
	select_options = $( '#select_options' );
	select_options_items = $( '#select_box li:not(.group)' );
	select_value = $( '#select_box .selectbox_value' );
	
	select_value.click( function() {
		
		select_options.toggle();
	} );
	
	select_options_items.click( function() {
		
		selectBoxSetOption( this, false );		
	} );
	
	select_options_items.mouseenter( function() {
	
		if ( !$( this ).hasClass( 'ov' ) ) {
			
			$( this ).addClass( 'ov' );
		}
	} ).mouseleave( function() {
	
		if ( $( this ).hasClass( 'ov' ) ) {
		
			$( this ).removeClass( 'ov' );
		}
	} );
} );

function selectBoxSetOption( element2, select_service ) {
		
	if ( typeof( element2 ) != 'object' ) {
		
		element = $( '#select_box li[rel=' + element2 + ']:first' );
		
		if ( ( element.attr('rel') == null ) ) {
			element = null;
			element = $( '#select_box li[rel=' + element2 + '~very_special_offer]:first' );
			
		}
		if ( !element ) {
		
			return;
		} 
	} else {
	
		element = $( element2 );
	}
	
	select_options_items.removeClass( 'ov' );
	select_options_items.removeClass( 'selected' );
	
	is_first = false;
	
	try {
	
		element.previous().tagName;
	} catch( e ) {
	
		is_first = true;
	}
	
	if ( !is_first ) {
		
		element.addClass( 'selected' );
	}
	var value = element.find('span:first');
	select_value.text( value.text() );
	
	select_options.css( 'display', 'none' );
	
	element_id = element.attr( 'rel' );
	
	if ( element_id == null ) {
		return;
	}
	
	var split = element_id.split(/~/);
	
	var very = 0;
	
	if ( split[1] == 'very_special_offer' ) {
		
		very = 1;
	}
	
	if ( very == 1 ) {
		
		selectBoxGetServices( split[0], select_service, 1 );
		
		try {
				
				// calling flash function...
				getFlashObject('plan_floor_flash').showServices( 'special', split[0] );
			} catch(e) {
				//alert(e);
		}
	} else {
		
		selectBoxGetServices( element.attr( 'rel' ), select_service, 0 );
		showServicesOnFlash( element.attr( 'rel' ) );
	}
	
	
	if ( element.hasClass( 'delete' ) ) {
		
		$( '#select_box' ).addClass( 'expanded' );
		select_options.css( 'display', 'block' );
		showServicesOnFlash( 0 );
	} else {
	
		$( '#select_box' ).removeClass( 'expanded' );
	}
}

function selectBoxGetServices( service_id, select_service, very ) {
	
	if ( typeof( floor_no ) == 'undefined' ) {
		
		return false;
	}
	
	var objContent = $('#service_list_content').get(0);
	objContent.style.display = 'block';

	objContent.innerHTML = '<div class="preloader"><img src="'  + root_url + 'media/images/dec/preloader.gif" alt="" /></div>';

	$.ajax( {
			
			type: 'get',
			url: root_url + 'index.php?act=js/load_service_list',
			data: { 
				'service_list_id': service_id, 
				'floor_no': floor_no, 
				'selected_service_id' : 0, 
				'new_plan' : 1,
				'enterprise_id' : enterprise_id,
				'very_special_offer' : very
			},
			
			success: function(response) {
				if (response) {
					objContent.innerHTML = response;
				} else {
					objContent.style.display = 'none';
					objContent.innerHTML = '';
				}
			},
			
			error: function (response) {
				objContent.style.display = 'none';
				objContent.innerHTML = '';
			}
		}
	);
}

function showServiceOnFlash( service_id ) {
	
	if ( typeof( service_id ) == 'undefined' ) {
	
		return false;
	}
	
	try {
		
		// calling flash function...
		getFlashObject('plan_floor_flash').showService( service_id );
	} catch(e) {
		//alert(e);
	}
}

function showServicesOnFlash( services_id ) {

	if ( typeof( services_id ) == 'undefined' ) {
	
		return false;
	}
	
	try {
		
		// calling flash function...
		getFlashObject('plan_floor_flash').showServices( services_id );
	} catch(e) {
		//alert(e);
	}
}

// padubliuotos funkcijos blokui
function selectBoxSetOptionBlock( element ) {
	
	$( function() {
		
		select_options_items.click( function() {
			
			selectBoxSetOptionBlock( this );
		});
	});
	
	if ( typeof( element ) != 'object' ) {
		
		element = $( '#select_box li[rel=' + element + ']:first' );
		
		if ( !element ) {
		
			return;
		} 
	}
	
	select_options_items.removeClass( 'ov' );
	select_options_items.removeClass( 'selected' );
	
	is_first = false;
	
	try {
	
		element.previous().tagName;
	} catch( e ) {
	
		is_first = true;
	}
	
	if ( !is_first ) {
		
		element.addClass( 'selected' );
	}
	
	var value = element.find( 'span:first' );
	select_value.text( value.text() );
	select_options.css( 'display', 'none' );
}

