function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
		x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

var loading = new Image;
loading.src = 'images/homegallery/loading.gif';

function swapImage(objname, filename) {
   var x;
   if ((x=MM_findObj(objname))!= null){
	x.src=loading.src;
	dynimg = new Image;
	dynimg.src = filename;
	x.src=dynimg.src;
    }
}

function swapDiv(objname, innerHTML) {
    var x;
    if ((x=MM_findObj(objname))!= null){
	x.innerHTML=innerHTML;
    }
}

function pic(picfile, legend) {
    this.picfile = picfile;
    this.legend = legend;
}

function init_image(filename) {
}

function prev_image() {
    if(curHomegallery == 0) {
	curHomegallery = homegalleryPics.length-1;
    } else {
	curHomegallery--;
    }
    swapImage('inline_pic', homegalleryPics[curHomegallery].picfile);
    swapDiv('inline_pic_legend', "<i>"+homegalleryPics[curHomegallery].legend+"</i>");
    return false;
}

function next_image() {
    if(curHomegallery == homegalleryPics.length-1) {
	curHomegallery = 0;
    } else {
	curHomegallery++;
    }
    swapImage('inline_pic', homegalleryPics[curHomegallery].picfile);
    swapDiv('inline_pic_legend', "<i>"+homegalleryPics[curHomegallery].legend+"</i>");
    return false;
}

var disabledList = new Array();
function submitFormOnce(form, btnToDisable) {
    if(disabledList[form.name] == 'submitted') {
	//alert('form '+form.name+' already submitted.');
	return false;
    }

    disabledList[form.name] = 'submitted';
    if(btnToDisable != undefined) {
	for(var i = 0; i < form.length; i++) {
	    if(form.elements[i].name == btnToDisable) {
		form.elements[i].disabled = true;
		//alert(form.className+' disabled.');
		break;
	    }
	}
    }

    if(btnToDisable != undefined)
	setTimeout("submitFormOnceReset('"+form.name+"', '"+btnToDisable+"')", 3000);
    else
	setTimeout("submitFormOnceReset('"+form.name+"')", 3000);
    //form.submit();
    //form.elements['count'].value = 2;
    return true;
}

function submitFormOnceReset(formName, btnToDisable) {
    form = document.forms[formName];
    disabledList[formName] = '';
    if(btnToDisable != undefined) {
	for(var i = 0; i < form.length; i++) {
	    if(form.elements[i].name == btnToDisable) {
		form.elements[i].disabled = false;
		break;
	    }
	}
    }
}

function validateRequired(form, requiredFields) {
    var emptyFields = new Array();

    for(var f = 0; f < requiredFields.length; f++) {
	for(var i = 0; i < form.length; i++) {
	    if(form.elements[i].name == requiredFields[f][0]) {
		if(form.elements[i].value == '') {
		    emptyFields.push(requiredFields[f]);
		}
		break;
	    }
	}
    }

    if(emptyFields.length > 0) {
	msg = "Some required fields are missing:\n";
	var prefix = '.  ';
	for(var i = 0; i < emptyFields.length; i++) {
	    msg += prefix + emptyFields[i][1] + "\n";
	    //prefix = ', ';
	}
	msg += "Please fill in all required fields and submit the form again.";
	alert(msg);
	return false;
    }
    return true;
}
