/* SETTINGS */
var ScriptPath='/Javascripts/Popbox/';
var MarginH=20;
var MarginV=20;
/* SCRIPTS */
function getXmlHttp()
{
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function PopboxCreate(){
  page_popup_window = document.getElementById('PopupWindow');
  page_body =  document.getElementsByTagName('body');
  page_body = page_body[0];
  if (page_popup_window) {

  } else {
     page_body.innerHTML='<div align="right" align="center" id="PopupWindow" style="position:absolute; width:100%; height:100%;border:0px solid #000;z-index:-1000"></div><div id="PopupBack" style="cursor:pointer;position:absolute;display:none;  background:url('+ScriptPath+'opacity_bg.png);z-index:900;" onClick="javascript:PopboxClose();"></div><div id="PopupDiv" style="position:absolute;display:none;z-index:1000;float:left;max-height:100%;"></div></div>'+page_body.innerHTML;
  }
  document.getElementById('PopupDiv').innerHTML='<div id="PopupContent"><div id="PopupSpace" style="overflow-y:auto;display:block;"><div style="padding:10px;height:55px;width:200px;background:#fff;border:1px solid #000"><img src="'+ScriptPath+'popup_loading.gif" border="0" style="margin-right:10px" align="left"><div style="padding-top:10px;font-family:Verdana;font-size:11px;color:#000;" align="left"><b>'+WaitWord+'</b></div></div></div></div>';
  MainWindowWidth=parseInt(document.getElementById('PopupWindow').offsetWidth)-MarginH;
  MainWindowHeight=parseInt(document.getElementById('PopupWindow').offsetHeight)-MarginV;
  document.getElementById('PopupBack').style.display='block';
  document.getElementById('PopupBack').style.width=MainWindowWidth+MarginH;
  document.getElementById('PopupBack').style.height=document.body.scrollHeight;
  document.getElementById('PopupDiv').style.display='block';
  PopboxResize();
}
function PopboxResize(){
  document.getElementById('PopupSpace').style.height='auto';
  document.getElementById('PopupSpace').style.width='auto';
  PopupContentWidth=parseInt(document.getElementById('PopupContent').offsetWidth);
  PopupContentHeight=parseInt(document.getElementById('PopupContent').offsetHeight);
  PopupSpaceWidth=parseInt(document.getElementById('PopupSpace').offsetWidth);
  PopupSpaceHeight=parseInt(document.getElementById('PopupSpace').offsetHeight);
  if (PopupContentHeight>=MainWindowHeight){
    NewHeight=MainWindowHeight-(PopupContentHeight-PopupSpaceHeight);
    document.getElementById('PopupDiv').style.top=document.body.scrollTop+parseInt(MarginV/2);
    document.getElementById('PopupSpace').style.height=NewHeight;
    document.getElementById('PopupSpace').style.width=PopupSpaceWidth;
  } else {
    document.getElementById('PopupDiv').style.top=document.body.scrollTop+parseInt((MainWindowHeight-PopupContentHeight)/2)+parseInt(MarginV/2);
  }
  if (PopupContentWidth>MainWindowWidth){

  } else {
   document.getElementById('PopupDiv').style.left=parseInt((MainWindowWidth-PopupContentWidth)/2)+parseInt(MarginH/2);
  }
}
function PopboxClose()
{
  page_PopupBack = document.getElementById('PopupBack');
  page_PopupDiv = document.getElementById('PopupDiv');
  if (page_PopupBack){
        document.getElementById('PopupBack').style.display='none';
  }
  if (page_PopupDiv){
        document.getElementById('PopupDiv').style.display='none';
        document.getElementById('PopupDiv').innerHTML='';
  }
}

function Popbox(ActionUrl)
{
  PopboxCreate();
  PopboxSet(ActionUrl);

}

function PopboxSet(ActionUrl)
{
    var req = getXmlHttp()
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.status == 200) {
               document.getElementById('PopupDiv').innerHTML=req.responseText.replace("\r\n", "");
               PopboxResize();
            } else {
               PopboxClose();
            }

        }
    }
    req.open('POST', HttpUrl+'/actions.php?action='+ActionUrl, true);
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    req.send(null);
}

function PopboxSubmit(ActionUrl, UpdateUrl, UpdateId)
{
   var reqsave = getXmlHttp();
   var regupdate  = getXmlHttp();
   PostData=GetPostData(document.getElementById('PopupEditForm'));
   reqsave.onreadystatechange = function() {
        if (reqsave.readyState == 4) {
            if(reqsave.status == 200) {
               document.getElementById('PopupDiv').innerHTML=reqsave.responseText.replace("\r\n", "");
               PopboxResize();
               if (UpdateId && UpdateUrl){
                  regupdate.onreadystatechange = function() {
                       if (regupdate.readyState == 4) {
                           if(regupdate.status == 200) {
                              document.getElementById(UpdateId).innerHTML=regupdate.responseText.replace("\r\n", "");
                           }

                       }
                   }
                   regupdate.open('POST', HttpUrl+'/actions.php?action='+UpdateUrl, true);
                   regupdate.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
                   regupdate.send(PostData);
               }
            }

        }
    }
    reqsave.open('POST', HttpUrl+'/actions.php?action='+ActionUrl, true);
    reqsave.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    reqsave.send(PostData);
}
function PopboxSend(ActionUrl, UpdateUrl, UpdateId)
{
   var reqsave = getXmlHttp();
   var regupdate  = getXmlHttp();
   PopboxCreate();
   reqsave.onreadystatechange = function() {
        if (reqsave.readyState == 4) {
            if(reqsave.status == 200) {

               if (UpdateId && UpdateUrl){
                  regupdate.onreadystatechange = function() {
                       if (regupdate.readyState == 4) {
                           if(regupdate.status == 200) {
                              document.getElementById(UpdateId).innerHTML=regupdate.responseText.replace("\r\n", "");
                              PopboxClose();
                           }

                       }
                   }
                   regupdate.open('POST', HttpUrl+'/actions.php?action='+UpdateUrl, true);
                   regupdate.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
                   regupdate.send('');
               }

            }

        }
    }
    reqsave.open('POST', HttpUrl+'/actions.php?action='+ActionUrl, true);
    reqsave.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    reqsave.send('');
}
function GetPostData(FormEdit){
   if (FormEdit){
     var InputLenth = FormEdit.elements.length;
   } else {
     var InputLenth = 0;
   }
   PostData='SubmitedSave='+encodeURIComponent('YES');
   for(var i=0;i<InputLenth;i++){     if (FormEdit.elements[i].type=='text'){
       PostData= PostData+'&'+FormEdit.elements[i].name+'='+encodeURIComponent(FormEdit.elements[i].value);
     }
     if (FormEdit.elements[i].type=='hidden'){
       PostData= PostData+'&'+FormEdit.elements[i].name+'='+encodeURIComponent(FormEdit.elements[i].value);
     }
     if (FormEdit.elements[i].type=='password'){
       PostData= PostData+'&'+FormEdit.elements[i].name+'='+encodeURIComponent(FormEdit.elements[i].value);
     }
     if (FormEdit.elements[i].type=='checkbox'){
       if ( FormEdit.elements[i].checked){
         PostData= PostData+'&'+FormEdit.elements[i].name+'='+encodeURIComponent(FormEdit.elements[i].value);
       } else {
         PostData= PostData+'&'+FormEdit.elements[i].name+'=';
       }
     }
     if (FormEdit.elements[i].type=='select-one'){
         PostData= PostData+'&'+FormEdit.elements[i].name+'='+encodeURIComponent(FormEdit.elements[i].value);
     }
     if (FormEdit.elements[i].type=='textarea'){
         PostData= PostData+'&'+FormEdit.elements[i].name+'='+encodeURIComponent(FormEdit.elements[i].value);
     }
   }
   return PostData;

}
function FormSubmit(ActionUrl, ActionUpdateId, UpdateUrl, UpdateId)
{
   var reqsave = getXmlHttp()
   var regupdate  = getXmlHttp()
   PostData=GetPostData(document.getElementById(ActionUpdateId));
   reqsave.onreadystatechange = function() {
        if (reqsave.readyState == 4) {
            if(reqsave.status == 200) {
               document.getElementById(ActionUpdateId).innerHTML=reqsave.responseText.replace("\r\n", "");
               if (UpdateId && UpdateUrl){
                  regupdate.onreadystatechange = function() {
                       if (regupdate.readyState == 4) {
                           if(regupdate.status == 200) {
                              document.getElementById(UpdateId).innerHTML=regupdate.responseText.replace("\r\n", "");
                           }

                       }
                   }
                   regupdate.open('POST', HttpUrl+'/actions.php?action='+UpdateUrl, true);
                   regupdate.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
                   regupdate.send(PostData);
               }

            }

        }
    }
    reqsave.open('POST', HttpUrl+'/actions.php?action='+ActionUrl, true);
    reqsave.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    reqsave.send(PostData);
}
function FormsSubmitUpdate(ActionUrl, ActionUpdateId, FormId, UpdateUrl, UpdateId)
{
   var reqsave = getXmlHttp()
   var regupdate  = getXmlHttp()
   PostData=GetPostData(document.getElementById(FormId));
   reqsave.onreadystatechange = function() {
        if (reqsave.readyState == 4) {
            if(reqsave.status == 200) {
               document.getElementById(ActionUpdateId).innerHTML=reqsave.responseText.replace("\r\n", "");
               if (UpdateId && UpdateUrl){
                  regupdate.onreadystatechange = function() {
                       if (regupdate.readyState == 4) {
                           if(regupdate.status == 200) {
                              document.getElementById(UpdateId).innerHTML=regupdate.responseText.replace("\r\n", "");
                           }

                       }
                   }
                   regupdate.open('POST', HttpUrl+'/actions.php?action='+UpdateUrl, true);
                   regupdate.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
                   regupdate.send(PostData);
               }

            }

        }
    }
    reqsave.open('POST', HttpUrl+'/actions.php?action='+ActionUrl, true);
    reqsave.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
    reqsave.send(PostData);
}


