var xmlHttp;
var formName=0;
var ov=0;
var layerName="";

function recOKWSA(_rid) {
	window.location="/websingingawards/upload_recording.php?rid="+_rid;
}

function sms_nrs(_rid, form, layName) {	
  loading(410,280,-1,-1,layName);
  if (form!=null) {
	getLayerHTML("/websingingawards/download_sms_nrs2.php",form,null, "POST", layName);
  }
  else {
	getLayerHTML("/websingingawards/download_sms_nrs2.php?rid="+_rid+"&ly="+layName,null,null, "GET", layName);  
  }
}

function recfeedbackx(_rid, _uid, form) {	
  loading(410,280,-1,-1, 'popupBox');
  if (ov == 0 && _rid > 0) {
	document.getElementById("popupBox").style.display = 'inline';
	var content="<div style='width:410px; height:280px; position:absolute; z-index:6; overflow:auto; border: 1px solid #911B1B; background-color:#FFFFFF'><p style='height: 24px; background-image:url(/websingingawards/img/ajHed.gif); background-repeat:no-repeat;margin:3px;padding-left: 15px; padding-top:5px; padding-bottom:0px; padding-right:0px; color: #FFFFFF; font-family:Verdana; font-weight: bold; font-size:11px; width: 380px;  border: none;'><a href=\"javascript:closeBox('popupBox')\" style='margin-top: 0px; '><img src='/websingingawards/img/ajaxbttn.gif' width='17' height='16' border='0' style='float: right;margin-right: 8px;'></a>VOTAR LA CANCI&Oacute;N</p><p style='color: #333333;font-size: 12px; margin-left: 3px; margin-right: 3px; width: 400px; padding: 0px; border: none;'><br><br>Debes escuchar al menos 30 segundos de la canción para poder emitir un voto razonado sobre la canci&oacute;n.</p></div>";
	document.getElementById("popupBox").innerHTML=content;
  }
  else {
	if (form!=null) {
		getLayerHTML("/websingingawards/sendfeedback2.php",form,null, "POST","popupBox");
	}
	else {
		getLayerHTML("/websingingawards/sendfeedback2.php?rid="+_rid+"&uid="+_uid,form,null, "GET","popupBox");  
	}
  }
}

function videofeedbackx(_vid,form) {
  loading(410,280,-1,-1, 'popupBox');
  if (form!=null) {
  	getLayerHTML("/websingingawards/enviar-comentario-video",form,null, "POST");
  }
  else {
  	getLayerHTML("/websingingawards/enviar-comentario-video?vid="+_vid,form,null, "GET");  
  }
}

function formsendvideox(_vid,_title,_username) {
  loading(410,280,430,320);
  getLayerHTML("/form-enviar-video?vid="+_vid+"&title="+_title+"&username="+_username,null,null, "GET");
}

function sendvideox(_vid,form) {
  loading(410,280,430,320);
  getLayerHTML("/enviar-video",form,null, "POST");
}

function loading(width, height, left, top, layName) { 
  document.getElementById(layName).style.display = 'inline';
  var content= "";
  if (left == -1 && top == -1) {
  	var content="<div style='width:"+width+"px; height:"+height+"px; position:relative; z-index:6;border: 1px solid #000; overflow:auto; background-color:#FFFFFF;'>&nbsp;</div>";
  }
  else {
  	var content="<div style='width:"+width+"px; height:"+height+"px; position:relative; left:"+left+"px; top:"+top+"px;z-index:6;border: 1px solid #000; overflow:auto; background-color:#FFFFFF;'>&nbsp;</div>";
  }
  document.getElementById(layName).setInnerHTML=content;
}

function opVoting() {
	ov = 1;
}

function getLayerHTML(url, formName, targetLocation, method, layName)
{	
  layerName = layName;
  createXMLHttpRequest();
  var queryString = url;
 
  if(targetLocation!=null)
  targetLocation=getLocationWithoutAmpersend(targetLocation);

  xmlHttp.onreadystatechange = handleLayerResponse;
  
  if (formName!=null)
  { 
    queryString = buildQueryString(formName);
    if(targetLocation!=null) {
  		queryString = queryString+"&url"+targetLocation;
  	}
    xmlHttp.open(method, url, true);
	var content="<div style='width:410px; height:280px; position:absolute; border: 1px solid #000; overflow:auto; background-color:#FFFFFF;'><table height='280' align='center' valing='middle' style='font-size: 24px; margin-left:15px; width: 380px; padding: 0px; border: none; text-align: center;'><tr><td align='center' style='padding: 0px;'><img src='/img/loading.gif' width='220' height='19'><br>Cargando ...</td></tr></table></div>";
	document.getElementById(layerName).innerHTML = content;
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
	xmlHttp.send(queryString);
  }
  else
  {
	var content="<div style='width:410px; height:280px; position:absolute; border: 1px solid #000; overflow:auto; background-color:#FFFFFF;'><table height='280' align='center' valing='middle' style='font-size: 24px; margin-left:15px; width: 380px; padding: 0px; border: none; text-align: center;'><tr><td align='center' style='padding: 0px;'><img src='/img/loading.gif' width='220' height='19'><br>Cargando ...</td></tr></table></div>";
  	document.getElementById(layerName).innerHTML = content;
	var i=queryString.indexOf("?");
	if (i>=0)
	{
	queryString=queryString+"&randomString="+randomString();
	queryString = queryString+"&url=" + targetLocation;
	}
	else
	{
	queryString = queryString+"?url=" + targetLocation;
	queryString=queryString+"&randomString="+randomString();
	}
	xmlHttp.open(method, queryString, true);
  	xmlHttp.send(null);
  }
  
}

function createXMLHttpRequest() 
{
  if (window.ActiveXObject) 
  {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } 
  else if (window.XMLHttpRequest) 
  {
    xmlHttp = new XMLHttpRequest();
  }
}

function getLocationWithoutAmpersend(target)
{
	var empty=target;
	for(;empty.indexOf("&")>0;)
	{
		empty=empty.replace("&","~");
	}
	return empty;
}

function buildQueryString(theFormName) 
{
  theForm = document.forms[theFormName];
  var qs = ''
  for (e=0;e<theForm.elements.length;e++) 
  {
    if (theForm.elements[e].name!='') 
    {
      qs+=(qs=='')?'':'&'
      if (encodeURIComponent) {
   		if (theForm.elements[e].type=="checkbox")
	      {
	        qs+=theForm.elements[e].name+'='
		      +encodeURIComponent(theForm.elements[e].checked)
	      }
	      else if (theForm.elements[e].type=="radio")
	      {
	        if (theForm.elements[e].checked==true)
	        {
	          qs+=theForm.elements[e].name+'='
		        +encodeURIComponent(theForm.elements[e].value)
	        }
	      }
	      else
	      {
	        qs+=theForm.elements[e].name+'='
		      +encodeURIComponent(theForm.elements[e].value)
	      }
	  } else {
    	if (theForm.elements[e].type=="checkbox")
	      {
	        qs+=theForm.elements[e].name+'='
		      +escape(theForm.elements[e].checked)
	      }
	      else if (theForm.elements[e].type=="radio")
	      {
	        if (theForm.elements[e].checked==true)
	        {
	          qs+=theForm.elements[e].name+'='
		        +escape(theForm.elements[e].value)
	        }
	      }
	      else
	      {
	        qs+=theForm.elements[e].name+'='
		      +escape(theForm.elements[e].value)
	      }
	  }


      
    }
  }
  return qs;
}

function handleLayerResponse() 
{
  if(xmlHttp.readyState == 4) 
  { 
    if(xmlHttp.status == 200) 
    { 
      document.getElementById(layerName).style.display = 'none';
      var response = xmlHttp.responseText;
      document.getElementById(layerName).style.display = 'inline';
      if (response.indexOf("<!-- reloadwithoutajax -->")!=-1) {
      	setTimeout("window.location.reload()",0);
      } else {
      	document.getElementById(layerName).innerHTML =response;
      }
      if (response.indexOf("<!-- reloadx -->")!=-1) {
      	setTimeout("window.location.reload()",3000);
      }
      if (response.indexOf("<!-- autoclosex -->")!=-1) {
      	setTimeout("closeBox('"+layerName+"')",4000);
      }
    }
  }
}

function randomString() 
{
  var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
  var string_length = 8;
  var rs = '';
  for (var i=0; i<string_length; i++)
  {
    var rnum = Math.floor(Math.random() * chars.length);
    rs += chars.substring(rnum,rnum+1);
  }
  return rs;
}

function closeBox(layerName) 
{
  	document.getElementById(layerName).style.display = 'none';
}

function orderbydate(user) {	
  	getLayerHTML2("/userrecordings2.php?username="+user+"&o=date&ajax=true",null,null, "GET");
}
function orderbyaverage(user) {	
  	getLayerHTML2("/userrecordings2.php?username="+user+"&ajax=true",null,null, "GET");
}

function getLayerHTML2(url, formName, targetLocation, method)
{	
	createXMLHttpRequest();
	var queryString = url;
	
	if(targetLocation!=null)
	targetLocation=getLocationWithoutAmpersend(targetLocation);
	
	xmlHttp.onreadystatechange = handleLayerResponse2;
	var content="<div style='width:410px; height:280px; position:relative; border: 1px solid #000; overflow:auto; background-color:#FFFFFF;'><table height='280' align='center' valing='middle' style='font-size: 24px; margin-left:15px; width: 380px; padding: 0px; border: none; text-align: center;'><tr><td align='center' style='padding: 0px;'><img src='/img/loading.gif' width='220' height='19'><br>Cargando ...</td></tr></table></div>";
  	document.getElementById("changeBox").innerHTML = content;
	var i=queryString.indexOf("?");
	if (i>=0)
	{
	queryString=queryString+"&randomString="+randomString();
	queryString = queryString+"&url=" + targetLocation;
	}
	else
	{
	queryString = queryString+"?url=" + targetLocation;
	queryString=queryString+"&randomString="+randomString();
	}
	xmlHttp.open(method, queryString, true);
  	xmlHttp.send(null);
}

function handleLayerResponse2() 
{
  if(xmlHttp.readyState == 4) 
  { 
    if(xmlHttp.status == 200) 
    { 
      document.getElementById("changeBox").style.display = 'none';
      var response = xmlHttp.responseText;
      document.getElementById("changeBox").style.display = 'inline';
      document.getElementById("changeBox").innerHTML =response;
    }
  }
}

var starCount=5;

function showStars(starNum){
	greyStars();
	colorStars(starNum);
	estrella(starNum);
}

function colorStars(starNum){
	for(var i=0;i<starNum;i++){
		removeClass(document.getElementById('star__'+(i+1)),'estrella_off');
		addClass(document.getElementById('star__'+(i+1)),'estrella_on');
	}
}
function greyStars(){
	for(var i=0;i<10;i++)
		if(i<=this.starCount){
			removeClass(document.getElementById('star__'+(i+1)),'estrella_on');
			addClass(document.getElementById('star__'+(i+1)),'estrella_off');
		}
		else {
			removeClass(document.getElementById('star__'+(i+1)),'estrella_on');
			addClass(document.getElementById('star__'+(i+1)),'estrella_off');
		}
}

function setStars(starNum){
	starCount=starNum;
	drawStars(starNum);
	document.forms['sendfeedback']['vote'].value=starCount;
}

function drawStars(starNum){
	starCount=starNum;
	showStars(starNum);
}

function resetStars(){
	if(starCount)
		drawStars(starCount);
	else
		greyStars();
	estrella(starCount);
}

function estrella(id) {
	var txt;
	if(id == 1) txt = "Muy deficiente. Problemas graves de grabación.";
	if(id == 2) txt = "Deficiente. Problemas serios de grabación.";
	if(id == 3) txt = "Insuficiente. Se escucha, pero con problemas.";
	if(id == 4) txt = "Regular. Casi lo consigues.";
	if(id == 5) txt = "Aprobado. ¡No está mal!";
	if(id == 6) txt = "Bien. Me gusta bastante.";
	if(id == 7) txt = "Notable. Muy recomendable.";
	if(id == 8) txt = "Notable alto. ¡Excelente versión!";
	if(id == 9) txt = "Sobresaliente. ¡¡Es un temazo!!";
	if(id == 10) txt = "Matrícula. Inmejorable, versión suprema, perfecta.";
	document.getElementById('votacion').innerHTML= txt;
}

function hasClass(element,_className){
	if(!element){
		return;
	}
	var upperClass=_className.toUpperCase();
	if(element.className){
		var classes=element.className.split(' ');
		for(var i=0;i<classes.length;i++){
			if(classes[i].toUpperCase()==upperClass){
				return true;
			}
		}
	}
	return false;
}

function addClass(element,_class){
	if(!hasClass(element,_class)){
		element.className+=element.className?(" "+_class):_class;
	}
}

function removeClass(element,_class){
	var upperClass=_class.toUpperCase();
	var remainingClasses=[];
	if(element.className){
		var classes=element.className.split(' ');
		for(var i=0;i<classes.length;i++){
			if(classes[i].toUpperCase()!=upperClass){
				remainingClasses[remainingClasses.length]=classes[i];
			}
		}
		element.className=remainingClasses.join(' ');
	}
}

