// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

var http_request = false;
var ajax_request = 0;

var debugGetRequest = false;
var debugPostRequest = false;

function doGetRequest(url){
	if (debugGetRequest == true){
		window.open(url);
	} else {
		makeRequest(url, null, 'GET');
	}
}

function doPostRequest(url, params){
	if (debugPostRequest == true){
		window.open(url + '?'+ params);
	} else {
	    makeRequest(url, params, 'POST');
    }
}

function makeRequest(url, params, requestType) {
	makeRequest(url, params, requestType, null);
}

function makeRequest(url, params, requestType, fHandle) {

	fHandle = (fHandle == null ? 'getRequestData' : fHandle);

	ajax_request = 0;

    http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 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 = eval(fHandle);
    http_request.open(requestType, url, true);

	if (requestType == 'POST'){
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", params.length);
		http_request.setRequestHeader("Connection", "close");
	}

    http_request.send(params);
}

function getRequestData() {

    if (http_request.readyState == 4) {
        
        if (http_request.status == 0) {
        
        	document.getElementById('pip_statement_detail_body').innerHTML = "Error 0 - Server down";
        } else if (http_request.status == 200) {

			var xmldoc = http_request.responseText;

			document.getElementById('pip_statement_detail_body').innerHTML = xmldoc;
		
		} else if (http_request.status == 404) {
		
			document.getElementById('pip_statement_detail_body').innerHTML = "Error 404 - Page not found";		
        } else {
            document.getElementById('pip_statement_detail_body').innerHTML = "There was a problem with the request.";
        }
    }
}

function submitPIPStatement(form){

	var redirect = "";

	if (form.pip_statement_checkbox[0].checked)
		redirect = form.pip_statement_checkbox[0].value;
		  
	if (form.pip_statement_checkbox[1].checked)
		redirect = form.pip_statement_checkbox[1].value;

	if (redirect != "")
		document.location.href=redirect;
}

function fillOutFields(submitForm){ 

	if (document.registerForm.replicateAddressField_Y.checked){
	  
		// Copy country from company_country
		document.registerForm.country.value	=document.registerForm.company_country.value; 
		if (submitForm = 'true') {
			document.registerForm['operation'].value = 'reload';
			document.registerForm.submit();
		}
	}
}

function setRebateField(field){

	var rebateField = document.getElementById('rebateActivityList');

	if (field.checked) {
		rebateField.value += field.value + ";";
	} else {
		rebateField.value = rebateField.value.replace(field.value + ";", "");
	}
}

function submitPIPStatementForm(form){

	var action = "";

	if (form.pip_statement_checkbox[0].checked)
		action = form.pip_statement_checkbox[0].value;
		  
	if (form.pip_statement_checkbox[1].checked)
		action = form.pip_statement_checkbox[1].value;

	if (action != ""){
		var actionSplit = action.split(":");
		var redirect = actionSplit[0];
		var redirectType = actionSplit[1];
		
		if (redirectType != null 
			&& redirectType.match("redirect", "i")){
		
			document.location.href=redirect;
		} else {	
			document.pip_statement_checkbox_selection.action = action;
			document.pip_statement_checkbox_selection.submit();
		}
		

		
	}
}

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  // Temporary variables to hold mouse x-y pos.s
  var tempX = 0
  var tempY = 0

  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // Stores the mouse positions in two form fields with IDs 'mouseX' and 'mouseY'
  document.getElementById('mouseX').value = tempX
  document.getElementById('mouseY').value = tempY
  return true
}

function showPipStatementDetail(quarter, activityName){

  var boxPosX = parseInt(document.getElementById('mouseX').value) - 20;
  var boxPosY = parseInt(document.getElementById('mouseY').value) + 20;

  document.getElementById('pip_statement_detail_body').innerHTML = document.getElementById('detailLoading').value;

  document.getElementById('pip_statement_detail').style.top  = boxPosY + 'px';
  document.getElementById('pip_statement_detail').style.left = boxPosX + 'px';
  document.getElementById('pip_statement_detail').style.display = '';

  doGetRequest('statement_pip_detail.jsp?quarter=' + quarter + '&activityName='+ activityName);

}