// JavaScript Document



function showContests(){
	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getLoadingHTML();
	setMenuActive('contests');
	var url = "user/contest.selector.php";
	catrellast = url;
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				if(catrellast!=url) returnresponseObject;
				catcontainer.innerHTML = responseObject;
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}
function chooseContest(id){
	dojo.xhrGet({
		url: "user/contest.select.php?id="+id,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				if(responseObject.success){
					window.location.href = "index.php?cc="+responseObject.code;
				}else{
					showModal(responseObject.error);
				}
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "json"
	});
}

function showMyData(){
	loadOverContents("user/user.edit.php");
}
//NOTAS
/*function showMyResumen(id){
	loadOverContents("resume.php");
}*/
function showMyNotes(id){
	loadOverContents("notes.php?id="+id);
}
function saveUserNotes(){
	var url = "notes.save.php";
	var form = dojo.byId('notesform');
	var fobjs = dojo.query("input",form);
	dojo.xhrPost({
		url: url,
		form:form,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				dojo.byId('notesimg').style.display = 'none';
				if(responseObject.success){
					closeOverContents();
//					showModal(responseObject.msg,"closeOverContents();");
				}else{
					showModal(responseObject.error,"closeOverContents();");
				}
				if(responseObject.formatForm!=null){
					responseObject.formatForm();
				}
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR SAVING",response, ioArgs);
			//saveRecord(lastsaveurl);
			dojo.byId('notesimg').style.display = 'none';
			for(i=0;i<fobjs.length;i++){
				fobjs[i].disabled=false;
			}
			return response;
		},
		handleAs: "json"
	});
	for(i=0;i<fobjs.length;i++){
		fobjs[i].disabled=true;
	}
	dojo.byId('notesimg').style.display = '';
}



function showHelp(){
	loadOverContents("help/help.php");
}
//////////////////////
//  SHOW HELP CLIP
////////////////////////
function showHelpClip(helpClip){
	showBlackPanel(.85,true);
	var container = dojo.byId('overcontentshigh');
	container.style.display='';
	container.innerHTML = "";
	container.innerHTML += "<div class=\"previewcloser\"><input type=\"button\" class=\"previewcloser\" onclick=\"hideFilePreview();\" value=\""+getMsg('close')+"\" /></div>";
	container.innerHTML += "<div class=\"wrapper\" style=\"margin-bottom:5px;\"></div>";
	container.innerHTML += "<div style=\"margin-left:auto;margin-right:auto;width:1023px;\"><div id=\"helpswf\"></div></div>";
	container.innerHTML += "<div class=\"wrapper\" style=\"margin-top:5px;\"></div>";
	container.innerHTML += "<div class=\"previewcloser\"><input type=\"button\" class=\"previewcloser\" onclick=\"hideFilePreview();\" value=\""+getMsg('close')+"\" /></div>";
	var hfvars = {width:1023,
				  height:600};
	var hparams = {
		allowfullscreen:true,
		allowScriptAccess:'always',
		allowNetworking:'all'};
	var hargs = {};
	swfobject.embedSWF(helpClip, 'helpswf', '1023','600', '9.0.0','expressInstall.swf', hfvars, hparams, hargs);
	fixBlackPanel();
	fixOverContents();
}



function updateUserData(){
	var url = "user/user.save.php";
	var msgbox = dojo.byId("registermsg");
	msgbox.style.display='none';
	var form = dojo.byId('registerform');
	var fobjs = dojo.query("input",form);
	dojo.xhrPost({
		url: url,
		form:form,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				dojo.byId('registeringimg').style.display = 'none';
				msgbox.style.display='block';
				if(responseObject.success){
					form.style.display='none';
					var tabs = dojo.byId("edittabs");
					if(tabs!=null) tabs.style.display='none';
					msgbox.className="success";
					msgbox.innerHTML = responseObject.msg+getSuccessButton("closeOverContents();"+(onUserEditDone!=null?onUserEditDone:""));
				}else{
					msgbox.innerHTML = responseObject.error;
					msgbox.className="error";
					for(i=0;i<fobjs.length;i++){
						fobjs[i].disabled=false;
					}
				}
				if(responseObject.formatForm!=null){
					responseObject.formatForm();
				}
				fixBlackPanel();
				fixOverContents();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR SAVING",response, ioArgs);
			//saveRecord(lastsaveurl);
			dojo.byId('registeringimg').style.display = 'none';
			msgbox.style.display='block';
			msgbox.innerHTML = getLoadingErrorHTML();
			msgbox.className="error";
			for(i=0;i<fobjs.length;i++){
				fobjs[i].disabled=false;
			}
			return response;
		},
		handleAs: "json"
	});
	for(i=0;i<fobjs.length;i++){
		fobjs[i].disabled=true;
	}
	dojo.byId('registeringimg').style.display = '';
}
var onUserEditDone;
function editUserData(userid,ondone){
	onUserEditDone = ondone;
	loadOverContents("user/user.edit.php?id="+userid);
}
function showMyFiles(){
	loadOverContents("user/myfiles.php",function(){ getFilesList(lasttypeviewed); });
}
function showUserData(id){
	loadOverContents("user/user.quickdata.php?id="+id);
}
var onUserDeleteDone;
function deleteUser(userid,ondone){
	onUserDeleteDone = ondone;
	
	loadOverContents("user/user.delete.php?id="+userid);
}
function doDeleteUser(id){
	var msgbox = dojo.byId("delusermsg");
	msgbox.style.display='none';
	var form = dojo.byId('deluserform');
	dojo.xhrPost({
		url: "user/user.delete.php?id="+id,
		form:form,
		load: function(responseObject, ioArgs){
			if(responseObject==null){ this.error(); return; }
			dojo.byId('savingimg').style.display = 'none';
			msgbox.style.display='block';
			if(responseObject.success){
				form.style.display='none';
				msgbox.className="success";
				msgbox.innerHTML = responseObject.msg+getSuccessButton("closeOverContents();"+(onUserDeleteDone!=null?onUserDeleteDone:""));
			}else{
				msgbox.innerHTML = responseObject.error;
				msgbox.className="error";
				for(i=0;i<fobjs.length;i++){
					fobjs[i].disabled=false;
				}
			}
			if(responseObject.formatForm!=null){
				responseObject.formatForm();
			}
			return responseObject;
		},
		error: function(response, ioArgs){
			console.log("ERROR SAVING",response, ioArgs);
			//saveRecord(lastsaveurl);
			msgbox.style.display='block';
			msgbox.innerHTML = getLoadingErrorHTML();
			msgbox.className="error";
			for(i=0;i<fobjs.length;i++){
				fobjs[i].disabled=false;
			}
			return response;
		},
		handleAs: "json"
	});
	dojo.byId('savingimg').style.display = '';
}


function sumValues(rs){
	var fields = dojo.query(".val",dojo.byId('cat'+rs));
	var total = 0;
	for(var i = 0;i<fields.length;i++){
		var fval = parseInt(fields[i].value);
		if(isNaN(fval)){
			fields[i].value = "";
		}else{
			fields[i].value = fval;
			total += fval;
		}
	}
	var totaldiv = dojo.byId('total'+rs);
	totaldiv.innerHTML = "$"+total;
}

function billEntries(rs){
	var url = "entries/entry.bill.php";
	var form = dojo.byId('formcat'+rs);
	var saveimg = dojo.byId('savingbill'+rs);
	saveimg.style.display = 'block';
	dojo.xhrPost({
		url: url,
		form:form,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				saveimg.style.display = '';
				if(responseObject.success){
					reloadPart(rs);
					//showModal(responseObject.msg,"reloadPart('"+rs+"');");
				}else{
					showModal(responseObject.error,"reloadPart('"+rs+"');");
				}
				if(responseObject.formatForm!=null){
					responseObject.formatForm();
				}
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR SAVING",response, ioArgs);
			//reloadthiscat
			return response;
		},
		handleAs: "json"
	});
}



var clocktimes = Array();
var clockint;
function loadClock(){
	var d1 = dojo.byId('judgeclock_d');
	var d2 = dojo.byId('judgeclock_h');
	var d3 = dojo.byId('judgeclock_m');
	var d4 = dojo.byId('judgeclock_s');
	if(d1!=null && d2!=null && d3!=null && d4!=null){
		clocktimes[0] = parseInt(d1.innerHTML);
		clocktimes[1] = parseInt(d2.innerHTML);
		clocktimes[2] = parseInt(d3.innerHTML);
		clocktimes[3] = parseInt(d4.innerHTML);
		clockint = setInterval(moveClock,1000);
	}
}
function moveClock(){
	var d1 = dojo.byId('judgeclock_d');
	var dn = dojo.byId('judgeclock_dn');
	var d2 = dojo.byId('judgeclock_h');
	var d3 = dojo.byId('judgeclock_m');
	var d4 = dojo.byId('judgeclock_s');
	if(d1!=null && d2!=null && d3!=null && d4!=null){
		clocktimes[3] = clocktimes[3]-1;
		if(clocktimes[3]<0){
			clocktimes[3] = 59;
			clocktimes[2] = clocktimes[2]-1;
			if(clocktimes[2]<0){
				clocktimes[2] = 59;
				clocktimes[1] = clocktimes[1]-1;
				if(clocktimes[1]<0){
					clocktimes[1] = 23;
					clocktimes[0] = clocktimes[0]-1;
					if(clocktimes[0]<0){
						clocktimes[0] = 0;
						clocktimes[1] = 0;
						clocktimes[2] = 0;
						clocktimes[3] = 0;
						clearInterval(clockint);
						var jj = dojo.byId('judgeclock');
						jj.innerHTML = getMsg('js_text_8');
						jj.className = "closed";
					}
				}
			}
		}
		if(clocktimes[0]>0){
			d1.innerHTML = clocktimes[0];
			dn.innerHTML = (clocktimes[0]>1?getMsg('js_text_9'):getMsg('js_text_10'))+getMsg('js_text_11');
		}else{
			d1.innerHTML = "";
			dn.innerHTML = "";
		}
		d2.innerHTML = (clocktimes[1]<10?"0":"")+clocktimes[1];
		d3.innerHTML = (clocktimes[2]<10?"0":"")+clocktimes[2];
		d4.innerHTML = (clocktimes[3]<10?"0":"")+clocktimes[3];
	}
}
dojo.addOnLoad(loadClock);

function loadJudges(sorter,sdir){
	var url = "judging/judges.php?"+(sorter!=null?"s="+sorter:"")+(sdir!=null?"&o="+sdir:"");
	setMenuActive('judges');
	hideFilters();
	catrellast = url;
  	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getMsg('wait');
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				if(this.url!=catrellast){ return responseObject; }
				catcontainer.innerHTML = responseObject;
				//refilterCats();
				//countEntries();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}

function showAddJudges(){
	var url = "judging/judges.add.php";
	setMenuActive('judges');
	catrellast = url;
  	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getLoadingHTML();
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				if(this.url!=catrellast){ return responseObject; }
				catcontainer.innerHTML = responseObject;
				populateTA();
				//refilterCats();
				//countEntries();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}
function closeAddExpl(){
	var expl = dojo.byId('addexpl');
	expl.style.display = 'none';
}
function addJudges(){
	var adding = dojo.byId('addingjudges');
	adding.style.display = 'block';
  	var addingcontainer = dojo.byId('addingmain');
  	var msg = dojo.byId('addingjudgesmsg');
	//msg.innerHTML = "";
	//msg.style.display = 'none';
	var form = dojo.byId('judgesadder');
	var addbut = dojo.byId('judgesadderbutton');
	addbut.disabled = true;
	var url = "judging/judges.add.php";
	dojo.xhrPost({
		url: url,
		form: form,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				adding.style.display = 'none';
				if(responseObject.success){
					addingcontainer.innerHTML = responseObject.msg;
				}else{
					closeAddExpl();
					msg.style.display = 'block';
					msg.innerHTML = responseObject.error;
				}
				addbut.disabled = false;
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			msg.style.display = 'block';
			msg.innerHTML = "Ha ocurrido un error";
			addbut.disabled = false;
			adding.style.display = 'none';
			//reloadCats();
			return response;
		},
		handleAs: "json"
	});
}
function exportJudges(){
	window.open('judging/judges.export.php');
}
function exportJudgesStatus(){
	window.open('judging/judges.export.status.php');
}


function syncJudgeTA(){
	var textarea = dojo.byId("judgeslines");
	var source   = dojo.byId("judgesdata");
	textarea.scrollTop = source.scrollTop;
}
function populateTA(){
	var source   = dojo.byId("judgesdata");
	var data = source.value.split("\n");
	var lines = data.length;
	var textarea = document.getElementById("judgeslines");
	var str = '';
	for(var i=0;i < lines;i++){
			str = str + ((i+1) +'\r\n');
	}
	textarea.value = str;
	syncJudgeTA();
}
function gotoTALine(num){
	var textarea = dojo.byId("judgeslines");
	var source   = dojo.byId("judgesdata");
	var data = source.value.split("\n");
	var lines = data.length;
	if(lines>0){
		var per = num/lines;
		var newTop = Math.floor(source.scrollHeight*per);
		textarea.scrollTop = source.scrollTop = newTop;
	}
}








function filterJudges(val,skip){
	if(val=="" && skip) return;
	var lines = dojo.query(".judge",dojo.byId("judges"));
	val = val.toLowerCase();
	while(val.length>0 && val.lastIndexOf(" ")==val.length-1){
		val=val.substr(0,val.length-1);
	}
	while(val.indexOf("  ")!=-1){
		val = val.replace("  "," ");
	}
	var valparts = val.split(" ");
	for(var j=0;j<lines.length;j++){
		var line = lines[j];
		if(line.className.indexOf("header")!=-1) continue;
		var linedata = stripHTML(line.innerHTML).toLowerCase();
		linedata = stripHTML(linedata);
		var lineok = true;
		for(k=0;k<valparts.length && lineok;k++){
			if(linedata.indexOf(valparts[k])==-1){
				lineok=false;
			}
		}
		if(lineok){
			line.style.display='';
		}else{
			line.style.display='none';
		}
	}
}


function loadVotes(){
	var url = "judging/votes.php";
	setMenuActive('votaciones');
	hideFilters();
	catrellast = url;
  	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getMsg('wait');
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				if(this.url!=catrellast){ return responseObject; }
				catcontainer.innerHTML = responseObject;
				var oc = dojo.byId('onlineconsolidation');
				if(oc){
					
				}
				refilterCats();
				countEntries();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}

function downloadXML(){
	var forscreening = window.confirm("Descargar XML para Screening?\nSi desea descargar el XML para Veritron presione cancelar.");
	openLink('xml.php?d=1&fs='+(forscreening?"1":"0"));
}


function showImportCSV(){
	var url = "judging/votes.import.php";
	setMenuActive('judges');
	catrellast = url;
  	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getLoadingHTML();
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				if(this.url!=catrellast){ return responseObject; }
				catcontainer.innerHTML = responseObject;
				var vupfvars = {width:'100%',
				height:240,
				userid:iuid,
				cid:scid};
				var vupparams = {
					allowfullscreen:true,
					allowScriptAccess:'always',
					allowNetworking:'all',
					wmode:'transparent'};
				var vupargs = {};
				swfobject.embedSWF('votesUploader.swf', 'votesuploadswf', '100%','240', '9.0.0','expressInstall.swf', vupfvars, vupparams, vupargs);
				//refilterCats();
				//countEntries();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}
function showExportResults(shortlist){
	loadOverContents("judging/votes.export.php"+(shortlist?"?sl=1":""));
}
function showExportMetals(){
	loadOverContents("judging/votes.export.metals.php");
}

function exportResults(){
	var form = dojo.byId('exportform');
	form.submit();
}

function updateFinalFolder(){
	loadOverContents("files/files.updatefinal.php");
}
function doUpdateFinal(){
	var form = dojo.byId('updateform');
	form.submit();
}
function setEntrySL(id,value){
	var eitem = dojo.byId('entvote'+id);
	eitem.className = eitem.className.replace(/inshortlist/g,"");
	eitem.className += value?" inshortlist":"";
	var url = "entries/entry.setsl.php?id="+id+"&val="+(value?"1":"0");
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}




function showCreateVeritrons(){
	var url = "judging/tech.createv.php";
  	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getLoadingHTML();
	dojo.xhrGet({
		url: url,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				catcontainer.innerHTML = responseObject;
				//refilterCats();
				//countEntries();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}

function addVeritrons(){
	var adding = dojo.byId('addingjudges');
	adding.style.display = 'block';
  	var addingcontainer = dojo.byId('addingmain');
  	var msg = dojo.byId('addingjudgesmsg');
	//msg.innerHTML = "";
	//msg.style.display = 'none';
	var form = dojo.byId('veritronsadder');
	var addbut = dojo.byId('judgesadderbutton');
	//addbut.disabled = true;
	var url = "judging/tech.createv.php";
	dojo.xhrPost({
		url: url,
		form: form,
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				adding.style.display = 'none';
				if(responseObject.success){
					addingcontainer.innerHTML = responseObject.msg;
				}else{
					msg.style.display = 'block';
					msg.innerHTML = responseObject.error;
				}
				//addbut.disabled = false;
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			msg.style.display = 'block';
			msg.innerHTML = "Ha ocurrido un error";
			addbut.disabled = false;
			adding.style.display = 'none';
			//reloadCats();
			return response;
		},
		handleAs: "json"
	});
}

function setShortlist(sosl){
	var url = "judging/judgefinal.setsl.php";
  	var catcontainer = dojo.byId('maincontents');
	catcontainer.innerHTML = getLoadingHTML();
	dojo.xhrGet({
		url: url+"?sl="+(sosl?"1":"0"),
		load: function(responseObject, ioArgs){
				if(responseObject==null){ this.error(); return; }
				eval(fjudgedid);
				//refilterCats();
				//countEntries();
				return responseObject;
			},
		error: function(response, ioArgs){
			console.log("ERROR LOADING EDITOR",response, ioArgs);
			container.innerHTML = getLoadingErrorHTML(true);
			//reloadCats();
			return response;
		},
		handleAs: "text"
	});
}