//
var uploadsInitiated=0;
var uploadsDone=0;

	function getFlashMovie(movieName) {
	  var isIE = navigator.appName.indexOf("Microsoft") != -1;
	  return (isIE) ? window[movieName] : document[movieName];
	}
    function js_callback(fname, data){
    	if(fname=="alert"){
    		alert(data[0]);
    	}
    	if(fname=="uploadComplete"){
	    uploadsDone++;
    		var guid=data[0];
		var fid = data[1];

		var div="incomingWrap"+guid;
		var url="incomingData.php?fid="+fid;
		$.post(url, function(html){
			$('#'+div).html(html);
			selectImage(fid);
			setShareCount(++selectCount);
		    });
    	}
    	if(fname == "previewComplete"){
    		var guid=data[0];
    		var image=data[1];
	    }
	    if(fname == "initImageLoad"){
		uploadsInitiated++;
	    	var guid = data[0];
	    	var name=data[1];
		$("#incomingPics").prepend(
					   "<span id=incomingWrap"+guid+"><div class='iblock imageblock incoming' id='incoming"+guid+"'>"+
					   "<center><div class=imageStatus 'id='imageStatus"+guid+"'><div class=imageStatusText id=imageStatusText"+guid+"></div></div>"+
					  name+
					  "</center></div></span>"
					  );
	    	setEncodeProgress(guid, 0);
	    }
	    if(fname=="encodeProgress"){
	    	var guid=data[0];
	    	var percent=data[1];
	    	setEncodeProgress(guid, percent);
	    }
	    if(fname=='fail'){
		uploadsDone++;
	    	var guid=data[0];
	    	$("#imageStatusText"+guid).html("Failed");
	    	$("#imageStatus"+guid).css('background-color', '#ffdddd');
	    }
    }
    function setEncodeProgress(guid, percent){
    	if(percent==0)    	$("#imageStatusText"+guid).html();
    	else if(percent==1000){
	    $("#imageStatus"+guid).css('background-color', '#ddffdd');
	    $("#imageStatusText"+guid).html("Uploading...<img style='vertical-align:top' src=assets/spinner.gif>");
	}
	else if(percent==100) {
	    $("#imageStatusText"+guid).html("Pending upload...");
	    $("#imageStatus"+guid).css('background-color', '#FFF9DD');
	}
    	else{
    		$("#imageStatusText"+guid).html(
    			"Resizing... " + percent+"%"
    		);
    	}
    }
    function as_callback(fname, args){
    	getFlashMovie("TinyUploads3").as_callback(fname, args);
    }

///
///

function dialogAjax(url, title){
    showDialog('defaultDialog', title, 'Loading...');
    doajax('defaultDialogContent', url, '');
}

function closeDialog(dialog){
    var div = $('#'+dialog);
    div.fadeOut('fast');
    $("#defaultDialogOverlay").hide();
}

function showDialog(dialog, title, content){
    var div = $('#'+dialog);
    var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;;
    $('#defaultDialogTitle').html(title);
    $('#defaultDialogContent').html(content);

    //var height = Math.max(window.height, $('body').height());
    var height=$('body').height();

    $("#defaultDialogOverlay").css('height', height);
    $("#defaultDialogOverlay").show();

    div.fadeIn('fast');
    $("#closeButton").focus();

    //    div.fadeIn('fast', function(){$("#closeButton").focus();});
    div.css('top', scrollTop+50+'px').css('left', 250+'px');
}

function redirect(url){
    document.location.href=url;
}
function doSubmit(formname, posturl, div, callback) {
    var params = $('#'+formname).serialize();
    $.ajax({cache:false, url:posturl,
		data:params,
		type:'POST',
		success:function(html){$('#'+div).html(html);
		if(callback) callback();}});
}
function doSubmitLoad(formname, posturl, div, loader) {
    $('#'+loader).show();
    var params = $('#'+formname).serialize();
    $.ajax({cache:false, url:posturl,
		data:params,
		type:'POST',
		success:function(html){$('#'+div).html(html);
		$('#'+loader).hide();
	    }});
}

function doajaxConfirm(div, url, message){
    var r = confirm(message);
    if(r) doajax(div, url);
}

function doajaxLoad(div, url, params, loader){
    $('#'+loader).show();
    $.ajax({cache:false, url:url,data:params,success:function(html){
		$('#'+div).html(html);
		$('#'+loader).hide();
            }});
}
function doajax(div, url, params, anchor){
    $.ajax({type:'POST', cache:false, url:url,data:params,success:function(html){$('#'+div).html(html); 
		if(anchor) $('#'+anchor).focus();
	    }});
}

function createRequestObject() {
  var ro;
  var browser = navigator.appName;
  if(browser == "Microsoft Internet Explorer"){
    ro = new ActiveXObject("Microsoft.XMLHTTP");
  }else{
    ro = new XMLHttpRequest();
  }
  return ro;
}

function goodbye(e) {
    if(uploadsDone  >= uploadsInitiated) return;
    if(!e) e = window.event;
    //e.cancelBubble is supported by IE - this will kill the bubbling process.
    e.cancelBubble = true;
    e.returnValue = "Your uploads are not done yet."; //This is displayed on the dialog

    //e.stopPropagation works in Firefox.
    if (e.stopPropagation) {
	e.stopPropagation();
	e.preventDefault();
    }
}

window.onbeforeunload=goodbye;
