﻿//-----------------------------------------------------------------
//   Application : Control Panel
//   Version     : 1.0
//   File        : common.js
//   Usage       : Common Application JavaScript Functions
//   Copyright   : (c)2006 RTel S.A. All rights reserved.
//-----------------------------------------------------------------

var clockID = 0;
var officeOpeningHour = 9;
var officeClosingHour = 21;

function UpdateClock() {
   if (clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }

   var tDate = new Date();

   document.getElementById("dt").innerHTML = tDate.toLocaleString();   
   clockID = setTimeout("UpdateClock()", 1000);
}

function StartClock() {
   clockID = setTimeout("UpdateClock()", 1000);
   window.status = "This Application Is Compatible With Microsoft Internet Explorer 7.x and above and Mozilla Firefox 2.x and above"
}

function StopClock() {
   if (clockID) {
      clearTimeout(clockID);
      clockID  = 0;
   }
   window.status = ""
}

function displayStatusInfo(displayed) {

    if (displayed) {
        window.status = "Για μέγιστη ποιότητα επιλέξτε ανάλυση οθόνης 1024 x 768 pixels";
    }else{
        window.status = "";
    } 
}

function showSessionExpiredWarning() {
    var msg = "Έχετε ανακατευθυνθεί στην σελίδα εισόδου επειδή η συνεδρία σας (session) έχει λήξει.\n\nΓια λόγους ασφαλείας παρακαλώ συνδεθείτε ξανά.\n\n";
    alert(msg);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function getCookieValue (cookieName) {
    var exp = new RegExp (escape(cookieName) + "=([^;]+)");
    if (exp.test (document.cookie + ";")) {
        exp.exec (document.cookie + ";");
        return unescape(RegExp.$1);
    }else return false;
}


function sessionCookiesEnabled () {

    document.cookie ="testSessionCookie=Enabled";
    if (getCookieValue ("testSessionCookie")=="Enabled") {
        return true; 
    }else{
        return false;
    }  
}

function validateLoginForm(f) {

    if (f.user.value == "") {
        alert("Παρακαλώ εισάγετε το όνομα χρήστη.\n");
        f.user.focus();
        return false;
    }

    if (f.pass.value == "") {
        alert("Παρακαλώ εισάγετε τον κωδικό πρόσβασης.\n");
        f.pass.focus();
        return false;
    }

    f.submitBtn.disabled = true;
    f.resetBtn.disabled = true;
    return true;
}

function confirmLogout() {
    var msg = "";

    msg = "Είστε βέβαιος(α) ότι θέλετε να αποσυνδεθείτε από το Web Εργαλείο Αναφορών του ΔΗ.ΦΟ.ΔΩ;\n\n";
    
    if (confirm(msg)) {
        return true;
    }else{
        return false;
    }
}

// --- Functions to handle menu selections //---
function toggleMenu(item, total) {

    var i;

    for (i=1;i<=total;i++) {

        if (i == item) {

            if (eval("document.getElementById('nSubMenu" + item + "').style.display == 'none'") ||
                eval("document.getElementById('nSubMenu" + item + "').style.display == ''") ) {

                if (eval("/up/.test(document.getElementById('nMenuItem" + item + "').innerHTML)")) {
                    eval("document.getElementById('nMenuItem" + item + "').innerHTML = document.getElementById('nMenuItem" + item + "').innerHTML.replace(/up/, 'down')");
                    eval("document.getElementById('nSubMenu" + item + "').style.display = 'none'");
                }else{
                    eval("document.getElementById('nMenuItem" + item + "').innerHTML = document.getElementById('nMenuItem" + item + "').innerHTML.replace(/down/, 'up')");
                    eval("document.getElementById('nSubMenu" + item + "').style.display = 'block'");
                }
                
                
            }else{
                eval("document.getElementById('nSubMenu" + item + "').style.display = 'none'");
                eval("document.getElementById('nMenuItem" + item + "').innerHTML = document.getElementById('nMenuItem" + item + "').innerHTML.replace(/up/, 'down')");
            }
        }else{
            eval("document.getElementById('nMenuItem" + i + "').innerHTML = document.getElementById('nMenuItem" + i + "').innerHTML.replace(/up/, 'down')");
            eval("document.getElementById('nSubMenu" + i + "').style.display = 'none'");
       }
    }

}

function toggleCursor(item, type) {
    eval("document.getElementById('nMenuItem" + item + "').style.cursor = '" + type + "'");
}

/* functions added by I. Petridis */


function isFloat(input) {

    if (/^[\d,\.]+$/.test(input)){
        return true;
    }
    return false;
}

function DateAdd(sInterval, iNum, tDate) {

  var aDate = tDate.split("/");
  var nDate = "";
  var nDay, nMonth;

  var dTemp = new Date(aDate[2],aDate[1]-1,aDate[0]);
  
  if (!sInterval || iNum == 0) return dTemp;
  switch (sInterval.toLowerCase()){
    case "ms":
      dTemp.setMilliseconds(dTemp.getMilliseconds() + iNum);
      break;
    case "s":
      dTemp.setSeconds(dTemp.getSeconds() + iNum);
      break;
    case "mi":
      dTemp.setMinutes(dTemp.getMinutes() + iNum);
      break;
    case "h":
      dTemp.setHours(dTemp.getHours() + iNum);
      break;
    case "d":
      dTemp.setDate(dTemp.getDate() + iNum);
      break;
    case "mo":
      dTemp.setMonth(dTemp.getMonth() + iNum);
      break;
    case "y":
      dTemp.setFullYear(dTemp.getFullYear() + iNum);
      break;
  }

  if (dTemp.getDate() < 10) {
     nDay = "0" + dTemp.getDate();
  }else{
     nDay = dTemp.getDate();
  }

  nMonth = dTemp.getMonth() + 1;

  if (nMonth < 10) {
     nMonth = "0" + nMonth;
  }

  nDate = nDay + "/" + nMonth + "/" + dTemp.getFullYear();
  return nDate;

}

function DateDiff(sInterval,date1,date2) {

    var diff = 0;
    var aDate1, sDate2;

    aDate1 = date1.split("/");
    aDate2 = date2.split("/");

    sDate = new Date(aDate1[2],aDate1[1]-1,aDate1[0]);
    eDate = new Date(aDate2[2],aDate2[1]-1,aDate2[0]);

    if (!sInterval) {
        diff = 0;
    }

    switch (sInterval.toLowerCase()) {
        case "ms":
            diff = Math.round((eDate-sDate)/1);
            //diff = ((sDate-eDate)/1);
            break;
        case "s":
            diff = Math.round((eDate-sDate)/1000);
            //diff = ((sDate-eDate)/1000);
            break;
        case "mi":
            diff = Math.round((eDate-sDate)/60000);
            //diff = ((sDate-eDate)/60000);
            break;
        case "h":
            diff = Math.round((eDate-sDate)/3600000);
            //diff = ((sDate-eDate)/3600000);
            break;
        case "d":
            diff = Math.round((eDate-sDate)/86400000);
            //diff = ((sDate-eDate)/86400000);
            break;      

    }
    return diff;
}

function validateDiloseisAnaKad(f) {

    
    // check date selection first
    if ( (f.paymentDateFrom.value == "") ||
         (f.paymentDateTo.value == "") ) {
        alert("Παρακαλώ επιλέξτε και τις δύο ημερομηνίες (από - έως) που θέλετε για να εμφανίσετε τον τζίρο ανά Κ.Α.Δ.\n");
        return false;
    }else{

        
        if (DateDiff("d", f.paymentDateFrom.value, f.paymentDateTo.value) < 0) {
            alert("Η ημερομηνία 'από' πρέπει να είναι μικρότερη ή ισή απο την ημερομηνία 'εώς'.\n\n");
            f.paymentDateFrom.value = "";
            f.paymentDateTo.value = "";
            return false;
        }
    }

    if (f.tzirosFrom.value != "") {

        if (!isFloat(f.tzirosFrom.value)) {
            alert("Μη επιτρεπτοί χαρακτήρες στο πεδίο 'Τζίρος (από)'.\nΟι χαρακτήρες που επιτρέπονται είναι: Όλοι οι αριθμοί, το κόμμα και η τελεία.\n\n")
            f.tzirosFrom.value = "";
            f.tzirosFrom.focus()
            return false;
        }

    }

    if (f.tzirosTo.value != "") {

        if (!isFloat(f.tzirosTo.value)) {
            alert("Μη επιτρεπτοί χαρακτήρες στο πεδίο 'Τζίρος (έως)'.\nΟι χαρακτήρες που επιτρέπονται είναι: Όλοι οι αριθμοί, το κόμμα και η τελεία.\n\n")
            f.tzirosTo.value = "";
            f.tzirosTo.focus()
            return false;
        }
    }

    f.areaName.value = f.area.options[f.area.selectedIndex].text;

    // disable all form buttons and submit the form
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;
}

function validateDiloseisAnaPerioxi(f) {

    
    // check date selection first
    if ( (f.paymentDateFrom.value == "") ||
         (f.paymentDateTo.value == "") ) {
        alert("Παρακαλώ επιλέξτε και τις δύο ημερομηνίες (από - έως) που θέλετε για να εμφανίσετε τον τζίρο ανά περιοχή\n");
        return false;
    }else{

        
        if (DateDiff("d", f.paymentDateFrom.value, f.paymentDateTo.value) < 0) {
            alert("Η ημερομηνία 'από' πρέπει να είναι μικρότερη ή ισή απο την ημερομηνία 'εώς'.\n\n");
            f.paymentDateFrom.value = "";
            f.paymentDateTo.value = "";
            return false;
        }
    }

    if (f.tzirosFrom.value != "") {

        if (!isFloat(f.tzirosFrom.value)) {
            alert("Μη επιτρεπτοί χαρακτήρες στο πεδίο 'Τζίρος (από)'.\nΟι χαρακτήρες που επιτρέπονται είναι: Όλοι οι αριθμοί, το κόμμα και η τελεία.\n\n")
            f.tzirosFrom.value = "";
            f.tzirosFrom.focus()
            return false;
        }

    }

    if (f.tzirosTo.value != "") {

        if (!isFloat(f.tzirosTo.value)) {
            alert("Μη επιτρεπτοί χαρακτήρες στο πεδίο 'Τζίρος (έως)'.\nΟι χαρακτήρες που επιτρέπονται είναι: Όλοι οι αριθμοί, το κόμμα και η τελεία.\n\n")
            f.tzirosTo.value = "";
            f.tzirosTo.focus()
            return false;
        }
    }

    f.areaName.value = f.area.options[f.area.selectedIndex].text;

    // disable all form buttons and submit the form
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;
}

function validateElexgoiAnaKad(f) {

    
    if (f.tzirosFrom.value != "") {

        if (!isFloat(f.tzirosFrom.value)) {
            alert("Μη επιτρεπτοί χαρακτήρες στο πεδίο 'Ποσό (από)'.\nΟι χαρακτήρες που επιτρέπονται είναι: Όλοι οι αριθμοί, το κόμμα και η τελεία.\n\n")
            f.tzirosFrom.value = "";
            f.tzirosFrom.focus()
            return false;
        }

    }

    if (f.tzirosTo.value != "") {

        if (!isFloat(f.tzirosTo.value)) {
            alert("Μη επιτρεπτοί χαρακτήρες στο πεδίο 'Ποσό (έως)'.\nΟι χαρακτήρες που επιτρέπονται είναι: Όλοι οι αριθμοί, το κόμμα και η τελεία.\n\n")
            f.tzirosTo.value = "";
            f.tzirosTo.focus()
            return false;
        }
    }

    f.areaName.value = f.area.options[f.area.selectedIndex].text;

    // disable all form buttons and submit the form
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;
}

function validateTeliParepid(f) {

    f.areaName.value = f.area.options[f.area.selectedIndex].text;

    // disable all form buttons and submit the form
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;

}

function validateListEpitideumatia(f) {
    
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;

}

function validateUsageStats(f) {

       
    // check date selection first
    if ( (f.dateFrom.value != "") &&
         (f.dateTo.value != "") ) {

        if (DateDiff("d", f.dateFrom.value, f.dateTo.value) < 0) {
            alert("Η ημερομηνία 'από' πρέπει να είναι μικρότερη ή ισή απο την ημερομηνία 'εώς'.\n\n");
            f.dateFrom.value = "";
            f.dateTo.value = "";
            return false;
        }

    }else{

        if ( (f.dateFrom.value != "") && (f.dateTo.value == "") ) {
            alert("Παρακαλώ επιλέξτε και τις δύο ημερομηνίες (από - έως) που θέλετε για να εμφανίσετε τα στατιστικά χρήσης.\n");
            return false;
        }else if ( (f.dateFrom.value == "") && (f.dateTo.value != "") ) {
            alert("Παρακαλώ επιλέξτε και τις δύο ημερομηνίες (από - έως) που θέλετε για να εμφανίσετε τα στατιστικά χρήσης.\n");
            return false;
        }

    }


    // disable all form buttons and submit the form
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;
}

function validateChangePassword(f) {

    if (f.oldPWD.value == "") {
        alert("Παρακαλώ εισάγετε τον κωδικό που χρησιμοποιήσατε κατά το τελευταίο σας Login ή τον νέο σας κωδικό εάν τον έχετε αλλάξει κατά την διάρκεια της τρέχουσας συνεδρίας (session).\n");
        f.oldPWD.focus();
        return false;
    }else{

        if (f.currentPWD.value != f.oldPWD.value) {
            alert("Ο υπάρχων κωδικός που εισάγατε δεν είναι ίδιος με αυτόν που χρησιμοποιήσατε κατά το τελευταίο σας Login.\nΠαρακαλώ δώστε τον σωστό κωδικό και δοκιμάστε ξανά.\n\n");
            f.oldPWD.value = "";
            f.oldPWD.focus();
            return false;
        }
    }


    if (f.newPWD.value == "") {
        alert("Παρακαλώ εισάγετε τον νέο σας κωδικό.\n");
        f.newPWD.focus();
        return false;
    }else{

        if (f.confirmNewPWD.value == "") {
            alert("Παρακαλώ εισάγετε τον νέο σας κωδικό στο πεδίο 'Επιβεβαίωση Νέου Κωδικού'.\n");
            f.confirmNewPWD.focus();
            return false;
        }else{

            if (f.newPWD.value != f.confirmNewPWD.value) {
                alert("Ο νέος κωδικός που εισάγατε δεν είναι ίδιος με αυτόν που εισάγατε στο πεδίο 'Επιβεβαίωση Νέου Κωδικού'.\nΒεβαιωθείτε ότι έχετε εισάγει και στα δύο πεδία τον ίδιο κωδικό και δοκιμάστε ξανά.\n\n");
                f.confirmNewPWD.value = "";
                f.confirmNewPWD.focus();
                return false;
            }
        }
    }


    // disable all form buttons and submit the form
    f.searchBtn.disabled = true;
    f.resetBtn.disabled = true;
    f.cancelBtn.disabled = true;

    return true;
}

function PrintReport() 
{

 var printContent = document.getElementById('<%= Panel2.ClientID %>');
             var windowUrl = 'about:blank';
             var uniqueName = new Date();
             var windowName = 'Print' + uniqueName.getTime();
             var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');

             printWindow.document.write(printContent.innerHTML);
             printWindow.document.close();
             printWindow.focus();
             printWindow.print();
             printWindow.close();


}

