var a = new PHP_Serializer();

function diakirikseis(name){
  this.name = name
  this.inner = make_name(this.name)+"_inner";
  this.inner_popup = make_name(this.name)+"_inner_popup";
  this.inner_background_opacity = make_name(this.name)+"_inner_background_opacity";
  this.inner_ie_fix = make_name(this.name)+"_inner_ie_fix";
  
  this.set = new Array();
  
  this.add = function(id){
  	if(id!=""){
  	  if(!this.set[id]){
  	    this.set[id] = new diakiriksi(this.name+".set["+id+"]",this);
  	    this.set[id].inner = this.inner_popup;
  	    this.set[id].id = id;
  	  }
  	  return true;
  	}
  	return false;
  }
  this.show = function(id,that){
  	if(this.add(id)){
  	  this.set[id].dock_position = getElementPosition_xywh(that.id);
  	  this.set[id].get();
      var ws =  getWindowSize();
      var os =  getScrollXY();
      //get_element(this.inner_background_opacity).style.height = (ws.y + os.y) + 'px';
      //alert(ws.y+" "+os.y+" "+document.body.clientHeight+" "+document.documentElement.clientHeight);
  	  
  	  get_element(this.inner_background_opacity).style.height = (ws.y + os.y) + 'px';
  	  show(this.inner_background_opacity);
  	  //show(this.inner_popup);
  	  if(get_element(this.inner_ie_fix)){ // "period_inpt_inner" IE bug it show select over div popous so I hide it and revile again
  	    hide(this.inner_ie_fix);
      }
  	}
  }
  this.hide = function(){
  	hide(this.inner_background_opacity);
  	hide(this.inner_popup);
  	if(get_element(this.inner_ie_fix)){
  	  show(this.inner_ie_fix);
  	}
  }
}
function diakiriksi(name, parent){
  this.name = name;
  this.parent = parent;
  this.inner = make_name(this.name)+"_inner";
  this.dock_position = {x:0, y:0, w:0 ,h:0};
  
  this.init = function() {
  	this.loaded = false;
  	this.data = new Array();
  }
  this.get = function(){
  	if(!this.loaded && this.id){
  	  var to_send = new Array();
  	  to_send["ids"] = this.id;
      var b = a.serialize(to_send); 
      var what_to_do = new Object();
      what_to_do.callback = function(that,aaa){
      	if(that["status"]==1){
          aaa.load(that["data"][0]);  
      	}
        else {
          aaa.init();
        }
        aaa.after_get();  
        handle_status(that["status"],that["mesg"]); 
      }
      what_to_do.extra_data = this; 
      x_get_tenders(b,what_to_do);    	
  	}
  	else {
  	  this.after_get();
  	}
  }
  this.load = function(what){
  	this.loaded = true;
  	this.data = what;
  }
  this.after_get = function(){
  	this.show();
  }
  this.show = function (){
  	if(innerHTML(this.inner,this.draw())){
  	  show(this.inner);
  	  var aaa =  getElementPosition_xywh(this.inner);
      objh = parseInt((aaa.h)/2);
      objw = parseInt((aaa.w)/2);
      var ws =  getWindowSize();
      var os =  getScrollXY();
      get_element(this.inner).style.top = Math.floor((ws.y/2) + os.y - objh)+'px';
      get_element(this.inner).style.left = Math.floor((ws.x/2) + os.x - objw)+'px';  	  
  	}
  }
  this.draw = function(){
  	var r = "";
  	/*
    r += "<TABLE class='' style='width: 100%; height: 300%;' border='0' cellpadding='0' cellspacing='0'><TBODY style='width: 300%; height: 100%;'>";
    //r += "<tr><td colspan='3' style='width: 100%; height: "+(this.dock_position.y-100)+"px;' class='opac50 bg_black'></td></tr>";
    r += "<tr><td style='width: 100%; height: 300%;' class='opac50 bg_black'></td></tr>";
    r += "</TBODY></TABLE>";
    */
    //r += "<tr><td style='width: 50%;' class='opac50 bg_black' border='0'></td>";
    //r += "<td>";
    
    r += "<TABLE class='' style='font-size: 12px; width: 380px;border: 4px double #FF8000; background-color: #FFDCBA;' border='0' cellpadding='4' cellspacing='0'><TBODY class=''>";
    r += "<tr><td colspan='4' align='right'><div onclick='"+this.parent.name+".hide();' title='close' class='close link' onmouseout=\"this.className='close'\" onmouseover=\"this.className='close_over link';\"></div></td></tr>";	
    for(var i in this.data){
      if(i!="id" && i!="modified"){
      	if(i=="Φορέας"){
          r += "<tr><td style='width: 10px;'></td><td colspan='2' valign='top' align='center' class='bold' style='font-size: 12px; border: 0 solid black; border-width: 0 0 1px 0;'>"+((this.data[i]=="")?"&nbsp;":this.data[i])+"</td><td style='width: 10px;'></td></tr>"	
      	}
      	else if(i == "Περιγραφή"){
          r += "<tr><td style='width: 10px;'></td><td colspan='2' valign='top' style='font-size: 12px; color: #9DAAA3; border: 0 solid #9DAAA3; border-width: 0 0 1px 0;'>"+i+"</td><td style='width: 10px;'></td></tr>";      		
          r += "<tr><td style='width: 10px;'></td><td colspan='2' valign='top' align='left' style='font-size: 12px; border: 0 solid #9DAAA3; border-width: 0 0 1px 0;'>"+((this.data[i]=="")?"&nbsp;":this.data[i])+"</td><td style='width: 10px;'></td></tr>";      		
      	}
      	else if (i=="Σχόλια"){
          r += "<tr><td style='width: 10px;'></td><td style='font-size: 12px; color: #9DAAA3;' valign='top'>"+i+"</td><td valign='top' align='right' style='font-size: 12px; '>"+((this.data[i]=="")?"&nbsp;":this.data[i])+"</td><td style='width: 10px;'></td></tr>";      		
      	}
      	else {
          r += "<tr><td style='width: 10px;'></td><td valign='top' style='font-size: 12px; color: #9DAAA3; border: 0 solid #9DAAA3; border-width: 0 0 1px 0;'>"+i+"</td><td valign='top' align='right' style='font-size: 12px; border: 0 solid #9DAAA3; border-width: 0 0 1px 0;'>"+((this.data[i]=="")?"&nbsp;":((i=="Ποσόν" || i=="Εγγύηση")?number_format(this.data[i],0,'','.'):this.data[i]))+"</td><td style='width: 10px;'></td></tr>";
      	}
      }
    }
    r += "</TBODY></TABLE>";
    
    //r += "</td>";
    //r += "<td style='width: 50%;' class='opac50 bg_black' border='0'></td></tr>";
    //r += "<tr><td colspan='3' style='width: 100%;height: 600px;' class='opac50 bg_black' border='0'></td></tr>";     
    //r += "</TBODY></TABLE>";
  	return r;
  }
}
