
// Set base href to home dir - used for sifr flash src
var baseHref = "http://www.mitretavern.com.au";
//

function ixRollovers() {
	// stk 02/2007
	var ixImgSuffix = "-over";
	var ixPreload = new Object();
	var ixImagesOff = new Array();
	var ixImagesOvr = new Array();
	var docImages = document.getElementsByTagName("IMG");
	
	for(var i=0; i<docImages.length; i++) {
		if(docImages[i].getAttribute("ixrollover")) {
			var imgSplit = docImages[i].src.split(".");
			imgSplit[((imgSplit.length)-2)] = imgSplit[((imgSplit.length)-2)] + ixImgSuffix;
			
			ixImagesOff[docImages[i].id] = docImages[i].src;
			ixImagesOvr[docImages[i].id] = imgSplit.join(".");
			ixPreload[docImages[i].id] = new Image();
			ixPreload[docImages[i].id].src = imgSplit.join(".");
			
			docImages[i].onmouseover = function() {
				this.src = ixImagesOvr[this.id];
			}
			
			docImages[i].onmouseout = function() {
				this.src = ixImagesOff[this.id];	
			}
		}
	}
}

function buildGalleryLinks() {
	// assign onclick handlers to all gallery divs
	var thmDivs = document.getElementById("GalleryImages").getElementsByTagName("DIV");	
	for(var i=0; i<thmDivs.length; i++) {
		thmDivs[i].title = "Click to enlarge this image";
		thmDivs[i].onclick = function() {
			showGalleryImage(this);
		}
	}
}

function showGalleryImage(objThmDiv) {
	// get img src from container div and pop it up
	var thisImg = objThmDiv.getElementsByTagName("IMG")[0].src;
	window.open("image.htm?"+thisImg.replace("_thm",""),"gallery_image","width=500,height=300,left=200,top=200,scrollbars=no");
}

function ixCheckForm(objForm) {
	var emailRegex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var formFields = objForm.elements;
	for(var i=0; i<formFields.length; i++) {
		
		// Check required
		if(formFields[i].getAttribute("required") && formFields[i].value == "") {
			formFields[i].focus();
			if(formFields[i].getAttribute("message")) {
				alert(formFields[i].getAttribute("message"));
			}
			else {
				alert("Please complete all required fields");
			}
			return false;
		}
		
		// Check min length
		if(formFields[i].getAttribute("minlength") && formFields[i].value.length < parseInt(formFields[i].getAttribute("minlength"))) {
			formFields[i].focus();
			if(formFields[i].getAttribute("message")) {
				alert(formFields[i].getAttribute("message"));
			}
			else {
				alert("Please enter at least "+formFields[i].getAttribute("minlength")+" characters");
			}
			return false;
		}
		
		// Check validation
		if(formFields[i].getAttribute("validation")) {
			switch(formFields[i].getAttribute("validation").split(":")[0])
			{
				case "email":
					if(!emailRegex.test(formFields[i].value) && formFields[i].value != "") {
						formFields[i].select();
						if(formFields[i].getAttribute("message")) {
							alert(formFields[i].getAttribute("message"));
						}
						else {
							alert("Please enter a valid email address");
						}
						return false;
					}
					break;
					
				case "number":
					if(isNaN(formFields[i].value)) {
						formFields[i].select();
						if(formFields[i].getAttribute("message")) {
							alert(formFields[i].getAttribute("message"));
						}
						else {
							alert("Please enter numbers only");
						}
						return false;
					}
					break;
					
				case "match":
					if(formFields[i].value != objForm.elements[formFields[i].getAttribute("validation").split(":")[1]].value) {
						if(formFields[i].getAttribute("message")) {
							alert(formFields[i].getAttribute("message"));
						}
						else {
							alert("Please complete all required fields");
						}
						return false;
					}
					break;
			}			
		}
	}
}

