// JavaScript Document
var xmlhttp=false; 

// lets define the browser we have instead of multiple calls throughout the file
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = (userAgent.indexOf('opera') != -1);
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == "Apple Computer, Inc."));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf("msie 4.") != -1));
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));

if((!is_opera) && (is_ie)){		
	var method = "POST";		
	if(is_ie4){
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  //Microsoft.XMLHTTP
	}else{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");; //Msxml2.XMLHTTP
	}			
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
  var method = "GET";	
  xmlhttp = new XMLHttpRequest(); 
}  

function loadFragmentInToElement(fragment_url,element_id,message) { 	
	if(message!="") alert(message);
    var element = document.getElementById(element_id); 
	//alert(element);
	//alert(fragment_url);					
    xmlhttp.open(method,fragment_url,true); 		
    xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 		  	
      	element.innerHTML = xmlhttp.responseText; 
      }
    }
    xmlhttp.send(null); 
} 

function saveData(fragment_url) {    
	xmlhttp.open("GET", fragment_url,true); 
	/*
	xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 		  	
      	alert(xmlhttp.responseText); 
      }
    }*/
	
	xmlhttp.send(null); 	
	return false;
} 

function savePostData(fragment_url,params) { 
    xmlhttp.open("POST", fragment_url,true); 
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");	
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	/*
	xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 		  	
      	alert(xmlhttp.responseText); 
      }
    }*/
	
	xmlhttp.send(params);
	return false;
}

function traceUpload(fragment_url){   		   
   xmlhttp.open(method, fragment_url,true); 
   xmlhttp.onreadystatechange = handleResponse;
   xmlhttp.send(null);   
}

function handleResponse() {	
	if(xmlhttp.readyState == 4){		
        document.getElementById('ajaxBlock').innerHTML = xmlhttp.responseText;        
    }else {
    	document.getElementById('ajaxBlock').innerHTML = '<table><tr><td><img src="../images/icon_loading.gif" border="0" align="absmiddle"><font face="verdana, arial" size="2"> <b>Uploading File. Please wait...</b></font></td></tr></table>';
    }
}

function postTraceUpload(fragment_url){   		   
   xmlhttp.open(method, fragment_url,true); 
   xmlhttp.onreadystatechange = myHandleResponse;
   xmlhttp.send(null);   
}

function myHandleResponse() {	
	if(xmlhttp.readyState == 4){
        document.getElementById('ajaxBlock').innerHTML = xmlhttp.responseText;        
    }else {
    	document.getElementById('ajaxBlock').innerHTML = '<table><tr><td><img src="../images/icon_loading.gif" border="0" align="absmiddle"><font face="verdana, arial" size="2"> <b>Loading...</b></font></td></tr></table>';
    }
}

function postClientTraceUpload(fragment_url){   		   
   xmlhttp.open(method, fragment_url,true); 
   xmlhttp.onreadystatechange = myClientHandleResponse;
   xmlhttp.send(null);   
}

function myClientHandleResponse() {	
	if(xmlhttp.readyState == 4){
        document.getElementById('ajaxBlock').innerHTML = xmlhttp.responseText;        
    }else {
    	document.getElementById('ajaxBlock').innerHTML = '<table><tr><td><img src="../../../images/icon_loading.gif" border="0" align="absmiddle"><font face="verdana, arial" size="2"> <b>Loading...</b></font></td></tr></table>';
    }
}

function postUserTraceUpload(fragment_url){   		   
   xmlhttp.open(method, fragment_url,true); 
   xmlhttp.onreadystatechange = myUserHandleResponse;
   xmlhttp.send(null);   
}

function myUserHandleResponse() {	
	if(xmlhttp.readyState == 4){
        document.getElementById('ajaxBlock').innerHTML = xmlhttp.responseText;        
    }else {
    	document.getElementById('ajaxBlock').innerHTML = '<table><tr><td><img src="../../images/icon_loading.gif" border="0" align="absmiddle"><font face="verdana, arial" size="2"> <b>Loading...</b></font></td></tr></table>';
    }
}

function escapeXML(content) {
    if (content == undefined)
        return "";
    if (!content.length || !content.charAt)
        content = new String(content);
    var result = "";
    var length = content.length;
    for (var i = 0; i < length; i++) {
        var ch = content.charAt(i);
        switch (ch) {
            case '&':
                result += ":AMP:";
                break;
            case '<':
                result += ":LT:";
                break;
            case '>':
                result += ":GT:";
                break;
            case '"':
                result += ":DQ:";
                break;
            case '\'':
                result += ":FS:";
                break;
			case '%':
                result += ":PRT:";
                break;	
            default:
                result += ch;
        }
    }
    return result;
}
