//jQuery.noConflict();

var alinkTimeout = '';
var showBuyBlock = function($) {
	clearTimeout(alinkTimeout);
	$('div.buy-block').hide();
	$(this).next('div.buy-block').fadeIn('fast', function() {
		var thisBlock = $(this);
		$(this).hover(function() {
			clearTimeout(alinkTimeout);
		}, function() {
			alinkTimeout = setTimeout(function() {
				$(thisBlock).hide();
			}, 1000);
		});
	});
};

//var _DOWNLOAD_ONCLICK;
//var enable_download_timer = function($) {
//	var seconds = $('#download-free-timer').text();
//	if (seconds != '') {
//		_DOWNLOAD_ONCLICK = $('div.download-free div.timer > a').attr('onclick');
//		$('div.download-free div.timer > a').removeAttr('onclick');
////		var timerNum = seconds*1000 + 1000;
//		timerNum = 0;
//		var downloadTimer = setInterval(function() {
//			var seconds = $('#download-free-timer').text();
//			var newSeconds = seconds*1 - 1;
//			 $('#download-free-timer').text(newSeconds);
//		}, 1000);
//		setTimeout(function() {
//			clearInterval(downloadTimer);
//			$('#download-free-timer').parent('div').hide();
//			$('div.download-free div.timer > a').removeClass('dark-button-disable').addClass('dark-button').click(_DOWNLOAD_ONCLICK);
//		}, timerNum);
//	}
//}

var _STATE = [];
_STATE['is_show_private_menu'] = false;
_STATE['is_login'] = false;
_STATE['page'] = 'main';
_STATE['ex_search'] = 'close';

var show_login_form = function($) {
	if ($('a.link-enter').is(':visible')) {
		show_login_panel($);
	} else {
		show_login_popup($);
	}
	$('form > p > input:visible').get(0).focus();
}

var show_register_form = function($) {
	if ($('a.link-reg').is(':visible')) {
		show_register_panel($);
	} else {
		show_register_popup($);
	}
	$('form > p > input:visible').get(0).focus();
}

var show_register_popup = function($) {
	$('#kl-login, div.clear-form.login, div.clear-form.forgot').hide();
	updatePopupHeight('div.clear-form.register');
	$('#kl-reg, div.clear-form.register').fadeIn('fast');
}

var show_login_popup = function($) {
	$('div.clear-form.forgot, div.forgot-password-sent, #kl-reg, div.clear-form.register').hide();
	updatePopupHeight('div.clear-form.login');
	$('#kl-login, div.clear-form.login').fadeIn('fast');
}

var show_register_panel = function($) {
	$('div.clear-form.login, div.clear-form.forgot').hide();
	$('div.clear-form.register').show();
	$('#enter-block-form > div.enter-block-form-headline').addClass('registration');
	$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block').addClass('registration-form');
};

var show_login_panel = function($) {
	$('div.clear-form.forgot, div.forgot-password-sent, div.clear-form.register').hide();
	$('div.clear-form.login').show();
	$('#enter-block-form > div.enter-block-form-headline').removeClass('registration');
	$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block').removeClass('registration-form');
};

var on_login = function($) {
	$('#ext-links-1, #kl-login, #kl-reg, ul.katalog-list, div.clear-form.login, div.clear-form.register, div.clear-form.forgot').hide();
	$('#enter-block-form > div.enter-block-form-headline').hide();
	$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block').hide();
	_STATE['is_login'] = true;
	if (_STATE['page']=='main') {
		$('#enter-block-form > div.enter-block-form-headline.logout').show();
		$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block.logout-form').show();
		if (_STATE['ex_search'] == 'close') {
			$('div.clear-menu').show();
		}	
	}
	if (!$('#extended-search').hasClass('enter') && !$('#extended-search').hasClass('katalog')) {
		$('#exit-list').hide();
		$('ul.exit-list').addClass('dark1');
		$('#logout3').removeClass('grey-button').addClass('dark-grey-button');
	}
	$('ul.exit-list').show();
	return false;
}

var switchMenu = function($) {		
	$('#extended-search-filter').slideUp('fast');
	_STATE['ex_search'] = 'close';
	$('#enter-block-form').show();
	$('#search-block').addClass('enter-block');
	$('ul.exit-list').hide().removeClass('dark1');
	$('#logout3').removeClass('dark-grey-button').addClass('grey-button');
	$('ul.katalog-list').hide();
}

var panel_login = function($) {
	$('div.clear-form').css('right', '23px');
}

var popup_login = function($) {
	$('div.clear-form.register').css('right', '13px'); //5px for Linux
	$('div.clear-form.login, div.clear-form.forgot').css('right', '23px'); //0px for Linux
}
var on_menu_main = function($) {
	switchMenu($);
	_STATE['page'] = 'main';
	$('#extended-search').removeClass('extended-search1 katalog').addClass('enter');
	$('#ext-links-1').hide();
	if (_STATE['is_login']) {
		$('div.clear-menu').show();
		$('#enter-block-form > div.enter-block-form-headline.logout').show();
		$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block.logout-form').show();
	} else {
		panel_login($);
		$('div.clear-form.login').show();
		$('#enter-block-form > div.enter-block-form-headline').show();
		$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block.enter-block-form-block').show();		
		$('#enter-block-form > div.enter-block-form-headline.logout').hide();
		$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block.logout-form').hide();			
	}
	$('#search-block').show();
}
	
var on_menu_not_main = function($) {
	switchMenu($);
	_STATE['page'] = 'catalog';
	$('#extended-search').removeClass('enter').addClass('extended-search1 katalog');
	if (_STATE['is_login']) {
		$('#ext-links-1, div.clear-menu, div.popap-nickname').hide();			
		$('#enter-block-form > div.enter-block-form-headline.logout').hide();
		$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block.logout-form').hide();
		$('ul.exit-list').show();
	} else {
		$('#ext-links-1').show();
		$('#kl-reg, #kl-login, div.clear-form').hide();
		popup_login($);
		$('ul.katalog-list').removeClass('dark2').show();
		$('#enter-block-form > div.enter-block-form-headline').hide();
		$('#search-block > div.enter-block-bg > div.enter-block-form > div.enter-block-form-block').hide();		
	}
	$('#search-block').hide();
}

var UPDATER_FIRST_TIME = true;
var UPDATER_HASH;
var UPDATER_TIMEOUT = 300;

function updater_check() {
	if (location.hash != UPDATER_HASH) {
		UPDATER_HASH = location.hash;
		var params;
		if (location.hash != '' && location.hash != '#') {
			params = location.hash.substring(1);
		} else {
			if (location.pathname.indexOf('/a1') == 0) {
				if (_STATE['is_login'] == false) {
					params = 'a1.A1Promo';
				} else {
					params = 'a1.A1PromoWithMenu';
				}
			} else {
				params = 'Main';
			}
		}
		if (document.getElementById(params) != null) {
			UPDATER_HASH = location.hash;
		} else {
			if (UPDATER_FIRST_TIME) {
				params = params + '&firstTime=true';
				if (document.referrer != undefined && document.referrer != null) {
					params = params + '&referrer=' + document.referrer;
				}
				if (location.search.length > 1) {
					params = params + '&' + location.search.substring(1); 
				}
				UPDATER_FIRST_TIME = false;
			}
			replaceMainPanel(params);
		}
	}
	setTimeout("updater_check()", UPDATER_TIMEOUT);
}

var carousel_hidden_elements = 0;

var on_document_ready = function($) {
	updater_check();
	
	$('body').click(function(event){
		if (!_STATE['is_login'] && (_STATE['page'] != 'main' || _STATE['ex_search'] == 'open')) { 
			if ($(event.target).filter('div.enter1-block-block *, div.clear-form.login *, div.clear-form.forgot *, a.kl-open-login').length == 0) {
				$('#kl-login, div.clear-form.login, div.clear-form.forgot').hide();
				$('a.kl-open-login').removeAttr('style');
			}
			if ($(event.target).filter('div.enter2-block-block *, div.clear-form.register *, a.kl-open-reg').length == 0) {
				$('#kl-reg, div.clear-form.register').hide();
				$('a.kl-open-reg').removeAttr('style');
			}
		}
		if (_STATE['is_login'] && $('div.popap-nickname').is(':visible')) {
			if ($(event.target).filter('div.popap-nickname *, div.clear-menu *').length == 0) {
				$('div.popap-nickname, div.clear-menu').hide();
			}
		}
		$('#language-choice').fadeOut('fast');
		$('div.buy-block').hide();
		if ($(event.target).filter('span.yui-skin-sam *').length == 0) {
			$('span.yui-calcontainer').hide();
		}
	});

	$('a.carousel-left').live('click', function() {
		if (carousel_hidden_elements > 0) {
			carousel_hidden_elements = carousel_hidden_elements - 1;
			$('ul.block-list.carousel').animate({'left': -(carousel_hidden_elements * 228)}, 'fast');
			$(this).next().next().addClass('active');
			if (carousel_hidden_elements==0) {
				$(this).removeClass('active');
			}
		}
	});
	
	$('a.carousel-right').live('click', function() {
		var total = $('ul.block-list.carousel > li').length;
		if (total - carousel_hidden_elements > 4) {
			$(this).prev().prev().addClass('active');
			carousel_hidden_elements = carousel_hidden_elements + 1;
			$('ul.block-list.carousel').animate({'left': -(carousel_hidden_elements * 228)}, 'fast');
			if (total - carousel_hidden_elements == 4) {
				$(this).removeClass('active');
			}
		}
	});

	$('a.opened-banners').live('click', function() {
		$(this).removeClass('opened-banners').addClass('closed-banners').next().hide();
	});
	
	$('a.closed-banners').live('click', function() {
		$('a.opened-banners + div').hide();
		$('a.opened-banners').removeClass('opened-banners').addClass('closed-banners');
		$(this).removeClass('closed-banners').addClass('opened-banners').next().show();
	});

	$('#a_private_cabinet').live('click', function() {
		$('div.clear-menu, div.popap-nickname').show();
		_STATE['is_show_private_menu'] = true;
	});

	$('input.search-input').live('keypress', function() {
		if ($('div.search-block').is(':hidden')) {					
			//result of search
			$('div.search-block').show();
			//$('#extended-search > div.search-block1').show();
			//$('ul.pager').show();
			
			//$('#extended-search').removeClass('extended-search1 katalog');			
			//$('#extended-search').addClass('enter');			
			$('#search-block').removeClass('enter-block');					
			$('#extended-search').removeClass('extended-search1');			
		}
	});
	
	$('#open-downloads, #close-downloads').live('click', function() {
		if (!$(this).parent('div').hasClass('no-download')) {
			$('div.downloads').slideToggle('fast', function() {
			if ($(this).is(':visible')) {
				$('#open-downloads').prev('a').addClass('open');
			} else {
				$('#open-downloads').prev('a').removeClass('open');
			}
		});
		}
		return false;
	});
	
	//$('#language-active, a.language-link2').live('click', function() {
	//	$('#language-choice').fadeIn('fast');
	//	return false;
	//});
	$('#language-choice li > a').live('click', function() {
		if (!$(this).parent('li').is('.active')) {
			var prevLang = $('#language-choice li.active > a:eq(1)').children('span').text();
			var prevFlag = $('#language-choice li.active > a:eq(0)').children('img').attr('src');
			var newLang = $(this).children('span').text();
			var newFlag = $(this).prev('a').children('img').attr('src');
			$('#language-choice li.active > a:eq(1) > span, #language-active')
				.text(newLang)
				.attr('title', newLang);
			$('#language-choice li.active > a:eq(0) > img, a.language-flag > img').attr('src', newFlag);
			$(this).children('span')
				.text(prevLang)
				.attr('title', prevLang);
			$(this).prev('a').children('img').attr('src', prevFlag);
		}
		$('#language-choice').fadeOut('fast');
		return false;
	});
	
	$('#open-extended, #open-extended-delimiter').live('click', function() {
		$('div.clear-form, div.clear-menu').hide();
		popup_login($);
		if ($('#extended-search').hasClass('enter')) {
			$('#extended-search').removeClass('enter');
			$('#search-block').removeClass('enter-block');
			$('#enter-block-form').hide();
			if (!_STATE['is_login']) {
				$('#ext-links-1').show();
				$('#extended-search-filter').slideDown('fast');
				if (!$('ul.katalog-list').hasClass('dark2')) {
					$('ul.katalog-list').addClass('dark2');
				}
			} else {
				$('#ext-links-1, div.clear-menu').hide();
				$('ul.exit-list').addClass('dark1').show();
				$('#logout3').removeClass('grey-button').addClass('dark-grey-button');
			}
			$('#extended-search-filter').show();
			_STATE['ex_search'] = 'open';
		} else if ($('#extended-search').hasClass('katalog')) {
			$('#extended-search').removeClass('katalog').addClass('katalog-hide');
			$('ul.katalog-list').addClass('dark2');
			$('ul.exit-list').addClass('dark1');
			$('#logout3').removeClass('grey-button').addClass('dark-grey-button');
			$('#extended-search-filter').slideDown('fast');			
			_STATE['ex_search'] = 'open';
		} else if ($('#extended-search').hasClass('katalog-hide')) {
			$('#extended-search').removeClass('katalog-hide').addClass('katalog');
			$('ul.katalog-list').removeClass('dark2');
			$('ul.exit-list').removeClass('dark1');
			$('#logout3').removeClass('dark-grey-button').addClass('grey-button');
			$('#extended-search-filter').slideUp('fast');
			_STATE['ex_search'] = 'close';
			$('div.popap-nickname').hide();
			$('#enter-block-form').show();			
		} else {
			_STATE['ex_search'] = 'close';
			if ($('ul.exit-list').is(':hidden')) {
				$('#extended-search').addClass('enter');
				$('#extended-search-filter').hide();
				if (_STATE['page'] == 'main') {
					panel_login($);
					$('#search-block').addClass('enter-block');
					$('#enter-block-form, div.clear-form.login').fadeIn('fast');
					$('#ext-links-1').hide();
				} else {
					$('ul.katalog-list').removeClass('dark2');
				}
			} else {
				$('#extended-search-filter').slideUp('fast', function() {
					$('#extended-search').addClass('enter');
					$('ul.exit-list').removeClass('dark1');
					$('#logout3').removeClass('dark-grey-button').addClass('grey-button');
					$('div.popap-nickname').hide();
					if (_STATE['page'] == 'main') {				
						$('#search-block').addClass('enter-block');
						$('div.clear-menu').show();
					}
					$('#enter-block-form').show();
				});
			}
		}
		return false;
	});
	
	$('a.show-forgot-password').live('click', function() {
		$('div.clear-form.login').hide();
		updatePopupHeight('div.clear-form.forgot');
		$('div.clear-form.forgot').show();
	});
	
	$('a.link-reg').live('click', function() {
		show_register_panel($);
		return false;
	});
		
	$('a.link-enter').live('click', function() {
		show_login_panel($);
		return false;
	});
	
	$('a.kl-open-login').live('click', function() {
		if ($('#kl-login').is(':visible')) {
			$('#kl-login, div.clear-form.login, div.clear-form.forgot').hide();
			$('a.kl-open-login').removeAttr('style');
		} else {
			$('a.kl-open-login').css('color', '#000');
			show_login_form($);
		}
		return false;
	});
	$('a.kl-open-reg').live('click', function() {
		if ($('#kl-reg').is(':visible')) {
			$('#kl-reg, div.clear-form.register').hide();
			$('a.kl-open-reg').removeAttr('style');
		} else {
			$('a.kl-open-reg').css('color', '#000');
			show_register_form($);
		}
		return false;
	});
	
	$('#katalog-table').live('click', function() {
		if (!$('#katalog-block').hasClass('katalog-block3')) {
			$(this).parent('div').addClass('active-switch1');
			$('#katalog-block').addClass('katalog-block3');
		}
		return false;
	});
	$('#katalog-thumb').live('click', function() {
		if ($('#katalog-block').hasClass('katalog-block3')) {
			$(this).parent('div').removeClass('active-switch1');
			$('#katalog-block').removeClass('katalog-block3');
		}
		return false;
	});
	
	$('div.switch-block > a').live('click', function() {
		if ($(this).parent().hasClass('active-switch')) {
			$(this).parent().removeClass('active-switch');
		} else {
			$(this).parent().addClass('active-switch');
		}
		return false;
	});
	$('div.sorting > ul > li > a').live('click', function() {
		if (!$(this).parent().hasClass('active')) {
			$('div.sorting > ul > li').removeClass('active');
			$(this).parent().addClass('active');
		}
		return false;
	});
	
	$('div.calc').live('click', function() {
		clearTimeout(alinkTimeout);
		$('div.buy-block').hide();
	});
	
	$('ul.block-list > li').live('mouseover', function() {
		$(this).addClass('hover');
	});
	$('ul.block-list > li').live('mouseout', function() {
		$(this).removeClass('hover');
	});
	
	 $('div.faqheader').live('click', function(event) { headerClicked(this); });
	 $('div.faqsubheader').live('click', function(event) { subHeaderClicked(this); });

	 function headerClicked(element)
	 {
		 $('div.faqheader').css('color', '#000000');
		 $(element).css('color', '#4292DD');
		 $('div.faqbody').hide();
		 $('div.faqbody').css('color', '#000000');
		 $('div.faqsubbody').hide();
		 $('div.faqsubbody').css('color', '#000000');
		 $('div.faqbody:eq(' + $('div.faqheader').index(element) + ')').show();
	 }

	 function subHeaderClicked(element)
	 {
		 $('div.faqsubheader').css('color', '#000000');
		 $(element).css('color', '#4292DD');
		 $('div.faqsubbody').hide();
		 $('div.faqsubbody').css('color', '#000000');
		 $('div.faqsubbody:eq(' + $('div.faqsubheader').index(element) + ')').show();
	 }

};	

var search_lastChange = new Date().getTime();
var search_active = false;
var search_TIMEOUT = 1500; // timeout in milliseconds before search form submit
function search_start() {
	search_lastChange = new Date().getTime()
	if (!search_active) {
		if (_STATE['ex_search'] != 'open') {
			jQuery('#extended-search').removeClass('katalog').addClass('enter');
		}
		document.getElementById('whileSearching').style.display = 'inline';
		document.getElementById('noResultsFound').style.display = 'none';
		search_active = true;
		search_check();
	}
}

function search_check() {
	if (search_active && (new Date().getTime() - search_lastChange > search_TIMEOUT)) {
		search_doSubmit();
	} else {
		setTimeout("search_check()", 200);
	}
}

function search_doSubmit() {
	search_active = false;
	document.getElementById('search').onclick();
}

function search_showResults() {
	document.getElementById('whileSearching').style.display = 'none';
	if (document.getElementById('total').innerHTML == "")
	{
		document.getElementById('noResultsFound').style.display = 'inline';
	}
}

var hintcontainer = null;  
function showhint(obj, text)
{
	if (hintcontainer==null)
	{
		hintcontainer = document.createElement("div");  
		hintcontainer.className="hintstyle";  
		document.body.appendChild(hintcontainer);  
	}
	obj.onmouseout = hidehint;
	obj.onmousemove=movehint;
	hintcontainer.innerHTML=text;  
}

function movehint(e)
{
	if (!e) e = event; // line for IE compatibility
	hintcontainer.style.top =  (e.clientY+document.documentElement.scrollTop+2)+"px";  
	hintcontainer.style.left = (e.clientX+document.documentElement.scrollLeft+10)+"px";  
	hintcontainer.style.display="";  
}

function hidehint()
{  
	hintcontainer.style.display="none";  
}

function onStep1() {
	$('li#step1').removeClass('modal-pay-bill-step-first');
	$('li#step1').addClass('modal-pay-bill-step-first-active');
}

function onStep2Sms() {
	$('li#step1').addClass('modal-pay-bill-step-done');
	$('li#step2').addClass('modal-pay-bill-steps-active');
}

function onStep2Merchant() {
	$('li#step3').next().remove();
	$('li#step4').next().remove();
	$('li#step4').remove();
	$('li#step1').addClass('modal-pay-bill-step-done');
	$('li#step2').addClass('modal-pay-bill-steps-active');
	$('li#step3').addClass('modal-pay-bill-step-last');
	$('li#step3').addClass('modal-pay-bill-step-last-3steps');
}

function onStep3Sms() {
	$('li#step1').addClass('modal-pay-bill-step-done');
	$('li#step2').addClass('modal-pay-bill-step-done');
	$('li#step3').addClass('modal-pay-bill-steps-active');
}

function onStep3Merchant() {
	$('li#step3').next().remove();
	$('li#step4').next().remove();
	$('li#step4').remove();
	$('li#step1').addClass('modal-pay-bill-step-done');
	$('li#step2').addClass('modal-pay-bill-step-done');
	$('li#step3').addClass('modal-pay-bill-step-last-active');
	$('li#step3').addClass('modal-pay-bill-step-last-3steps');
}

function onStep4() {
	$('li#step1').addClass('modal-pay-bill-step-done');
	$('li#step2').addClass('modal-pay-bill-step-done');
	$('li#step3').addClass('modal-pay-bill-step-done');
	$('li#step4').removeClass('modal-pay-bill-step-last');
	$('li#step4').addClass('modal-pay-bill-step-last-active');
}

function getInputPair(id, name) {
	var input = $('input#' + id);
	if(input == null) {
		return null;
	} else {
		return "&" + name + "=" + input.val();
	}
}
function getSelectPair(id, name) {
	var input = $('select#' + id);
	if(input == null) {
		return null;
	} else {
		return "&" + name + "=" + input.val();
	}
}

jQuery.fn.extend({
   check: function() {
     return this.each(function() { this.checked = true; });
   },
   uncheck: function() {
     return this.each(function() { this.checked = false; });
   }
});

function showSupportBlock(object, name) {
	nextBlocks = $(object).closest('div.support-block').nextAll();
	nextBlocks.hide();
	nextBlocks.find('input:radio:checked').uncheck();
	nextBlocks.find('span.red').hide();
	nextBlock = $('#' + name);
	nextBlock.fadeIn('slow');
	nextBlock.find('input:text:first').focus();
	return false;
}

function isValidEmailAddress(emailAddress) {
	return pattern.test(emailAddress);
}

function validatePattern(regexp, inputSelector, feedbackSelector) {
	if (regexp.test($(inputSelector).val())) {
		$(feedbackSelector).hide();
		return true;
	} else {
		$(feedbackSelector).show();
		return false;
	}
}

function validateEmail(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateFileUrl(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^http:\/\/freefolder.com\/\?t=1#FileInfo&id=[0-9]{1,5}/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateDomain(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^.+\..+$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateWM(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^[ZREU][0-9]{12}$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateCC(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^[0-9]{6}$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validatePhoneNumber(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^[0-9]\([0-9]{3}\)[0-9]{3}-[0-9]{4}$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateShortPhoneNumber(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^[0-9]{4,9}$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateTime(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^([01][0-9]|2[0-4]):[0-5][0-9]$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function validateDate(inputSelector, feedbackSelector) {
	var regexp = new RegExp(/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)?\d\d$/);
	return validatePattern(regexp, inputSelector, feedbackSelector);
}

function sendRequestToSupport() {
	var message = '';
	$('div.support-block:visible').each(function() {
		message += $(this).find('h3').text() + '\n';
		textInput = $(this).find('input:text');
		if (textInput.length == 1) {
			message += textInput.val();
			select = $(this).find('select');
			if (select.length == 1) {
				message += '\n' + select.find(':selected').text();
			}
			message += '\n\n';
			return;
		}
		radioInput = $(this).find('input:radio:checked');
		if (radioInput.length == 1) {
			message += radioInput.next().text() + '\n\n';
			return;
		}
		textarea = $(this).find('textarea');
		if (textarea.length == 1) {
			message += textarea.val() + '\n\n';
			return;
		}
		select = $(this).find('select');
		if (select.length == 1) {
			message += select.find(':selected').text() + '\n\n';
			return;
		}
		
	});
	message += 'login: ' + $('ul.exit-list > li > b').text() + '\n\n';
	message += 'traffic: ' + $('div.enter-block-form-block-bg2-top.clearfix ul > li:eq(0) > span').text() + '\n\n';
	message += 'days: ' + $('div.enter-block-form-block-bg2-top.clearfix ul > li:eq(1) > span').text() + '\n\n';
	message += 'browser: ' + navigator.userAgent + '\n\n';
	new Image().src = 'http://freefolder.com/support-service/createTask?message='+encodeURIComponent(message);
	return true;
}

function isEnterPressed(event) {
	return (event.which && event.which == 13) || (event.keyCode && event.keyCode == 13);
}

function updatePopupHeight(contentSelector) {
	var popupContent = $(contentSelector);
	var contentHeight = popupContent.height();
	$('div.enter2-block-center, div.enter1-block-center').height(contentHeight + 10);
}
