jQuery.cookie = function (key, value, options) {

    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }

        value = String(value);

        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};

$(document).ready(function() {
		  	$("#login_link").fancybox({
				'autoScale'			: true
			});
		  	//$.fancybox();
			$("#reg_link").fancybox({
					'autoScale'			: false
			});
			$("#upload_link").fancybox({
				'autoScale'			: false
			});
			$("#subscribe_link").fancybox({
				'autoScale'			: false
			});
		  	/*types of status*/
			if($.cookie('types_status')=='' || $.cookie('types_status')=='close'){
				$('.types_block').css('display','none');
			}else{
				$('.types_block').css('display','block');
			}
			$('.add_form').css('display','none');
			$(".item_5").click(function(){
				$('.add_form').slideUp('slow', function() {
					
				});
				$('.types_block').slideDown('slow', function() {
					$.cookie('types_status', 'open', { expires: 1000, path: '/' });
				});
			});
			$('.hide_panel').click(function(){
				$('.types_block').slideUp('slow', function() {
					$.cookie('types_status', 'close', { expires: 1000, path: '/' });
				});
			});
			$('.open_addst_button').click(function(){
				$('.types_block').slideUp('slow', function() {
					$.cookie('types_status', 'close', { expires: 1000, path: '/' });
				});
				
				$('.add_form').slideDown('slow', function() {
					$.get('/add/index', function(data) {
						  $('.add_form').html(data);
						  //alert('Load was performed.');
					});
					$('#nickname').focus();
				});
				
			});
			$("#vkauth").click(function(){
				window.location.href='http://api.vkontakte.ru/oauth/authorize?'+ 
				'client_id=1991852&'+ 
				'scope=notify,photos,wall,friends&'+ 
				'redirect_uri=http://'+window.location.host+'/auth/vk& response_type=code';
			});
			$('#hide_panel_add_status').live('click',function(){
				$('.add_form').slideUp('slow', function() {
					
				});
			});
			/*nickname input*/
			$('#nickname').live('click',function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#nickname').live('blur',function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			/*quote textarea*/
			$('#quote').live('click',function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#quote').live('blur',function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
		    /*captcha*/
		    $('#captcha').live('click',function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#captcha').live('blur',function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$('#nick_reg').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#nick_reg').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$('#email_reg').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#email_reg').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$('#city_reg').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#city_reg').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$('#password_reg').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#password_reg').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$('#auth_email').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#auth_email').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$('#auth_pass').click(function(){
		        if($(this).attr('default')==$(this).val()){
		        	$(this).prop('type','password');
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#auth_pass').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		            $(this).prop('type','text');
		        }
		    });
			$('#search_words').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#search_words').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			
			/*subscribe*/
			$('#email_subscribe').click(function(){
		        if($(this).attr('default')==$(this).val()){
		            $(this).val('');
		            $(this).css('color','#000000');
		        }
		    });
			$('#email_subscribe').blur(function(){
		        if($(this).attr('default')==$(this).val()||$(this).val()==''){
		            $(this).val($(this).attr('default'));
		            $(this).css('color','#cecece');
		        }
		    });
			$("#send_email").click(function(){
				$.post(
						'http://'+window.location.host+'/subscribe/index',
						{email:$('#email_subscribe').val()},
						Subscriber
				);
			});
			function Subscriber(dats){
				
				info = '';
				
				//$('#preloaderbg').css('display','none');
				//$('body').css('overflow', 'auto');
				
				switch(dats){
					case '1':
						info = 'Пользователь с таким email уже подписан.';
						viewErrorSub(info);
					break;
					case '2':
						info = 'Спасибо что подписались на email рассылку. Пожалуйста зайдите на указанный email чтобы активировать подписку.';
						viewSucSub(info);
					break;
					case '3':
						info = 'Email введен неправильно.';
						viewErrorSub(info);
					break;
					default:
						info = 'Произошла ошибка. Попробуйте перезагрузить страницу и повторить ваши действия.';
						viewErrorSub(info);
					break;	
				}
				
				//$.prompt(info);
				//alert(1);
				//alert(info);
			}
			function viewErrorSub(text){
				$("#subscribe_window .wrap").hide();
				$('.error_subscribe .title').empty();
				$('.error_subscribe .title').html(text);
				$(".error_subscribe").show();
			}
			function viewSucSub(text){
				$("#subscribe_window .wrap").hide();
				$('.success_subscribe .title').empty();
				$('.success_subscribe .title').html(text);
				$(".success_subscribe").show();
			}
			$('#back_sub').click(function(){
				$(".error_subscribe").hide();
				$("#subscribe_window .wrap").show();
			});
			/*end of subscribe*/
		    /*add status*/
		    $('#sendstatus').live('click',function(){
		        var captcha = $("#captcha").val();
		        var quote = $("#quote").val();
			    var nickname = $('#nickname').val();
			    var iconid = $("input[@name='icon']:checked").val();
			    
			    if(iconid==undefined){
			    	viewMessage('Вы не выбрали иконку статуса');
				}else{
				    if(captcha==$('#captcha').attr('default') || captcha==''){
				    	viewMessage('Вы не ввели защитный код.');
					}else{
						if(quote==$('#quote').attr('default') || quote==''){
							viewMessage('Вы не ввели статус');
						}else{
							if(nickname==$('#nickname').attr('default') || nickname==''){
								viewMessage('Вы не ввели ваше имя');
							}else{
								//validate
								if(quote.length>150){
									viewMessage('Длина статусы должна быть не больше 150 символов');
								}else{
									if(nickname.length>50){
										viewMessage('Имя должно быть не больше 50 символов');
									}else{
										displayOnLoading();
										$.post(
												'http://'+window.location.host+'/add/status',
												{
												id:iconid,cap:captcha,status:quote,nick:nickname
												},Addstatus
												);
									}
								}
							}
						}
					}
			    }	    
		    });
		    
		    
		    function Addstatus(res){
			    
			    displayOffLoading();
			   
			    
		    	var resadd = jQuery.parseJSON(res);
		    	
		    	if(resadd.error==0){
		    		clearAddStatusForm();
					viewMessage("Спасибо. Ваш статус отправлен на рассмотрение.");
			    }else{
			    	viewMessage(resadd.errormes);
			    }
			}
			function clearAddStatusForm(){
				/*captcha = $('#captcha').val($('#captcha').attr('default'));
		        quote = $('#quote').val($('#quote').attr('default'));
			    nickname = $('#nickname').val($('#nickname').attr('default'));
			    */
				$.get('/add/index', function(data) {
					  $('.add_form').html(data);
					  //alert('Load was performed.');
				});
			}
			
			$("#registration").click(function(){
		    	nick_reg = $('#nick_reg').val();
		    	email_reg = $('#email_reg').val();
		    	city_reg = $('#city_reg').val();
		    	password_reg = $('#password_reg').val();
		    	sex = $("input[@name='sex']:checked").val();
		    	if(sex==undefined){
			    	viewRegMessage('Вы не выбрали пол.');
				}else{
					if(email_reg==$('#email_reg').attr('default') || email_reg==''){
				    	viewRegMessage('Вы не указали электронную почту (email).');
					}else{
						if(nick_reg==$('#email_reg').attr('default') || nick_reg==''){
					    	viewRegMessage('Вы не указали имя.');
						}else{
							if(city_reg==$('#city_reg').attr('default') || city_reg==''){
						    	viewRegMessage('Вы не указали город.');
							}else{
								if(password_reg==$('#password_reg').attr('default') || password_reg==''){
							    	viewRegMessage('Вы не указали пароль.');
								}else{
									displayOnLoading();
									
									$.post(
											'http://'+window.location.host+'/reg/index',
											{
											email:email_reg,nick:nick_reg,password:password_reg,city:city_reg,sex_val:sex
											},RegUser
											);
								}
							}
						}
					}
				}
		    	
		    });
			
			function RegUser(resultreg){
				displayOffLoading();
				
				var resreg = jQuery.parseJSON(resultreg);
				if(resreg.error==0){
					location.href = "/profile/user/id/"+resreg.profile;
					//viewRegMessage("Вы зарегистрировались. Нажмите ок,чтобы перейти в свой профиль");
			    }else{
			    	viewRegMessage(resreg.errormes);
			    }
			}
			
			function viewRegMessage(text){
				$("#reg_window .wrap").hide();
				$('.reg_win_error .title').empty();
				$('.reg_win_error .title').html(text);
				$("#reg_window_error").show();
			}
			$('#back_reg').click(function(){
				$("#reg_window_error").hide();
				$("#reg_window .wrap").show();
			});
			function displayOnLoading(){
				$('#preloaderbg').css('display','block');
				$('#preloaderbg').css('width','100%');
				$('#preloaderbg').css('height','100%');
				$('#preloaderbg').css('z-index','100');
				$('body').css('overflow', 'hidden');
			}
			function displayOffLoading(){
				$('#preloaderbg').css('display','none');
				$('body').css('overflow', 'auto');
			}
		    function viewMessage(text){
		    	$(".error_message").empty();
		    	$(".error_message").html(text);
		    	$.fancybox('<div id = "error_window" class = "window">'+$("#error_window").html()+'<\/div>');
			} 
		    
		    $("#auth_user").click(function(){
		    	auth_email = $('#auth_email').val();
		    	auth_pass = $('#auth_pass').val();
		    	if(auth_email==$('#auth_email').attr('default') || auth_email==''){
			    	viewAuthMessage('Вы не ввели email.');
				}else{
					if(auth_pass==$('#auth_pass').attr('default') || auth_pass==''){
				    	viewAuthMessage('Вы не ввели пароль.');
					}else{
						$.post(
								'http://'+window.location.host+'/auth/main',
								{
								email:auth_email,password:auth_pass
								},AuthUser
								);
					}
				}
		    	
		    });
		    function AuthUser(req){
		    	var resauth = jQuery.parseJSON(req);
				if(resauth.error==0){
					location.href = "/profile/user/id/"+resauth.profile;
					//viewRegMessage("Вы зарегистрировались. Нажмите ок,чтобы перейти в свой профиль");
			    }else{
			    	viewAuthMessage(resauth.errormes);
			    }
		    }
		    function viewAuthMessage(text){
		    	$("#login_window .wrap").hide();
				$('.login_error_text .title').empty();
				$('.login_error_text .title').html(text);
				$("#login_error").show();
		    }
		    $("#back_auth").click(function(){
		    	$("#login_error").hide();
		    	$("#login_window .wrap").show();
		    });
		    /*toggle count status*/
			$("#countap").click(function(){
				$("#countap").html("Статусов утверждено");
				$("#countnoap").html("<a href=\"javascript:void(0);\"><span>На рассмотрении<\/span><\/a>");
				$("#digits2").css('display','none');
				$("#digits1").css('display','block');
			});
			$("#countnoap").click(function(){
				$("#countnoap").html("На рассмотрении");
				$("#countap").html("<a href=\"javascript:void(0);\"><span>Статусов утверждено<\/span><\/a>");
				$("#digits1").css('display','none');
				$("#digits2").css('display','block');
			});
			
			$(".upload_link").click(function(){
				
				
			});
			
});
