function ScriptBuilder(){
	this.url = 'http://tr.dridco.com/zonajobs-co//builder.js';
	this.parameters = new Array();

	this.addParameter = function(key, value, override) {
		if (!this.containsParameter(key)) {
			this.parameters[this.parameters.length] = new Array(2);
			this.parameters[this.parameters.length-1][0]=key;
			this.parameters[this.parameters.length-1][1]=value;
		}
		else if (override) {
			for (var i = 0; i < this.parameters.length; i++) {
				if (this.parameters[i][0] == key) {
					this.parameters[i][1] = value;
				}
			}		
		}
	};

	this.containsParameter = function(key) {
		for (var i = 0; i < this.parameters.length; i++) {
			if (this.parameters[i][0] == key) {
				return true;
			}
		}
		
		return false;
	};

	this.getParameter = function(key) {
		for (var i = 0; i < this.parameters.length; i++) {
			if (this.parameters[i][0] == key) {
				return this.parameters[i][1];
			}
		}

		return null;		
	}

	this.execute = function(){
		//Add the referer as parameter removing querystring parameters. Updates if the referer already exists.
		var referer = this.containsParameter('referer') ? this.getParameter('referer') : document.location.href;
		this.addParameter('referer', referer.split('?')[0].toLowerCase(), true);

		//Add the parameters of the referer.
		var refererParameters =  (referer.indexOf('?') > 0) ? (referer.split('?')[1]).split('&') : null;
		if (refererParameters != null) {
			for (i = 0; i < refererParameters.length; i++)
			{
				var refererParameter = refererParameters[i].split("=");
				this.addParameter(refererParameter[0], refererParameter[1]);
			}
		}

		//Constructs the final url adding the querystring parameters to the original url.
		var finalUrl = this.url;
		for (var i = 0; i < this.parameters.length; i++) {
			finalUrl += (i > 0) ? '&' : '?';
			finalUrl += escape(this.parameters[i][0]) + "=" + escape(this.parameters[i][1]);
		}
		
		document.write('<scrip' + 't type="text/javascript" src="' + finalUrl + '"></scrip' + 't>');
	};
}