// common UP scripts 2006


function isEmpty(s) {
	var t = Trim(s);
	if (t.length == 0){ 
		return true;
	}else{
		return false;
	}		
}
function lessChars(s, n) {
	// n - numero chars minimale
	var t = Trim(s);
	if (t.length < n){ 
		return true;
	}else{
		return false;
	}		
}
function Trim(TRIM_VALUE){
     if(TRIM_VALUE.length < 1){
               return"";
     }
     TRIM_VALUE = RTrim(TRIM_VALUE);
     TRIM_VALUE = LTrim(TRIM_VALUE);
     if(TRIM_VALUE==""){
           return "";
     }else{
          return TRIM_VALUE;
     }
} 
function RTrim(VALUE){
     var w_space = String.fromCharCode(32);
     var v_length = VALUE.length;
     var strTemp = "";
     if(v_length < 0){
       return"";
     }
     var iTemp = v_length -1;
     while(iTemp > -1){
       if(VALUE.charAt(iTemp) == w_space){
       }else{
          strTemp = VALUE.substring(0,iTemp +1);
          break;
       }
       iTemp = iTemp-1;

     } //End While
     return strTemp;
} //End Function
function LTrim(VALUE){
     var w_space = String.fromCharCode(32);
     if(v_length < 1){
        return"";
     }
     var v_length = VALUE.length;
     var strTemp = "";
     var iTemp = 0;
     while(iTemp < v_length){
        if(VALUE.charAt(iTemp) == w_space){
        }else{
             strTemp = VALUE.substring(iTemp,v_length);
             break;
        }
        iTemp = iTemp + 1;
     } //End While
     return strTemp;
} //End Function

/**
* Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
* http://javascript.internet.com
*/
function checkEmail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       var atomPat=new RegExp(atom,"g");
       var domArr=domain.match(atomPat);
       var len=domArr.length;
       if ((domArr[domArr.length-1].length < 2) ||
           (domArr[domArr.length-1].length > 3)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
}
function isNumeroIntero(s) {
        
        var x = false;
        var numeri = new String("0123456789");
        for (var i=0; i < s.length; i++) {      
          for (var j=0; j < numeri.length; j++) {
	         if ( s.charAt(i) == numeri.charAt(j)){
                 x = true;
                 break;
              } 	
	      }
          if (!x){
            return false;
          }
        }
       return true;	
}
function isNotDate(data) {
        var format = new String("gg/mm/aaaa");
        var s = new String(data);
	if (s.length > format.length){ 
		 return true;
        }
        var sep = "/"; 
        if ( s.charAt(2) != sep ||  s.charAt(5) != sep){
           return true;
        }                 
	for (var i=0; i < s.length; i++) { 
	  if ( i != 2 &&  i != 5){           
            if ( !isNumeroIntero(s.charAt(i))){
                 return true;
            } 	
	  } 		
	}
       return false;	
}
function isNotDateOra(data) {
        var format = new String("gg/mm/aa oo.mm");
        var s = new String(data);
	if (s.length > format.length){ 
		 return true;
        }
        var sep = "/"; 
        if ( s.charAt(2) != sep ||  s.charAt(5) != sep || s.charAt(8) != " " || s.charAt(11) != "."){
           return true;
        }                 
	for (var i=0; i < s.length; i++) { 
	  if ( i != 2 &&  i != 5 &&  i != 8 &&  i != 11){           
            if ( !isNumeroIntero(s.charAt(i))){
                 return true;
            } 	
	  } 		
	}
       return false;	
}
function isNotOra(data) {
        var format = new String("oo.mm");
        var s = new String(data);
	if (s.length > format.length){ 
		 return true;
        }
        var sep = "."; 
        if ( s.charAt(2) != sep){
           return true;
        }                 
	for (var i=0; i < s.length; i++) { 
	  if ( i != 2 ){           
            if ( !isNumeroIntero(s.charAt(i))){
                 return true;
            } 	
	  } 		
	}
       return false;	
}
function Conferma(url, msg) {		
	if (confirm(msg)) {		 
		document.location = url;
	}	
}
function Elimina(id) {		
	Conferma("del.asp?id="+id, "Eliminare il record selezionato?");	
}
function RimuoviClasse(id, idAttv) {		
	Conferma("delclss.asp?id="+id+"&idAttv="+idAttv, "Rimuovere la classe selezionata?");	
}
function RimuoviAttivita(id, idClss) {		
	Conferma("delattv.asp?id="+id+"&idClss="+idClss, "Rimuovere l'attivitą selezionata?");	
}
function RimuoviStudente(id, idClss) {		
	Conferma("del.asp?id="+id+"&idClss="+idClss, "Rimuovere lo studente selezionato dalla lista?");	
}
function RimuoviStudenteAll(id) {		
	Conferma("del.asp?id="+id, "Rimuovere lo studente selezionato dalla lista?");	
}
function RimuoviProblema(id, idAttv) {		
	Conferma("del.asp?id="+id+"&idAttv="+idAttv, "Eliminare il problema selezionato? In caso \"Si\" i dati sarano persi.");	
}
function RimuoviProblemaRicerca(id) {		
	Conferma("del.asp?id="+id, "Eliminare il problema selezionato? In caso \"Si\" i dati sarano persi.");	
}
//--------------------------- DATE VALIDATION -------  http://javascript.about.com/library/bldate.htm
// Date Validation Javascript
// copyright 30th October 2004, by Stephen Chapman
// http://javascript.about.com

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.


function stripBlanks(fld) {
	var result = "";
	for (i=0; i<fld.length; i++) {
      if (fld.charAt(i) != " " || c > 0) {
		  result += fld.charAt(i);
          if (fld.charAt(i) != " ") 
		       c = result.length;
	  }
	}
	return result.substr(0,c);
}
var numb = '0123456789';
function isValid(parm, val) {
	if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
		if (val.indexOf(parm.charAt(i),0) == -1)return false;
	}
	return true;
}
function isNum(parm) {
	return isValid(parm,numb);
}
var mth = new Array(' ','january','february','march','april','may','june','july','august','september','october','november','december');
var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
/*
NOta: You should pass the date field that is tobe validated as date_field, 
the format_field should be U (= M D Y), J (= Y M D), or W (= D M Y) to indicate the date format and the range_field 
shoud be A (=Any), P (=Past), or F (=Future) to indicate whether all, past or future dates are valid. 
*/
var currentDateAfterValidate;
function validateDate(fld, fmt, rng) {
    var dd, mm, yy;
	var today = new Date;
	var t = new Date;
	currentDateAfterValidate = "";
	//fld = stripBlanks(fld);
	fld = Trim(fld);
    if (fld == '') return false;
	var d1 = fld.split('\/');
    if (d1.length != 3) d1 = fld.split(' ');
    if (d1.length != 3) return false;
    if (fmt == 'u' || fmt == 'U') {
       dd = d1[1]; mm = d1[0]; yy = d1[2];
	}else if (fmt == 'j' || fmt == 'J') {
       dd = d1[2]; mm = d1[1]; yy = d1[0];
	}else if (fmt == 'w' || fmt == 'W'){
       dd = d1[0]; mm = d1[1]; yy = d1[2];
	}else return false;
    var n = dd.lastIndexOf('st');
    if (n > -1) dd = dd.substr(0,n);
    n = dd.lastIndexOf('nd');
    if (n > -1) dd = dd.substr(0,n);
    n = dd.lastIndexOf('rd');
    if (n > -1) dd = dd.substr(0,n);
    n = dd.lastIndexOf('th');
    if (n > -1) dd = dd.substr(0,n);
    n = dd.lastIndexOf(',');
    if (n > -1) dd = dd.substr(0,n);
    n = mm.lastIndexOf(',');
    if (n > -1) mm = mm.substr(0,n);
    if (!isNum(dd)) return false;
    if (!isNum(yy)) return false;
    if (!isNum(mm)) {
      var nn = mm.toLowerCase();
      for (var i=1; i < 13; i++) {
         if (nn == mth[i] || nn == mth[i].substr(0,3)) {
		    mm = i; i = 13;
	     }
      }
    }
    if (!isNum(mm)) return false;
    dd = parseFloat(dd); mm = parseFloat(mm); yy = parseFloat(yy);
    if (yy < 100) yy += 2000;
    if (yy < 1582 || yy > 4881) return false;
    if (mm == 2 && (yy%400 == 0 || (yy%4 == 0 && yy%100 != 0))) day[mm-1]++;
    if (mm < 1 || mm > 12) return false;
    if (dd < 1 || dd > day[mm-1]) return false;
    t.setDate(dd); t.setMonth(mm-1); t.setFullYear(yy);
    if (rng == 'p' || rng == 'P') {
       if (t > today) return false;
    }else if (rng == 'f' || rng == 'F') {
       if (t < today) return false;
    }else if (rng != 'a' && rng != 'A') return false;
	currentDateAfterValidate = t;
    return true;
}
function isDate1Gt2(d1, d2, fmt) {
    var dd, mm, yy;
	var t1, t2;
	validateDate(d1, fmt, 'A');
	t1 = currentDateAfterValidate;
	validateDate(d2, fmt, 'A');
	t2 = currentDateAfterValidate;    
    if (t1 < t2) return false;    
    return true;
}
//---------------------------------------------------------------------
function show_flash_object(flash_source, flash_width, flash_height, flash_vars)
{
	/*
	document.write('<NONSCRIPT><OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=3,0,0,0" ID=ECHOECHO WIDTH='+flash_width+' HEIGHT='+flash_height+'>')
	document.write('<PARAM NAME=movie VALUE="'+flash_source+'">')
	document.write('<PARAM NAME=quality VALUE=best>')
	document.write('<PARAM NAME=play VALUE=true>')
	document.write('<PARAM NAME=wmode VALUE=transparent>')
	document.write('<PARAM NAME=menu VALUE=false>')
	document.write('<PARAM NAME=flashvars value="'+flash_vars+'">');
	document.write('<EMBED SRC="'+flash_source+'" swLiveConnect=FALSE WIDTH='+flash_width+' HEIGHT='+flash_height+' QUALITY=best MENU=false PLAY=true FLASHVARS="'+flash_vars+'" WMODE=transparent TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED>')
	document.write('</OBJECT></NONSCRIPT>')
	*/
	document.write('<NONSCRIPT><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=3,0,0,0" width="'+flash_width+'" height="'+flash_height+'" id="up_player" align="left">')
    document.write('<param name="allowScriptAccess" value="sameDomain" />')
    document.write('<param name="movie" value="'+flash_source+'" />')
    document.write('<param name="loop" value="false" />')
	document.write('<PARAM NAME=play VALUE=true>')
	document.write('<PARAM NAME=wmode VALUE=transparent>')
    document.write('<param name="menu" value="false" />')
    document.write('<param name="quality" value="best" />')
    //document.write('<param name="scale" value="exactfit" />')
    document.write('<param name="salign" value="lt" />')
    document.write('<param name="bgcolor" value="#ffffff" />')
	document.write('<param name="flashvars" value="'+flash_vars+'">');
    document.write('<embed src="'+flash_source+'" swLiveConnect="FALSE" FLASHVARS="'+flash_vars+'" loop="false" menu="false" play="true" quality="best" wmode="transparent" salign="lt" bgcolor="#ffffff" width="'+flash_width+'" height="'+flash_height+'" name="up_player" align="left" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />')
    document.write('</object></NONSCRIPT>')
}
function addToFavorites() { 
  var urlAddress = "http://www.umapalata.com/home.asp"; 
  var pageName = "Umapalata.com - multimedia & internet per l'educazione"; 
  if (window.external) { 
     window.external.AddFavorite(urlAddress,pageName) 
  } else { 
     //alert("Sorry! Your browser doesn't support this function."); 
	 alert("Scusate! Vs. browser non supporta questa funzione."); 
  } 
} 
function openFile(path){
 wf = window.open(path,'game',"height=700,width=803,status=yes,toolbar=no,menubar=no,location=no,resizable,menubar");
 wf.focus();
 //wf.opener.location ="/home.asp";
}
function openFileABC(path){
 wf = window.open(path,'abc',"height=600,width=800,status=yes,toolbar=no,menubar=no,location=no,resizable,menubar");
 wf.focus();
}
function openFileCD(path){
 wf = window.open(path,'cd',"height=640,width=925,status=yes,toolbar=no,menubar=no,location=no,resizable,menubar");
 wf.focus();
}
function getContact(){
  openFinestra("/ucom/cont.asp", "finestra");
}
function tellFriend(){
  openFinestra("/ucom/tell.asp", "tellFriend");
}
function getTermsUse(){ 
  openFinestra("/ucom/tu.asp", "finestra");
}
function getPrivacyPolicy(){
  openFinestra("/ucom/pp.asp", "finestra");
}
function getOrder(){	
  openFinestra("", "order");
}
function openFinestra(path, name){	
  ww = window.open(path, name,"height=600,width=800,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
  ww.focus();
  ww.opener.location ="/home.asp";
}
function openSnapShot(path, name){	
  ww = window.open(path, name,"height=700,width=850,status=no,toolbar=no,menubar=no,location=no,scrollbars=no");
  ww.focus();
 // ww.opener.location ="/home.asp";
}
//-------------------------------------- ENGLISH VERSION ------------------------------------------------
function addToFavorites_en() { 
  var urlAddress = "http://www.umapalata.com/home_en.asp"; 
  var pageName = "Umapalata.com - multimedia & internet for education"; 
  if (window.external) { 
     window.external.AddFavorite(urlAddress,pageName) 
  } else { 
     alert("Sorry! Your browser doesn't support this function."); 	 
  } 
}
function getContact_en(){
  openFinestra_en("/ucom_en/cont.asp", "finestra");
}
function tellFriend_en(){
  openFinestra_en("/ucom_en/tell.asp", "tellFriend");
}
function getTermsUse_en(){ 
  openFinestra_en("/ucom_en/tu.asp", "finestra");
}
function getPrivacyPolicy_en(){
  openFinestra_en("/ucom_en/pp.asp", "finestra");
}
function openFinestra_en(path, name){	
  ww = window.open(path, name,"height=600,width=800,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
  ww.focus();
  ww.opener.location ="/home_en.asp";
}
//-------------------------------------- RUSSIAN VERSION ------------------------------------------------
function addToFavorites_ru() { 
  var urlAddress = "http://www.umapalata.com/home_ru.asp"; 
  var pageName = "Umapalata.com - multimedia & internet for education"; 
  if (window.external) { 
     window.external.AddFavorite(urlAddress,pageName) 
  } else { 
     alert("Sorry! Your browser doesn't support this function."); 	 
  } 
}
function getContact_ru(){
  openFinestra_ru("/ucom_ru/cont.asp", "finestra");
}
function tellFriend_ru(){
  openFinestra_ru("/ucom_ru/tell.asp", "tellFriend");
}
function getTermsUse_ru(){ 
  openFinestra_ru("/ucom_ru/tu.asp", "finestra");
}
function getPrivacyPolicy_ru(){
  openFinestra_ru("/ucom_ru/pp.asp", "finestra");
}
function openFinestra_ru(path, name){	
  ww = window.open(path, name,"height=600,width=800,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
  ww.focus();
  ww.opener.location ="/home_ru.asp";
}