var paramRequired;
var ajaxOK=true;
var viewedPages=new Array();

function createRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject('Msxml2.XMLHTTP');
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject('Microsoft.XMLHTTP');
      } catch (failed) {
        request = false;
        //alert('failed');
      }
    }
  }
  if (!request){
      ajaxOK=false;
		//alert('Error initializing XMLHttpRequest!');
    }
}

function updatecounter(surveyfolder,pagenumber){
	if (isMacIE==true){return;}
	// ### DC 10 November 2011 10:21:34 DON'T DOUBLE COUNT PAGES IF PEOPLE GO BACK
	if(viewedPages[pagenumber]){
		return;	
	}
	else{
		viewedPages[pagenumber]=1;
	}
	createRequest();
	//ABANDON IF AJAX DISALLOWED
	if(ajaxOK==false){return;	}
	var d=new Date();
	var t=Math.random().toString().replace('0.','');
	var url = '/survey_templates/px7.asp?t='+t+'&fid='+surveyfolder+'&p='+pagenumber;
	request.open('GET', url, true);
	request.onreadystatechange = doUpdateCounter;
	request.send(null);
}

function doUpdateCounter(){
	if (request.readyState == 4){
		if (request.status == 200) {
			var ajaxResult = request.responseText;
			request=null;
		}
	}
}

function emailClicked(permalink){
	createRequest();
	var url = '/survey_templates/pe.asp?'+permalink;
	request.open('GET', url, true);
	request.onreadystatechange = doEmailClicked;
	request.send(null);
}

function doEmailClicked(){
	if (request.readyState == 4){
		if (request.status == 200) {
			var ajaxResult = request.responseText;
			request=null;
		}
	}
}

function getBrowserCap(param){
	if (isMacIE==true){return;}
	paramRequired=param;
	createRequest();
	var d=new Date();
	var t=Math.random().toString().replace('0.','');
	if (param.length>0){
		var url = '/data/getbrowsercapfunctions.asp?ajax=true&t='+t+'&param='+param;
	}
	else{
		var url = '/data/getbrowsercapfunctions.asp?ajax=true&t='+t;
	}
	request.open('GET', url, true);
	request.onreadystatechange = doGetBrowserCap;
	request.send(null);
}

function doGetBrowserCap(){
	if (request.readyState == 4){
		if (request.status == 200) {
			var ajaxResult = request.responseText;
			if (paramRequired.length>0){
				//ALL RETURNED AS JSON
			}
			else{
				//ONE RETURNED
			}
			request=null;
		}
	}
}

function getGUID(){
	if (isMacIE==true){return;}
	// ### DC 04 November 2011 12:55:49 PREVENT DUPLICATE RESPONSE IF GOES BACK AFTER SUBMIT AS DOESN'T CHANGE RHGUID
	if(document.getElementById('rhGUID').value.length>0){
		return;	
	}
	createRequest();
	var d=new Date();
	var t=Math.random().toString().replace('0.','');
	var url = '/survey_templates/GUID.asp?t='+t;
	request.open('GET', url, true);
	request.onreadystatechange = doGetGUID;
	request.send(null);
}

function doGetGUID(){
	if (request.readyState == 4){
		if (request.status == 200) {
			var ajaxResult = request.responseText;
			request=null;
			// ### DC 22 July 2011 09:04:49 NEEDS CHECK THAT VALID GUID RETURNED
			document.getElementById('rhGUID').value=ajaxResult;
			rhGUID=document.getElementById('rhGUID').value;
		}
	}
}

