﻿function Template(tplFile)
{
	var ER = 1;
	this.method = 'GET';
	this.Param = '';
	this.file = tplFile;
	this.raw = "";
	this.onSuccessFunction = function(){alert("Bla");};
	this.Markers = new Array();
	this.onSuccess = function(name){
		this.onSuccessFunction = name;
	};
	this.SetParam = function(POSTParameters){
		this.Param = POSTParameters;
		if(this.Param != '') this.method = 'POST';
		else this.method = 'GET';
	};
	this.Complete = function(k, v){
		this.Markers[k] = v;
	};
	this.Get = function(){
		this.http_request = false;
		if (window.XMLHttpRequest)
		{
			this.http_request = new XMLHttpRequest();
		}
		else if (window.ActiveXObject)
		{
			try
			{
				this.http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				if(ER) alert(e);
				try
				{
					this.http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e)
				{
					if(ER) alert(e);
				}
			}
		}
		if (!this.http_request)
		{
			alert('Cannot create XMLHTTP instance');
			return false;
		}
		this.http_request.onSuccessFunction = this.onSuccessFunction;
		this.http_request.Markers = this.Markers;
		this.http_request.onreadystatechange = function(){
			if(this.readyState == 4) if(this.status == 200) {
				this.data = this.responseText;
				for( var k in this.Markers ) {
					this.data = this.data.split(k).join(this.Markers[k]);
				}
				if(typeof this.onSuccessFunction == 'function') this.onSuccessFunction(this.data);
			}
		};
		this.http_request.open(this.method, this.file, true);
		if(this.method == 'POST')
		{
			this.http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			this.http_request.setRequestHeader("Content-length", this.Param.length);
			this.http_request.setRequestHeader("Connection", "close");
			this.http_request.send(this.Param);
		}
		else
		{
			this.http_request.send(null);
		}
	};
	this.SetSource = function(name){this.file=name;};
}
