var base_urlimg=$('#base_url').val();
$.fn.formvalidate = function( options ) {
	// Establish our default settings
	var id = $(this).attr('id');
		if(id=='submit-form1')
			var formid = '.FormResult1';
			else
			var formid = '.FormResult';

	
	var settings = $.extend({
		formresult: formid,
		formerror: ".form-error",
		loader: '<img src="'+base_urlimg+'assets/images/712.png?id=23" />',
		validateonly: false,
		updateonly: false
	}, options);
	
	var FormObj = $(this);
	var formresult = settings.formresult;
	var formerror = settings.formerror;
	var upOnly = settings.updateonly;
	if(id!='submit-form123'){
	FormObj.find("input[type='submit'] , button[type='submit']").click(function(event){
		//alert("Form Clicked");
		  event.preventDefault();
		  var SubmitButton = FormObj.find("input[type='submit']");
		  SubmitButton.attr('disabled','disabled');
		  FormObj.find( formresult ).html(settings.loader);
		  var formAction = FormObj.attr('action');
		   var formData = new FormData(FormObj[0]);
		  $(settings.formresult).html(settings.loader);
		   $(settings.formerror).html("");
		  $.ajax({
			  url: formAction,
			  type:"POST",
			  data: formData,
			  success:function(data){
				  
					Parsedata = JSON.parse(data);
				   SubmitButton.attr('disabled',null);
				   if(Parsedata.result == 0) {
					   
					   FormObj.find( 'input[name="csrf_ics"]' ).val(Parsedata.csrf_token);
					   
					   
					   
						if(Parsedata.errors) {
							 var errors = Parsedata.errors;
					   $.each(errors, function(i, val){
							FormObj.find( '#'+i+'-error' ).html(val);
							if(i=='complaint_file_f'){
								$('#complaint_file').addClass('vError')
							}
							FormObj.find( 'input[name="'+i+'"], textarea[name="'+i+'"], select[name="'+i+'"]' ).addClass('vError');
					   });
						}
						 if(Parsedata.message) {
							  FormObj.find( formresult ).html(Parsedata.message);
						 }
					   if(Parsedata.captcha != null) {
						FormObj.find( '.captchaImage' ).html(Parsedata.captcha);
						FormObj.find( 'input[name="captcha"]' ).val('');
					   }
					   FormObj.find( formresult ).html('');
					  var emptyy = '';
					  $(formerror).each(function(){
						  if ($(this).html().trim().length) {
							  if(emptyy == '') {
								  emptyy = $(this).attr('id');
							  }
						  }
					   });
			
					   if(emptyy != "") {
						   
						var res1 = emptyy.replace("_error", "");
						var anmEror1 = $('#'+res1).offset().top  - 50;
						//$('html, body').animate({scrollTop : anmEror1},1000);
						
						
						
						var res = emptyy.replace("-error", "");
						var anmEror = $('#'+res).offset().top  - 50;						
						$('html, body').animate({scrollTop : anmEror},1000);
						
					   }
				   }
				   else {	
				   if($(".g-recaptcha").length > 0)
				   grecaptcha.reset();
				   
				  	 FormObj.find( 'input[name="csrf_ics"]' ).val(Parsedata.csrf_token);
					
					   FormObj.find( formresult ).html(Parsedata.message);
					   
					   if(!settings.validateonly) {
						 
						FormObj.find( 'input[type="text"], input[type="hidden"], input[type="checkbox"], input[type="password"], textarea, select' ).each(function(){
						   var Obj = $(this);
						   if(Obj.attr("type") != "hidden")
						   Obj.val('');	
						   Obj.removeClass('vError'); Obj.removeClass('used');
						   Obj.parent('div').find(formerror).html('');	
						   //var anmEror = FormObj.find(formresult).offset().top - 100;
					   });
					   }
					   FormObj.find( 'input[name="captcha"]' ).each(function(){
						   var Obj = $(this);
						   if(Obj.attr("type") != "hidden")
						   Obj.val('');	
						   Obj.removeClass('vError'); 
						   Obj.removeClass('used');
						   Obj.parent('div').find(formerror).html('');	
						   //var anmEror = FormObj.find(formresult).offset().top - 100;
						   
					   });
					   if($("#form-inner-contact").length > 0){
					   //$( "#form-inner-contact" ).slideUp( 500, function() {});
					   }

				   }
				   			   if(!settings.updateonly) {
			   FormObj.find( 'input[name="captcha"]' ).each(function(){
				   var Obj = $(this);
				   if(Obj.attr("type") != "hidden")
				   Obj.val('');	
				   Obj.removeClass('vError'); 
				   Obj.removeClass('used');
				   Obj.parent('div').find(formerror).html('');	
				   var anmEror = FormObj.find(formresult).offset().top - 100;
			   });
			   }
					if(Parsedata.redirect_link != null)
					 window.location = Parsedata.redirect_link;
			  },
			   contentType: false,
        processData: false
		  });
	 });
	}
	 FormObj.find( 'input[type="text"], input[type="password"], input[type="checkbox"], textarea, select , .input-file-trigger' ).focus(function(){
		 var Obj = $(this);
		 Obj.removeClass('vError');
		 Obj.removeClass('used');
		 Obj.parent('div').find(formerror).html('');
		 		if($(".file-return").length > 0){
			$('.file-return').html('');
				}
	 });
	
	if ( $.isFunction( settings.callback ) ) {
		settings.callback.call( this );
	}
}
$(document).ready(function () {

		if($("#submit-form1").length > 0){
		$("#submit-form1").formvalidate();
	}	
	
		if($("#submit_form").length > 0){
		$("#submit_form").formvalidate();
	}
			if($("#results_form").length > 0){
		$("#results_form").formvalidate();
	}
})
