﻿// JScript File

var mga_query_string = null;

function Querystring(qs) 
{
	this.total=0;
	this.params = new Object();
	this.get=Querystring_get;
	this.andget=Querystring_andget;
	this.getminus=Querystring_getminus;
	this.current = location.search.substring(1,location.search.length);
	this.plist = new Array();	
	qs = (qs!=null ? qs : this.current);
	if (qs.length == 0) return;
	qs = qs.replace(/\+/g, " ");
	var args = qs.split("&");	
	for (var i=0;i<args.length;i++) 
	{	
		var pair = args[i].split("=");
		var name = unescape(pair[0]);
		var value = (pair.length == 2 ? unescape(pair[1]) : name);
		this.params[name] = value
		this.plist[this.total] = name;
		this.total++;
	}
}

function Querystring_get(key, default_) 
{
	if (default_ == null) default_ = null;	
	var value=this.params[key]
	if (value==null) value=default_;	
	return value
}

function Querystring_getminus(list) 
{
	var result = "";
	for(var i=0; i<this.total; i++)
	{
		var ignore = false;
		for(var n=0;n<list.length; n++)ignore = (ignore ? true : (list[n]==this.plist[i]));
		if(!ignore)
		{
			result+=(result!="" ? "&" : "") + this.plist[i] + "=" + this.params[this.plist[i]];
		};
	};
	return result;
}

function Querystring_andget(params)
{
	var result="";
	for(var i=0; i<params.length; i++)
	{
		var value = this.get(params[i]);
		result+=(value ? "&"+params[i]+"="+value : "");
	};
	return result;
}

function mga_initilize(key, extra, count, make, model, category)
{
	mga_query_string = new Querystring();
	make = mga_query_string.get("mga_make",make);
	model = mga_query_string.get("mga_model",model);
	count = mga_query_string.get("mga_count",count);
	category = mga_query_string.get("mga_category",category);

	document.write("<sc"+"ript type=\"text/javascript\" src=\"http://words.goauto.com.au/?"+
		(key && key!="" ? "&mga_key="+key : "")+
		(make && make!="" ? "&mga_make="+make : "")+
		(model && model!=""? "&mga_model="+model : "")+
		(category && category!="" ? "&mga_category="+category : "")+
		(count && count!=0 ? "&mga_count="+count : "")+
		(extra && extra!="" ? "&mga_extra="+extra : "")+
		mga_query_string.andget(Array("mga_story","mga_page"))+
		"\" /></sc"+"ript>");
	return true;
};

function $auto()
{
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) 
	{
		var element = arguments[i];
		if (typeof element == 'string')element = document.getElementById(element);
		if (arguments.length == 1)return element;
		elements.push(element);
	}
	return elements;
}

function mga_formatOutput(content, site, query)
{
	content=content.replace(/\[site\]/g, (site ? site : ""));
	content=content.replace(/\[params\]/g, (query ? "&"+query : ""));
	return content;
};

function mga_output(content, object)
{
	if(object)
	{
		var found = $auto(object);
		if(found)found.innerHTML = content; else alert("MGA Error - HTML Object:["+object + "] not found.");
	}
	else
	{
		document.writeln(content);
	};
};

function mga_makes(object, site){mga_output(mga_formatOutput(mga_makes_source, (site ? site : ""), mga_query_string.getminus(Array("mga_story","mga_page","mga_count","mga_make","mga_category","mga_model"))), object);};
function mga_models(object, site){mga_output(mga_formatOutput(mga_models_source, (site ? site : ""), mga_query_string.getminus(Array("mga_story","mga_page","mga_count","mga_model"))), object);};
function mga_categories(object, site){mga_output(mga_formatOutput(mga_categories_source, (site ? site : ""), mga_query_string.getminus(Array("mga_story","mga_page","mga_count","mga_category","mga_model"))), object);};
function mga_content(object, site){mga_output(mga_formatOutput(mga_content_source, (site ? site : ""), mga_query_string.getminus(Array("mga_story","mga_page","mga_count"))), object);};