// JavaScript Document
var clearedFields = new Array();
function clearDefault(ID){
	var found = false;
	for (f=0;f<clearedFields.length;f++) {
		if (clearedFields[f]==ID){
			found = true;
		}
	}
	if (found==false) {
		document.getElementById(ID).value="";
		clearedFields.push (ID);
	}
}									
function initFader(){
	fader['steps'] = 30;
	fader['step'] = 0;
	fader['ticks'] = 40;
	fader['autoChangeTicks'] = 3000;
	fader['autoChange'] = setTimeout ("autoChangeSlide()", fader['autoChangeTicks']);
	fader['static'] = document.getElementById('slide_static');
	fader['fader'] = document.getElementById('slide_fader');
}
function goSlideImage(which) {
	fader['currentImage'] = which;
	changeSlideImage (which);
}
function changeSlideImage(which){
	if (fader['step']==0) {	
		clearTimeout (fader['autoChangeSlide']);
		clearTimeout (fader['timerObject']);
		fader['currentSlide'] = which;
		fader['timerObject'] = setTimeout ("fadeUpSlideImage()", fader['ticks']);
		setOpacity (fader['fader'], 0);
		fader['fader'].innerHTML = fader['slides'][fader['currentSlide'] - 1];
	}
}	
function fadeUpSlideImage() {
	fader['step']++;
	if (fader['step']>=fader['steps']) {
		fader['static'].innerHTML = fader['slides'][fader['currentSlide'] - 1];
		fader['fader'].innerHTML = "";
		fader['autoChangeSlide'] = setTimeout ("autoChangeSlide()", fader['autoChangeTicks']);
		fader['step'] = 0;
	} else {
		trans = fader['step'] / fader['steps'];
		setOpacity (fader['fader'], trans);
		fader['timerObject'] = setTimeout ("fadeUpSlideImage()", fader['ticks']);
	}
}
function autoChangeSlide(){
	fader['currentImage']++;
	if (fader['currentImage'] > fader['slides'].length) {
		fader['currentImage'] = 1;
	}
	changeSlideImage(fader['currentImage']);
}
function setOpacity (ele, trans){
	ele.style.opacity = trans;
	ele.style.filter = "alpha(opacity=" + (trans * 100) + ")";
	ele.style.MozOpacity = trans;
	ele.style.opacity = trans;
}


var XMLHttpArray = [
	function() {return new XMLHttpRequest()},
	function() {return new ActiveXObject("Msxml2.XMLHTTP")},
	function() {return new ActiveXObject("Msxml2.XMLHTTP")},
	function() {return new ActiveXObject("Microsoft.XMLHTTP")}
];
var theUploadKey = "";
var theURL="#";

function createXMLHTTPObject(){
	var xmlhttp = false;
	for(var i=0; i<XMLHttpArray.length; i++){
		try{xmlhttp = XMLHttpArray[i]();}
		catch(e){continue;						}
		break;
	}
	return xmlhttp;
}
function AjaxRequest(url,callback,method){
	var req = createXMLHTTPObject();
	req.onreadystatechange= function(){
		if(req.readyState != 4) {return;}
		if(req.status != 200) {return;}
		callback(req);
	}
	req.open(method,url,true);
	req.setRequestHeader('User-Agent', 'My XMLHTTP Agent');
	req.send(null);
}
function initUpload (newMessage, uploadKey, URL) {
	if (newMessage==true) {
		if (document.getElementById("messageTitle").value==""){
			document.getElementById("titleError").style.display="block";
			return false;			
		}
	}
	
	theUploadKey = uploadKey;
	theURL = URL;
	document.getElementById("upload_submit_button").style.display="none";
	document.getElementById("upload_progress_"+theUploadKey).style.display="block";
	document.getElementById("upload_progress_"+theUploadKey).innerHTML = "<h3>Upload progress...</h3><div class='upload_progressGrey'>&nbsp;</div>";
	getProgress()
	return true;
}
function getProgress(){
	AjaxRequest(theURL,updateProgress,"get");
}
function updateProgress(req){	
	var respXML=req.responseXML;
	if(!respXML) {
		return;
	}
	var result=respXML.getElementsByTagName('progress')[0].getAttribute('result');
	var percentage=respXML.getElementsByTagName('progress')[0].getAttribute('percentage');
	if (percentage>0) {
		document.getElementById("upload_progress_"+theUploadKey).innerHTML = "<h3>Upload progress...</h3><div class='upload_progressGrey'>"+result+"<div class='upload_progressRed' style='width:"+percentage+"%'>"+result+"</div></div>";
	} else {
		document.getElementById("upload_progress_"+theUploadKey).innerHTML = "<h3>Upload progress...</h3><div class='upload_progressGrey'>"+result+"</div>";
	}
	if (percentage<100) {
		var timeoutID = window.setTimeout("getProgress()", 1000);
	}
}
