function removeAll()
{
	var elSel = document.getElementById("WIsettings[icon_ext]");
	var i;
	for (i = elSel.length - 1; i>=0; i--)
	{
		elSel.remove(i);
	}
}

function appendOption(idx, txt, id)
{
	var elOptNew = document.createElement('option');
	elOptNew.text = txt;
	elOptNew.value = idx;
	var elSel = document.getElementById(id);

	try
	{
		elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
	}
	catch(ex)
	{
		elSel.add(elOptNew); // IE only
	}
}

function updateForm(icon_pack)
{
	removeAll();
<?php
	foreach ($WI->icon_packs as $icon_pack)
	{
		echo "\t".'if ( icon_pack == "' . $icon_pack['Name'] . '")' . "\n\t{\n";
		echo "\t\t".'var preview = document.getElementById("previewimg");'."\n";
		echo "\t\t".'preview.src = "' . WIicondirWeb . $icon_pack['Name'] . '/0cloud.' . $icon_pack['Formats'][0] . '";' . "\n";
		foreach  ($icon_pack['Formats'] as $idx => $format)
		{
			echo "\t\t".'appendOption(' . $idx . ', "' . $format . '", "WIsettings[icon_ext]");'."\n";
		}
		echo "\t}\n";
	}
?>
}

function saveOrder()
{
	var list = document.getElementById("active");
	var items = list.getElementsByTagName("li");
	var display_options = document.getElementById("display_options");

	// clear display options
	display_options.innerHTML = "";

	for (var i=0, n=items.length; i<n; i++)
	{
		var INPUT=document.createElement('input');
		INPUT.setAttribute('name', 'WIsettings[display_options][]');
		INPUT.setAttribute('value', items[i].getAttribute("class"));
		INPUT.setAttribute('type', 'hidden');
		display_options.appendChild(INPUT);
	}
}

window.onload = function() 
{
	var list = document.getElementById("active");
	DragDrop.makeListContainer( list, 'display' );
	list.onDragOver = function() { this.style["background"] = "#EEF"; };
	list.onDragOut  = function() { this.style["background"] = "none"; };
	list.onDragDrop = function() { saveOrder(); };

	var list = document.getElementById("disabled");
	DragDrop.makeListContainer( list, 'display' );
	list.onDragOver = function() { this.style["background"] = "#EEF"; };
	list.onDragOut  = function() { this.style["background"] = "none"; };
	list.onDragDrop = function() { saveOrder(); };

	saveOrder();
}

var default_loc_id="<?php echo $WI->settings['default_location']; ?>";

function show_debug (loc_id)
{
	URL = "<?php echo WIdirWeb ?>/test/?location=" + loc_id;
	window.open(URL, '', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=740,height=540');
}

function make_default_loc (loc_id)
{
	var newDefault = document.getElementById('actions-' + loc_id);
	var oldDefault = document.getElementById('actions-' + default_loc_id);

	newDefault.innerHTML = '';

    var newElement = document.createElement('a');
    newElement.href = 'javascript:show_debug ("' + default_loc_id + '");'
    newElement.innerHTML = 'Debug';
    newDefault.appendChild(newElement);

	oldDefault.innerHTML = '';

	var newElement = document.createElement('a');
	newElement.href = 'javascript:show_debug ("' + default_loc_id + '");'
	newElement.innerHTML = 'Debug';
	oldDefault.appendChild(newElement);

    var newElement = document.createElement('br');
    oldDefault.appendChild(newElement);

	var newElement = document.createElement('a');
	newElement.href = 'javascript:make_default_loc ("' + default_loc_id + '");'
	newElement.innerHTML = 'Make Default';
	oldDefault.appendChild(newElement);

	var newElement = document.createElement('br');
	oldDefault.appendChild(newElement);

	var newElement = document.createElement('a');
	newElement.href = 'javascript:delete_loc ("' + default_loc_id + '");'
	newElement.innerHTML = 'Delete';
	oldDefault.appendChild(newElement);

	default_loc_id = loc_id;

	var defaultInput = document.getElementById('default_loc');
	defaultInput.setAttribute('value', loc_id);
}

function delete_loc (loc_id)
{
	if (confirm('<?php echo __('Are you sure you want to delete this location entry?', 'WI') ?>'))
	{
		var TR = document.getElementById('entry-' + loc_id);
		TR.parentNode.removeChild(TR);
	}
}

function add_loc ()
{
	var name = document.getElementById('new_loc_name').value;
	var station = document.getElementById('new_loc_station').value;
	var latitude = document.getElementById('new_loc_latitude').value;
	var longitude = document.getElementById('new_loc_longitude').value;
	var gmt_offset = document.getElementById('new_loc_gmt_offset').value;
	var language = document.getElementById('new_loc_language').value;

	if (name != '')
	{
		document.getElementById('new_loc_name').value = '';
		document.getElementById('new_loc_station').value = '';
		document.getElementById('new_loc_latitude').value = '';
		document.getElementById('new_loc_longitude').value = '';
		document.getElementById('new_loc_gmt_offset').value = '';

		var TBODY = document.getElementById('locations');

		var TR = document.createElement('tr');
		TR.id = 'entity-' + name;

		var TD = document.createElement('td');
		TD.innerHTML = name;
		TR.appendChild(TD);

		var TD = document.createElement('td');
		var INPUT = document.createElement('input');
		INPUT.setAttribute('name', 'WIsettings[locations][' + name + '][station]');
		INPUT.setAttribute('value', station);
		INPUT.style['width'] = '50px';
		TD.align = 'center';
		TD.appendChild(INPUT);
		TR.appendChild(TD);

		var TD = document.createElement('td');
		var INPUT = document.createElement('input');
		INPUT.setAttribute('name', 'WIsettings[locations][' + name + '][latitude]');
		INPUT.setAttribute('value', latitude);
		INPUT.style['width'] = '100px';
		TD.align = 'center';
		TD.appendChild(INPUT);
		TR.appendChild(TD);

		var TD = document.createElement('td');
		var INPUT = document.createElement('input');
		INPUT.setAttribute('name', 'WIsettings[locations][' + name + '][longitude]');
		INPUT.setAttribute('value', longitude);
		INPUT.style['width'] = '100px';
		TD.align = 'center';
		TD.appendChild(INPUT);
		TR.appendChild(TD);

		var TD = document.createElement('td');
		var INPUT = document.createElement('input');
		INPUT.setAttribute('name', 'WIsettings[locations][' + name + '][gmt_offset]');
		INPUT.setAttribute('value', gmt_offset);
		INPUT.style['width'] = '100px';
		TD.align = 'center';
		TD.appendChild(INPUT);
		TR.appendChild(TD);

		var TD = document.createElement('td');
		var SELECT = document.createElement('select');
		SELECT.setAttribute('name', 'WIsettings[locations][' + name + '][language]');
		SELECT.style['width'] = '10em';

<?php
        $languages = $WI->get_i18n_list();

        asort ($languages);
        foreach ($languages as $language)
        {
?>
		var OPTION = document.createElement('option');
		OPTION.text = '<?php echo $language ?>';
		OPTION.setAttribute('value', '<?php echo $language ?>');
		if (language == '<?php echo $language ?>')
		{
			OPTION.setAttribute('selected', 'selected');
		}
		SELECT.appendChild(OPTION);
<?php
        }
?>
		TD.align = 'center';
		TD.appendChild(SELECT);
		TR.appendChild(TD);

		if (default_loc_id == '')
		{
			default_loc_id = name;

			var defaultInput = document.getElementById('default_loc');
	        defaultInput.value = name;

			var TD = document.createElement('td');
			TD.id = 'actions-' + name;
			TD.innerHTML = '&nbsp;';
		}
		else
		{
			var TD = document.createElement('td');
			TD.id = 'actions-' + name;

			var newElement = document.createElement('a');
			newElement.href = 'javascript:make_default_loc ("' + name + '");'
			newElement.innerHTML = 'Make Default';
			TD.appendChild(newElement);

			var newElement = document.createElement('span');
			newElement.innerHTML = '&nbsp;';
			TD.appendChild(newElement);

			var newElement = document.createElement('a');
			newElement.href = 'javascript:delete_loc ("' + name + '");'
			newElement.innerHTML = 'Delete';
			TD.appendChild(newElement);
		}

		TR.appendChild(TD);
		TBODY.appendChild(TR);
	}
	else
	{
		alert('<?php echo __('Invalid New Location Name'); ?>');
	}
}
