// JavaScript Document

function sendRequest(url,callback,postData,param) {
	var req = createXMLHTTPObject();
	if (!req) return;
	
	var method = (postData) ? "POST" : "GET";
	
	req.open(method,url,true);
	
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
		
	req.onreadystatechange = function () {
	
  	if (req.readyState != 4) return;
	
  	if (req.status != 200 && req.status != 304) {
			alert('HTTP error ' + req.status);
			return;
		}
		if(param) 
		  callback(req,param,postData);
		else
		  callback(req)
	}
	
	if (req.readyState == 4) return;
	
  req.send(postData);
  
  
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

function handleRequest(req,param,postData) {

	responseText = req.responseText
    
  switch(param) {
    case 'comment':
      if(responseText.length>0){
        var commentDIV = document.getElementById('etc');
            commentDIV.innerHTML = responseText;
      }else{
        reloadSection('/datos/comentar.asp',postData,'comentar');
        reloadSection('/datos/reloadcomments.asp',postData,'comentarios');
      }
      break;
  }
 
}

function reloadSection(url,postData,section){
   sendRequest(url,fillSection,postData,section);
}

function fillSection(req,section){
   var sectionDIV = document.getElementById(section);
   sectionDIV.innerHTML = req.responseText;
}

function builtPost(el){
  var theForm = el;
  var params = '';
  
  for(i=0;i<theForm.elements.length;i++){
    if(theForm.elements[i].name != ''){
      var name = theForm.elements[i].name;
      params += (params=='') ? '' : '&';
      params += name + '=' + escape(theForm.elements[i].value);
    }    
  }

  params += "\n";
  return params
}

function addComment(){
	var url = '/addcomentario.asp';
	var theForm = document.getElementById('comentatios');
	var params = builtPost(theForm);
	sendRequest(url,handleRequest,params,'comment');
	
  return false;
}

function pagecomments(intPage,video){
  var url = '/datos/reloadcomments.asp';
  var params = 'page=' + intPage + '&video=' + video;
  reloadSection(url,params,'comentarios');
  return false;
}	

function popular(lst,pr,cat){
	var url='/datos/populares.asp';
	var params = 'lista=' + lst + '&periodo=' + pr + '&cat=' + cat
	reloadSection(url,params,'populares');
	return false;
}

createXMLHTTPObject;
