// ---- Form -----

//
function checkCaptcha (captcha) {
	var status, mydata, myreturn = false;
	
	jQuery.ajax({
   	type: "POST",
   	url: "/ajax/captcha.php",
   	data: "captcha=" + captcha,
   	async: false,
   	success: function (data, statusText) {
   		status = statusText; 
   		mydata = data;
   	}
 	});
 	
	if (status != 'success'){
		return false;
	}
	
	if(mydata == 'true') {
		myreturn = true;
	}
	
	return myreturn;
}

//
function form_validate (){
	//get comments form values
	var message = jQuery('#message-area').val();
	var captcha = jQuery('#captcha').val();

	//get comments form id's
	var message_id = jQuery('#message-area').attr("id");
	var captcha_id = jQuery('#captcha').attr("id");
	
	//reset errors
	jQuery("label[for='" + message_id + "']").removeClass('red');
	jQuery("label[for='" + captcha_id + "']").removeClass('red');
	
	//local vars
	var my_return = true;
	var errors = new Array();
	
	//check message field
	if (message == ''){
		jQuery("label[for='" + message_id + "']").addClass('red');
		errors.push(message_id);
		my_return = false;
	}
	else{
		jQuery("label[for='" + message_id + "']").removeClass('red');
	}
	
	//check captcha
	if(captcha == ''){
		//alert('empty captcha');
		jQuery("label[for='" + captcha_id + "']").addClass('red');
		errors.push(captcha_id);
		my_return = false;
	}
	else if(checkCaptcha(captcha) == false && captcha != '') {
		//alert('filled captcha');
		jQuery("label[for='" + captcha_id + "']").addClass('red');
		errors.push(captcha_id);
		my_return = false;
	}
	else{
		jQuery("label[for='" + captcha_id + "']").removeClass('red');
	}

	
	//set focus
	if(errors.length > 0){
		jQuery("#" + errors[0] + "").focus();
	}
	
	
	//go to exit :)
	if (my_return) {
		return true;
	}
	else {
		return false;
	}
};


//jQuery clear form
jQuery.fn.clearForm = function() {
  return this.each(function() {
 		var type = this.type, tag = this.tagName.toLowerCase();
 		if (tag == 'form')
   		return $(':input',this).clearForm();
 		if (type == 'text' || type == 'password' || tag == 'textarea')
   		this.value = '';
 		else if (type == 'checkbox' || type == 'radio')
   		this.checked = false;
 		else if (tag == 'select')
   		this.selectedIndex = -1;
  });
};

//
function onSuccess(data, statusText){
	if (statusText != 'success'){
		return;
	}
		
	if(jQuery(data['errors']).size() == 0){
		jQuery.each(data, function(key, item) {
			if (key == 'comment') {
				var commentHTML = '<div class="message" id="message_'+ item.id +'"><div class="title"><span>' + item.datetime + '&nbsp;UTC,&nbsp;' + item.country + '</span></div><div class="content">' + item.message + '</div></div>';
				jQuery(commentHTML).prependTo("#messages");
				//jQuery('#messages').append(commentHTML);
				jQuery("#post-counter").text(item.counter);
			}
		});
		
		jQuery("#messages .message:last").remove();
		
		jQuery("#message-form").clearForm();
		
		var img = '<img id="captcha_img" src="/captcha.php?reload" alt="" border="0" width="164" height="35" />';
		/*jQuery('#captcha_img').hide(500, function () {
    	jQuery(this).remove();
    });*/
    jQuery('#captcha_img').remove();
    jQuery('#auth-code').append(img);
    /*jQuery('#auth-code').show(500, function () {
    	jQuery(this).append(img);
    });*/
	}
	else {
		jQuery.each(data, function(key, item) {
			if (key == 'errors') {
				jQuery.each(item, function(key2, id){
					jQuery("label[for='" + id + "']").addClass('red');
				});
			}
		});
	}
}

//	
jQuery(document).ready(function() {
	/*
	jQuery("#captcha_img").listen("click", function(){
		//alert('here');
		//jQuery.post('/captcha.php?reload');
		//var image = jQuery('#captcha_img').html();
		
		//alert(image);
    jQuery('#captcha_img').remove();
    var captcha = '<img id="captcha_img" src="/captcha.php?reload" alt="Reload" border="0" width="164" height="35" />';
    jQuery('#auth-code').append(captcha);
    return false;
  	//alert( $(this).text() );
	});
	*/
		
	/*
	jQuery("#reload_captcha").click(function() {
		//jQuery.post('/captcha.php?reload');
		//var image = jQuery('#captcha_img').html();
		
		//alert(image);
    jQuery('#captcha_img').remove();
    var captcha = '<img id="captcha_img" src="/captcha.php?reload" alt="Reload" border="0" width="164" height="35" />';
    jQuery('#reload_captcha').append(captcha);
    //jQuery('#reload_captcha').attr('src', '/captcha.php');
    //alert('here');
	});
	*/
	
	
	jQuery("#submit").hover(
		function () {
			jQuery(this).addClass("hover");
		},
		function () {
			jQuery(this).removeClass("hover");
		}
	);
	
	
	
	jQuery("#message-form").submit(function() { 
		if(form_validate()) {
			var options = {
  			//target: "#messages",
  			url: '/ajax/comments/add.php',
  			type: 'post',
  			dataType: 'json',
  			timeout: 0,
  			//async: false,
  			success: onSuccess
			}; 

			jQuery("#message-form").ajaxSubmit(options);
		}
		
		return false;
	});	
});	