/*
 * jQuery Plugin for my site
 * version: 0.1 (2008/9/11 01:07 PM)
 * @requires jQuery v1.2.2 or later
 * All right reserved
*/

/* Empty function */
function eFN(){return true;}

/* Serial function */
function mySN(){return new Date().getTime();}

/* Alert replacement function */
var myAjaxLoading = false;
function myBox(m,t,b){
	if(myAjaxLoading) {myAjaxLoading.remove();myAjaxLoading = false;}
	if(typeof m=='undefined'){m=myLang.boxEmpty;}
	if(typeof t=='undefined'){t=myLang.boxTitle;}
	if(typeof b=='undefined'){eval('b={buttons:{"'+myLang.btnOK+'":true}};');}
	m = '<h2>'+t+'</h2><p>'+m+'</p>';
	$.prompt(m,b);
}
/* Loadin function */
function myLoading() {
	msg = '<h2>'+myLang.ajax_title+'</h2><p>'+myLang.ajax_loading+'</p>';
	myAjaxLoading = $.prompt(msg,{prefix:"loadmask"});
}
/* Ajax Custom function */
var myAjaxFormErrorDisplay='';
function myAjaxForm(formId,endFN) {
	if(typeof endFN=='undefined'){endFN=eFN;}
	$('#'+formId+' :input.m-required').after('<span class="m-required-star">*</span>');
	$('#'+formId).ajaxForm({
		dataType:'json'
		,success:function(data){
			if(typeof data.myurltogo!='undefined'){
				location.href=data.myurltogo.replace(/&amp;/,'&');
				return true;
			}
			if(data.success){endFN;}
			else {
				var str='';
				for(i in data.errors){
					$('#'+formId+' [name='+i+']').addClass('m-form-invalid');
					$('#'+formId+' [name='+i+']').after(myAjaxFormErrorDisplay+'<span class="m-form-invalid-icon">'+data.errors[i]+'</span>');
					str +=data.errors[i]+'<br/>';
				}
				myBox(str);
				endFN();
			}
		}
		,error:function(){
			myBox(myLang.ajaxNetworkError);
		}
		,beforeSubmit:function(){
			$('*').removeClass('m-form-invalid');
			$('.m-form-invalid-icon').replaceWith('');
			if(!myAjaxLoading) {myLoading();}
		}
	});
}