$j(document).ready(function() {		
	$j(document).pngFix();  
    activateLoginForms();
    activateMenu();
});
 
function highLight(item, bgr,color)
{
	$j(item).css({backgroundColor: bgr});
	$j(item).css({ color: color });
}

function activateLoginForms()
{
	$j("#cl_forgot").bind('click', function(){        
        $j("#clients_enter").slideUp("slow", function(){
            $j("#clients_forgot").slideDown("slow");            
        });
    });
    $j("#cl_enter").bind('click', function(){
        $j("#clients_forgot").slideUp("slow", function(){
            $j("#clients_enter").slideDown("slow");
        });        
    });

    $j("#prt_forgot").bind('click', function(){        
        $j("#partners_enter").slideUp("slow", function(){
            $j("#partners_forgot").slideDown("slow");            
        });
    });    
    $j("#prt_enter").bind('click', function(){
        $j("#partners_forgot").slideUp("slow", function(){
            $j("#partners_enter").slideDown("slow");
        });
    });
}

function activateMenu()
{
    $j('#nav').droppy();
}

	// -- Naydav
	
	// -- Registration --
	
	function activateRegistration(){			
			
		var $form = $j('#registerForm');				
		$form.validate({
			rules : {				
				"user[email]": {
					required:true,
					email:true,
					maxlength: 100,
					remote:"/ajax/?module=registrationclients&method=CheckRepeatField&field=email"
				},
				"user[company_name]":"required",
				"user[scope]":"required",
				"user[name]":"required",
				"user[post]":"required",
				"user[company_phone]":"required",
				"user[phone]":"required",
				securimage_code_value: "required"
			},
			messages: {				
				"user[email]": {	
					email: "Некорректный e-mail",
					remote: "e-mail уже используется"					
				}
			},
			errorPlacement: function(error, element) {
				var error_html =  error.html();
				
				if (error_html.length>0) {
					
					if( element.attr("id")=='email' && error_html!=='This field is required.' ){
						$j(element).addClass("inp_short");
						$j(element).next().html( ' '+error_html );
					}
					
					$j(element).removeClass("inp_default").addClass("inp_error");
					
				} else {
					
					if( element.attr("id")=='email'){
						$j(element).removeClass("inp_short");
						$j(element).next().html( ' ' );
					}
					
					$j(element).removeClass("inp_error").addClass("inp_default"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});
	}
	
	// -- Registration Partners --
	
	function activateRegistrationPartners(){			
			
		var $form = $j('#registerpartnerForm');				
		$form.validate({
			rules : {				
				"user[email]": {
					required:true,
					email:true,
					maxlength: 100,
					remote:"/ajax/?module=registrationpartners&method=CheckRepeatField&field=email"
				},
				"user[company_name]":"required",
				"user[scope]":"required",
				"user[name]":"required",
				"user[post]":"required",
				"user[company_phone]":"required",
				"user[phone]":"required",
				securimage_code_value: "required"
			},
			messages: {				
				"user[email]": {	
					email: "Некорректный e-mail",
					remote: "e-mail уже используется"					
				}
			},
			errorPlacement: function(error, element) {
				var error_html =  error.html();
				
				if (error_html.length>0) {
					
					if( element.attr("id")=='email' && error_html!=='This field is required.' ){
						$j(element).addClass("inp_short");
						$j(element).next().html( ' '+error_html );
					}
					
					$j(element).removeClass("inp_default").addClass("inp_error");
					
				} else {
					
					if( element.attr("id")=='email'){
						$j(element).removeClass("inp_short");
						$j(element).next().html( ' ' );
					}
					
					$j(element).removeClass("inp_error").addClass("inp_default"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});
	}
	
	// -- Form forgot --
	
	function activateForgotForm(){
		
		var $form = $j('.forgotForm');				
		$form.validate({
			rules : {				
				"user[email]": {
					required:true,
					email:true
				}
			},
			messages: {				
				"user[email]": {	
					email: "Некорректный e-mail"				
				}
			},
			errorPlacement: function(error, element) {
				var error_html =  error.html();
				
				if (error_html.length>0) {					
					//$j(element).addClass("inp_short");
					//$j(element).next().html( ' '+error_html );					
					$j(element).removeClass("inp_default").addClass("inp_error");					
				} else {					
					//$j(element).removeClass("inp_short");
					//j(element).next().html( ' ' );
					$j(element).removeClass("inp_error").addClass("inp_default"); 
				}			
			},
			submitHandler: function(form) {
					
					$j.ajax({			// $j.getJSON(				
						url: "/ajax/?module=forgot&method=Forgot&field=email",
						type: "POST",
						dataType: 'json',
						timeout: 3000,
						error: function(){				
							ajaxError();
						},					
						success: function( json ) {
							if( json.error==0 ) {								
								alert("Новый пароль выслан на указаный email");
								$j('input[name="user[email]"]').val('');
							} else if( json.error==1 ) {
								alert("Пользователь с указанной эл. почтой не найден");
							} else if( json.error==2 ) {								
								alert("Ошибка при отправке на почту \r\n Попробуйте еще раз!");														
							} else {									  
								alert(json.messadge);
							}
						},
						complete: function(){
						},					
						// Parametrs
						data: $j(form).serialize()
					});
					return false;
			},			
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});
		
	}
	
	// -- Reviews --
	
	function activateReviews(){
		var $form = $j('#reviewsForm');				
		$form.validate({
			rules : {
				"user[company_name]":"required",
				"user[name]":"required",
				"user[post]":"required",
				"user[review]":"required",
				securimage_code_value: "required"
			},
			errorPlacement: function(error, element) {
				var error_html =  error.html();
				
				if (error_html.length>0) {
					$j(element).removeClass("inp_default").addClass("inp_error");
				} else {
					$j(element).removeClass("inp_error").addClass("inp_default"); 
				}			
			}
		});
	}
	
	// -- Feedback
	
	function activateFeedback(){
		var $form = $j('#reviewsForm');				
		$form.validate({
			rules : {
				"user[company_name]":"required",
				"user[name]":"required",
				"user[email]": {
					required:true,
					email:true,
					maxlength: 100,
					remote:"/ajax/?module=feedback&method=CheckEmail"
				},
				"user[review]":"required",
				securimage_code_value: "required"
			},
			messages: {				
				"user[email]": {	
					email: "Некорректный e-mail",
					remote: "только корпоративный e-mail"					
				}
			},			
			errorPlacement: function(error, element) {
				var error_html =  error.html();
				
				if (error_html.length>0) {
					
					if( element.attr("id")=='email' && error_html!=='This field is required.' ){
						$j(element).addClass("inp_short");
						$j(element).next().html( ' '+error_html );
					}
					
					$j(element).removeClass("inp_default").addClass("inp_error");
					
				} else {
					
					if( element.attr("id")=='email'){
						$j(element).removeClass("inp_short");
						$j(element).next().html( ' ' );
					}
					
					$j(element).removeClass("inp_error").addClass("inp_default"); 
				}			
			}
		});
	}
	
	// -- LoginForm
	
	function activateLoginForm(){		
		$j(".loginform").each(function(){
			var validator = $j(this).validate({	
				highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
						$j(element).fadeIn();
					});
				},	
				rules: { login: "required", password:"required" },		
				submitHandler: function(form) {
					$j("#loginerror").html('');
					$j("#loginLoading").show();					
					
					if( $j(form).attr("id")=='partnersform' ){
						// Запрос на логирование в extplorer
						$j.ajax({			// $j.getJSON(				
							url: "/extplorer/index.php",
							type: "POST",
							dataType: 'json',
							//success: function( json ) { reloadPage(); },
							data: {'action':'login','lang':'russian','option':'com_extplorer','p_pass':$j('input[@name=password]',form).val(),'p_user':$j('input[@name=login]',form).val()}
						});
					}
					
					// Родное логирование
					$j.ajax({			// $j.getJSON(				
						url: "/ajax/?module=sitelogin&method=Login",
						type: "POST",
						dataType: 'json',
						timeout: 3000,
						error: function(){				
							ajaxError();
						},					
						success: function( json ) {
							if( json.error==0 ) {								
								reloadPage();								
							} else if( json.error==1 ) {
								//$j("#loginerror").html("Ваш аккаунт заблокирован! Свяжитесь с администратором!");
								alert("Ваш аккаунт заблокирован! Свяжитесь с администратором!");
							} else if( json.error==2 ) {
								//$j("#loginerror").html("Неправильная пара логин-пароль!");
								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;
			}
			
			$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 ) {
						reloadPage();
					}
				},
				// For to solve the problem : 411="Length Required"
				data: {'Logout':1}
			});
					
			return false;
		});
	}
	
	// -- Addithional -- 
	
	function activateInputWrapper( $form){
		$j("input.wrapper, textarea.wrapper", $form).focusFields('#73A6FF',1); // 9cc
	}
	
	function activateChangeInputFileStyle(){
		$j("input[type=file]").filestyle({ 
			 image: "images/choose-file.gif",
			 imageheight : 22,
			 imagewidth : 82,
			 width : 102
		});
	}
	
	function reloadPage(){ 
		window.location.reload();
		return;
	}
	
	function ajaxError(){
		alert("Ошибка при передаче данных! Попробуйте снова");
	}
	
	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(){		
		// Календарь
		$j("#date").datepicker({
			mandatory: true,
			yearRange: '2009:2020',
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
		
		$j("img.dateImg").bind('click', function(){
			$j("#date").focus();
		}).css("cursor", "pointer");
	}	
	
	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);
	}
    
    function activateFlashBanners( wrapper, src, width, height ){        
        $j('#'+wrapper).flash(
            { 
			  'wmode':'opaque',
			  src: src,
              width: width,
              height: height},
            { version: 8 }
        );
    }