var SmartyAjax={
	update: function(update_id, url, method, params, callback){
		if(params!=""){
			url+="?"+params;
		}
		jQuery("#"+update_id).load(url,callback);
	},
	call: function(url, method, params, callback, params_func){
		jQuery.ajax(
			{
				url: url,
				type: method,
				data: params,
				complete: callback
			});
	},


	submit: function(form, href, params, callback){
		var inputs=form.getElementsByTagName("INPUT");
		var fileUpload=false;
		var fUplUrl="";
		var fileUploadElements=new Array();
		var fc=0;
		for(i=0;i<inputs.length;i++){
			if((inputs[i].type=="submit" || inputs[i].type=="image") && inputs[i].name!=undefined && inputs[i].name!=""){
				params+="&"+inputs[i].name+"=1";
				fUplUrl+="&"+inputs[i].name+"=1";
			}
			if(inputs[i].type=="file" && inputs[i].value!=""){ //посылает файл отдельно от данных формы, иначе данные формы не распознаются
				fileUpload=true;
			}
		}
		if(fileUpload){
			submitWithFiles.upload(form, href, fUplUrl,callback);
		}else{
		jQuery.ajax(
				{
					url: href,
					type: "POST",
					data: params,
					complete: callback
				});
		}
	}
}

var submitWithFiles={
		createUploadIframe: function(uri)
			{
					//create frame
		            var frameId = 'jUploadFrame';

		            if(window.ActiveXObject) {
		                var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
		                if(typeof uri== 'boolean'){
		                    io.src = 'javascript:false';
		                }
		                else if(typeof uri== 'string'){
		                    io.src = uri;
		                }
		            }
		            else {
		                var io = document.createElement('iframe');
		                io.id = frameId;
		                io.name = frameId;
		            }
		            io.style.position = 'absolute';
		            io.style.top = '-1000px';
		            io.style.left = '-1000px';

		            document.body.appendChild(io);

		            return io
		    },
		createUploadForm: function(oForm, href, frame)
				{
					//create form
					var formId = 'jUploadForm';
					form=jQuery(oForm).clone();
					form.attr("name",formId);
					form.attr("id",formId);
					form.attr("target",frame.name);
					if(form.action==undefined || form.action=="") form.attr("action",href);
					jQuery(form).appendTo(frame);
					return form;
			    },
		upload: function(form, href, exturl, callback){
				frame=this.createUploadIframe("",href);
				cForm=this.createUploadForm(form, href+exturl,frame);
				cForm.submit();
				frame.onload=function(){
					jQuery(cForm).remove();
					jQuery(frame).remove();
					SmartyAjax.call(href,cForm.method,"",callback);
				}
		}

	};


jQuery("#loading").bind("ajaxSend", function(){
    jQuery(this).show(); // показываем лоадер
}).bind("ajaxComplete", function(){
    jQuery(this).hide(); // скрываем лоадер
});
