var feedbackRequester = null;

function insertTSFeedback(folder, feedbackMail, feedbackSubject){
	document.write('<div><div id="TSFeedback">');
	document.write('<div id="TSFeedbackContainer" style="visibility:visible;">');
	document.write('<div id="TSFeedbackClose"><a id="TSFeedbackCloseButton" href="javascript:closeFeedbackForm();">close[+]</a>');
	document.write('<div id="TSFeedbackForm">eMail Address:<br /><input type="text" id="feedbackSender" /><br />');
	document.write('Feedback Content:<br /><textarea id="feedbackMessage" cols="15" rows="5"></textarea><br />');
	document.write('<input type="button" id="sendFeedbackMessage" value="Send" onClick="sendFeedback(\''+folder+'\', \''+feedbackMail+'\', \''+feedbackSubject+'\');" /></div>');
	document.write('<div id="TSFeedbackResponse">Feedback Response Text</div></div>');
	document.write('<img id="TSFeedbackCorner" src="'+folder+'TSFeedbackCorner.gif" /></div>');
	document.write('<div style="clear:both" /><div id="TSFeedbackButton" onMouseOver="openFeedbackForm();">Feedback&nbsp;<img id="TSFeedbackIco" src="'+folder+'TSFeedbackIco.gif" /></div></div></div>');
	closeFeedbackForm();
}

function clearFields(){
	var feedbackSender = document.getElementById("feedbackSender");
	var feedbackMessage = document.getElementById("feedbackMessage");
	feedbackSender.value = "";
	feedbackMessage.value = "";
}

function isEmpty(s) 
{
  if (s == null || s.length == 0)
    return true;
	return !/\S/.test(s);
}

function emailValidator(emailAddress) {
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
	return(email.test(emailAddress));
}

function openFeedbackForm(){
	if(document.getElementById){
		var feedbackContainer = document.getElementById("TSFeedbackContainer");
		var feedbackForm = document.getElementById("TSFeedbackForm");
		var feedbackResponse = document.getElementById("TSFeedbackResponse");
		if(feedbackContainer.style.visibility== "visible")
			return;
		clearFields();
		feedbackResponse.style.display = "none";
		feedbackForm.style.display = "block";
		feedbackContainer.style.visibility = "visible";
	}	
}

function closeFeedbackForm(){
	var feedbackContainer = document.getElementById("TSFeedbackContainer");
	var feedbackForm = document.getElementById("TSFeedbackForm");
	var feedbackResponse = document.getElementById("TSFeedbackResponse");
	clearFields();
	feedbackResponse.style.display= "none";
	feedbackForm.style.display= "none";
	feedbackContainer.style.visibility= "hidden";
}

function createXMLHttpRequest() {
	try{return new XMLHttpRequest();}
	catch(e){
		try { return new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e){
			try { return new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e){}
		}	
	}
	
	return null;
}

function sendFeedback(folder, feedbackMail, feedbackSubject){
	try
	{
    	var feedbackContainer = document.getElementById("TSFeedbackContainer");
    	var feedbackForm = document.getElementById("TSFeedbackForm");
    	var feedbackResponse = document.getElementById("TSFeedbackResponse");
    	var feedbackSender = document.getElementById("feedbackSender");
    	var feedbackMessage = document.getElementById("feedbackMessage");
    	if(!emailValidator(feedbackSender.value)){
    		alert("Please enter valid email address");	
    		return;
    	}
    	if(isEmpty(feedbackMessage.value)){
    		feedbackMessage.value = "";
    		alert("Please enter feedback message");	
    		return;
    	}
    	var feedbackRequester = createXMLHttpRequest();
    	if(feedbackRequester == null){
    		alert("XMLHttpRequest not supported for your browser");
    		closeFeedbackForm();
    		return;
    	}	
    	feedbackRequester.onreadystatechange = function() {
    		if (feedbackRequester.readyState == 4){ 
    			clearFields();
    			feedbackForm.style.display = "none";
    			if (feedbackRequester.status == 200){ 
    				feedbackResponse.firstChild.nodeValue = feedbackRequester.responseText;
    				feedbackResponse.style.display = "block";
    			} 
    			else if (feedbackRequester.status != 0){ 
    				feedbackResponse.firstChild.nodeValue = "There was an error while retrieving the URL: " + feedbackRequester.statusText; 
    				feedbackResponse.style.display = "block";
    			} 
    			
    		}
    		return true; 
    	};
    	feedbackRequester.open("POST", folder+"sendFeedback.asp", true);
	  	var SParameters = "feedbackSender="+escape(feedbackSender.value)+"&feedbackMessage=" +escape(feedbackMessage.value)+"&feedbackMail="+feedbackMail+"&feedbackSubject="+feedbackSubject;
	  	feedbackRequester.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	  	feedbackRequester.setRequestHeader("Content-Length",SParameters.length);
      feedbackRequester.setRequestHeader("Connection", "close");
      feedbackRequester.send(SParameters);
  } catch(e) {}
}