var http_request = false;
var feedback_url = "/app/eresources/report-issue" ;
// opacity('ajax_feedback_form', 78, 80, 10) ;



function feedbackSubmit ( parameters ) {

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	
		http_request = new XMLHttpRequest();
		
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
		
	} else {
		
		if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = feedbackFeedback ;
	http_request.open('POST', feedback_url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function feedbackAction () {
	str = "url=" + escape ( encodeURI( document.getElementById("feedbackURL").value ) ) +
	
         "&version=" + escape ( encodeURI( document.getElementById("feedbackVersion").value ) ) +
         
         "&subject=" + escape ( encodeURI( document.getElementById("feedbackSubject").value ) ) +
         "&comments=" + escape ( encodeURI( document.getElementById("feedbackComments").value ) ) +
         "&name=" + escape ( encodeURI( document.getElementById("feedbackName").value ) ) +
         "&username=" + escape ( encodeURI( document.getElementById("feedbackUsername").value ) ) +
         "&locator=" + escape ( encodeURI( document.getElementById("feedbackLocator").value ) ) +
         "&location=" + escape ( encodeURI( document.getElementById("feedbackLocation").value ) ) +

         "&licence=" + escape ( encodeURI( document.getElementById("feedbackLicence").value ) ) +
         "&remote=" + escape ( encodeURI( document.getElementById("feedbackRemote").value ) ) +
         "&id=" + escape ( encodeURI( document.getElementById("feedbackID").value ) ) +
         "&role=" + escape ( encodeURI( document.getElementById("feedbackRole").value ) ) +
         "&auth=" + escape ( encodeURI( document.getElementById("feedbackAuth").value ) ) ,

	feedbackSubmit ( str );

}

function feedbackFeedback () {

	if (http_request.readyState == 4) {
		// alert ( 'feedback done' ) ;
		if (http_request.status == 200) {
			document.getElementById("ajax_feedback_before").style.display = 'none' ;
			document.getElementById("ajax_feedback_after").style.display = 'block' ;
			document.getElementById("feedbackLoop").innerHTML=http_request.responseText;

			setTimeout ( "opacity('ajax_feedback_form', 100, 0, 1700)", 1700 ) ;

		} else {
			alert('There was a problem with the request.');
		}
	}
}


function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

