/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
//array per intercettare i controlli formali sulle stringhe
var keyStrings = new Array("nome","cognome","citta","via");

//array per intercettare i controlli formali sugli interi
var keyInt = new Array("cap","carati");

//array per intercettare i controlli formali con la virgola
var keyFloat = new Array("grammi","valgr","manifatturagr");

//array per saltare i controlli sull'obbligatorietï¿½ di alcuni campi
var keyNotValidate  = new Array("utentetype","lang","session","cmd","dispon","image","pageforeward","ta1_cl2","id_art","public","backpage","video");

function containKeyStr(key){
	ret = false;
	for (var i = 0; i < keyStrings.length; i++ ){
		if ( keyStrings[i] == key ){
			return true;
		}
	}
	return ret;
}

function containKeyInt(key){
	ret = false;
	for (var i = 0; i < keyInt.length; i++ ){
		if ( keyInt[i] == key ){
			return true;
		}
	}
	return ret;
}
function containKeyFloat(key){
	ret = false;
	for (var i = 0; i < keyFloat.length; i++ ){
		if ( keyFloat[i] == key ){
           // alert(document.getElementById(keyFloat[i]).value);
            var temp=document.getElementById(keyFloat[i]).value;
            var tvns = temp.replace (',','.');
            document.getElementById(key).value=tvns;
           // alert(document.getElementById(key).value);
			return true;
		}
	}
	return ret;
}

function containKeyNotValidate(key){
	ret = false;
	for (var i = 0; i < keyNotValidate.length; i++ ){
		if ( keyNotValidate[i] == key ){
			return true;
		}
	}
	return ret;
}


function isInt(str){
	l=str.length;
	for ( i=0; i<l; i++) if ( str.charCodeAt(i)<48 || str.charCodeAt(i)>57 ) return false;
	return true;
}

function isFloat(val)
{
        return /^[0-9]+(\.[0-9]+)?$/.test(val);
}

function isLetter(str){
	l=str.length;
	for ( i=0; i<l; i++)
		if ( !( str.charCodeAt(i)==32 || str.charCodeAt(i)==224 || str.charCodeAt(i)==232 || str.charCodeAt(i)==233 || str.charCodeAt(i)==236 || str.charCodeAt(i)==242 || str.charCodeAt(i)==249 ) )
			if ( !( (str.charCodeAt(i)>64 && str.charCodeAt(i)<91) || (str.charCodeAt(i)>96 && str.charCodeAt(i)<123) ))
				return false;
	return true;
}

function isValidEmail(str){
	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	if (!email_reg_exp.test(str))
		return false;
	return true;
}

/* specifico la form da controllare
 **/

function validateDataExtend2(form,novalidate){

	var num = form.length-1;


	var checkedElement = false;
	var chek_name = null;
	var chek_control = false;

   if (novalidate!=null){
        keyNotValidate  = novalidate;
    }
   // alert(keyNotValidate);
	for (var i=0; i < num; i++){
      // alert(form.elements[i].name);
		/**
		 * START - controlli di obbligatorietï¿½ dei campi
		 */
		if ( (form.elements[i].type == 'select-multiple' || form.elements[i].type == 'select-one') && !containKeyNotValidate(form.elements[i].name) ){
			/*********SELECTBOX********/
            //alert("select");
			if ( form.elements[i].selectedIndex == 0 || form.elements[i].options[form.elements[i].selectedIndex].text == '' ){
				alert('Selezionare almeno una voce del campo '+form.elements[i].name);
                form.elements[i].style.background="#FFD700";
				return false;
			}else
                 form.elements[i].style.background="#FFFFFF";
		}else if ( form.elements[i].type == "checkbox" && !containKeyNotValidate(form.elements[i].name) ){
			/*********CHECKBOX********/
			check_control = true;
			if ( chek_name == null ){
				pos = form.elements[i].name.indexOf("[");
				chek_name = ""+form.elements[i].name.substring(0,pos);
			}else if ( chek_name != form.elements[i].name.substring(0,pos) ){
				if ( !checkedElement ){
					alert('Spuntare almeno una voce del campo '+chek_name);
					return false;
				}else{
					pos = form.elements[i].name.indexOf("[");
					chek_name = ""+form.elements[i].name.substring(0,pos);
					//chek_name = form.elements[i].name;
					checkedElement = form.elements[i].checked;
				}
			}

			if ( !checkedElement ){
				checkedElement = form.elements[i].checked;
			}
		}else if ( !containKeyNotValidate(form.elements[i].name) && form.elements[i].value == '' && form.elements[i].type != "submit" ){
			/*********TEXTAREA TEXTBOX********/
            //alert(containKeyNotValidate(form.elements[i].name));
			alert("il campo "+form.elements[i].name+" e' obbligatorio!");
			form.elements[i].style.background="#FFD700";
			return false;
		}else
                form.elements[i].style.background="#FFFFFF";


		/**
		 * END - controlli di obbligatoriet dei campi
		 *
		 * START - controlli formali sul data-entry
		 */
		//alert(form.elements[i].name);
		if( containKeyStr(form.elements[i].name) ){
			if ( !isLetter(form.elements[i].value) ){
				alert("Il "+form.elements[i].name+" contiene caratteri non attesi!");
				form.elements[i].style.background="#FFD700";
				return false;
			}else
                form.elements[i].style.background="#FFFFFF";
		}else if( containKeyInt(form.elements[i].name) ){
			if ( !isInt(form.elements[i].value) ){
				alert("Il "+form.elements[i].name+" contiene caratteri non attesi!");
				form.elements[i].style.background="#FFD700";
				return false;
			}else
                form.elements[i].style.background="#FFFFFF";
        }else if( containKeyFloat(form.elements[i].name) ){
			if ( !isFloat(form.elements[i].value) ){
				//alert("Il "+form.elements[i].name+" contiene caratteri non attesi!");
                alert("formato di "+form.elements[i].name+" non corretto ");
				form.elements[i].style.background="#FFD700";
				return false;
			}else
                form.elements[i].style.background="#FFFFFF";
		}else if( form.elements[i].name == "email" ){
			if ( !isValidEmail(form.elements[i].value) ){
				alert("Il campo "+form.elements[i].name+" non e' valido!");
				form.elements[i].style.background="#FFD700";
				return false;
			}else
                form.elements[i].style.background="#FFFFFF";
		}

		/**
		 * END - controlli formali sul data-entry
		 */
	}

	if ( !checkedElement && check_control ){
		alert('Spuntare almeno una voce del campo '+chek_name);
		return false;
	}

	return true;
}

 function trimtext(ta, ml, cl)
    {
        //i.value=ta.value.length);
        if (ta.value.length > ml){
            ta.value = ta.value.substring(0,ml);
            }

        var i = document.getElementById(cl);
        if(i != null)
            i.value = ml - ta.value.length;
    }

function reload(){
    document.location.reload()
}

function resitems(){

document.getElementById('titolo').value="";
document.getElementById('markItUp').value="";
}

     function submitdeleteUpload(value,id,msg) {
                                //prelevo il valore del filename e lo copio nell hidden
                              resp=confirm(msg);
                                 if (resp){
                                    
                                           makeRequest(value,id);
                                    }                
                        }


               function Popup(apri) {
                var stile = "top=10, left=10, width=900, height=550, scrollbars=1";
        		window.open(apri, "", stile);
     		}

              function copy(from,to){
                document.getElementById(to).value=document.getElementById(from).value;
               }


               function HideContent(d) {

                document.getElementById(d).style.display = "none";
                }
                function ShowContent(d) {

                document.getElementById(d).style.display = "block";
                }

            function showMain(id,flag){
              var x =document.getElementById(id).style;
             // x.visibility = (flag) ? 'visible':'hidden'
             if (flag==0){
               //  x.opacity=' 0.3';
                // x.background= '#000';
                // x.enable='false';
                ShowContent(id);

                }
                else
                {
                // x.display='enable';
                // x.background= '#FFF';
               //  x.opacity='0.0';
                HideContent(id);
                }
             // x.opacity=' 0.3';
           }

         function deleteSingle(values){

                resp=confirm("Confermi Eliminazione?");
                        if (resp!=0){
                             location.href=values;
                            }
          }

