ajax =
{
	rq:function(p, v)
	{
		var f = function(ob, post, f, pre)
		{
			for(x in ob)
			{
				if(typeof ob[x] == "object")post = (typeof pre != "undefined") ? f(ob[x], post, f, pre+'['+x+']') : f(ob[x], post, f, x) ;
				else if(typeof pre != "undefined")post.push(pre+'['+x+']='+ encodeURIComponent(ob[x]));
				else post.push(x +'='+ encodeURIComponent(ob[x])) ;
			}
			return post ;
		}

		//
		if(window.XMLHttpRequest)
		{
			var r = new XMLHttpRequest();
		}
	  	else if(window.ActiveXObject)
	  	{
	  		var r = new ActiveXObject("Microsoft.XMLHTTP");
	  	}
	  	else
	  	{
	  		return;
	  	}
        
        var cache = typeof(p.cache) == "undefined" ? 0 : p.cache ;
        
	  	r.open("POST", "/templates/shop/loader.php") ;
	  	r.onreadystatechange = this.rs(r,p) ;
		r.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8;") ;
	  	r.send('__link=' + p.l + '&' + '__cache='+ cache + '&' + f({reqvest:v}, [], f).join('&')) ;

	  	return false ;
	},
	rs:function(r, p)
	{
		return function()
		{
			if(r.readyState == 4 && r.status == 200)
			{
	   			var data = r.responseText;
	   			switch (p.t)
	   			{
	   				case 'r':
						return data;
						break;
					case 'n':
						o(p.c).innerHTML=r.responseText;
						break;
					case 'sql':
						break;
					case 'h':
						break;	
					default:
						o(p.c).innerHTML=r.responseText;
				}
	      		if(typeof(p.no_script) == "undefined" || p.no_script == false)
	      		{
	      			var a = data.split("<script>");
					for(z in a)if(z != 0)
					{
						var b = a[z].split("</script>");
					    eval(b[0]);
					}
	      		}
	      		if(p.e !== "undefined")
	      		{
	      			eval(p.e);
	      		}
	   		}
	   	}
	}
} ;