var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function createIFrame(uniq) {

	if(isIE){
		var ifrstr = '<iframe name="'+uniq+'" src="about:blank">'
		var cframe = document.createElement(ifrstr)

		with(cframe){
			setAttribute("name", uniq)
			id = uniq
		}

		document.body.appendChild(cframe);
		with(cframe.style) {
			left = top = "0px";
			height = width = "1px";
			display = "none";
		}

		return cframe
	}
	var iframe = new Element('iframe', {
	'id': uniq,
	'name': uniq,
//	'onload': 'sendComplete("'+uniq+'")' ,
	'src': 'about:blank'

	}).update("").setStyle({display: 'none'});

	document.body.insert(iframe);
	return iframe;
}

function sendForm(url, uniq, filename) {
	if (!document.createElement) return; // not supported
	var frame = ($(uniq)) ? $(uniq) : createIFrame(uniq);
	//	frame.onSendComplete = function() {
	//		uploadComplete(frame.contentWindow.document.body, uniq);
	//	};
	Event.observe(frame, 'load', function() {
		uploadComplete(frame.contentWindow.document.body, uniq);
	});


	if(filename && typeof(filename) == 'string') url += url + '/' + filename;


	if(isIE){
		var ifrstr = '<form name="form" action="'+url+'" enctype="multipart/form-data" target="'+frame.id+'" method="POST">'
		var form = document.createElement(ifrstr)

		with(form){
			setAttribute("name", "form")
			id = 'form'+uniq
		}

	}
	else{
		var form = new Element('form',
		{
			'enctype': 'multipart/form-data',
			'method': 'POST' ,
			'target':frame.id,
			'action':url,
			'id':'form'+uniq,
			'name':'form'
		});
	}
	$('upload' + uniq).wrap(form);
	$('form'+uniq).submit();
}
//
//function sendComplete(id) {
//	var iframe = $(id);
//	if (iframe && iframe.onSendComplete && typeof(iframe.onSendComplete) == 'function'){
//		iframe.onSendComplete();
//	}
//}

var fms = new Object();
function uploadComplete(doc, uniq) {
	if (!doc) return;

	if(isIE) document.body.appendChild(new Element('div', {id:'result' + uniq}).update(doc.innerHTML).setStyle({display:'none'}));
	else document.body.insert(new Element('div', {id:'result' + uniq}).update(doc.innerHTML).setStyle({display:'none'}));

	if($('upload_error')){
		alert($('upload_error').innerHTML);
		$('ajaxUploadForm' + uniq).update($('upload' + uniq).wrap(new Element('span', {id:'upload' + uniq})).innerHTML);
	}
	else{
		if(!$('filename')) return;
		
		var file = new Element('input', {'type': 'hidden', 'name': $('upload'+uniq).firstDescendant().name, 'value' : $('filename').innerHTML});
		if($('Images'+uniq)){

			$('Images'+uniq).insert(doc.innerHTML).insert(file);

			multiply --;
			if(multiply) $('ajaxUploadForm' + uniq).update($('upload' + uniq).wrap(new Element('div', {id:'upload' + uniq})).innerHTML);
			else $('ajaxUploadForm' + uniq).hide();
		}
		else{
			fms[$('filename').innerHTML] = $('ajaxUploadForm' + uniq).innerHTML;
			$('ajaxUploadForm' + uniq).update(doc.innerHTML).insert(file);
		}
	}
	$('result' + uniq).remove();
	$(uniq).remove();
	if($('filename')) $('filename').remove();
	return;
}


function Reupload(id, update){
	if(update){
		$(id).update(update);
	}
	else{
		if(id in fms) $(id).update(fms[id]);
		else{
			$(id).remove();
			multiply++;
			$('ajaxUploadFormMultiply').update($('uploadMultiply').wrap(new Element('div', {id:'uploadMultiply'})).innerHTML);
			$('ajaxUploadFormMultiply').show();
		}
	}
}
