var language = null;

function clear_once(field)
{
	try{
		if (typeof field != 'object') {
			field = document.getElementById(field);
		}

		if (!field.clearedOnce) {
			field.value = '';
			field.clearedOnce = true;
		}
	}
	catch(e){}
}


/**
 * Clears selection options.
 */
function clearSelection(selectElement)
{
	removeChildren(selectElement);
}


/**
 * Remove all children of element.
 */
function removeChildren(element)
{
	while (element.firstChild)
	{
		element.removeChild(element.firstChild);
	}
}


/**
 * Add value-name pairs to selection.
 */
function addToSelection(selectElement, name, value, disabled, selected)
{
	var labelAtt = document.createAttribute('value')
	labelAtt.value = value;

	var option = document.createElement('option');
	option.setAttributeNode(labelAtt);
	option.innerHTML = name;
	option.disabled = disabled;
	option.selected = selected;

	selectElement.appendChild(option);
}


/**
 * Returns height of document object.
 */
function getDocHeight(target)
{
	return target.body.offsetHeight;
}


/**
 * Resizes iframe to fit content.
 */
function autofit_frame(ifrm)
{
	var iframeWin = window.frames[ifrm];
	var iframeEl = document.getElementById ? document.getElementById(ifrm) : document.all ? document.all[ifrm] : null;
	if ( iframeEl && iframeWin )
	{
		var docHt = getDocHeight(iframeWin.document);
		iframeEl.style.height = docHt + "px";
	}
}


/**
 * Heals mailto href link.
 */
function mailhref(a,at,dot)
{
	var href = a.href;
	href = str_replace_all(at, '@', href);
	href = str_replace_all(dot, '.', href);
	a.href = href;
}


/**
 * String replace.
 * str_obj.replace() replaces only first occurance of search in IE6
 * This functions replaces all occurances
 */
function str_replace_all(search, replace, subject)
{
	while (subject.indexOf(search) != -1)
	{
		subject = subject.replace(search, replace);
	}

	return subject;
}


/**
 * Makes element visible/hidden
 */
function toggle_element_visibility(id, value)
{
	var ids = id.split(',');
	var ret = null;

	for(i=0; i<ids.length; i++)
	{
		var el = document.getElementById(ids[i]);
		var new_value = value;

		if (new_value == null)
		{
			if ('none' == el.style.display)
			{
				new_value = '';
				ret = true;
			}
			else
			{
				new_value = 'none';
				ret = false;
			}
		}

		el.style.display = new_value;
	}

	return ret;
}


/**
 * Sets and returns system language.
 * Only returns if param l is null.
 */
function syslang(l)
{
	switch (l)
	{
		case null : break;

		case "EST" : syslang("et"); break;
		case "ENG" : syslang("en"); break;
		case "RUS" : syslang("ru"); break;
		case "FIN" : syslang("fi"); break;
		case "LAT" : syslang("lv"); break;
		case "LIT" : syslang("lt"); break;

		default:	language = l; break;
	}

	return language;
}


/**
 * Function include once.
 * Tries to include JS source file.
 */
function include_once(f){
	if(f == null) return;

	var append = true;

	f_split = f.split("/");
	f_length = f_split.length;

	var s = document.getElementsByTagName("script");
	for(i=0; i<s.length; i++){
		src = s[i].src;
		if(src == f){
			append = false;
			break;
		}else if(src != null){
			src_split = src.split("/");
			src_length = src_split.length;
			steps = Math.min(f_length, src_length);

			var diff = false;

			for(offset=1; offset<=steps; offset++){
				f_i = f_length - offset;
				src_i = src_length - offset;

				if(f_split[f_i] != src_split[src_i]){
					diff = true;
					break;
				}
			}

			if(!diff){
				append = false;
				break;
			}
		}
	}


	if (append){
		var ns = document.createElement("script");
		ns.setAttribute("type", "text/javascript");
		ns.setAttribute("src", f);

		try{
			var head = document.getElementsByTagName("head").item(0);
			head.appendChild(ns);
		}catch(e){alert('No head element.')}
	}
}


function vehicle_details_large_images_go_back()
{
	go_back_or_to_detail_view();
}

function go_back_or_to_detail_view()
{
	if
	(
		document.referrer.indexOf('/kasutatud/auto.php') > 0
		||
		document.referrer.indexOf('/webcache_kasutatud/') > 0
		||
		document.referrer.indexOf('/used/') > 0
		||
		document.referrer.indexOf('/products/detail_product.php') > 0
	)
	{
		history.back(-1);
		return false;
	}
	else return true;
}

function strip_tags(str)
{
	return str.replace(/(<([^>]+)>)/ig,'');
}

function decode_xml_special_chars(str)
{
	return str.replace(/\&amp;/ig, '&').replace(/\&lt;/ig, '<').replace(/\&gt;/ig, '>');
}

function get_search_safe_string(str)
{
	return str.replace(/[\?\$\|\(\)\\\[\]\{\}\$\£\@\'\"\^]/ig,".");
}