

function ajaxEditService(url,data)
{
	alert(url.data);
}
/***********************************************
    System�s data functions.
 ***********************************************/
function getAnswer (id,url,div)
{

    var divResponse = document.getElementById(div);

    var data = new Array();

    data[0] = "id";
    data[1] = id.value;

    ajaxTextInsertionPOST(url,data,divResponse);
}


/************************************************
    System�s helper functions.
 *************************************************/
function helper_generateQueryString(data)
{
    var queryString = "";
    var ARRAY_LENGTH = data.length;

    for (var index = 0; index < ARRAY_LENGTH; index += 2)
    {
        queryString += data[index] + "=" + data[index + 1];

        if((index + 2) != ARRAY_LENGTH){

            queryString += "&";

        }
    }

    return queryString;
}



/***********************************************
    Ajax main functions.
 ***********************************************/
function ajaxObject()
{
    var xmlHttp;

    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();

    }catch (e){

        // Internet Explorer

        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

        }catch (e){
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

            }catch (e){

                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }

    return xmlHttp;
}


/*
 * @param	String		url					it ontains the code address to use in
 *											ajax response
 *
 * @param	Array		data				contains the vars name ond the values in this order
 *
 * @param  	String		targetContainer		the neme of the div target
 *
**/

function ajaxTextInsertionPOST(url,data,targetContainer)
{

    var ajax= this.ajaxObject();

    targetContainer = document.getElementById(targetContainer);

    ajax.open ('POST', url, true);

    var query = helper_generateQueryString(data);

    ajax.onreadystatechange = function() {

        if (ajax.readyState==1) {

            targetContainer.innerHTML = "Loading.......";

        }else if (ajax.readyState==4){

            if(ajax.status==200){

                targetContainer.innerHTML=ajax.responseText;

            }else if(ajax.status==404){

                targetContainer.innerHTML = "Address not found...";

            }else{

                targetContainer.innerHTML = "Error: "+ajax.status;

            }
        }
    }

    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(query);
}


function ajaxEditPOST(id,root)
{

    var codeContainer = document.getElementById('code_'+id);
    var descriptionContainer = document.getElementById('description_'+id);
    var payRateContainer = document.getElementById('payRate_'+id);
    var billRateContainer = document.getElementById('billRate_'+id);
    var unitsPerDay = document.getElementById('unitsPerDay_'+id);

    var editLink = document.getElementById('edit_'+id);
    var deleteLink = document.getElementById('delete_'+id);

    var description = descriptionContainer.firstChild.nodeValue;
	var pay_rate = payRateContainer.firstChild.nodeValue;
	var bill_rate = billRateContainer.firstChild.nodeValue;
	var code = codeContainer.firstChild.nodeValue;
	var units = unitsPerDay.firstChild.nodeValue;

	var textBoxWidth = 5;
   descriptionContainer.innerHTML ="<input type='text' size ='"+textBoxWidth+"' id='description__"+id+"' value='"+ description +"'/>";
   payRateContainer.innerHTML	  ="<input type='text' size ='"+textBoxWidth+"' id='pay_rate__"+id+"' value='"+pay_rate +"'/>";
   billRateContainer.innerHTML	  ="<input type='text' size ='"+textBoxWidth+"' id='bill_rate__"+id+"' value='"+bill_rate +"'/>";
   codeContainer.innerHTML		  ="<input type='text' size ='"+textBoxWidth+"' id='code__"+id+"' value='"+ code +"'/>";
   unitsPerDay.innerHTML		  ="<input type='text' size ='"+textBoxWidth+"' id='unitsPerDay__"+id+"' value='"+ units +"'/>";

   var txt = id+'/'+code+'/'+pay_rate+'/'+bill_rate;
   var test = 'a'+description;

   editLink.innerHTML = "<input type='submit' value='SAVE' onclick=\"ajaxSavePOST('"+id+"','"+root+"');\" class='SubmitBtn'/>";
   deleteLink.innerHTML = "<input type='button' value='CANCEL' onclick=\"ajaxCancelPOST('"+root+"','"+id+"','"+code+"','"+description+"','"+pay_rate+"','"+bill_rate+"','"+units+"');\" class='CancelBtn'/>";

}

function ajaxCancelPOST(root,id,code,description,payrate,billrate,unitsPerDay)
{

	var codeContainer = document.getElementById('code_'+id);
    var descriptionContainer = document.getElementById('description_'+id);
    var payRateContainer = document.getElementById('payRate_'+id);
    var billRateContainer = document.getElementById('billRate_'+id);
    var unitsPerDayContainer = document.getElementById('unitsPerDay_'+id);

    var editLink = document.getElementById('edit_'+id);
    var deleteLink = document.getElementById('delete_'+id);
	var message = document.getElementById('message');

    descriptionContainer.innerHTML = description;
    payRateContainer .innerHTML	  = payrate;
    billRateContainer.innerHTML	  = billrate;
    unitsPerDayContainer.innerHTML = unitsPerDay;
    codeContainer.innerHTML		  = code;
    message.innerHTML = '';

    editLink.innerHTML = "<input type='button' value='Edit' onclick=\"ajaxEditPOST('"+ id +"','"+root+"');\" class='EditBtn'>";
    deleteLink.innerHTML = "<input type='button' value='Delete' onclick=\"ajaxConfirmDeletePOST('"+ id +"','"+root+"')\" class='DeleteBtn'>";
}

function ajaxSavePOST(id,root)
{

	var ajax= this.ajaxObject();
    var codeContainer = document.getElementById('code__'+id);
    var descriptionContainer = document.getElementById('description__'+id);
    var payRateContainer = document.getElementById('pay_rate__'+id);
    var billRateContainer = document.getElementById('bill_rate__'+id);
    var unitsPerDayContainer = document.getElementById('unitsPerDay__'+id);

    var editLink = document.getElementById('edit_'+id);
    var deleteLink = document.getElementById('delete_'+id);

    description = descriptionContainer.value;
    pay_rate	  =payRateContainer.value;
    bill_rate	  =billRateContainer.value;
    code	  = codeContainer.value;
    units = unitsPerDayContainer.value;

	targetContainer = document.getElementById('message');
	SuccessContainer = document.getElementById('messOk');

    ajax.open ('POST', root+"Service/edit", true);

    ajax.onreadystatechange = function() {

        if (ajax.readyState==1) {

            targetContainer.innerHTML = "Loading.......";

        }else if (ajax.readyState==4){

            if(ajax.status==200){

				var element = ajax.responseText;

                if(element.search(/Error/) != 1){
                	var codeContainer = document.getElementById('code_'+id);
    				var descriptionContainer = document.getElementById('description_'+id);
    				var payRateContainer = document.getElementById('payRate_'+id);
    				var billRateContainer = document.getElementById('billRate_'+id);
    				var unitsPerDayContainer = document.getElementById('unitsPerDay_'+id);

                	descriptionContainer.innerHTML = description;
				    payRateContainer.innerHTML	  = pay_rate;
				    billRateContainer.innerHTML	  = bill_rate;
				    unitsPerDayContainer.innerHTML = units;
				    codeContainer.innerHTML		  = code;
	    			targetContainer.innerHTML = "";
	    			SuccessContainer.innerHTML = ajax.responseText;
	    			editLink.innerHTML = "<input type='button' value='Edit' onclick=\"ajaxEditPOST('"+ id +"','"+root+"');\" class='EditBtn'>";
    				deleteLink.innerHTML = "<input type='button' value='Delete' onclick=\"ajaxConfirmDeletePOST('"+ id +"','"+root+"')\" class='DeleteBtn'>";

				} else {
					targetContainer.innerHTML = "";
					var elem2 = element.replace("Code already exists.\n","");
					alert(elem2);
				}
            }else if(ajax.status==404){

                targetContainer.innerHTML = "Address not found...";

            }else{

                targetContainer.innerHTML = "Error: ".ajax.status;

            }
        }
    }

    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send('id_service='+id+'&code='+code+'&description='+description+'&bill_rate='+bill_rate+'&pay_rate='+pay_rate+'&unitsPerDay='+units);

}

function ajaxConfirmDeletePOST(id,root)
{
	var ajax= this.ajaxObject();
	targetContainer = document.getElementById('confirm');

    ajax.open ('POST', root+"Service/confirmDelete", true);

    ajax.onreadystatechange = function() {

        if (ajax.readyState==1) {

            targetContainer.innerHTML = "Loading.......";

        }else if (ajax.readyState==4){

            if(ajax.status==200){

					targetContainer.innerHTML = ajax.responseText;

            }else if(ajax.status==404){

                targetContainer.innerHTML = "Address not found...";

            }else{

                targetContainer.innerHTML = "Error: ".ajax.status;

            }
        }
    }

    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send('id='+id);
}

function clearContainer(){
	targetContainer = document.getElementById('message');
	targetContainer.innerHTML = "";
}

function ajaxDeletePOST(id,root)
{
	var ajax= this.ajaxObject();
	targetContainer = document.getElementById('message');

    ajax.open ('POST', root+"Service/delete", true);

    ajax.onreadystatechange = function() {

        if (ajax.readyState==1) {

            targetContainer.innerHTML = "Loading.......";

        }else if (ajax.readyState==4){

            if(ajax.status==200){

					targetContainer.innerHTML = ajax.responseText;
					window.location.replace( root+"Service/administerServices" );

            }else if(ajax.status==404){

                targetContainer.innerHTML = "Address not found...";

            }else{

                targetContainer.innerHTML = "Error: ".ajax.status;

            }
        }
    }

    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send('id='+id);
}

function ajaxAppear()
{
	document.getElementById('container').style.display = "block";

	document.getElementById('option').innerHTML = "<a href='#' onClick = \"ajaxHide();\">Hide authorizations.</a>";
}

function ajaxHide()
{

	document.getElementById('container').style.display = 'none';
	document.getElementById('option').innerHTML = "<a href='#' onClick = 'ajaxAppear()'>Show active authorizations.</a>";
}



function ajaxDeleteAuthorization(id,root,idProvider)
{


	var ajax= this.ajaxObject();
	targetContainer = document.getElementById('message');

    ajax.open ('POST', root+"Service/deleteAuthorization", true);

    ajax.onreadystatechange = function() {

        if (ajax.readyState==1) {

            targetContainer.innerHTML = "Loading.......";

        }else if (ajax.readyState==4){

            if(ajax.status==200){

					targetContainer.innerHTML = ajax.responseText;
					window.location.replace( root+"Service/authorize?id="+idProvider );

            }else if(ajax.status==404){

                targetContainer.innerHTML = "Address not found...";

            }else{

                targetContainer.innerHTML = "Error: ".ajax.status;

            }
        }
    }

    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send('id='+id);
}

function appearReAdmitForm()
{
	document.getElementById('ReAdmit').style.display = "block";

	document.getElementById('reAdmitButton').style.display = "none";
}

function hideReAdmitForm()
{
	document.getElementById('ReAdmit').style.display = "none";

	document.getElementById('reAdmitButton').style.display = "block";
}

function reAdmitClient(root)
{
	var ajax= this.ajaxObject();
	var errorContainer = document.getElementById('Err');
	var successContainer = document.getElementById('Ok');
	var loadingContainer= document.getElementById('Load');

    ajax.open ('POST', root+"Client/reAdmit", true);

    ajax.onreadystatechange = function() {

        if (ajax.readyState==1) {

            loadingContainer.innerHTML = "Loading.......";

        }else if (ajax.readyState==4){

            if(ajax.status==200){


					//verificar si el responseText contiene el string 'Error'.
					var response = ajax.responseText;

					//si lo tiene entonces
					if(response.match('Error') == 'Error'){

						//desplegar el error en errorContainer
						//despejar successContainer.
						alert(ajax.responseText);
						var result = document.getElementById('termsid');

						alert();

					}else{//si es correcto

						//desplegar el mensaje en successContainer
						//limpiar el errorContainer
						//Esconder 'ReAdmit'
						//Esconder 'reAdmitButton'
						alert("Fracaso");

					}





					//window.location.replace( root+"Service/authorize?id="+idProvider );

            }else if(ajax.status==404){

                errorContainer.innerHTML = "Address not found...";

            }else{

                errorContainer.innerHTML = "Error: ".ajax.status;

            }
        }
    }

    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send();
}


