Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

function addEventHandler(_obj, _event, _handler, _IEHandler)
{
	if(_obj.attachEvent != null)
	{
		_obj.attachEvent('on' + _event, _IEHandler);
	}
	else	
		_obj.addEventListener(_event, _handler, false);
}

function selectFile(e)
{
	var item;
	var ie = true;
	
	if(e != null && e.srcElement != null)
	{
		item = e.srcElement;
		if(navigator.userAgent.indexOf("Opera")!=-1) ie = false;
	}
	else
	{
		item = this;
		ie = false;
	}
		
	if(item.tagName == 'IMG')
		item = item.parentNode		

	var par = window.parent.document;
	var fileField = par.getElementById('file_' + item.fileid);
	par.getElementById('image_selected').value = fileField.value;
	par.getElementById('image_selected_image').src = item.getElementsByTagName('img')[0].src;
	par.getElementById('image_selected_image').style.display = '';
	par.getElementById('invoice_address').style.display = ie ? 'block' : 'table-row'; // IE doesn't support table-row
	par.getElementById('invoice_address2').style.display = ie ? 'block' : 'table-row';
}

function removeSelectedImage(img)
{
	var par = window.parent.document;
	par.getElementById('image_selected').value = null;
	img.src = '';
	img.style.display = 'none';
	par.getElementById('invoice_address').style.display = 'none';
	par.getElementById('invoice_address2').style.display = 'none';	
}

function removeFile(e)
{
	var item;
	if(e != null && e.srcElement != null)
		item = e.srcElement;
	else
		item = this;

	if(item.tagName == 'IMG')
		item = item.parentNode
		
	var img = item.getElementsByTagName('img')[0].src;
	var sel_img = window.parent.document.getElementById('image_selected_image');
	if(img == sel_img.src)
	{
		removeSelectedImage(sel_img);
	}
		
	var par = window.parent.document;
	var fileField = par.getElementById('file_' + item.fileid);
	fileField.value = '';
	var files = par.getElementById('upload_files');

	files.removeChild(item);
	par.getElementById('upload_message').innerHTML = 'File removed.';	
}

function uploader_initialize()
{
	var i = 0;
	var par = document;

	while(par.getElementById('file_item_' + i) != null && par.getElementById('file_item_' + i).innerHTML != null && par.getElementById('file_item_' + i).innerHTML != '')
	{
		var item = par.getElementById('file_item_' + i);
		item.fileid = i;
		addEventHandler(item, 'dblclick', removeFile, removeFile);
		addEventHandler(item, 'click', selectFile, selectFile);
		i++;
	}
}
