function xmlhttpPost(strURL, action) {
	xmlhttpPost(strURL, action, null, null);
}

function xmlhttpPost(strURL, action, target_id, target_html_id){
	var xmlHttpReq = false;
	var self = this;
	// Xhr per Mozilla/Safari/Ie7
	if (window.XMLHttpRequest) {
			self.xmlHttpReq = new XMLHttpRequest();
	}
	// per tutte le altre versioni di IE
	else if (window.ActiveXObject) {
			self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.onreadystatechange = function() {
			if (self.xmlHttpReq.readyState == 4) {
					updatepage(target_html_id,self.xmlHttpReq.responseText);
			}
	}
	self.xmlHttpReq.send(getquerystring(action, target_id));
	if ( target_html_id != null ){
		document.getElementById(target_html_id).innerHTML = 'Attendi, sto applicando le modifiche...';
	}
}

function getquerystring(action, target_id) {
	qstr = 'action='+action;
	qstr += '&id=' + escape(target_id);
	return qstr;
}

function updatepage(target_html_id,str){
	if ( target_html_id != null ){
		document.getElementById(target_html_id).innerHTML = str;
	}
}

//Controllo sul form per il search
function searchFormControl(){
  if ( document.getElementById('key').value == '' ){
    return false;
  }
  return true;
}

//Controllo sul form login
function loginFormControl(){
  if ( isEmpty(document.getElementById('username')) || isEmpty(document.getElementById('password')) ){
    return false;
  }
  return true
}

//Limitare il numero di caratteri in una textarea
function limitTextarea(obj,max_chr){
  if ( obj.value.length > max_chr ){
    obj.value = obj.value.substring(0,max_chr);
  }
}

//Controllo correttezza data
function dateControl(str_data){
	var results = str_data.match(/(\d{1,2})\/(\d{1,2})\/(\d{4})/);
	if ( results != null ){
		gg = results[1];
		mm = results[2];
		aa = results[3];
	}
	else{
		return false;
	}
	data = new Date(aa,mm-1,gg);
	daa = data.getFullYear().toString();
	dmm = (data.getMonth()+1).toString();
	dgg = data.getDate().toString();

	gg = (gg.length==1)? "0"+gg : gg;
	mm = (mm.length==1)? "0"+mm : mm;
	dgg = (dgg.length==1)? "0"+dgg : dgg;
	dmm = (dmm.length==1)? "0"+dmm : dmm;

	strdata = gg+"/"+mm+"/"+aa;
	dddata = dgg+"/"+dmm+"/"+daa;
	if (dddata!=strdata){
		return false;
	}
	return true;
}

function confrontaDate(data_1,data_2){
	gg_1 = data_1.substr(0,2)
	mm_1 = data_1.substr(3,2);
	aa_1 = data_1.substr(6,4);
	data_1 = new Date(aa_1,mm_1-1,gg_1);
	gg_2 = data_2.substr(0,2)
	mm_2 = data_2.substr(3,2);
	aa_2 = data_2.substr(6,4);
	data_2 = new Date(aa_2,mm_2-1,gg_2);
	if ( data_1 >= data_2 ){
		return true;
	}
	return false;
}

//Controlla un textfield
function isEmpty(textField) {
  if ( (textField.value.length == 0) || (textField.value == null) ) {
  	return true;
  }
	return false;
}

//Controlla la validità di una mail
function isMail(textField){
	if ( textField.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/) ){
		return true;
	}
	return false;
}

function changeDisplayed(show,hide){
	document.getElementById(show).className = "visibile";
	document.getElementById(hide).className = "nascosto";
}

function appendOrder(url,value){
	url = url.replace(/&base=[1-9]{1,}/i, '');
	url = url.replace(/#[^&]{0,}/i, '');
	if ( url.indexOf('order') != -1 ){
		return url.replace(/&order=[1-9]{1,}/i, '&order='+value);
	}
	return url+'&order='+value;
}

function appendLimit(url,value){
	url = url.replace(/&base=[1-9]{1,}/i, '');
	url = url.replace(/#[^&]{0,}/i, '');
	if ( url.indexOf('limit') != -1 ){
		return url.replace(/&limit=[1-9]{1,}/i, '&limit='+value);
	}
	return url+'&limit='+value;
}

function cambiaStelle(stella,value){
	if ( value == 0 ){
		pausecomp(150);
	}
	var arrayStr = stella.split('_');
	for (var i=1; i<=arrayStr[1]; i++){
		document.getElementById('stella_'+arrayStr[0]+'_'+i).src = '../file/site/image/stella_'+value+'.jpg';
	}
}

function pausecomp(millis){
	var date = new Date();
	var curDate = null;
	do{
		curDate = new Date();
	} while(curDate-date < millis);
}

function unloadEditor(id) {
  if (tinyMCE._getElementById(id) != null) {
    tinyMCE.execCommand("mceRemoveControl", false, id);
    document.getElementById(id+"Stato").innerHTML = "Editor: <a href=\"#\" onclick=\"loadEditor(\'"+id+"\'); return false;\">on</a>";
  }
}

function loadEditor(id) {
  if (tinyMCE._getElementById(id) != null) {
    tinyMCE.execCommand("mceAddControl", false, id);
    document.getElementById(id+"Stato").innerHTML = "Editor: <a href=\"#\" onclick=\"unloadEditor(\'"+id+"\'); return false;\">off</a>";
  }
}
