/* Simple AJAX Code-Kit (SACK) v1.6.1 */

/* ©2005 Gregory Wild-Smith */

/* www.twilightuniverse.com */

/* Software licenced under a modified X11 licence,

   see documentation or authors website for more details */



function sack(file) {

	this.xmlhttp = null;



	this.resetData = function() {

		this.method = "POST";

  		this.queryStringSeparator = "?";

		this.argumentSeparator = "&";

		this.URLString = "";

		this.encodeURIString = true;

  		this.execute = false;

  		this.element = null;

		this.elementObj = null;

		this.requestFile = file;

		this.vars = new Object();

		this.responseStatus = new Array(2);

  	};



	this.resetFunctions = function() {

  		this.onLoading = function() { };

  		this.onLoaded = function() { };

  		this.onInteractive = function() { };

  		this.onCompletion = function() { };

  		this.onError = function() { };

		this.onFail = function() { };

	};



	this.reset = function() {

		this.resetFunctions();

		this.resetData();

	};



	this.createAJAX = function() {

		try {

			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

		} catch (e1) {

			try {

				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

			} catch (e2) {

				this.xmlhttp = null;

			}

		}



		if (! this.xmlhttp) {

			if (typeof XMLHttpRequest != "undefined") {

				this.xmlhttp = new XMLHttpRequest();

			} else {

				this.failed = true;

			}

		}

	};



	this.setVar = function(name, value){

		this.vars[name] = Array(value, false);

	};



	this.encVar = function(name, value, returnvars) {

		if (true == returnvars) {

			return Array(encodeURIComponent(name), encodeURIComponent(value));

		} else {

			this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);

		}

	}



	this.processURLString = function(string, encode) {

		encoded = encodeURIComponent(this.argumentSeparator);

		regexp = new RegExp(this.argumentSeparator + "|" + encoded);

		varArray = string.split(regexp);

		for (i = 0; i < varArray.length; i++){

			urlVars = varArray[i].split("=");

			if (true == encode){

				this.encVar(urlVars[0], urlVars[1]);

			} else {

				this.setVar(urlVars[0], urlVars[1]);

			}

		}

	}



	this.createURLString = function(urlstring) {

		if (this.encodeURIString && this.URLString.length) {

			this.processURLString(this.URLString, true);

		}



		if (urlstring) {

			if (this.URLString.length) {

				this.URLString += this.argumentSeparator + urlstring;

			} else {

				this.URLString = urlstring;

			}

		}



		// prevents caching of URLString

		this.setVar("rndval", new Date().getTime());



		urlstringtemp = new Array();

		for (key in this.vars) {

			if (false == this.vars[key][1] && true == this.encodeURIString) {

				encoded = this.encVar(key, this.vars[key][0], true);

				delete this.vars[key];

				this.vars[encoded[0]] = Array(encoded[1], true);

				key = encoded[0];

			}



			urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];

		}

		if (urlstring){

			this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);

		} else {

			this.URLString += urlstringtemp.join(this.argumentSeparator);

		}

	}



	this.runResponse = function() {

		eval(this.response);

	}



	this.runAJAX = function(urlstring) {

		if (this.failed) {

			this.onFail();

		} else {

			this.createURLString(urlstring);

			if (this.element) {

				this.elementObj = document.getElementById(this.element);

			}

			if (this.xmlhttp) {

				var self = this;

				if (this.method == "GET") {

					totalurlstring = this.requestFile + this.queryStringSeparator + "option=com_classifieds&Itemid=95&" + this.URLString;

					this.xmlhttp.open(this.method, totalurlstring, true);

				} else {

					this.xmlhttp.open(this.method, this.requestFile, true);

					try {

						this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1")

					} catch (e) { }

				}



				this.xmlhttp.onreadystatechange = function() {

					switch (self.xmlhttp.readyState) {

						case 1:

							self.onLoading();

							break;

						case 2:

							self.onLoaded();

							break;

						case 3:

							self.onInteractive();

							break;

						case 4:

							self.response = self.xmlhttp.responseText;

							self.responseXML = self.xmlhttp.responseXML;

							self.responseStatus[0] = self.xmlhttp.status;

							self.responseStatus[1] = self.xmlhttp.statusText;



							if (self.execute) {

								self.runResponse();

							}



							if (self.elementObj) {

								elemNodeName = self.elementObj.nodeName;

								elemNodeName.toLowerCase();

								if (elemNodeName == "input"

								|| elemNodeName == "select"

								|| elemNodeName == "option"

								|| elemNodeName == "textarea") {

									self.elementObj.value = self.response;

								} else {

									self.elementObj.innerHTML = self.response;

								}

							}

							if (self.responseStatus[0] == "200") {

								self.onCompletion();

							} else {

								self.onError();

							}



							self.URLString = "";

							break;

					}

				};



				this.xmlhttp.send(this.URLString);

			}

		}

	};



	this.reset();

	this.createAJAX();

}



/************************************************************************************************************

Ajax dynamic list

Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

************************************************************************************************************/



	var ajaxBox_offsetX = 0;

	var ajaxBox_offsetY = 0;

	var ajax_list_externalFile2 = 'ajax-list-desc.php';	// Path to external file

	var minimumLettersBeforeLookup2 = 3;	// Number of letters entered before a lookup is performed.



	var ajax_list_objects = new Array();

	var ajax_list_cachedLists = new Array();

	var ajax_list_activeInput = false;

	var ajax_list_activeItem;

	var ajax_list_optionDivFirstItem = false;

	var ajax_list_currentLetters = new Array();

	var ajax_optionDiv = false;

	var ajax_optionDiv_iframe = false;



	var ajax_list_MSIE = false;

	if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)ajax_list_MSIE=true;



	var currentListIndex = 0;



	function ajax_getTopPos(inputObj)

	{



	  var returnValue = inputObj.offsetTop;

	  while((inputObj = inputObj.offsetParent) != null){

	  	returnValue += inputObj.offsetTop;

	  }

	  return returnValue;

	}

	function ajax_list_cancelEvent()

	{

		return false;

	}



	function ajax_getLeftPos(inputObj)

	{

	  var returnValue = inputObj.offsetLeft;

	  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;



	  return returnValue;

	}



	function ajax_option_setValue(e,inputObj)

	{

		if(!inputObj)inputObj=this;

		var tmpValue = inputObj.innerHTML;

		if(ajax_list_MSIE)tmpValue = inputObj.innerText;else tmpValue = inputObj.textContent;

		if(!tmpValue)tmpValue = inputObj.innerHTML;

		ajax_list_activeInput.value = tmpValue;

		if(document.getElementById(ajax_list_activeInput.name + '_hidden'))document.getElementById(ajax_list_activeInput.name + '_hidden').value = inputObj.id;

		ajax_options_hide();

	}



//ajax_list_activeInput.name +

//ajax_list_activeInput.name +



	function ajax_options_hide()

	{

		ajax_optionDiv.style.display='none';

		if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='none';

	}



	function ajax_options_rollOverActiveItem(item,fromKeyBoard)

	{

		if(ajax_list_activeItem)ajax_list_activeItem.className='optionDiv';

		item.className='optionDivSelected';

		ajax_list_activeItem = item;



		if(fromKeyBoard){

			if(ajax_list_activeItem.offsetTop>ajax_optionDiv.offsetHeight){

				ajax_optionDiv.scrollTop = ajax_list_activeItem.offsetTop - ajax_optionDiv.offsetHeight + ajax_list_activeItem.offsetHeight + 2 ;

			}

			if(ajax_list_activeItem.offsetTop<ajax_optionDiv.scrollTop)

			{

				ajax_optionDiv.scrollTop = 0;

			}

		}

	}



	function ajax_option_list_buildList(letters,paramToExternalFile)

	{



		ajax_optionDiv.innerHTML = '';

		ajax_list_activeItem = false;

		if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length<=1){

			ajax_options_hide();

			return;

		}







		ajax_list_optionDivFirstItem = false;

		var optionsAdded = false;

		for(var no=0;no<ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length;no++){

			if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length==0)continue;

			optionsAdded = true;

			var div = document.createElement('DIV');

			var items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/###/gi);



			if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length==1 && ajax_list_activeInput.value == items[0]){

				ajax_options_hide();

				return;

			}





			div.innerHTML = items[items.length-1];

			div.id = items[0];

			div.className='optionDiv';

			div.onmouseover = function(){ ajax_options_rollOverActiveItem(this,false) }

			div.onclick = ajax_option_setValue;

			if(!ajax_list_optionDivFirstItem)ajax_list_optionDivFirstItem = div;

			ajax_optionDiv.appendChild(div);

		}

		if(optionsAdded){

			ajax_optionDiv.style.display='block';

			if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='';

		}



	}



	function ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,whichIndex)

	{

		if(whichIndex!=currentListIndex)return;

		var letters = inputObj.value;

		var content = ajax_list_objects[ajaxIndex].response;

		var elements = content.split('|');

		ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()] = elements;

		ajax_option_list_buildList(letters,paramToExternalFile);



	}



	function ajax_option_resize(inputObj)

	{

		ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';

		ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';

		if(ajax_optionDiv_iframe){

			ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;

			ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;

		}



	}



	function ajax_showOptions2(inputObj,paramToExternalFile,e)

	{

		if(e.keyCode==13 || e.keyCode==9)return;

		if(ajax_list_currentLetters[inputObj.name]==inputObj.value)return;

		if(!ajax_list_cachedLists[paramToExternalFile])ajax_list_cachedLists[paramToExternalFile] = new Array();

		ajax_list_currentLetters[inputObj.name] = inputObj.value;

		if(!ajax_optionDiv){

			ajax_optionDiv = document.createElement('DIV');

			ajax_optionDiv.id = 'ajax_listOfOptions';

			document.body.appendChild(ajax_optionDiv);



			if(ajax_list_MSIE){

				ajax_optionDiv_iframe = document.createElement('IFRAME');

				ajax_optionDiv_iframe.border='0';

				ajax_optionDiv_iframe.style.width = ajax_optionDiv.clientWidth + 'px';

				ajax_optionDiv_iframe.style.height = ajax_optionDiv.clientHeight + 'px';

				ajax_optionDiv_iframe.id = 'ajax_listOfOptions_iframe';



				document.body.appendChild(ajax_optionDiv_iframe);

			}



			var allInputs = document.getElementsByTagName('INPUT');

			for(var no=0;no<allInputs.length;no++){

				if(!allInputs[no].onkeyup)allInputs[no].onfocus = ajax_options_hide;

			}

			var allSelects = document.getElementsByTagName('SELECT');

			for(var no=0;no<allSelects.length;no++){

				allSelects[no].onfocus = ajax_options_hide;

			}



			var oldonkeydown=document.body.onkeydown;

			if(typeof oldonkeydown!='function'){

				document.body.onkeydown=ajax_option_keyNavigation;

			}else{

				document.body.onkeydown=function(){

					oldonkeydown();

				ajax_option_keyNavigation() ;}

			}

			var oldonresize=document.body.onresize;

			if(typeof oldonresize!='function'){

				document.body.onresize=function() {ajax_option_resize(inputObj); };

			}else{

				document.body.onresize=function(){oldonresize();

				ajax_option_resize(inputObj) ;}

			}



		}



		if(inputObj.value.length<minimumLettersBeforeLookup2){

			ajax_options_hide();

			return;

		}





		ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';

		ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';

		if(ajax_optionDiv_iframe){

			ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;

			ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;

		}



		ajax_list_activeInput = inputObj;

		ajax_optionDiv.onselectstart =  ajax_list_cancelEvent;

		currentListIndex++;

		if(ajax_list_cachedLists[paramToExternalFile][inputObj.value.toLowerCase()]){

			ajax_option_list_buildList(inputObj.value,paramToExternalFile,currentListIndex);

		}else{

			ajax_optionDiv.innerHTML = '';

			var ajaxIndex = ajax_list_objects.length;

			ajax_list_objects[ajaxIndex] = new sack();

			var url = ajax_list_externalFile2 + '?' + paramToExternalFile + '=1&'+inputObj.name+'='+inputObj.value+'&letters=' + inputObj.value.replace(" ","+");

			ajax_list_objects[ajaxIndex].requestFile = url;	// Specifying which file to get

			ajax_list_objects[ajaxIndex].onCompletion = function(){ ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,currentListIndex); };	// Specify function that will be executed after file has been found

			ajax_list_objects[ajaxIndex].runAJAX();		// Execute AJAX function

		}





	}



	function ajax_option_keyNavigation(e)

	{

		if(document.all)e = event;



		if(!ajax_optionDiv)return;

		if(ajax_optionDiv.style.display=='none')return;



		if(e.keyCode==38){	// Up arrow

			if(!ajax_list_activeItem)return;

			if(ajax_list_activeItem && !ajax_list_activeItem.previousSibling)return;

			ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling,true);

		}



		if(e.keyCode==40){	// Down arrow

			if(!ajax_list_activeItem){

				ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true);

			}else{

				if(!ajax_list_activeItem.nextSibling)return;

				ajax_options_rollOverActiveItem(ajax_list_activeItem.nextSibling,true);

			}

		}



		if(e.keyCode==13 || e.keyCode==9){	// Enter key or tab key

			if(ajax_list_activeItem && ajax_list_activeItem.className=='optionDivSelected')ajax_option_setValue(false,ajax_list_activeItem);

			if(e.keyCode==13)return false; else return true;

		}

		if(e.keyCode==27){	// Escape key

			ajax_options_hide();

		}

	}





	document.documentElement.onclick = autoHideList;



	function autoHideList(e)

	{

		if(document.all)e = event;



		if (e.target) source = e.target;

			else if (e.srcElement) source = e.srcElement;

			if (source.nodeType == 3) // defeat Safari bug

				source = source.parentNode;

		if(source.tagName.toLowerCase()!='input' && source.tagName.toLowerCase()!='textarea')ajax_options_hide();



	}



/************************************************************************************************************

Ajax dynamic list

Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

************************************************************************************************************/



	var ajaxBox_offsetX = 0;

	var ajaxBox_offsetY = 0;

	var ajax_list_externalFile = 'ajax-list-countries.php';	// Path to external file

	var minimumLettersBeforeLookup = 1;	// Number of letters entered before a lookup is performed.



	var ajax_list_objects = new Array();

	var ajax_list_cachedLists = new Array();

	var ajax_list_activeInput = false;

	var ajax_list_activeItem;

	var ajax_list_optionDivFirstItem = false;

	var ajax_list_currentLetters = new Array();

	var ajax_optionDiv = false;

	var ajax_optionDiv_iframe = false;



	var ajax_list_MSIE = false;

	if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)ajax_list_MSIE=true;



	var currentListIndex = 0;



	function ajax_getTopPos(inputObj)

	{



	  var returnValue = inputObj.offsetTop;

	  while((inputObj = inputObj.offsetParent) != null){

	  	returnValue += inputObj.offsetTop;

	  }

	  return returnValue;

	}

	function ajax_list_cancelEvent()

	{

		return false;

	}



	function ajax_getLeftPos(inputObj)

	{

	  var returnValue = inputObj.offsetLeft;

	  while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;



	  return returnValue;

	}



	function ajax_option_setValue(e,inputObj)

	{

		if(!inputObj)inputObj=this;

		var tmpValue = inputObj.innerHTML;

		if(ajax_list_MSIE)tmpValue = inputObj.innerText;else tmpValue = inputObj.textContent;

		if(!tmpValue)tmpValue = inputObj.innerHTML;

		ajax_list_activeInput.value = tmpValue;

		if(document.getElementById(ajax_list_activeInput.name + '_hidden'))document.getElementById(ajax_list_activeInput.name + '_hidden').value = inputObj.id;

		ajax_options_hide();

	}



	function ajax_options_hide()

	{

        if(!ajax_optionDiv)return;  // tillagt!

		ajax_optionDiv.style.display='none';

		if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='none';

	}



	function ajax_options_rollOverActiveItem(item,fromKeyBoard)

	{

		if(ajax_list_activeItem)ajax_list_activeItem.className='optionDiv';

		item.className='optionDivSelected';

		ajax_list_activeItem = item;



		if(fromKeyBoard){

			if(ajax_list_activeItem.offsetTop>ajax_optionDiv.offsetHeight){

				ajax_optionDiv.scrollTop = ajax_list_activeItem.offsetTop - ajax_optionDiv.offsetHeight + ajax_list_activeItem.offsetHeight + 2 ;

			}

			if(ajax_list_activeItem.offsetTop<ajax_optionDiv.scrollTop)

			{

				ajax_optionDiv.scrollTop = 0;

			}

		}

	}



	function ajax_option_list_buildList(letters,paramToExternalFile)

	{



		ajax_optionDiv.innerHTML = '';

		ajax_list_activeItem = false;

		if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length<=1){

			ajax_options_hide();

			return;

		}







		ajax_list_optionDivFirstItem = false;

		var optionsAdded = false;

		for(var no=0;no<ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length;no++){

			if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length==0)continue;

			optionsAdded = true;

			var div = document.createElement('DIV');

			var items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/###/gi);



			if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length==1 && ajax_list_activeInput.value == items[0]){

				ajax_options_hide();

				return;

			}





			div.innerHTML = items[items.length-1];

			div.id = items[0];

			div.className='optionDiv';

			div.onmouseover = function(){ ajax_options_rollOverActiveItem(this,false) }

			div.onclick = ajax_option_setValue;

			if(!ajax_list_optionDivFirstItem)ajax_list_optionDivFirstItem = div;

			ajax_optionDiv.appendChild(div);

		}

		if(optionsAdded){

			ajax_optionDiv.style.display='block';

			if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='';

		}



	}



	function ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,whichIndex)

	{

		if(whichIndex!=currentListIndex)return;

		var letters = inputObj.value;

		var content = ajax_list_objects[ajaxIndex].response;

		var elements = content.split('|');

		ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()] = elements;

		ajax_option_list_buildList(letters,paramToExternalFile);



	}



	function ajax_option_resize(inputObj)

	{

		ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';

		ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';

		if(ajax_optionDiv_iframe){

			ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;

			ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;

		}



	}



	function ajax_showOptions(inputObj,paramToExternalFile,e)

	{

		if(e.keyCode==13 || e.keyCode==9)return;

		if(ajax_list_currentLetters[inputObj.name]==inputObj.value)return;

		if(!ajax_list_cachedLists[paramToExternalFile])ajax_list_cachedLists[paramToExternalFile] = new Array();

		ajax_list_currentLetters[inputObj.name] = inputObj.value;

		if(!ajax_optionDiv){

			ajax_optionDiv = document.createElement('DIV');

			ajax_optionDiv.id = 'ajax_listOfOptions';

			document.body.appendChild(ajax_optionDiv);



			if(ajax_list_MSIE){

				ajax_optionDiv_iframe = document.createElement('IFRAME');

				ajax_optionDiv_iframe.border='0';

				ajax_optionDiv_iframe.style.width = ajax_optionDiv.clientWidth + 'px';

				ajax_optionDiv_iframe.style.height = ajax_optionDiv.clientHeight + 'px';

				ajax_optionDiv_iframe.id = 'ajax_listOfOptions_iframe';



				document.body.appendChild(ajax_optionDiv_iframe);

			}



			var allInputs = document.getElementsByTagName('INPUT');

			for(var no=0;no<allInputs.length;no++){

				if(!allInputs[no].onkeyup)allInputs[no].onfocus = ajax_options_hide;

			}

			var allSelects = document.getElementsByTagName('SELECT');

			for(var no=0;no<allSelects.length;no++){

				allSelects[no].onfocus = ajax_options_hide;

			}



			var oldonkeydown=document.body.onkeydown;

			if(typeof oldonkeydown!='function'){

				document.body.onkeydown=ajax_option_keyNavigation;

			}else{

				document.body.onkeydown=function(){

					oldonkeydown();

				ajax_option_keyNavigation() ;}

			}

			var oldonresize=document.body.onresize;

			if(typeof oldonresize!='function'){

				document.body.onresize=function() {ajax_option_resize(inputObj); };

			}else{

				document.body.onresize=function(){oldonresize();

				ajax_option_resize(inputObj) ;}

			}



		}



		if(inputObj.value.length<minimumLettersBeforeLookup){

			ajax_options_hide();

			return;

		}





		ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';

		ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';

		if(ajax_optionDiv_iframe){

			ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;

			ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;

		}



		ajax_list_activeInput = inputObj;

		ajax_optionDiv.onselectstart =  ajax_list_cancelEvent;

		currentListIndex++;

		if(ajax_list_cachedLists[paramToExternalFile][inputObj.value.toLowerCase()]){

			ajax_option_list_buildList(inputObj.value,paramToExternalFile,currentListIndex);

		}else{

			ajax_optionDiv.innerHTML = '';

			var ajaxIndex = ajax_list_objects.length;

			ajax_list_objects[ajaxIndex] = new sack();

			var url = ajax_list_externalFile + '?' + paramToExternalFile + '=1&'+inputObj.name+'='+inputObj.value+'&letters=' + inputObj.value.replace(" ","+");

			ajax_list_objects[ajaxIndex].requestFile = url;	// Specifying which file to get

			ajax_list_objects[ajaxIndex].onCompletion = function(){ ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,currentListIndex); };	// Specify function that will be executed after file has been found

			ajax_list_objects[ajaxIndex].runAJAX();		// Execute AJAX function

		}





	}



	function ajax_option_keyNavigation(e)

	{

		if(document.all)e = event;



		if(!ajax_optionDiv)return;

		if(ajax_optionDiv.style.display=='none')return;



		if(e.keyCode==38){	// Up arrow

			if(!ajax_list_activeItem)return;

			if(ajax_list_activeItem && !ajax_list_activeItem.previousSibling)return;

			ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling,true);

		}



		if(e.keyCode==40){	// Down arrow

			if(!ajax_list_activeItem){

				ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true);

			}else{

				if(!ajax_list_activeItem.nextSibling)return;

				ajax_options_rollOverActiveItem(ajax_list_activeItem.nextSibling,true);

			}

		}



		if(e.keyCode==13 || e.keyCode==9){	// Enter key or tab key

			if(ajax_list_activeItem && ajax_list_activeItem.className=='optionDivSelected')ajax_option_setValue(false,ajax_list_activeItem);

			if(e.keyCode==13)return false; else return true;

		}

		if(e.keyCode==27){	// Escape key

			ajax_options_hide();

		}

	}





	document.documentElement.onclick = autoHideList;



	function autoHideList(e)

	{

		if(document.all)e = event;



		if (e.target) source = e.target;

			else if (e.srcElement) source = e.srcElement;

			if (source.nodeType == 3) // defeat Safari bug

				source = source.parentNode;

		if(source.tagName.toLowerCase()!='input' && source.tagName.toLowerCase()!='textarea')ajax_options_hide();



	}



/************************************************************************************************************

Ajax chained select

Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

************************************************************************************************************/



var ajax = new sack();



function getRegionList(sel)

{

	var regionCode = sel.options[sel.selectedIndex].value;

	document.getElementById('sel_reg').options.length = 0;	// Empty region select box

	if(regionCode.length>0){

		ajax.requestFile = 'ajax/getCities.php?regionCode='+regionCode;	// Specifying which file to get

		ajax.onCompletion = createRegions;	// Specify function that will be executed after file has been found

		ajax.runAJAX();		// Execute AJAX function

	}

}



function getCityList(sel)

{

	var countryCode = sel.options[sel.selectedIndex].value;

	document.getElementById('sel_city').options.length = 0;	// Empty city select box

	if(countryCode.length>0){

		ajax.requestFile = 'ajax/getCities.php?countryCode='+countryCode;	// Specifying which file to get

		ajax.onCompletion = createCities;	// Specify function that will be executed after file has been found

		ajax.runAJAX();		// Execute AJAX function

	}

}



function getCityList2(sel)

{

	var countryCode2 = sel.options[sel.selectedIndex].value;

	document.getElementById('sel_city2').options.length = 0;	// Empty city select box

	if(countryCode2.length>0){

		ajax.requestFile = 'ajax/getCities2.php?countryCode='+countryCode2;	// Specifying which file to get

		ajax.onCompletion = createCities2;	// Specify function that will be executed after file has been found

		ajax.runAJAX();		// Execute AJAX function

	}

}



function getLocalList(sel)

{

	var cityCode = sel.options[sel.selectedIndex].value;

	document.getElementById('category').options.length = 0;	// Empty local select box

	if(cityCode.length>0){

		ajax.requestFile = 'ajax/getCities.php?cityCode='+cityCode;	// Specifying which file to get

		ajax.onCompletion = createLocal;	// Specify function that will be executed after file has been found

		ajax.runAJAX();		// Execute AJAX function

	}

}



function getLocalList2(sel)

{

	var cityCode2 = sel.options[sel.selectedIndex].value;

	document.getElementById('ad_catid2').options.length = 0;	// Empty local select box

	if(cityCode2.length>0){

		ajax.requestFile = 'ajax/getCities2.php?cityCode='+cityCode2;	// Specifying which file to get

		ajax.onCompletion = createLocal2;	// Specify function that will be executed after file has been found

		ajax.runAJAX();		// Execute AJAX function

	}

}



function createRegions()

{

	var obj = document.getElementById('sel_reg');

	eval(ajax.response);	// Executing the response from Ajax as Javascript code

}



function createCities()

{

	var obj = document.getElementById('sel_city');

	eval(ajax.response);	// Executing the response from Ajax as Javascript code

}



function createLocal()

{

	var obj = document.getElementById('category');

	eval(ajax.response);	// Executing the response from Ajax as Javascript code

}



function createCities2()

{

	var obj = document.getElementById('sel_city2');

	eval(ajax.response);	// Executing the response from Ajax as Javascript code

}



function createLocal2()

{

	var obj = document.getElementById('ad_catid2');

	eval(ajax.response);	// Executing the response from Ajax as Javascript code

}



function countit(what){



formcontent=what.form.ad_text.value;

what.form.counted.value=formcontent.length;

    if(what.form.counted.value > 249) {

        what.form.counted.style.color = '#ff0000';

        what.form.counted.style.fontWeight = 'bold';

        if(what.form.counted.value > 250) {

            what.form.ad_text.value = what.form.ad_text.value.substring(0,250);

            what.form.counted.value=what.form.ad_text.value.length;

        }

    }else if(what.form.counted.value < 250) {

        what.form.counted.style.color = '';

        what.form.counted.style.fontWeight = '';

    }

}



function switchMenu(obj) {

    var el = document.getElementById(obj);

    if ( el.style.display != "none" )

    {

        el.style.display = 'none';

    }

    else

    {

        el.style.display = '';

    }

}



/*------------------------------------------------------------

	Document Text Sizer- Copyright 2003 - Taewook Kang.  All rights reserved.

	Coded by: Taewook Kang (txkang.REMOVETHIS@hotmail.com)

	Web Site: http://txkang.com

	Script featured on Dynamic Drive (http://www.dynamicdrive.com)



	Please retain this copyright notice in the script.

	License is granted to user to reuse this code on

	their own website if, and only if,

	this entire copyright notice is included.

--------------------------------------------------------------*/



//Specify affected tags. Add or remove from list:

var tgs = new Array( 'div','td','tr','class','span','a','pp');



//Specify spectrum of different font sizes:

var szs = new Array( '9px','10px','12px','14px' );

var startSz = 2;



function size( trgt,inc ) {

	if (!document.getElementById) return

	var d = document,cEl = null,sz = startSz,i,j,cTags;



	sz += inc;

	if ( sz < 0 ) sz = 0;

	if ( sz > 4 ) sz = 4;

	startSz = sz;



	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];



	cEl.style.fontSize = szs[ sz ];



	for ( i = 0 ; i < tgs.length ; i++ ) {

		cTags = cEl.getElementsByTagName( tgs[ i ] );

		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];

	}

}





/*-----------------------------------------------------------------

	Show/hide div when waiting for large page to load.

	Universal for all main menu items! Script (c) Torsten Jönsson,

    Pendlarservice.se (http://www.pendlarservice.se).

	License is granted to user to reuse this code on

	their own website if, and only if,

	this entire copyright notice is included.

-------------------------------------------------------------------*/

function switchIt(what) {

	var vad = document.getElementById(what);

	if ( vad.style.display != "none" ) {

		vad.style.display = 'none';

	}

	else {

		vad.style.display = '';

	}

}



function hideDiv() {

  setTimeout('switchIt("wait")', 8000)

	}



function hideIt(what) {

	var vad = document.getElementById(what);

    vad.style.display = 'none';

}



function showIt(what) {

	var vad = document.getElementById(what);

    vad.style.display = '';

}



/*-----------------------------------------------------------------

	Detta script beräknar hur mycket man sparar på samåkning!

	This script is copyright (c) Pendlarservice.se

	May be used freely IF this copyright notice is left intact AND

	you put a link to www.pendlarservice.se on your public web site.

-------------------------------------------------------------------*/



function ClearForm(form){



    form.dist.value = "";

    form.cost.value = "";

    form.count.value = "";

    form.days.value = "";

    form.samak.value = "";

    form.kommentar.value = "";



}



function checksamform(form) {



       if (form.dist.value==null||form.dist.value.length==0 || form.cost.value==null||form.cost.value.length==0 || form.count.value==null||form.count.value.length==0 || form.days.value==null||form.days.value.length==0){

            form.samak.value="Fyll i alla uppgifter i formuläret innan du klickar 'Räkna'";

            //alert("\nFyll i alla uppgifter i formuläret innan du klickar på 'Räkna'");

            return false;

       }



       else if (parseFloat(form.dist.value) <= 0||

                parseFloat(form.dist.value) >=1000||

                parseFloat(form.cost.value) <= 10||

                parseFloat(form.cost.value) >=50){

                //alert("\nKan detta verkligen vara rätt? \n\nProva ange korrekt information, \navstånd i km och milkostnad i kronor");

                form.samak.value="Stämmer detta? Avstånd i km, kostnad per mil i kronor!";

                //ClearForm(form);

                return false;

       }

       else if (parseFloat(form.count.value) <= 0||

                parseFloat(form.count.value) >=56){

                form.samak.value="Hmm... Åker du buss?! Formuläret tar max 55 personer!";

                return false;

       }

       else if (parseFloat(form.days.value) >=8){

                form.samak.value="Hmm... Där jag kommer ifrån har veckorna max 7 dagar!";

                return false;

       }

       else if (parseFloat(form.days.value) <= 0){

                form.samak.value="Well, samåkning 0 dagar per vecka ger ingen besparing!";

                return false;

       }

       return true;



}



function calcsamform(form) {



       if (checksamform(form)) {



       together=Math.round(eval(form.dist.value*form.cost.value*2/10)*eval(form.days.value*44/form.count.value));

	   onurown=Math.round(eval(form.dist.value*form.cost.value*2/10)*eval(form.days.value*44));

	   saving=eval(onurown-together);

       form.samak.value='Du sparar '+saving+' kr/år!';



       if (saving >25000) {

          form.kommentar.value="Hur mycket kostar en sommarstuga per år?";

       }



       else if (saving >15000 && saving <=25000) {

          form.kommentar.value="Wow! En hel månadslön efter skatt!";

       }



       else if (saving >10000 && saving <=15000) {

          form.kommentar.value="En rejäl slant, eller hur?";

       }



       else if (saving >0 && saving <=10000) {

          form.kommentar.value="Pengar rakt ner i din plånbok!";

       }



       else if (form.count.value =1) {

          form.kommentar.value="Åker man själv sparar man inget!!";

       }



       }

       return;

}