﻿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);
}

var mnmxmlhttp = Array ();
var mnmString = Array ();
var mnmPrevColor = Array ();
var responsestring = Array ();
var myxmlhttp = Array ();
var responseString = new String;
var xmlhttp = new myXMLHttpRequest ();


function menealo (user, id, htmlid, md5)
{
  	if (xmlhttp) {
		url = "/menealo.php";
		content = "id=" + id + "&user=" + user + "&md5=" + md5;
		mnmxmlhttp[htmlid] = new myXMLHttpRequest ();
		if (mnmxmlhttp[htmlid]) {
		/*
			mnmxmlhttp[htmlid].open ("POST", url, true);
			mnmxmlhttp[htmlid].setRequestHeader ('Content-Type',
					   'application/x-www-form-urlencoded');
			mnmxmlhttp[htmlid].send (content);
		*/
			url = url + "?" + content;
			mnmxmlhttp[htmlid].open ("GET", url, true);
			mnmxmlhttp[htmlid].send (null);


			warnmatch = new RegExp ("^WARN:");
			errormatch = new RegExp ("^ERROR:");
			target1 = document.getElementById ('mnms-' + htmlid);
			target2 = document.getElementById ('mnmlink-' + htmlid);
			mnmPrevColor[htmlid] = target2.style.backgroundColor;
			//target1.style.background = '#c00';
			target2.style.backgroundColor = '#FF9400';
			mnmxmlhttp[htmlid].onreadystatechange = function () {
				if (mnmxmlhttp[htmlid].readyState == 4) {
					mnmString[htmlid] = mnmxmlhttp[htmlid].responseText;
					if (mnmString[htmlid].match (errormatch)) {
						mnmString[htmlid] = mnmString[htmlid].substring (6, mnmString[htmlid].length);
						// myclearTimeout(row);
						// resetrowfull(row);
						alert (mnmString[htmlid]);
						changemnmvalues (htmlid, true);
					} else {
						// Just a warning, do nothing
						if (mnmString[htmlid].match (warnmatch)) {
							alert(mnmString[htmlid]);
						} else {
							changemnmvalues (htmlid, false);
						}
					}
				}
			}
		} else {
			alert('Couldn\'t create XmlHttpRequest');
		}
	}
}

function disable_problem_form(id) {
	target = document.getElementById ('problem-' + id);
	if (target) {
		target.ratings.disabled=true;
		target.innerHTML = "";
	}
}

function disable_vote_link(id, mess) {
	target = document.getElementById ('mnmlink-' + id);
	if (target) {
		target.style.backgroundColor = mnmPrevColor[id];
		target.innerHTML = "<span>"+mess+"</span>";
	}
}

function changemnmvalues (id, error)
{
	split = new RegExp ("~--~");
	b = mnmString[id].split (split);
	target1 = document.getElementById ('mnms-' + id);
	target2 = document.getElementById ('mnmlink-' + id);
	if (error) {
		disable_vote_link(id, "grr...");
		disable_problem_form(id);
		//target2.innerHTML = "<span>grrr...</span>";
		return false;
	}
	if (b.length <= 3) {
		target1.innerHTML = b[0];
		target2.style.backgroundColor = mnmPrevColor[id];
		//target2.innerHTML = "<span>aupa!</span>";
		disable_vote_link(id, "aupa!");
		disable_problem_form(id);
	}
	return false;
}


function enablebutton (button, button2, target)
{
	var string = target.value;
	button2.disabled = false;
	if (string.length > 0) {
		button.disabled = false;
	} else {
		button.disabled = true;
	}
}

function checkfield (type, form, field)
{
	url = '/checkfield.php?type='+type+'&name=' + field.value;
	checkitxmlhttp = new myXMLHttpRequest ();
	checkitxmlhttp.open ("GET", url, true);
	checkitxmlhttp.onreadystatechange = function () {
		if (checkitxmlhttp.readyState == 4) {
		responsestring = checkitxmlhttp.responseText;
			if (responsestring == 'OK') {
				document.getElementById (type+'checkitvalue').innerHTML = '<span style="color:black">"' + field.value + 
						'": ' + responsestring + '</span>';
				form.submit.disabled = '';
			} else {
				document.getElementById (type+'checkitvalue').innerHTML = '<span style="color:red">"' + field.value + '": ' +
				responsestring + '</span>';
				form.submit.disabled = 'disabled';
			}
		}
	}
  //  xmlhttp.setRequestHeader('Accept','message/x-formresult');
  checkitxmlhttp.send (null);
  return false;
}

function report_problem(frm, user, id, md5 /*id, code*/) {
	if (frm.ratings.value == 0)
		return;
	if (! confirm("Ziur zaude negatibo bozkatu nahi duzula?") ) {
		frm.ratings.selectedIndex=0;
		return false;
	}
	content = "id=" + id + "&user=" + user + "&md5=" + md5 + '&value=' +frm.ratings.value;
	url="/problem.php?" + content;
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=function() {
		if (xmlhttp.readyState==4) {
			disable_vote_link(id, ":-(");
			disable_problem_form(id);
			//frm.ratings.disabled=true;
			/*alert(xmlhttp.responseText);*/
		}
  	}
	xmlhttp.send(null);
	return false;
}


function updateVoters(id) {
	if (update_voters) {
		get_votes_old(1, id);
	}
}

// Get voters by Beldar <beldar.cat at gmail dot com>
function get_votes_old(page,id) {
	var url = '/libs/meneos.php?v_id='+id+'&p='+page;
	xmlhttp.open('get', url, true);
	xmlhttp.onreadystatechange = votes_resp;
	xmlhttp.send(null);
}

function votes_resp(){
	if(xmlhttp.readyState == 4){
		response = xmlhttp.responseText;
		if (response.length > 10) 
			document.getElementById('voters-container').innerHTML = response;
	} /*else{
		document.getElementById('voters-container').innerHTML = 'Loading...';
	}*/
}



function dothetrick(sour){
	cadena='';
	ntw_estado=document.getElementById('estado').value;
	ntw_catc=document.getElementById('catc').value;
	ntw_userch=document.getElementById('userch').value;
	ntw_numch=document.getElementById('numch').value;
	ntw_tagch=document.getElementById('tagch').value;
	ntw_novaventana=document.getElementById('novaventana').value;
	cadena='http://www.zabaldu.com/albisteak.js.php?egoera='+ntw_estado+'&kategoria='+ntw_catc+'&erabiltzailea='+ntw_userch+'&kopurua='+ntw_numch+'&etiketa='+ntw_tagch+'&leihoa='+ntw_novaventana;
	cadena_txtarea='<script charset="UTF-8" language="Javascript" src="'+cadena+'" type="text/javascript"></script>';
	document.getElementById('codigo').value=cadena_txtarea;
	//chtrick(cadena,sour);
}

function chtrick(caden,chsource){
	xmlhttp.open('get', caden, true);//+'?rjs=0&sour='+chsource, true);
	xmlhttp.onreadystatechange = chtrick_resp;
	xmlhttp.send(null);
}

function chtrick_resp(){

	if(xmlhttp.readyState == 4){
		response = xmlhttp.responseText;
		
			document.getElementById('chcod').innerHTML = response;
	} else{
		document.getElementById('chcod').innerHTML = 'Informazioa eskuratzen...';
	}
}

function get_votes(program,type,container,page,id) {
	var url =  '/backend/'+program+'?id='+id+'&p='+page+'&type='+type;
	xmlhttp.open('get', url, true);
	xmlhttp.onreadystatechange = function () {
		if(xmlhttp.readyState == 4){
			response = xmlhttp.responseText;
			if (response.length > 10) {
				document.getElementById(container).innerHTML = response;
			}
		}
	}
	xmlhttp.send(null);
}