var redirStr="";

try{
  var xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");
} catch (e) {
  try {
    var xmlHttp=new XMLHttpRequest();
  } catch (e) {
    try {
      var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      alert("AJAX tarayıcınız tarafından desteklenmiyor. Bazı alanlara erişmeniz mümkün olmayabilir");
    }
  }
}

function rantify(){
  return(Math.random()*1000000000)
}

function getHTML(url){
  if(url.indexOf("?")>0)rStr="&r=" + rantify(); else rStr="?r=" + rantify()

  
  xmlHttp.open("GET", url + rStr, false);
  xmlHttp.setRequestHeader("Accept-charset", "iso-8859-9");
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", "5"); 
  xmlHttp.send(null);

  var incHTML=xmlHttp.responseText.replace(/^\s*|\s*$/g, "");

  /*
  var urlLevelStr = url.substr(0, url.lastIndexOf('/'));
  incHTML=incHTML.replace(/src="/g, "src=\"" + urlLevelStr + '/');
  incHTML=incHTML.replace(/src='/g, "src=\'" + urlLevelStr + '/');
  incHTML=incHTML.replace(/href="/g, "href=\"" + urlLevelStr + '/');
  incHTML=incHTML.replace(/href='/g, "href=\'" + urlLevelStr + '/');
  incHTML=incHTML.replace(/url\("/g, "url(\"" + urlLevelStr + '/');
  incHTML=incHTML.replace(/url\('/g, "url(\'" + urlLevelStr + '/');

  alert(incHTML);
  */

  return(incHTML);
}

/*
function doXEvent(){
  if (xmlHttp.readyState == 4) {
    if (xmlHttp.status == 200) {

    } else {
      alert("Veri getirilirken bir hata oluştu:\n" + xmlHttp.statusText);
    }
  }
}

xmlHttp.onreadystatechange = doXEvent;
*/

function xExecute(url){
  xmlHttp.Open("POST", url, false);
  xmlHttp.setRequestHeader("Accept-charset", "iso-8859-9");
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.Send();
  return(xmlHttp.responseText);
}

//<input class=dbCell value='$cValue' oriVal='$cValue' tName='$tName', fName='$fName' pName='$pName' pDef='$pDef' onfocus='focusDBCell(this)' onkeyup='keyUpDBCell(this)' onblur='blurDBCell(this)'>

function showErrorDialog(errHTML){
  var myErrorPane="<div id=errorHandler class=outerPanel style='border: outset 2; position: absolute; top: " + (document.body.scrollTop + event.y)*1 + "; left: " + (document.body.clientWidth-400)/2 + "; width: 400'>";
      myErrorPane+=errHTML;
      myErrorPane+="<hr><input class=nButton onclick=\"parentElement.style.display='none'\" value=Kapat type=button>";
      myErrorPane+="</div>";

  document.body.innerHTML+=myErrorPane;
}

function fetchSingleField(tName, fName, criteria){
  myUrl=redirStr+"flib/xhdba.asp?islem=fetchSingleField" +
        "&tName=" + tName +
        "&field=" + fName +
        "&criteria=" + criteria;
  //alert(myUrl);
  return(getHTML(myUrl));
}

function updateSingleField(sender){
  myUrl=redirStr+"flib/xhdba.asp?islem=updateSingleField" +
        "&tName=" + sender.tName +
        "&fName=" + sender.fName +
        "&fVal=" + sender.value +
        "&pName=" + sender.pName +
        "&pVal=" + sender.pDef;
  if(xExecute(myUrl) * 1 == 1){
    sender.oriVal=sender.value;
  } else {
    if(confirm("Bazı hatalardan dolayı güncelleme işlemi gerçekleştirilemedi. Problem hakkında daha fazla teknik bilgi için Tamam'ı, tıklayabilirsiniz.")==1){
      showErrorDialog(xExecute(myUrl));
    } // end if
  } // end if else
}

function insertNewRecord(sender, tName, fValues){
  myUrl=redirStr+"flib/xhdba.asp?islem=insertNewRecord" +
        "&tName=" + tName +
        "&fValues=" + fValues;
  //alert(myUrl);

  if(xExecute(myUrl) * 1 == 1){
    //alert('Bilgiler veritabanına girildi');
    getParent(sender, "span").innerHTML=getDBGrid(tName, '*', '');
  } else {
    if(confirm("Bazı hatalardan dolayı kayıt ekleme işlemi gerçekleştirilemedi. Problem hakkında daha fazla teknik bilgi için Tamam'ı, tıklayabilirsiniz.")==1){
      showErrorDialog(xExecute(myUrl));
    } // end if
  } // end if else
}

function updateTable(sender, updateFields, criteria){
  myUrl=redirStr+"flib/xhdba.asp?islem=updateTable" +
        "&tName=" + sender.tName +
        "&updateFields=" + updateFields +
        "&criteria=" + criteria;

  alert(myUrl);

  /*
  if(xExecute(myUrl) * 1 == 1){
    //alert('Bilgiler veritabanına girildi');
    getParent(sender, "span").innerHTML=getDBGrid(tName, '*', '');
  } else {
    if(confirm("Bazı hatalardan dolayı kayıt ekleme işlemi gerçekleştirilemedi. Problem hakkında daha fazla teknik bilgi için Tamam'ı, tıklayabilirsiniz.")==1){
      showErrorDialog(xExecute(myUrl));
    } // end if
  } // end if else
  */
}

/*  _mod : 25.07.06 - 11:03
function deleteRecord(sender, tName, pName, pVal){
  myUrl=redirStr+"flib/xhdba.asp?islem=deleteRecord" +
        "&tName=" + tName +
        "&pName=" + pName +
        "&pDef=" + pVal;

  if(confirm("Bilgi veritabanından silinecek. Devam etmek istediğinizden emin misiniz?")==1)
  if(xExecute(myUrl) * 1 == 1){
    getParent(sender, "span").innerHTML=getDBGrid(tName, '*', '');
    //alert('Bilgiler veritabanından silindi');
  } else {
    if(confirm("Bazı hatalardan dolayı silme işlemi gerçekleştirilemedi. Problem hakkında daha fazla teknik bilgi için Tamam'ı, tıklayabilirsiniz.")==1){
      showErrorDialog(xExecute(myUrl));
    } // end if
  } // end if else
}
*/

function deleteRecord(sender, tName, pName, pVal){
  myUrl=redirStr+"flib/xhdba.asp?islem=deleteRecord" +
        "&tName=" + tName +
        "&pName=" + pName +
        "&pDef=" + pVal;

  if(confirm("Bilgi veritabanından silinecek. Devam etmek istediğinizden emin misiniz?")==1)
  if(xExecute(myUrl) * 1 == 1){
    //getParent(sender, "span").innerHTML=getDBGrid(tName, '*', '');
    getParent(sender, "table").deleteRow(getParent(sender, "tr").rowIndex);
    //getParent(sender, "tr").innerHTML=getDBGrid(tName, '*', '');
  } else {
    if(confirm("Bazı hatalardan dolayı silme işlemi gerçekleştirilemedi. Problem hakkında daha fazla teknik bilgi için Tamam'ı, tıklayabilirsiniz.")==1){
      showErrorDialog(xExecute(myUrl));
    } // end if
  } // end if else
}


function deleteRow(tName, pName, pVal){
  myUrl=redirStr+"flib/xhdba.asp?islem=deleteRecord" +
        "&tName=" + tName +
        "&pName=" + pName +
        "&pDef=" + pVal;


  //alert(myUrl);
  if(confirm("Bilgi veritabanından silinecek. Devam etmeniz durumunda bu bilgiye bağlı olabilecek diğer kayıtlar da silineceğinden bazı hatalara neden olabilir.\n Eğer bu kayıtla ilgili bir işlem yapılmadığından eminseniz devam edebilirsiniz.\n Devam etmek istediğinizden emin misiniz?")==1)
  if(xExecute(myUrl) * 1 == 1){
    //getParent(sender, "span").innerHTML=getDBGrid(tName, '*', '');
    showModalDialog('redir/modal_messages.php?mType=mtInfo&mText=Bilgi veritabanından silindi&mSound=1', 'modalDialog', 'dialogHeight: 200px; dialogWidth: 300px; status:no');
  } else {
    if(confirm("Bazı hatalardan dolayı silme işlemi gerçekleştirilemedi. Problem hakkında daha fazla teknik bilgi için Tamam'ı, tıklayabilirsiniz.")==1){
      showErrorDialog(xExecute(myUrl));
    } // end if
  } // end if else
}

function keyUpDBCell(sender){
  if(event.keyCode==13 && (sender.value != sender.oriVal)){
    updateSingleField(sender);
  }
}

function getDBGrid(tName, fields, criteria){
  myUrl=redirStr+"flib/xhdba.asp?islem=getDBGrid" +
        "&tName=" + tName +
        "&fields=" + fields +
        "&criteria=" + criteria;
  //alert(myUrl);
  return(getHTML(myUrl));
}

function focusDBCell(sender){
  sender.style.backgroundColor="#bbbbff";
}

function blurDBCell(sender){
  if(sender.value != sender.oriVal){
    if(confirm("Bu hücrede yaptığınız değişiklikler kaydedilsin mi?")==1){
      updateSingleField(sender);
    }else{
      sender.value=sender.oriVal;
    }
  }
  sender.style.backgroundColor="transparent";
}

function xh_fileExists(path){
  myUrl=redirStr+"flib/xhdba.asp?islem=xh_fileExists" +
        "&path=" + path;
  return(getHTML(myUrl));
}

function getFolderView(pf, f, vType){
  myUrl=redirStr+"flib/xhfso.asp?islem=getFolderView" +
        "&pf=" + pf +
        "&f=" + f +
        "&vType=" + vType;
  return(getHTML(myUrl));
}

