var div;
var wait;

var loadedobjects=""

// GET //
if (window.XMLHttpRequest)
{ xmlHttp = new XMLHttpRequest(); }
else if (window.ActiveXObject)
{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }

function callServer(div_id,url,wait_id)
{
var mainURL = "http://www.greek-learning.gr/"
url = mainURL + url;
    div=div_id;
    wait=wait_id;
    if( document.getElementById && document.getElementById(wait)) 	
	{
	var obj=document.getElementById(wait); if (img1.src) obj.src=img1.src;  
	}
	 
    xmlHttp.open("GET", url, true);    
    xmlHttp.onreadystatechange = updatePage;
    xmlHttp.send(null);

}


function callServerSync(div_id,url,wait_id,chk)
{     
    div=div_id;
    wait=wait_id;
    if( document.getElementById && document.getElementById(wait)) 	
	{
	var obj=document.getElementById(wait); if (img1.src) obj.src=img1.src;  
	}  
    xmlHttp.open("GET", url, chk );    
    xmlHttp.onreadystatechange = updatePage;
    xmlHttp.send(null);

}

function updatePage()
{
if (xmlHttp.readyState == 4)
{
 var response = "";
    response = xmlHttp.responseText;
    var txt=response.substring(0, 11);
    if (txt=='javascript:') 
        {
        txt=result.substring(11,response.length); eval(txt);
        }
	else
    //getScript(xmlHttp.responseText)
    
	   parent.document.getElementById(div).innerHTML=response;	    
	   
	
	if( document.getElementById && document.getElementById('txtInfo') && document.getElementById('divInfo')) 
	{    
	if(document.getElementById('txtInfo').value) document.getElementById('divInfo').innerHTML=document.getElementById('txtInfo').value;
	}
	if( document.getElementById && document.getElementById(wait)) 
	{
	var obj=document.getElementById(wait); if (img0.src) obj.src=img0.src;  
	}  		   

}
}

function callServer2(div_id,url,wait_id)
{
var mainURL = "http://www.greek-learning.gr/"
url = mainURL + url;
    div=div_id;
    wait=wait_id;
    if( document.getElementById && document.getElementById(wait)) 	
	{
	var obj=document.getElementById(wait); if (img1.src) obj.src=img1.src;  
	}
	 
    xmlHttp.open("GET", url, true);    
    xmlHttp.onreadystatechange = updatePage2;
    xmlHttp.send(null);

}

function updatePage2()
{
if (xmlHttp.readyState == 4)
{
 var response = "";
    response = xmlHttp.responseText;
    var txt=response.substring(0, 11);
    if (txt=='javascript:') 
        {
        txt=result.substring(11,response.length); eval(txt);
        }
	else
    //getScript(xmlHttp.responseText)
    
	   document.getElementById(div).innerHTML=response;	    
	   
	
	if( document.getElementById && document.getElementById('txtInfo') && document.getElementById('divInfo')) 
	{    
	if(document.getElementById('txtInfo').value) document.getElementById('divInfo').innerHTML=document.getElementById('txtInfo').value;
	}
	if( document.getElementById && document.getElementById(wait)) 
	{
	var obj=document.getElementById(wait); if (img0.src) obj.src=img0.src;  
	}  		   

}
}
// POST //
   var http_request = false;
   
   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);

   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            var result = http_request.responseText;
            var txt=result.substring(0, 11);
            if (txt=='javascript:') 
                {
                txt=result.substring(11,result.length); 
                eval(txt);
                }
                else
                    { document.getElementById(div).innerHTML = result; }
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   function get(form_id,url,div_id) {
      var obj=document.getElementById(form_id);
      var txt=""
      div=div_id;
      for (var i=0;i<obj.length;i++)
      {
	     txt= txt + obj.elements[i].name + "=" + encodeURI(encodeMyHtml(obj.elements[i].value))+"&";
      }
      if(txt) txt=txt.substring(0, txt.length-1); 
      var poststr =txt;
      makePOSTRequest(url, poststr,div_id);
      //makePOSTRequest(url, unescape(poststr),div_id);
   }
   
   function encodeMyHtml(html) {
     encodedHtml = escape(html);
     encodedHtml = encodedHtml.replace(/\//g,"%2F");
     encodedHtml = encodedHtml.replace(/\?/g,"%3F");
     encodedHtml = encodedHtml.replace(/=/g,"%3D");
     encodedHtml = encodedHtml.replace(/&/g,"%26");
     encodedHtml = encodedHtml.replace(/@/g,"%40");
     return encodedHtml;
   } 
   
   
   function callServer2(div_id,url,obj)
{ 
    xmlHttp.open("GET", url, true);    
    xmlHttp.onreadystatechange = updatePage2;
    xmlHttp.send(null);

}

function myGetObj(obj){
    var frm = document.getElementById(obj)
    var q = "";
    //for (i=0;i<=frm.elements.length-3;i++){
        q = q + frm.elements["selFields"].value +" LIKE '%25"+ frm.elements["txtSearch"].value+ "%25'"
    //}
    var pg = 'searchResults.asp?q=' + q + '&lng=el'
    callServer('table',pg,'imLoading');
}

function getResponse(obj){
     if (xmlHttp.readyState == 4)
        {
            var response = xmlHttp.responseText;
            response = response.split("||||||")
            ajaxTooltip(obj, response[2]);
            if (response[1]) {eval(response[1])}   
        }
}



function updatePage2(doThis){

 if (xmlHttp.readyState == 4)
{
    var response = xmlHttp.responseText;
    var txt=response.split("|||");

            response = txt[1]

    document.getElementById(div).innerHTML = response;
    var scr = document.getElementById(div).appendChild(document.createElement("script"));
    scr.text = "transformEl()";
}

}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}

function unloadobjs(){
if (!document.getElementById)
return

document.getElementsByTagName("script").item(0).src=""
loadedobjects ="" //Remember this object as being already added to page
}

function getScript(response){
var str = response  
  var re = /<script.*?>(.*?)<\//igm; 
  var match; 
  
  while (match = re.exec(str)) {
    alert(match[1]);
    eval(match[1]);
    
  } 


}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function openPopup(theURL,width,height,scroll) 
{
	var winleft = (screen.width - width) / 2;
	var winUp = (screen.height - height) / 2;
	var href;
	if (typeof(theURL) == 'string') href=theURL; else href=theURL.href;
	window.open(href,'Test', 'top='+((screen.height - height) / 2)+',left='+((screen.width - width) / 2)+'+,toolbar=0,status=0,resizable=1,Width='+width+',height='+height+',scrollbars='+scroll);
}
