﻿	
	$j(document).ready(function() {		
		activateCalendarOnMain();
		activateSlidePanel();		
		activateLogoutForm(); 
		goLogin();
	});
	                           
	
	function activateMainPage(){
		activateTabsOnMain();
		activateQuickSearch();
		activateTopWishesCarusel();
	}
	
	// -- Slide panel --
	
	function activateSlidePanel(){
		// Expand Panel
		$j("#open").click(function(){
			$j("div#panel_guest").slideDown("slow");	
		});	
		
		// Collapse Panel
		$j("#close").click(function(){
			$j("div#panel_guest").slideUp("slow");	
		});		
		
		// Switch buttons from "Log In | Register" to "Close Panel" on click
		$j("#toggle a").click(function () {
			$j("#toggle a").toggle();
		});	
	}
	
	// -- Tabs on main --
	
	function activateTabsOnMain(){
		// Если изначально стоит якорь поиска друга, то меняем стиль вкладки поиска
		if( getHash()=='search-friend' ){
			$j("#tabs_search").toggleClass('tabs-blue').toggleClass('tabs-violet');
		}
		
		$j('#tabs_search').tabs({ 
			//fxFade: true, fxSpeed: 'fast',			
			onHide: function() {
				$j("#tabs_search").toggleClass('tabs-blue').toggleClass('tabs-violet');
			}
		});
	}	
	function getHash(){
		if( window.location.href.indexOf('#')>-1 ){			
			return window.location.href.replace(/(.*)(#)(.*)/, '$3')
		} else {
			return null;
		}
	}

	
	// -- Search on main --
	
	function activateQuickSearch(){
		$j("#search_wishes_field").bind('keyup', function(){
			lookup(this.value, 'searchWish');
		});
		
		$j("#search_friend_field").bind('keyup', function(){
			lookup(this.value, 'searchFriend');
		});
	}
	
	// -- Short Search Panel --
	
	function activateShortSearchPanel( type_of_search ){
		activateTogglePanel( type_of_search );
		activateQuickSearchShort();
	}
	
	function activateTogglePanel( type_of_search ){
		var filter = type_of_search=='wish' || type_of_search ? ':first' : ':last';	
		var tabContainers = $j('div#searchshortpanel > div');
		tabContainers.hide().filter(filter).show();
		$j('div#searchshortpanel ul.tabNavigation a').click(function () {
			tabContainers.hide();
			tabContainers.filter(this.hash).show();
			$j('div#searchshortpanel ul.tabNavigation a').removeClass('selected');
				$j(this).addClass('selected');
				return false;
		}).filter(filter).click();
	}
	
	function activateQuickSearchShort(){
		$j("#search_wishes_field").bind('keyup', function(){
			lookup(this.value, 'searchWish');
		});
		
		$j("#search_friend_field").bind('keyup', function(){
			lookup(this.value, 'searchFriend');
		});
	}
	
	// -- Top Wishes Carusel on main
	
	var num_scroll_carousel = 4;
	function activateTopWishesCarusel(){
		
		$j('.top-carusel').each(function(){
			$curr_carousel = $j(this);
			$curr_carousel.jcarousel({
				scroll: num_scroll_carousel,				
				initCallback: function(carousel){
					$j('.top-carusel').css({'visibility':'visible','height':'auto'});
					
					var filterById 		 	= carousel.options.id/*$j(this).attr('id')*/;
					var $top_carusel_prev	= jQuery('.top-carusel-prev').filter('.'+filterById);
					var $top_carusel_next	= jQuery('.top-carusel-next').filter('.'+filterById);		
					var $top_carusel_num 	= jQuery('.top-carusel-num').filter('.'+filterById);
					setNavigation(carousel, $top_carusel_num, null);
					
					$top_carusel_prev.bind('click', function() {
						setNavigation(carousel, $top_carusel_num, 'prev');
						carousel.prev();
						return false;
					});
					
					$top_carusel_next.bind('click', function() {
						setNavigation(carousel, $top_carusel_num, 'next');
						carousel.next();
						return false;
					});
					
				},
				buttonNextHTML: null,
				buttonPrevHTML: null,
				id:$curr_carousel.attr('id')
			});		
		});
	}
	function setNavigation(carousel, $top_carusel_num, type){
		
		// Переделать, что-то наподобии
		// Прибавление к carousel.last, происхолит после нажатия на кнопку навигации(поэтому мы специально перед расчетом значение)
		//var last = carousel.last ? carousel.last+carousel.options.scroll : carousel.options.scroll;
		//var curr_page = (last/carousel.options.scroll);		
		var carousel_size = carousel.size();
		var num_pages = Math.ceil(carousel_size/carousel.options.scroll);
		
		var curr_page = 1;		
		var curr_navigation = $top_carusel_num.html().split('/');
		
		if( curr_navigation.length>1 ){
			curr_page = parseInt(curr_navigation[0]);
			type=='next' ?  curr_page++ :  curr_page--;
			
			if( curr_page>carousel.options.scroll ){
				curr_page = carousel.options.scroll;
			} else if( curr_page<1 || carousel_size<num_scroll_carousel ){
				curr_page = 1;
			}
		}
		
		$top_carusel_num.html(curr_page+'/'+num_pages);
	}
	
	// -- Calendar --
	
	function activateCalendarOnMain(){
		var date = new Date();
		var day = start_day = date.getDate();
		var $first_day = $j('mycarousel li:first');
		
		// Переделать определение first_day
		$first_day = $j(".day_"+day+":first");
		if( $first_day.size()==0 ){
			for( var i=0; i<32-start_day; i++ ){				
				if( day<10 ){
					day = '0'+day;
				}			
				$first_day = $j(".day_"+day+":first");
				if( $first_day.size() ){
					break;
					return;
				}
				day++;
			}
		}
		
		//if( $first_day.size() ){
		if( $first_day.parents('li').attr("id") ){
			var iteration	= $first_day.parents('li').attr("id").split('_');
			if( iteration ){
				$j('#mycarousel').jcarousel({
					scroll: 1,
					start: parseInt(iteration[1]),
					size: $j("#mycarousel li").size(),
					itemLoadCallback: calendar_carousel_itemLoadCallback
				});
			}
		}
		//}
	}
	function calendar_carousel_itemLoadCallback(){
		$j("#mycarousel").css({'visibility':'visible','height':'auto'});		
	}
	
	// -- Registration --
	
	function activateRegistration(){
		
		var $form 		= $j('#registerForm');
		var inputs 		= $j("input:not(:checkbox):not(:radio):not(:submit):not(:button):not(:image)", $form).addClass('defaultInput');
		var container 	= $j('div.errorContainer');
	    var hhhh='';
		
		/*
		$j('#rlogin').keyup(function () {
		  // var value = $(this).val();
		  alert($j('#rlogin').val()+'!');
		  // $("p").text(value);
		  hhhh=$j('#rlogin').val();
		}).keyup();
*/
		$form.validate({
			onkeyup: function () {
		  // var value = $(this).val();
//		  alert($j('#rlogin').val()+'!');
		  // $("p").text(value);
		  hhhh=$j('#rlogin').val();
		  // alert(hhhh+'!');
		},
			errorClass:'errorInput',
			validClass:'defaultInput',
			errorContainer: container,
			errorLabelContainer: $j("ol", container),		
			wrapper: 'li',
			
			rules : {
				"reg_login" : { 
//					required:true,
					minlength: 3,
					maxlength: 50,
					remote : {
						url: "/jelion/units/register/_ajax_reg.php?field=login",
						type: "post",
						data: { "id" : function() { 
									return $("#rlogin").val() 
								},
								"types": "login",  
							  }
					}
					// remote :"/jelion/units/register/_ajax_reg.php?field=login&id=S"+hhhh 
				},
				"reg_mail": {					
					required:true,
					minlength: 3,
					maxlength: 50,
					email:true,	
					remote : {
						url: "/jelion/units/register/_ajax_reg.php?field=mail",
						type: "post",
						data: { "id" : function() { 
									return $("#email").val() 
								},
								"types": "email", 
							  }
					}
				
//					remote:"/ajax/?module=registration&method=CheckRepeatField&field=email"
				},
				"reg_pass1":"required",
				'reg_pass2': { equalTo: "#rpassword" },
				"aAvatar[url]": {
//					remote:"/ajax/?module=registration&method=CheckImage" 
				},
				securimage_code_value: "required",
				rules: "required"
			},
			messages: {
				"reg_login": {
//					required: 'Пожалуйста, введите Ваш Логин (от 3 до 50 символов)',
					minlength: 'Пожалуйста, введите Ваш Логин (от 3 до 50 символов)',
					maxlength: 'Пожалуйста, введите Ваш Логин (от 3 до 50 символов)',
					remote: "Пользователь, с таким login, уже есть"
				},
				"reg_mail": {
					required: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					maxlength: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					minlength: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					email: "Некорректный e-mail",
					remote: "Пользователь, с таким email, уже есть"					
				},
				"reg_pass1": {
					required: 'Пожалуйста, введите Ваш Пароль'
				},
				'reg_pass2': {
					equalTo: "Пароли должны совпадать"
				},
				"aAvatar[url]": {
					remote:"Неверный формат рисунка. Проверьте url." 
				},
				'rules': {
					required: "Вы должны согласиться исполнять установленные правила"
				},
				securimage_code_value: {
					required: 'Пожалуйста, введите Kод подтверждения'
				}
			}
		});
	
		activateInputWrapper(inputs);
		activateCalendar('1920:2009');
	}
	function openwindow(){	window.open('/terms.htm','Window1','menubar=no,width=840,height=300,toolbar=yes,scrollbars=yes');}
	
	// -- Recover Password --
	
	function activateRecoverPassword () {
		
		var $form 		= $j('#recoverpasswordForm');
		var inputs 		= $j("input:not(:checkbox):not(:radio):not(:submit):not(:button):not(:image)", $form).addClass('defaultInput');
		var container 	= $j('div.errorContainer');
		
		$form.validate({
			onkeyup: false,
			errorClass:'errorInput',
			validClass:'defaultInput',
			errorContainer: container,
			errorLabelContainer: $j("ol", container),		
			wrapper: 'li',
			rules : {				
				"email": {					
					required:true,
					minlength: 3,
					maxlength: 50,
					email:true,	
					remote : {
						url: "/jelion/units/register/_ajax_reg.php",
						type: "post",
						data: { "id" : function() { 
									return $("#email").val() 
								},
								"types": "recover_mail", 
							  }
					}
				}
			},
			messages: {				
				"email": {
					required: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					maxlength: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					minlength: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					email: "Некорректный e-mail",
					remote: "Пользователь, с таким email, не существует"					
				}
			},
			submitHandler: function(form) {
				$j.ajax({			// $j.getJSON(				
					url: "/jelion/units/register/_ajax_recover.php",
					type: "POST",
					dataType: 'json',
					timeout: 3000,
					error: function(){				
						ajaxError();
					},					
					success: function( json ) {
						
						// alert(json.P+'!')
						
						if (json.error == 0) {
							$j('.form_wrapper').hide();
							$j('#password_changed').show();
						}
						// слишком много запросов
						if (json.error == 1) { 
							$j('.form_wrapper').hide();
							$j('.too_many').show();
						}
						return false;
					},
					complete: function(){
					},					
					// Parametrs
					data: $j(form).serialize()
				});
			}
		});
				
		$j('.btn_recover').removeAttr('disabled');
		
		activateInputWrapper(inputs);
	}
	
	function alertObj(obj) { 
    var str = ""; 
    for(k in obj) { 
        str += k+": "+ obj[k]+"\r\n"; 
    } 
    alert(str); 
} 
	
	// -- LoginForm
	function activateLoginForm(){
		//alert(actLog+'|');
		var validator = $j("#loginform").validate({	
			highlight: function(element, errorClass) {
				$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},	
			rules: { 'iilog': "required", 'iipass':"required" },		
			submitHandler: function(form) {
				// alert("!!!!!");
				$j("#loginerror").html('');
				$j("#loginLoading").show();			
				
				$j.ajax({			// $j.getJSON(				
					url: "/jelion/units/auth/_ajax_check.php",
					type: "POST",
					dataType: 'json',
					timeout: 3000,
					error: function(){				
						ajaxError();
					},					
					success: function( json ) {
						// alert( "Data Saved: " + json.error );
						//alert( "Data Saved: " + json.join(", ") );
						// alertObj(json);
						
						$j("#loginLoading").hide();	
						if( json.error==0 ) {	
							activateUser( json.user );

						} else if( json.error==1 ) {
							$j("#loginerror").html("Ваш аккаунт заблокирован! Свяжитесь с администратором!");
						} else if( json.error==2 ) {
							$j("#loginerror").html("Неправильная пара логин-пароль!");
						} else {									  
							alert(json.messadge);
						}
					},
					complete: function(){
					},					
					// передача параметров формы (можно использовать $j(form). )
					data: $j("#loginform").serialize()
				});
				return false;
			},
			errorPlacement: function(error, element) {}
		});
	}
	
	// -- MainLoginForm
	
	function activateMainLoginForm(){		
		
		var validator = $j("#mainloginForm").validate({	
			highlight: function(element, errorClass) {
				$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},	
			rules: { 'user[login]': "required", 'user[password]':"required" },		
			submitHandler: function(form) {					
				
				$j.ajax({			// $j.getJSON(				
					url: "/ajax/?module=sitelogin&method=Login",
					type: "POST",
					dataType: 'json',
					timeout: 3000,
					error: function(){				
						ajaxError();
					},					
					success: function( json ) {
						$j("#loginLoading").hide();	
						if( json.error==0 ) {								
							activateUser( json.user );								
						} else if( json.error==1 ) {
							alert( "Ваш аккаунт заблокирован! Свяжитесь с администратором!" );
						} else if( json.error==2 ) {
							alert( "Неправильная пара логин-пароль!" );
						} else {									  
							alert(json.messadge);
						}
					},
					complete: function(){
					},					
					// Parametrs
					data: $j(form).serialize()
				});
				return false;
			},
			errorPlacement: function(error, element) {}
		});
	}
	
	// -- LogOut --
	
	function activateLogoutForm(){
		$j(".logoutButton").bind('click', function(){

			if( !you_are_sure("Вы уверенны?") ){
				return false;
			}
			
			document.forms["log_out"].submit();
			/*
			$j.ajax({			// $j.getJSON(				
				url: "/ajax/?module=sitelogin&method=Logout",
				type: "POST",
				dataType: 'json',
				timeout: 3000,
				error: function(){				
					ajaxError();
				},					
				success: function( json ) {
					if( json.error==0 ) {
						deactivateUser()
					}
				},
				// For to solve the problem : 411="Length Required"
				data: {'Logout':1}
			});
			*/		
			return false;
			
		});
	}
	
	function activateUser( user ){
		if( $j("div#toppanel_guest").size()>0 ){
			$j("#userlogin").text( user.login );									
			$j("div#toppanel_guest").slideUp("slow", function(){
				
				$j('#log_hid').val( $j('#llogin').val() );
//				alert("1"+$j('#log_hid').val());
				$j('#pass_hid').val( $j('#lpassword').val() );
				$j('#reg_auth_form').submit();
				//$('input').attr({value: '', title: 'Please enter a value'});
				
				$j("div#toppanel_user").slideDown(500, function(){ // reloadPage(); 
				});
			});
			
		} else {
			 reloadPage();
		}
	}
	
	function deactivateUser( user ){		
		
		if( $j("div#toppanel_user").size()>0 ){		
			$j("div#toppanel_user").slideUp("slow", function(){
				$j("#userlogin").text('');
				$j("#llogin").val('');
				$j("#lpassword").val('');
				
				$j("#panel_guest").hide();
				$j("#toggle a").toggle();
				$j("div#toppanel_guest").slideDown(500, function(){ reloadPage(); });
				//$j("div#panel").slideUp({duration: 500, easing:'easeInOutQuad'} );
			});
		} else {
			 reloadPage();
		}
	}
	
	
	
	
	// -- Wish --
	
	function activateWishInternalEditing(){
		
		var $form 		= $j('#wishForm');
		var inputs 		= $j("input:not(:checkbox):not(:radio):not(:submit):not(:button):not(:image)", $form).addClass('defaultInput');
		var container	= $j('div.errorContainer');
		
		// alert("1");
		// document.forms["log_out"].submit();
		
		$form.validate({
			onkeyup: false,
			errorClass:'errorInput',
			validClass:'defaultInput',
			errorContainer: container,
			errorLabelContainer: $j("ol", container),		
			wrapper: 'li',
			
      		highlight: function(element, errorClass) {
				$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			
			rules: { 
				"NAME": {					
					required:true,
					minlength: 3,
					maxlength: 50,
				},
				"reg_login" : { 
//					required:true,
					minlength: 3,
					maxlength: 50,
					remote : {
						url: "/jelion/units/register/_ajax_reg.php?field=login",
						type: "post",
						data: { "id" : function() { 
									return $("#rlogin").val() 
								},
								"types": "login",  
							  }
					}
					// remote :"/jelion/units/register/_ajax_reg.php?field=login&id=S"+hhhh 
				},
				"reg_mail": {					
					required:true,
					minlength: 3,
					maxlength: 50,
					email:true,	
					remote : {
						url: "/jelion/units/register/_ajax_reg.php?field=mail",
						type: "post",
						data: { "id" : function() { 
									return $("#email").val() 
								},
								"types": "email", 
							  }
					}
				
//					remote:"/ajax/?module=registration&method=CheckRepeatField&field=email"
				},
				"reg_pass1":"required",
				'reg_pass2': { equalTo: "#rpassword" },
				/*
				"aPicture[url]": {
					remote:"/ajax/?module=wishlisttools&method=CheckImage" 
				}
				*/
			},
			messages: {				
				"NAME": {
					required: 'Пожалуйста, введите Ваше желание (избегайте слов длиннее 50-и символов)'
				},
				"reg_login": {
//					required: 'Пожалуйста, введите Ваш Логин (от 3 до 50 символов)',
					minlength: 'Пожалуйста, введите Ваш Логин (от 3 до 50 символов)',
					maxlength: 'Пожалуйста, введите Ваш Логин (от 3 до 50 символов)',
					remote: "Пользователь, с таким login, уже есть"
				},
				"reg_mail": {
					required: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					maxlength: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					minlength: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					email: "Некорректный e-mail",
					remote: "Пользователь, с таким email, уже есть"					
				},
				"reg_pass1": {
					required: 'Пожалуйста, введите Ваш Пароль'
				},
				'reg_pass2': {
					equalTo: "Пароли должны совпадать"
				},
				/*
				"aPicture[url]": {
					remote:"Неверный формат рисунка. Проверьте url." 
				}
				*/
			}
    	});
		
		if( !$j.browser.msie){
			activateInputWrapper(inputs);
		}
		activateCalendar('2009:2035');
		activateTags();				
	}
	
	
	
	function activateTags(){
		// activateCategoryTags();
		// activateWishesTags();
		activateAjutor();
	}
	
	function activateCategoryTags(){				
		if( $j("#wish_category").val()>0){
			setCategoryTags($j("#wish_category").val());
		}
		$j("select#wish_category").bind('change', function(){		
			setCategoryTags( $j(this).val() );
		});
		
		$j("#category_tags_wrapper").tagTo("#wish_tags");
	}
	
	function setCategoryTags(categoryID){
		$j.ajax({			// $j.getJSON(				
			url: "/ajax/?module=tags&method=getCategoryTags",
			dataType: 'json',
			timeout: 3000,
			error: function(){				
				ajaxError();
			},					
			success: function( json ) {
				if( json.error==1 ){
					ajaxError();
					return;
				}
				if( !json.tags ){
					return;
				}
				
				var tags = json.tags;
				var tags_string = '';
				for (var i = 0; i < tags.length; i++) {
					if( tags[i].length>0 ){
						tags_string += '<span class="tags">'+tags[i] + '</span>, ';
					}
				}					
				tags_string = tags_string.substring(0,tags_string.length-2);
				$j("#category_tags_wrapper").html(tags_string);					
			},
			complete: function(){
			},					
			// Parametrs
			data: {categoryID:categoryID}
		});
	}
	
	function activateWishesTags(){
		$j('#wish_tags').tagSuggest({
			delay:250,
			url: '/ajax/?module=tags&method=getWishesTags',
			tagsContainerClass : 'wishes_tags_wrapper'
		});
	}
	
	function activateAjutor(){
		$j(".ajutor_toggle").bind('click', function(){
			//$j(this).next().slideToggle(500, 'easeOutCubic');
			$j(this).next().toggle();
			$j(".plus", $j(this)).toggle();
		});
	}
	
	function activateComboBox(){		
		$j("select#wish_category").bind('change', function(){		
			$j.ajax({			// $j.getJSON(				
				url: "/ajax/?module=151&method=getSubcategory",
				dataType: 'json',
				timeout: 3000,
				error: function(){				
					ajaxError();
				},					
				success: function( json ) {
					var options = '';
					for (var i = 0; i < json.length; i++) {
						options += '<option value="' + json[i].optionValue + '">' + json[i].optionDisplay + '</option>';
					}
					$j("select#wish_subcategory").html(options);
					$j("#subcategory_wrapper").fadeIn();						
				},
				complete: function(){
				},					
				// Parametrs
				data: {categoryID:$j(this).val()}
			});
		});		
	}
	
	// -- Profile --
	
	function activateChangeAccessDateForm(){			
		
		var $form = $j('#profileForm');		
		var inputs 		= $j("input:not(:checkbox):not(:radio):not(:submit):not(:button):not(:image)", $form).addClass('defaultInput');
		var container	= $j('div.errorContainer');
			
				
		$form.validate({
			onkeyup: false,
			errorClass:'errorInput',
			validClass:'defaultInput',
			errorContainer: container,
			errorLabelContainer: $j("ol", container),		
			wrapper: 'li',
			
      		highlight: function(element, errorClass) {
				$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules : {				
				"reg_mail": {					
					required:true,
					email:true,	
					remote : {
						url: "/jelion/units/register/_ajax_reg.php",
						type: "post",
						data: { "id" : function() { 
									return $("#email").val() 
								},
								"types": "change", 
								"mail" : function() { 
									return $("#cur_email").val() 
								},
							  }
					}
				},
				repassword: { equalTo: "#rpassword" },
				"oldpassword":"required"
			},
			messages: {				
				"reg_mail": {
					required: 'Пожалуйста, введите Ваш адрес электронной почты (от 3 до 50 символов)',
					email: "Некорректный e-mail",
					remote: "Пользователь, с таким email уже зарегистрирован!"					
				},
				rerpassword: {
					equalTo: "Пароли должны совпадать"
				}
			},
			errorPlacement: function(error, element) {
				if (error.html().length>0) {
					$j(element).removeClass("wrapper").addClass("errorInput");					
				} else {
					$j(element).removeClass("errorInput").addClass("wrapper"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});		

		activateInputWrapper($j('input[type=text]', $form));
	}
	
	function activateChangePersonalDateForm(){			
			
		var $form = $j('#profileForm');				
		$form.validate({
			rules : {				
				"user[email]": {
					required:true,
					email:true,
					maxlength: 100,
					remote:"/ajax/?module=profile&method=CheckRepeatField&field=email"
				},
				repassword: { equalTo: "#rpassword" },
				"user[oldpassword]":"required"
			},
			messages: {				
				"user[email]": {
					email: "Некорректный e-mail",
					ndv_repeat: "Пользователь, с таким email, уже есть"					
				},
				rerpassword: {
					equalTo: "Пароли должны совпадать"
				}
			},
			errorPlacement: function(error, element) {
				if (error.html().length>0) {
					$j(element).addClass("errorInput");					
				} else {
					$j(element).removeClass("errorInput"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});
		
		activateInputWrapper($j('input[type=text]', $form));
		activateCalendar('1920:2009');
	}
	
	// -- MyWishlist --
	
	jQuery(function($) {
		$(".action_delete").bind('click', function(){
				return confirm('Вы уверены?');
		});
		$("#action_delete_account").bind('click', function(){
				return confirm('Вы уверены? После согласия ваш аккаунт будет удален навсегда!');
		});
    });

	function activateMyWishlist( type_of_search ){
		/*
		$j(".action_delete").bind('click', function(){
			return confirm('Вы уверены?');
		});
		*/
		
		if( !$j.browser.msie ){
			var startItem = 0;
			switch(type_of_search){
				case '': startItem = 0; break;
				case 'done': startItem = 1; break;
				case 'giveme': startItem = 2; break;
				case 'igive': startItem = 3; break;
				case 'igave': startItem = 4; break;
			}		
			
			/*
			switch(type_of_search){
				case 'WishesCollectionUserMy': startItem = 0; break;
				case 'WishesCollectionUserCompleted': startItem = 1; break;
				case 'WishesCollectionUserGiveMe': startItem = 2; break;
				case 'WishesCollectionUserIGive': startItem = 3; break;
				case 'WishesCollectionUserIGave': startItem = 4; break;
			}		
			*/
			
			$j('.mywishesmenu').lavaLamp({ fx:'easeOutExpo'/*'swing'*/, speed:333, startItem:startItem });
		}
	}
	
	// -- Friendstools
	
	function activateSendForm(){
		var $form = $j('#sendFriendForm');				
		$form.validate({
			rules : {				
				"email[0]": { required:true, email:true },
				"email[]": "email"
			},
			errorPlacement: function(error, element) {
				if (error.html().length>0) {
					$j(element).addClass("errorInput");					
				} else {
					$j(element).removeClass("errorInput"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});
	}
	
	function hideSessionMessage(){
		setTimeout( function(){ $j('.session_message').fadeOut() }, 3000);
	}
	
	function goLogin(){
		$j(".goLogin").bind('click', function(){
			window.scroll(0,0);
			$j("div#panel_guest").slideDown("slow");
			$j("#toggle a").toggle();
		});
	}
	
	// -- Addithional -- 
	
	function activateInputWrapper(inputs){
		$j(inputs).focusFields('#73A6FF',1); // 9cc
	}
	
	function activateChangeInputFileStyle(){
		$j("input[type=file]").filestyle({ 
			 image: "images/choose-file.gif",
			 imageheight : 22,
			 imagewidth : 82,
			 width : 102
		});
	}
	
	function ajaxError(){
		alert("Ошибка при передаче данных! Попробуйте снова");
	}
	
	function reloadPage(){
		window.location.reload();
		return;
	}
	
	function checkResponse( responseText ){
		if( typeof(responseText)=='undefined' ){				
			alert("Ошибка при передаче данных! Попробуйте снова");
			return false;
		}
		
		var json = eval( "(" + responseText + ")" );	
		if( typeof(json.error)=='undefined' ){
			alert("Ошибка при передаче данных! Попробуйте снова");
			return false;
		}
		
		return json;
	}
	

	function activateCalendar( range ){
		
		$j(".calendar").click(function(){
//			alert("1");
			$j(".ui-datepicker-new-year [value='1990']").attr("selected", "selected");
		});
//		jQuery.datepicker._selectMonthYear('#birthday', this, 'Y');
		// Календарь
//		j(".ui-datepicker-new-year").
		$j(".calendar").datepicker(
			{
			create: function(){
//				$(".ui-datepicker-new-year [value='1930']").attr("selected", "selected");
				
//				alert("1");
				},	
			//mandatory: true,
			yearRange: range,
			defaultDate: "-21y",
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
		
		// календарь для желаний 
		$j(".calendar_wish").click(function(){
			$j(".ui-datepicker-new-year [value='2011']").attr("selected", "selected");
		});
		$j(".calendar_wish").datepicker(
			{
			yearRange: range,
			defaultDate: "0",
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");

		

		// $j(".calendar").datepicker('setDate', "1990-01-01");
		/*
			"23.04.2009",
			function(){
			  alert("Событие onSelect");
			},	

		*/
	}	
	
	function var_dump(obj) {
		  var result = null;
		  for (var i in obj)
		  result += 'object' + '.' + i + ' = ' + obj[i] + '\n';
		  return result;
	}
	 
	function activateblock(){
		$j.blockUI({ css: { 
            border: 'none', 
            padding: '15px', 
            backgroundColor: '#000', 
            '-webkit-border-radius': '10px', 
            '-moz-border-radius': '10px', 
            opacity: '.5', 
            color: '#fff'				
        }, overlayCSS:{'z-index': 1007} }); 
	}
	
	function deactivateblock(){
		$j.unblockUI();
	}
	
	function you_are_sure(str){
		return confirm(str);
	}
