
var editorToUse = 'tiny_mce';

/* useful functions */
function getValue(id){
    var obj = document.getElementById(id);

    if(obj) return obj.value;

    return false;
}

function trim(string){
     while (string.substring(0,1) == ' '){
        string = string.substring(1, string.length);
    }
    while (string.substring(string.length-1, string.length) == ' '){
        string = string.substring(0,string.length-1);
    }
    return string;
}

//controlla mail nel formato "xxxx@xxxx.xxx"
function checkMailSyntax(id) {
    var email = $(id).val();
    if(email == '') return false;
    
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) return false;
    return true;
}

//controlla:
//. se vi è almeno uno spazio all'interno della string
function checkNameSyntax(id) {
    var name = trim($(id).val());
    if(name.indexOf(" ") != -1) return true;
    return false;

}

//controlla numeri di telefono nel formato "1234567890"
function checkTelephoneSyntax(id) {
    var tel = $(id).val();
    var filter = /^([0-9])+$/;
    if (!filter.test(tel)) return false;

    return true;
}

//controlla se un campo è vuoto
function isEmpty(id) {
	if(!exists(id)) return true;
	
	if($('#' + id).val() == '' ) return true;
	return false;
}

//unisce i campi DATA e ORA nel campo indicato
function mergeDateTime(id, lang){
   
    var year, month, day, hours, minutes;
    
    field = document.getElementById(id);

    //date[2] = YYYY, date[1] = MM, date[0] = dd
    tmp = document.getElementById("date");
    if(tmp){
        date    = tmp.value.split(" ");
        year    = date[2];
        month   = parseMonth(date[1], lang);
        if(month < 10) month = "0" + month;

        day     = date[0];
    }

    tmp = document.getElementById("time_hour");
    if(tmp) hours   = tmp.value;

    tmp = document.getElementById("time_minutes");
    if(tmp) minutes = tmp.value;

    //formato MySql "2009-09-23 16:19:10"
    field.value = formatDatetime(year, month, day, hours, minutes);

    //alert("--> " + document.getElementById(id).value);
}

function formatDatetime(year, month, day, hours, minutes, seconds){
    if(!year)       year    = "0000";
    if(!month)      month   = "00";
    if(!day)        day     = "00";
    if(!hours)      hours   = "00";
    if(!minutes)    minutes = "00";
    if(!seconds)    seconds = "00";
    
    return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
}

function parseMonth(month, lang){
    month = month.toLowerCase();

    month_it = new Array("gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre");

    month_to_use = new Array();

    switch(lang){
        case "IT":  month_to_use = month_to_use.concat(month_it);
                    break;
    }


    for(i = 0; i <= month_to_use.length; i++){
        if(month_to_use[i] == month) break;
    }
    
    return (i + 1);
}

//se la checkbox è selezionata abilità l'evidenzia del content
//(es. gestione news "in evidenzia" in homepage
function checkUnderlineSelection(id){
    var field = document.getElementById(id);

    if(!field.checked) field.value = "not_underlined";
}

function exists(id){
	if($('#' + id).length == 0) return false;
	return true;
}

function wordsCount(form)
{
	if(!exists(form)) return true;
	
	var text = trim($('#' + form).val());
	text = text.split(' ');
	return text.length;
}
 /*- form_validators.js -*/ 

// SERVIZI
function checkService() {
     to_return = true;
     
     msg = "<span style='color:red;'>*</span>";
         	 
  	 if(isEmpty('zctit')) { $('span#form_name').html(msg); to_return = false; } else $('span#form_name').html('');
  	 if(isEmpty('zctxt')) { $('span#form_text').html(msg); to_return = false; } else $('span#form_text').html('');
  	
     return to_return;	 
	 
}
// SERVIZI - end

// PRODOTTI - categoria
function checkCategory() {
     to_return = true;
     
     msg = "<span style='color:red;'>*</span>";
         	 
  	 if(isEmpty('zctit')) { $('span#form_name').html(msg); to_return = false; } else $('span#form_name').html('');
  	
     return to_return;	 
	 
}
// PRODOTTI - categoria - end

// OFFERTE
function checkDiscount() {
     to_return = true;
     
     msg = "<span style='color:red;'>*</span>";
         	 
  	 if(isEmpty('zctit')) { $('span#form_name').html(msg); to_return = false; } else $('span#form_name').html('');
  	 if(isEmpty('zctxt')) { $('span#form_text').html(msg); to_return = false; } else $('span#form_text').html('');
	 if(isEmpty('zcdat')) { $('span#form_date_start').html(msg); to_return = false; } else $('span#form_date_start').html('');
  	 if(isEmpty('zcexp')) { $('span#form_date_end').html(msg); to_return = false; } else $('span#form_date_end').html('');
  	 
     return to_return;	 
	 
}
// OFFERTE - end

// PROGETTI
function checkProject() {
     to_return = true;
     
     msg = "<span style='color:red;'>*</span>";
         	 
  	 if(isEmpty('zctit')) { $('span#form_name').html(msg); to_return = false; } else $('span#form_name').html('');
  	 if(isEmpty('zctxt')) { $('span#form_text').html(msg); to_return = false; } else $('span#form_text').html('');
  	 
  	 var selector_checked = $("input[@id=servizi]:checked").length; 

  	 if(selector_checked == 0) {
  	 	$('span#form_select').html("<br/><span style='color:red;'>devi associare il progetto ad almeno un servizio</span>");
  	 	to_return = false;
  	 } else $('span#form_select').html('');

     return to_return;	 
	 
}
// PROGETTI - end

// MAIL
function checkMail() {
     to_return = true;
     
     msg = "<span style='color:red;'>*</span>";
         	 
  	 if(!checkNameSyntax('input#in_name')) { $('span#form_name').html(msg); to_return = false; } else $('span#form_name').html('');
  	 if(!checkMailSyntax('input#in_mail')) { $('span#form_mail').html(msg); to_return = false; } else $('span#form_mail').html('');
  	 if(!checkTelephoneSyntax('input#in_tel')) { $('span#form_tel').html(msg); to_return = false; } else $('span#form_tel').html('');
  	 if($('textarea#in_message').val() == '' ) { $('span#form_msg').html(msg); to_return = false; } else $('span#form_msg').html('');
  	 
     return to_return;	 
	 
}
// MAIL - end

// COMMENT
function checkComment() {
     to_return = true;
              	 
  	 if($('input#text_usr').val() == 'Inserisci il nome..') { blink('input#text_usr'); to_return = false; }
  	 if($('input#text_cmt').val() == 'Inserisci un commento..') { blink('input#text_cmt'); to_return = false; }

     return to_return;	 	 
}

// COMMENT - end

//NEWS
function checkNews(content) {
	id = content ? content : "";

	wordsMax = 120;
    to_return = true;
     
     msg = "<span style='color:red;'>*</span>";
     
  	if(isEmpty('zctit' + id)) { $('span#title').html(msg); to_return = false; } else $('span#title').html('');
  	if(isEmpty('zcexp' + id)) { $('span#expire').html(msg); to_return = false; } else $('span#expire').html('');
  	if(isEmpty('zcabs' + id) || (wordsCount('zcabs' + id) > wordsMax)) {
  			$('span#abs').html("<span style='color:red;'>* non vuoto e max "+wordsMax+" parole</span>");
  			to_return = false;
  		} else $('span#abs').html('');
  	if(isEmpty('zctxt' + id)) { $('span#text').html(msg); to_return = false; } else $('span#text').html('');
  	 
     return to_return;	 
	 
}
// NEWS - end

function isEmpty(id) {
	if(!exists(id)) return false;
	
	if(trim($('#' + id).val()) == '' ) return true;
	return false;
}


