function DisplayLargeImage(url) {
  window.open(url,"_blank","width=800,height=520,left=0,top=0,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes");
}

function go_page(a,b,c){
  window.location.href=a+b+c;
}

function checkStrLen(str,len,fieldname) {
  if (str.length != len) {
    alert(fieldname + ': a szöveg hossza pontosan ' + len + ' kell, hogy legyen.');
    return false;
  }
  return true;
}

function checkNotEmptyStr(str,fieldname) {
  if (str == '') {
    alert("Kérem adja meg a következő mező értékét: " + fieldname + ".");
    return false;
  }
  return true;
}

function checkValidEmail(str) {
    if (str.match("'") != null)
    {
    alert("A megadott e-mail cím nem érvényes!");
    return false;
    }

    if (str.match('"') != null)
    {
    alert("A megadott e-mail cím nem érvényes!");
    return false;
    }

    if (str.match("@") == null)
    {
    alert("A megadott e-mail cím nem érvényes!");
    return false;
    }
    return true;
}

function checkValidFloat(str, fieldname) {
        if (!isFloatNumber(str)) {
        alert("Kérem adjon meg egy valós számot a következőhöz " + fieldname + ".");
        return false;
        }
        return true;
}

function checkValidInt(str, fieldname) {
        if (!isNumber(str)) {
          alert("Kérem adjon meg egy egész számot a következőhöz " + fieldname + ".");
          return false;
        }
        return true;
}

function isDigit(aChar) {
        if (aChar.length != 1)
                return false;
        var num = parseInt(aChar,10);
        if (isNaN(num))
                return false;
        return true;
}

function isNumber(numString) {
        if (numString == '')
                return false;
        for (var i = 0; i < numString.length;i++)
                if (!isDigit(numString.charAt(i)))
                        return false;
        return true;
}

function isFloatNumber(numString) {
        if (numString == '') {
                return false;
        }
        var pc = 0;
        for (var i = 0; i < numString.length;i++)
                if (!isDigit(numString.charAt(i))) {
                  if ( ( numString.charAt(i) == ".") && (pc==0) ){
                        pc++;
                  } else {
                                return false;
                        }
                }
        return true;
}


function showAlert(fieldName, withPattern, pattern) {
   if (withPattern)
                alert("A(z) " + fieldName + " mező értéke helytelen.\rKérem ellenőrizze, és próbálja újra.\rA megengedett speciális karakterek: '" + pattern + "'.");
   else
                alert("A(z) " + fieldName + " mező értéke helytelen.");
}

function checkFieldWithPattern(fieldValue,pattern) {
        if (fieldValue == "")
                return false;
        var entryLength = fieldValue.length;
        var verifyChar = 0;
        var aChar = '';
        for (var i = 0;i < entryLength;i++) {
                aChar = fieldValue.charAt(i);
                verifyChar = pattern.indexOf(aChar);
                if ((pattern.indexOf(aChar) == -1) && (!isDigit(aChar))) {
                        return false;
           }
        }
        return true;
}

function trim(str) {
         while (str.substring(0,1) == '  ')
                 str = str.substring(1, str.length);

         while (str.substring(str.length - 1,str.length)  ==  '  ')
                 str = str.substring(0, str.length - 1);

        return str;
 }

function removeSpaces(str) {
   var newStr = '';
   for (i = 0;i < str.length;i++)
          if (str.charAt(i) != ' ')
                newStr += str.charAt(i);
   return newStr;
}

function checkTimeFormat(timeString) {
  var fieldArray = timeString.split(":");

  if (fieldArray.length < 2)
         return false;

  fieldArray[0] = parseInt(fieldArray[0]);
  fieldArray[1] = parseInt(fieldArray[1]);

  if (!isNumber(fieldArray[0])) {
        return false;
  }
  if (!isNumber(fieldArray[1])) {
        return false;
  }
  if (fieldArray.length > 2) {
        fieldArray[2] = parseInt(fieldArray[2]);
        if (!isNumber(fieldArray[2])) {
          return false;
        }
  }

  if ( (fieldArray[0] < 0) || (fieldArray[0] > 23)        ) {
   return false;
  }
  if ( (fieldArray[1] < 0) || (fieldArray[1] > 59) ) {
   return false;
  }
  if (fieldArray.length > 2) {
   if ( (fieldArray[2] < 0) || (fieldArray[2] > 59) ) {
         return false;
   }
  }
  return true;
}

function checkDateFormat(dateString) {
  var fieldArray = dateString.split("/");
  if (fieldArray.length != 3)
         return false;

   fieldArray[0] = parseInt(fieldArray[0]);
   fieldArray[1] = parseInt(fieldArray[1]);
   fieldArray[2] = parseInt(fieldArray[2]);

   if (!isNumber(fieldArray[0])) {
          return false;
   }
   if (!isNumber(fieldArray[1])) {
          return false;
   }
   if (!isNumber(fieldArray[2])) {
          return false;
   }
   if ( (fieldArray[0] < 1) || (fieldArray[0] > 12)  ) {
         return false;
   }
   if ( (fieldArray[1] < 1) || (fieldArray[1] > 31) ) {
         return false;
   }
   if ( (fieldArray[2] < 1900) || (fieldArray[2] > 2500) ) {
         return false;
   }
   return true;
}

function checkDateTimeFormat(datetimeString) {
  datetimeString = trim(datetimeString);
  var index = datetimeString.indexOf(' ');
  if (index>0) {
        dateString = trim(datetimeString.slice(0,index))
        timeString = trim(datetimeString.slice(index))
        return checkDateFormat(dateString) && checkTimeFormat(timeString);
  } else {
        return checkDateFormat(datetimeString);
  }
}

function padleft(s,wdt,filler) {
  s = "" + s;
  while (s.length < wdt) {
        s = filler + s;
  }
  return s;
}

function normalizeDate(dateString) {
  var fieldArray = dateString.split("/");
   var mm = parseInt(fieldArray[0],10);
   var dd = parseInt(fieldArray[1],10);
   var yyyy = parseInt(fieldArray[2],10);

   dd = padleft(dd,2,"0");
   mm = padleft(dd,2,"0");

   return "" + dd + "/" + mm + "/" + yyyy;
}

function createDateObject(dateString) {
   var fieldArray = dateString.split("/");
   var mm = parseInt(fieldArray[0],10);
   var dd = parseInt(fieldArray[1],10);
   var yyyy = parseInt(fieldArray[2],10);
   var tmpDate = new Date(yyyy,(mm - 1),dd);
   return tmpDate;
}

function isBefore(date1,date2) {
  var time1 = date1.getTime();
  var time2 = date2.getTime();
  if (time1 < time2)
        return true;
  return false;
}

function isAfter(date1,date2) {
  var time1 = date1.getTime();
  var time2 = date2.getTime();
  if (time1 > time2)
        return true;
  return false;
}

function isEqual(date1,date2) {
   var d1 = date1.getDate();
   var m1 = date1.getMonth();
   var y1 = date1.getFullYear();
   var d2 = date2.getDate();
   var m2 = date2.getMonth();
   var y2 = date2.getFullYear();
   return ((d1 == d2) && (m1 == m2) && (y1 == y2));
}

function show_hide(divname){
       if (document.getElementById(divname).style.display=='none') {
         document.getElementById(divname).style.display='block';
       } else {
         document.getElementById(divname).style.display='none';
       }
}

function show_hide_pm(divname){
       if (document.getElementById(divname).style.display=='none') {
         document.getElementById(divname).style.display='block';
         document.getElementById(divname+'_plus').style.display='none';
         document.getElementById(divname+'_minus').style.display='block';
       } else {
         document.getElementById(divname).style.display='none';
         document.getElementById(divname+'_plus').style.display='block';
         document.getElementById(divname+'_minus').style.display='none';
       }
}

function show_hide_i(divname,imagesrc,showimage,hideimage){
       if (document.getElementById(divname).style.display=='none') {
         document.getElementById(divname).style.display='block';
         document.getElementById(imagesrc).src=hideimage;
       } else {
         document.getElementById(divname).style.display='none';
         document.getElementById(imagesrc).src=showimage;
       }
}


timeOutToCheck=300;//in Miliseconds
timeOutToDownload=1500;//in Miliseconds

function newReq(){
  if(window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch(e) {
      req = false;
    }
  } else if(window.ActiveXObject) {
        try {
        req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
        try {
          req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          req = false;
        }
    }
  }
  return req;
}
lastId=-1;//The last message ID

function Connector(){
  this.message="";
  this.countDown=0;
  this.name="";

  this.send=function() {
    if (this.message!="") return;//If we have not sent the last message, return.
    var msg=document.getElementById("msg");
    if (msg.value=="") return;//No message to send
    msg.disabled=false;
    document.getElementById("btn").disabled=false;
    this.message=msg.value;
    msg.value="";
    msg.focus();
  }

  this.runner=function(){
    this.countDown--;
//    window.status=this.countDown;
    if (this.message || this.countDown<=0) {
      readFromServer("/"+"chata"+"sync"+"."+"php"+"?"+"location="+escape(window.location.href)+"&last_id="+lastId+"&name="+escape(this.name)+"&message="+escape(this.message));
      if (lastId==-1) lastId=0;
      this.name="";
      this.message="";
      this.countDown=timeOutToDownload/timeOutToCheck;
    } else setTimeout('connector.runner()',timeOutToCheck);
  }

  readFromServer=function(url){
    req=newReq();
    req.onreadystatechange=ready;
    req.open("GET", url, true);
    req.send("");
  }

  ready=function(){
    if (req.readyState==4 && req.getResponseHeader("response_ok")){
      if (req.responseText){
        addNewLine(req.responseText);
      }
      try{
        if (req.getResponseHeader("last_id")) {
          lastId=req.getResponseHeader("last_id");
        }
      } catch(e){

      }
     setTimeout('connector.runner()',timeOutToCheck);
    }
  }

  addNewLine=function(text){
    iframe=parent.innerFrame.window;
    iframeDocument=iframe.document;

    iframeDocument.body.innerHTML+=text;
    iframe.scrollBy(0,10000);
  }

}

function bookmark(){
  if(window.external) {
    window.external.AddFavorite('http://mindentkapni.hu','Mindentkapni.hu');
  } else {
    //alert('Please bookmark us');
  }
}

function BasicDisplayer(oncomplete) {
   var that = this;

  that.loadPlainTextDoc=function(url) {
    req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
      try {
        req = new XMLHttpRequest();
      } catch(e) {
        req = false;
      }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
      try {
        req = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
        try {
               req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
                 req = false;
        }
      }
    }
    if(req) {
      req.onreadystatechange = that.processReqChange;
      req.open("GET", url, true);
      req.send("");
    }
  }
  if(window.XMLHttpRequest) {
    // FireFox/Netscape
    that.processReqChange = function() {
      // only if req shows "loaded"
      if (req.readyState == 4) {
          if (req.status == 200) {
            that.data = req.responseText;
            oncomplete(that);
          }
      }
    }
    that.processReqChange.owner = that;
  } else if (window.ActiveXObject) {
    // Internet Explorer
    that.processReqChange = function() {
      // only if req shows "loaded"
      if (req.readyState == 4) {
          if (req.status == 200) {
            that.data = req.responseText;
            oncomplete(that);
          }
      }
    }
  }
}

