<!-- General JavaScript Functions -->

			// RETRIEVE NEW BACKGROUND IMAGE
			function getImage(n) {
				var key = lastImage;
				do {
					key = Math.floor(Math.random() * n + 1);
				} while (key == lastImage);
				
				lastImage = key;
				var imgFile = "images/bgImage" + key + ".jpg";
				var imgObj = document.getElementById("bgImage");
				if (imgObj) {
					imgObj.src = imgFile;
				}
			}

			// INITIALIZE PAGE TRANSITION
			function doFade(page,layer) {
				if (busyFlag || popPage || (page == lastPage)) return false;
				busyFlag = true;

				if (layer != subPage) {
					if (oldLayer = document.getElementById(subPage))
						oldLayer.style.display="none";
					if (subLayer = document.getElementById(layer))
						subLayer.style.display="inline";
					subPage = layer;
				}

				newPage = page;
				startFade(page);
			}
			
			// PROCESS PAGE TRANSITION
			function startFade(page) {
				nextPage = (page) ? page : "main";
				
				// IF PAGE CURRENTLY DISPLAYED, FADEOUT
				if (fadeAmt == 100) {
					
					// FLASH DOES NOT FADE CORRECTLY, TURN OFF
					if (lastPage == "distribution")
						document.getElementById("trailerLayer").style.display="none";

					if (lastPage == "development")
						document.getElementById("teaserLayer").style.display="none";

					timerId = setInterval("fadeOut()", 1);
				}

				// IF PAGE NOT DISPLAYED, FADEIN
				if (fadeAmt == 0) {
					timerId = setInterval("fadeIn()", 1);
				}
			}

			// FADE OUT LAST PAGE
			function fadeOut() {
				pageObj = (lastPage) ? (document.getElementById(lastPage)) : null;
				if (!pageObj) {
					clearInterval(timerId);
					alert("A 'fadeOut' Error Was Encountered...");
					return false;
				}
				else {
					if (fadeAmt > 0) {
						fadeAmt -= 5;
						pageObj.style.opacity = fadeAmt / 100;
						pageObj.style.filter = "alpha(opacity="+fadeAmt+")";
					}
					else {
						clearInterval(timerId);
						pageObj.style.visibility = "hidden";
						pageObj.style.display = "none";
						setTimeout("startFade(nextPage)", 1000);
					}
				}
			}

			// FADE IN NEXT PAGE
			function fadeIn() {
				pageObj = (nextPage) ? (document.getElementById(nextPage)) : null;
				if (!pageObj) {
					clearInterval(timerId);
					alert("A 'fadeIn' Error Was Encountered...");
					busyFlag = false;
					return false;
				}
				else {
					if (fadeAmt == 0) {
						pageObj.style.visibility = "visible";
						pageObj.style.display = "inline";
					}
					
					if (fadeAmt < 100) {
						fadeAmt += 5;
						pageObj.style.opacity = fadeAmt / 100;
						pageObj.style.filter = "alpha(opacity="+fadeAmt+")";
					}
					else {
						clearInterval(timerId);
						if (nextPage == "distribution")
							setTimeout("displaySWF('trailerLayer')", 1000);
							
						if (nextPage == "development")
							setTimeout("displaySWF('teaserLayer')", 1000);
							
						lastPage = nextPage;
						busyFlag = false;
						setTimeout("getImage('3')", 1);
					}
				}
			}

			// TURN ON SWF LAYER
			function displaySWF(swfLayer) {
				swfObj = document.getElementById(swfLayer);
				if (swfObj)
					swfObj.style.display="inline";
			}

			// SWITCH BUTTON ON
			function buttonOn(nextBtn) {
				if (popPage) return false;
				
				lastObj = document.getElementById(lastBtn);
				nextObj = document.getElementById(nextBtn);
				
				if (lastObj)
					lastObj.src = "images/" + lastBtn + "OFF.gif";
				
				if (nextObj) {
					nextObj.src = "images/" + nextBtn + "ON.gif";
					lastBtn = nextBtn;
				}
				return false;
			}

			// SWITCH BUTTON OFF
			function buttonOff(thisBtn) {
				if (popPage) return false;
				
				thisObj = document.getElementById(thisBtn);
				if (thisObj) {
					if (lastBtn != thisBtn) {
						thisObj.src = "images/" + thisBtn + "OFF.gif";
					}
					else {
						thisObj.src = "images/" + thisBtn + "ON.gif";
					}
				}
				return false;
			}

			// SWITCH BUTTON HOVER
			function buttonHover(thisBtn) {
				if (popPage || (thisBtn == lastBtn)) return false;
				
				thisObj = document.getElementById(thisBtn);
				if (thisObj)
						thisObj.src = "images/" + thisBtn + "HI.gif";
				return false;
			}
						
			// PRESS BUTTON
			function buttonDown (thisBtn) {
				thisObj = document.getElementById(thisBtn);
				if (thisObj)
					thisObj.src = "images/" + thisBtn + "DOWN.gif";
			}
			
			// RELEASE BUTTON
			function buttonUp (thisBtn) {
				thisObj = document.getElementById(thisBtn);
				if (thisObj)
					thisObj.src = "images/" + thisBtn + "UP.gif";
			}
			
			// SWITCH DETAIL SECTION
			function showDetail(layer) {
				var detLayer;
				if (layer != subPage && subPage != "")
					if (detLayer = document.getElementById(subPage))
						detLayer.style.display = "none";

				document.getElementById(layer).style.display = "inline";
				subPage = layer;
			}
			
			// SWITCH BIO SECTION
			function showBio(layer) {
				var bioLayer;
				for (i=1; i<10; i++) {
					if (bioLayer = document.getElementById('bio'+i))
						bioLayer.style.display = "none";
				}
				document.getElementById(layer).style.display = "inline";
			}
			
			// DISPLAY POPUP WINDOW
			function popWindow(layer) {
				document.getElementById('bgImage').style.display = "none";
				document.getElementById('dimmer').style.opacity = "0.4";
				document.getElementById('dimmer').style.filter = "alpha(opacity=40)";
				document.getElementById(layer).style.display = "inline";
				if (lastPage == "development")
					document.getElementById("teaserLayer").style.display="none";
				popPage = layer;
			}
			
			// HIDE POPUP WINDOW
			function exitWindow() {
				document.getElementById(popPage).style.display = "none";
				document.getElementById('dimmer').style.opacity = "1.0";
				document.getElementById('dimmer').style.filter = "alpha(opacity=100)";
				document.getElementById('bgImage').style.display = "inline";
				if (lastPage == "development")
					document.getElementById("teaserLayer").style.display="inline";
				popPage = null;
				}

			// GENERATE EVENT CALENDAR
			function buildEvents(mm, yy, format){
				var now = new Date();
				var today =(yy == now.getFullYear() && mm == now.getMonth()+1) ? now.getDate() : 0;
				
				var mNames=['January','February','March','April','May','June','July','August','September','October','November','December'];
				var dNames=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
				
				var oD = new Date(yy, mm-1, 1);
				oD.od = oD.getDay() + 1;
				
				var days=[31,0,31,30,31,30,31,31,30,31,30,31];
				days[1] = (((oD.getFullYear() % 100 != 0) && (oD.getFullYear() % 4 == 0)) || (oD.getFullYear() % 400 == 0)) ? 29 : 28;

				var output='<div class="'+format+'"><table cols="7" cellpadding="0" border="0" cellspacing="1" width="100%"><tr align="center">';
				output+='<td colspan="7" align="center" class="month">' + mNames[mm-1] + ' - ' + yy + '</td></tr><tr align="center">';

				for(i = 0; i < 7; i++) output += '<td class="daysofweek">' + dNames[i] + '</td>';
				output += '</tr><tr align="center">';

				for(i = 1; i <= 42; i++) {
					day = ((i - oD.od >= 0) && (i-oD.od < days[mm-1])) ? i - oD.od + 1 : 0;
					if (day > 0) { 
						xDay = (day==today) ? '<span id="today">' + day + '</span>' : day;
						xColor = (events[mm][day]) ? "event" : "standard";
					}
					else {
						xDay = "&nbsp;";
						xColor = "standard";
					}
					
					output += '<td class="days" id="' + xColor + '">' + xDay + '</td>';
					if(((i) % 7 == 0) && (i < 36)) output += '</tr><tr align="center">';
				}

				output += '</tr></table></div>';
				return output;
			}

			// GENERATE CALENDAR EVENT SECTION
			function getEvents(mm, yy) {
				var evtList = "";
				
				for (y = 1; y < 33; y++) {
					if (events[mm][y]) evtList += '<TR><TD CLASS="hiLite" ALIGN="right" VALIGN="top" NOWRAP>'+mNames[mm-1]+' '+y+'&nbsp;&nbsp;-&nbsp;&nbsp;</TD><TD>'+events[mm][y]+'</TD></TR><TD>';
				}
						
				outLeft = (buildEvents(mm , yy, "evtLeft"));
				mm++;
				if (mm > 12) {
					mm -= 12;
					yy += 1;
				}

				for (y = 1; y < 33; y++) {
					if (events[mm][y]) evtList += '<TR><TD CLASS="hiLite" ALIGN="right" VALIGN="top" NOWRAP>'+mNames[mm-1]+' '+y+'&nbsp;&nbsp;-&nbsp;&nbsp;</TD><TD>'+events[mm][y]+'</TD></TR><TD>';
				}
						
				outRight = (buildEvents(mm , yy, "evtRight"));
				document.write(outLeft, outRight);

				evtList = (!evtList)? '<TR><TD ALIGN=center><B>NO SCHEDULED EVENTS</B>' : evtList;
				evtList = "<DIV CLASS='evtList'><TABLE CELLPADDING=0 CELLSPACING=2 WIDTH=100%>" + evtList + "</TD></TR></TABLE></DIV>";
				document.writeln(evtList);
			}

		// CLEAR FORM DATA
		function resetData(formId) {
			document.forms[0].reset();
		}
		 
		// CREATE A BROWSER SPECIFIC AJAX OBJECT
		function getXmlHttpObject() {
			var xmlHttp = null;
			try {
			  // Firefox, Opera 8.0+, Safari
  			xmlHttp = new XMLHttpRequest();
  		}
			catch (e) {
			  // Internet Explorer
				try {
			    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    		}
				catch (e) {
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
			}
			return xmlHttp;
		}	
			 
		// POST COMMENT MESSAGE USING AJAX
		function postData(formId) {
			formId=document.getElementById(formId)
			var formData= '';
			for (i = 0; i < formId.elements.length; i++) {
				formElem = formId.elements[i];
				switch (formElem.type) {
					case 'text':
					case 'select-one':
					case 'hidden':
					case 'password':
					case 'textarea':
						formData += formElem.name + '=' + escape(formElem.value) + '&';
						break;
					case 'checkbox':
						if (formElem.checked)
							formData += formElem.name + '=YES&';
						break;
				}
			}

			var xmlHttp = getXmlHttpObject();
			if (!xmlHttp) {
			  alert("Your browser does not support AJAX functionality.\nWe are unable to process your message.\n\nPlease email us at info@KonceptFilms.com.");
			  }
			  else {
			  	// SYNCHRONOUS INVOCATION
				xmlHttp.open("POST", "sendmail.php", false);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	  			xmlHttp.send(formData);
			}

			if (xmlHttp.status == 200) {
				response = xmlHttp.responseText;
				alert(response);
				if (response.indexOf("Thank-you") >= 0) {
					document.forms[0].reset();
				}
			}
			else {
				alert("There was a server error while processing message.\nSENDMAIL INVOCATION");
			}
		}

		// RETRIEVE AND LOAD EVENTS FROM XML FILE
		function loadEvents() {
			var xmlHttp = getXmlHttpObject();
			if (!xmlHttp) {
			  alert("Your browser does not support AJAX functionality.\nWe are unable to process your message.\n\nPlease email us at info@KonceptFilms.com.");
		  }
		  else {
		  	// SYNCHRONOUS INVOCATION
  			xmlHttp.open("GET", "xml/events.xml", false);
  			xmlHttp.send(null);
  		}

			if (xmlHttp.status == 200) {
				xmlEvents = xmlHttp.responseXML;
			}
			else {
				alert("There was a server error while processing message.\nEVENTS INVOCATION");
			}
			
			// --------------------------
			var nodeList = xmlEvents.getElementsByTagName("date");
			var dates = "";
			for (i=0; i < nodeList.length; i++) {
				dates += "\ndate=" + nodeList[i].childNodes[0].nodeValue;
			}
			alert(dates);
		}


function showDate() {
  var months=new Array(13);
  months[1]="January";
  months[2]="February";
  months[3]="March";
  months[4]="April";
  months[5]="May";
  months[6]="June";
  months[7]="July";
  months[8]="August";
  months[9]="September";
  months[10]="October";
  months[11]="November";
  months[12]="December";
  
  var time=new Date();
  var month=months[time.getMonth() + 1];
  var date=time.getDate();
  var year=time.getYear();
  
  if ((navigator.appName == "Microsoft Internet Explorer") && (year < 2000))
  year="19" + year;
  if (navigator.appName == "Netscape")
  year=1900 + year;

  document.write(month + " " + date + ", " + year);
}

function loadWindow(url, x, y) {
	var options = "directories=no,location=no,menubar=no,status=no,toolbar=no,titlebar=no,scrollbars=no,resizable=yes";
	newWindow = window.open(url, "note", "width="+x+",height="+y+","+options);
	newWindow.focus();
}
