var xmlhttp
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	   xmlhttp=false
	  }
	 }
	@else
	 xmlhttp=false
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	 try {
	  xmlhttp = new XMLHttpRequest();
	 } catch (e) {
	  xmlhttp=false
	 }
	}
	function myXMLHttpRequest() {
	  var xmlhttplocal;
	  try {
	    xmlhttplocal= new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttplocal= new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	    xmlhttplocal=false;
	  }
	 }

	if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
	 try {
	  var xmlhttplocal = new XMLHttpRequest();
	 } catch (e) {
	  var xmlhttplocal=false;
	  alert('couldn\'t create xmlhttp object');
	 }
	}
	return(xmlhttplocal);
}

function sndReq(vote,id_num,ip_num,units) {
	var theUL = document.getElementById('unit_long'+id_num); // original:'cargar'+id_num
	
	// switch UL with a loading div
	theUL.innerHTML = '<div class="loading"></div>';
	
    xmlhttp.open('get', 'http://www.webtutoriales.com/process.php?action=rpc&j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units);
    xmlhttp.onreadystatechange = handleResponse;
    xmlhttp.send(null);	
}

function handleResponse() {
  if(xmlhttp.readyState == 4){
	if (xmlhttp.status == 200){
        var response = xmlhttp.responseText;
        var update = new Array();
           if(response.indexOf('|') != -1) {
            update = response.split('|');
            changeText(update[0], update[1]);
           }
	}
    }
}

function changeText(div2show, text ) {
    // Detect Browser
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {DOM=1};
    // Grab the content from the requested "div" and show it in the "container"
    if (DOM) {
        var viewer = document.getElementById(div2show);
        viewer.innerHTML = text;
    }  else if(IE) {
        document.all[div2show].innerHTML = text;
    }
}


function setText(number,options) {
	changeText('ratingMessage',options[number]);
}

function messageAdded(request) {
	new Effect.Fade('loading');
	new Effect.Fade('error');
	new Effect.Appear('message_submitted', { duration: 0.5, queue:'end' } );
}

function failure(request) {
	new Effect.Fade('loading');
	new Effect.Appear('error', { duration: 0.5} );
	Form.enable('submit_form');

}

function loading() {
	new Effect.Appear('loading', { duration: 0.5});
}

function complete(request) { 
  	Form.disable('submit_form');

        var doupdate = new Array();

        if(request.responseText.indexOf('|') != -1) {
            doupdate = request.responseText.split('|');
            
        }

	if (request.status == 200 && doupdate[0]==0) {
		changeText('message_submitted',doupdate[1]);
		messageAdded();
	}
	else {	
		changeText('error',doupdate[1]);
		failure(request);
	}
}

function Request(id,page)
{
  new Ajax.Updater(id, page, {
    onLoading: function(request){
      new Effect.Appear(id+'-loading', { duration: 0.2});
    },
    onComplete:function(){
      new Effect.Fade(id+'-loading');
      new Effect.Appear(id, { delay:1,duration: 1.0 });
    },asynchronous:true});
}



/* =============================================================== */
