/**
 * Confero.pl
 * 
 */

var $menuIDs = new Array('#facilities_menu_info',
												 '#facilities_menu_accomm',
											 	 '#facilities_menu_conf',
												 '#facilities_menu_cat',
												 '#facilities_menu_rec',
												 '#facilities_menu_serv',
												 '#facilities_menu_prom',
												 '#facilities_menu_gall');
												
var $contentIDs = new Array('#facilities_info',
														'#facilities_accomm',
														'#facilities_conf',
														'#facilities_cat',
														'#facilities_rec',
														'#facilities_serv',
														'#facilities_prom',
														'#facilities_gall');


function urlencode(str) {
	return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}

function str_replace(search, replace, subject, count) {
    // http://kevin.vanzonneveld.net
 
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }
 
    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];	
}

function str_replace2(search, replace, subject) {
    return subject.split(search).join(replace);
}


jQuery.fn.subpageAnimation = function(settings) {

 	settings = jQuery.extend({
		speed : 800
	}, settings);	
	
	
	return this.each(function(){
		var caller = this
		$(caller).click(function (event) {	
			event.preventDefault();
			
			// hide all content
			for (var $i = 0; $i < $contentIDs.length; $i++) {
		  	$($contentIDs[$i]).css('display', 'none');
		  }
			
			//alert($($menuIDs[0]).html());
			
			// remove styling of active menu element
			for (var $i = 0; $i < $menuIDs.length; $i++) {				
				// Opera handling
				$($menuIDs[$i]).html(str_replace('<SPAN id="facilities_menu_selected_right"></SPAN>', '', $($menuIDs[$i]).html()));
				$($menuIDs[$i]).html(str_replace('<SPAN id="facilities_menu_selected_left"></SPAN>', '', $($menuIDs[$i]).html()));
				
				// Firefox handling
				$($menuIDs[$i]).html(str_replace('<span id="facilities_menu_selected_right"></span>', '', $($menuIDs[$i]).html()));
				$($menuIDs[$i]).html(str_replace('<span id="facilities_menu_selected_left"></span>', '', $($menuIDs[$i]).html()));
				
				// IE handling
				$($menuIDs[$i]).html(str_replace('<SPAN id=facilities_menu_selected_right></SPAN>', '', $($menuIDs[$i]).html()));
				$($menuIDs[$i]).html(str_replace('<SPAN id=facilities_menu_selected_left></SPAN>', '', $($menuIDs[$i]).html()));
				
				$($menuIDs[$i]).removeClass('facilities_menu_selected');
			}
							
			switch ( $(caller).attr("href") )
			{
				case '#accomm':
					$('#facilities_menu_accomm').addClass('facilities_menu_selected');
					$('#facilities_menu_accomm').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_accomm').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_accomm').slideToggle(settings.speed);
					break;
				case '#conf':
					$('#facilities_menu_conf').addClass('facilities_menu_selected');
					$('#facilities_menu_conf').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_conf').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_conf').slideToggle(settings.speed);
					break;
				case '#cat':
					$('#facilities_menu_cat').addClass('facilities_menu_selected');
					$('#facilities_menu_cat').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_cat').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_cat').slideToggle(settings.speed);
					break;
				case '#rec':
					$('#facilities_menu_rec').addClass('facilities_menu_selected');
					$('#facilities_menu_rec').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_rec').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_rec').slideToggle(settings.speed);
					break;
				case '#serv':
					$('#facilities_menu_serv').addClass('facilities_menu_selected');
					$('#facilities_menu_serv').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_serv').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_serv').slideToggle(settings.speed);
					break;
				case '#prom':
					$('#facilities_menu_prom').addClass('facilities_menu_selected');
					$('#facilities_menu_prom').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_prom').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_prom').slideToggle(settings.speed);
					break;
				case '#gall':
					$('#facilities_menu_gall').addClass('facilities_menu_selected');
					$('#facilities_menu_gall').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_gall').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_gall').slideToggle(settings.speed);
					break;
				default:
					$('#facilities_menu_info').addClass('facilities_menu_selected');
					$('#facilities_menu_info').html('<span id="facilities_menu_selected_left"></span>' + $('#facilities_menu_info').html() + '<span id="facilities_menu_selected_right"></span>');
					$('#facilities_info').slideToggle(settings.speed);
					break;
			}
			
			$("a.subpageLink").subpageAnimation();
		  	return false;
		})
	})
}

jQuery(document).ready(function() {
	$('#poll_form').submit(function() {
		var poll = '';
		var object = this;
		var j = 0;
		for ( var i = 0; i < $('.poll_box').size(); ++i )
		{
			if ($('#poll_box_' + i).is(':checked') ) {
				poll += ( poll == '' ? $('#poll_box_' + i).val() : ',' + $('#poll_box_' + i).val() );
				++j;
			}
		}
		
		if ( typeof( max_checked ) != 'undefined' )
		{
			if ( max_checked > 0 && j > max_checked )
			{
				$('#main_poll_vote_mode').children('#main_poll_result').css('display', 'none');
				$('#main_poll_vote_mode').children('#main_poll_action').css('display', 'none');
				$('#main_poll_vote_mode').children('#main_poll_overflow').css('display', 'block');
				
				return false;
			}
		}
		
		if ( poll != '' )
		{
			$.ajax({
   				type: 'post',
   				url: object.action,
   				processData: false,
   				data: 'poll=' + urlencode(poll),
   				timeout: 5096,
   				beforeSend: function() {
   					$('#main_poll_vote_mode').children('#main_poll_overflow').css('display', 'none');
   					$('#main_poll_vote_mode').children('#main_poll_result').css('display', 'none');
   					$('#main_poll_vote_mode').children('#main_poll_action').css('display', 'block');
   				},
   				error: function(req, type) {
   					$('#main_poll_vote_mode').children('#main_poll_action').children().text('Error: ' + req.status + " " + type);
   				},
   				success: function(response) {
   					if ( response.substr(0,1) == '0' )
   					{
   						$('#main_poll_vote_mode').children('#main_poll_action').children().text(response.substr(1, (response.length-1)));
   					}
   					else {
   						$('#main_poll_vote_mode').toggle(500);
   						$('#main_poll_show_mode_off').toggle(500);
						$('#main_poll_results').replaceWith(response.substr(1, (response.length-1)));
   					}
   				}
			});
		}
		else {
			$('#main_poll_vote_mode').children('#main_poll_action').css('display', 'none');
			$('#main_poll_vote_mode').children('#main_poll_overflow').css('display', 'none');
			$('#main_poll_vote_mode').children('#main_poll_result').css('display', 'block');
		}
		return false;
	});
	
	$("a.subpageLink").subpageAnimation();
});
