jQuery.noConflict();
if(ident == 'ua') ident = 'uk';
if(ident == 'gr') ident = 'de';
jQuery.fn.reservationForm = function(src){
	var config = {
		src: src,
		form: jQuery('#reservationForm'),
		frame: jQuery('#reservationFrame'),
		base: 'http://online2.citybreak.com/search/auto/accommodation/search.aspx',
		culture: ident,
		grouptype: 11,
		value: function(field){
			return this.form.find('*[name=' + field + ']').val();
		}
	};
	var check = {
		city: function(){
			if (config.value('country') != -1) {
				config.form.find('.city-section').show().find('select').each(function(){
					if (jQuery(this).attr('name') == 'city' + config.value('country')) jQuery(this).show().addClass('active');
					else jQuery(this).hide().removeClass('active');
				});
			} else config.form.find('.city-section').hide();
		},
		children: function(num, obj){
			if (config.value('children-' + num) > 0) {
				jQuery(obj).parent().parent().find('.children-section').show();
				i = 0;
				jQuery(obj).parent().parent().find('.children-section select').each(function(){
					i++;
					if (i <= config.value('children-' + num)) jQuery(this).show(); else jQuery(this).hide();
				});
			} else jQuery(obj).parent().parent().find('.children-section').hide();
		},
		room: function(){
			rooms = config.form.find('.room-section').size();
			if (rooms < config.value('rooms')) {
				while (rooms < config.value('rooms')) {
					rooms++;
					jQuery(add.room(rooms)).insertAfter(config.form.find('.room-section:last'));
				}
			} else {
				while (rooms > config.value('rooms')) {
					rooms--;
					config.form.find('.room-section:last').remove();
				}
			}
			this.change();
		},
		change: function(){
			config.form.find('.children-selector').change(function(){
				var id = jQuery(this).attr('name');
				var id = id.split('-')[1];
				check.children(id, this);
			});
			
			config.form.find('.children-selector2').change(function(){
				var id = jQuery(this).attr('name');
				var id = id.split('-')[1];
				check.children(id, this);
			});
		},
		url: function(){
			var url = document.location.href.split('?')[1];
			if (url) config.frame.attr('src', config.base + '?' + url);
			else if (config.src) config.frame.attr('src', config.src);
		}
	}
	
	var add = {
		room: function(num){
			var additional = '\
				<ul class="room-section room-additional"><li class="room-place"><label>'+ online_num_nomer_one +' ' + num + '</label></li><li><label for="adults-amount-' + num + '">'+ online_num_dorosl +'</label>\
				<select id="adults-amount-' + num + '" class="adults-selector" name="adults-' + num + '"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select></li><li>\
				<label for="children-amount-' + num + '">'+ online_num_ditej +'</label><select id="children-amount-' + num + '" class="children-selector" name="children-' + num + '"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select></li><li class="children-section"><label>'+ online_num_vik_ditei +'</label>\
				<select class="children-age-selector" name="children-age-1-' + num + '"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option></select>\
				<div class="clear_age"></div><select class="children-age-selector" name="children-age-2-' + num + '"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option></select>\
				<div class="clear_age"></div><select class="children-age-selector" name="children-age-3-' + num + '"><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option></select></li></ul>';
			return additional;
		}
	};
	
	config.form.submit(function(){
		var url = {
			onlineid: '?onlineid=' + config.value('onlineid'),
			geo: '&geo=' + config.value('city' + config.value('country')),
			datefrom: '&datefrom=' + config.value('year-in') + '-' + config.value('month-in') + '-' + config.value('day-in'),
			dateto: '&dateto=' + config.value('year-out') + '-' + config.value('month-out') + '-' + config.value('day-out'),
			culture: '&culture=' + config.culture,
			grouptype: '&class=' + config.grouptype,
			room: '&pr='
		};
	
		config.form.find('.room-section').each(function(i){
			i++;
			
			if (i != 1) url.room += 'r';
		
			children = '';
					
			jQuery(this).find('.children-section select').each(function(t){
				t++;
						
				if (t <= config.value('children-' + i)) {
					if (t != 1) children += 'c';
					else children += 'a';
					children += jQuery(this).val();
				}
			});
						
			url.room += config.value('adults-' + i) + children;
		});
		
		datefromcheck = new Date(config.value('year-in'), config.value('month-in') - 1, config.value('day-in'));
		datetocheck = new Date(config.value('year-out'), config.value('month-out') - 1, config.value('day-out'));
		if (datetocheck.getTime() <= datefromcheck.getTime()) {
			alert('Check-out date must be greater than check-in date.');
			return false;
		} else if (url.geo == '&geo=undefined') {
			alert('Please, select destination city.');
			return false;
		} else {
			var src = config.base + url.onlineid + url.geo + url.datefrom + url.dateto + url.culture + url.grouptype + url.room;
		
			if (config.base == config.form.attr('action')) {
				config.frame.attr('src', src);
				return false;
			} else config.form.find('#src').val(src);
		}
	});
				
	check.city();
	check.room();
	check.change();
	check.url();
	
	jQuery('#rooms-amount').change(function(){
		check.room();
	});
	
	jQuery('#country').change(function(){
		check.city();
	});
	
	config.form.find('.room-section .children-selector .children-selector2').each(function(i){
		i++;
		check.children(i, this);
	});
	
	var date = new Date();
	day = date.getDate();
};// JavaScript Document