summaryrefslogtreecommitdiffstats
path: root/js/ajax.js
diff options
context:
space:
mode:
authorRemy <relst@relst.nl>2015-02-21 07:04:41 +0100
committerRemy <relst@relst.nl>2015-02-21 07:04:41 +0100
commitb8dea0fbd433618bf026e36d5e7fb29492508017 (patch)
treeaa90b49c7d80ceb23d292e9a4b91dcfcb046c1ef /js/ajax.js
parent859c2bac015dc6761fff3d6dea00be2a8e80a4cd (diff)
downloadssl-decoder-b8dea0fbd433618bf026e36d5e7fb29492508017.zip
ssl-decoder-b8dea0fbd433618bf026e36d5e7fb29492508017.tar.gz
ssl-decoder-b8dea0fbd433618bf026e36d5e7fb29492508017.tar.bz2
split code up
Diffstat (limited to 'js/ajax.js')
-rw-r--r--js/ajax.js73
1 files changed, 73 insertions, 0 deletions
diff --git a/js/ajax.js b/js/ajax.js
new file mode 100644
index 0000000..72a2ec2
--- /dev/null
+++ b/js/ajax.js
@@ -0,0 +1,73 @@
+var request = createRequestObject();
+var dataReturn='';
+var ajaxTimeout='';
+var enterChecker=false;
+
+function createRequestObject()
+{
+ var ro;
+ var browser = navigator.appName;
+ if(browser == 'Microsoft Internet Explorer')
+ {
+ ro = new ActiveXObject('Microsoft.XMLHTTP');
+ }
+ else{
+ ro = new XMLHttpRequest();
+ ro.setRequestHeader('HTTP_X_REQUESTED_WITH', 'XMLHttpRequest');
+ }
+ return ro;
+}
+
+function makeRequest (url, fun)
+{
+ enterChecker=false;
+ request.open('get', url);
+ request.onreadystatechange = function() { handleResponse(fun); }
+
+ try{
+ request.send(null);
+ window.history.pushState('wut', 'SSL Decoder for ' + document.getElementById('host').value, '/ssl/?host=' + document.getElementById('host').value + '&port=' + document.getElementById('port').value + '&csr=' + document.getElementById('csr').value + '&s=');
+ }
+ catch(err){
+ alert('Error occured: '+err);
+ showElementbyID(false, 'preloader');
+ showElementbyID(false, 'resultDiv');
+ showElementbyID(true, 'sslform');
+ }
+}
+
+
+function handleResponse(fun) {
+ if(request.readyState < 4)
+ {
+ ajaxTimeout=setTimeout('handleResponse(\''+fun+'\')',10);
+ }
+ else if(request.readyState == 4 && !enterChecker)
+ {
+ enterChecker=true;
+ var response = request.responseText;
+ dataReturn=response;
+
+ if(fun!='')
+ ajaxTimeout=setTimeout(fun+'()', 200);
+ }
+}
+
+function stopAjax()
+{
+ clearTimeout('ajaxTimeout');
+ ajaxTimeout='';
+}
+
+
+function showContent(){
+ showElementbyID(false, 'preloader');
+ document.getElementById('resultDiv').innerHTML=dataReturn;
+}
+
+function showElementbyID(show, element){
+ if(show)
+ document.getElementById(element).style.display='block';
+ else
+ document.getElementById(element).style.display='none';
+} \ No newline at end of file