﻿var ___cdsnetLoadedAssets = new Object();
var ___cdsnetLoadedStyles = new Object();
var ___cdsnetLoadedEventDatas = new Object();
var ___scriptData = document.createElement("script");
var isIE = document.all, 
    isOpera = window.opera, 
    isFirefox = document.getElementById&&!document.all,
    objBody,compatBody;

function ___cdsnetSetVarsOnWindowLoad(){
    objBody = document.body;
    compatBody = (document.compatMode && document.compatMode!='BackCompat') ? document.documentElement : document.body;
}    

function cdsnetAddEvent(el,ev,func){
    if(!el)return;
    if(el.attachEvent)
        el.attachEvent('on'+ev,func);
    else if(el.addEventListener)
        el.addEventListener(ev,func,true);
    else 
        el['on'+ev]=func;
};
function cdsnetRemEvent(el, evname, func) {
	if(!el)return;
    if (el.detachEvent) { 
        el.detachEvent("on" + evname, func);
    } else if (el.removeEventListener) { 
        el.removeEventListener(evname, func, false);
    } else {
        delete el["on" + evname];
    }
}
function cdsnetOnEventData(forObject, whatEvent){
    if(___cdsnetLoadedEventDatas[forObject]&&___cdsnetLoadedEventDatas[forObject][whatEvent])return ___cdsnetLoadedEventDatas[forObject][whatEvent];
    var bu=this;
    var funcs = new Array();
    bu.Add=function(fnc){
        if(fnc)funcs.push(fnc);
    };
    bu.Run=function(){
        for(var i=0;i<funcs.length;i++)funcs[i]();
    };
    if(!___cdsnetLoadedEventDatas[forObject]){
        ___cdsnetLoadedEventDatas[forObject]=new Object();
    }
    ___cdsnetLoadedEventDatas[forObject][whatEvent] = bu;
    if(forObject)forObject[whatEvent]=bu.Run;
    return bu;
}

function xmlHttpRequest()
  {
  var xmlHttp;
  try
    {
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        return false;
        }
      }
    }
    return xmlHttp;
  }
var __xmlHttpObj = xmlHttpRequest();
function ___scriptDataLoader(){
    if(!__xmlHttpObj||!arguments.length)return;
    __xmlHttpObj.open("GET",cdsnetAjaxConfig.assetPath + "/" + arguments[0] + ".js",false);
    __xmlHttpObj.send(null);
    if(__xmlHttpObj.readyState == 4){ 
        var ss = __xmlHttpObj.responseText+"";
        if(ss.substr(0,15)=="//@beginImport:"){
            var isa = ss.substr(15,ss.indexOf("@endImport",15)-15).split(",");
            for(var j = 0;j<isa.length;j++){
                if(!___cdsnetLoadedAssets[isa[j]]){
                    new ___scriptDataLoader(isa[j]);
                }
            }
        }
        document.write("<script type=\"text/javascript\" language=\"javascript\">"+ss+"</scr" + "ipt>");
        ___cdsnetLoadedAssets[arguments[0]]=ss;
    }
}
function cdsnetUsesAssets(){
    for(var i=0;i<arguments.length;i++){
        if(!___cdsnetLoadedAssets[arguments[i]])
            new ___scriptDataLoader(arguments[i]);
    }
}
function cdsnetUsesStyles(){
    for(var i=0;i<arguments.length;i++){
        if(!___cdsnetLoadedStyles[arguments[i]])
        {
            var stl = document.createElement("link");
            stl.id = arguments[i];
            stl.rel = "stylesheet";
            stl.type = "text/css";
            stl.href = cdsnetAjaxConfig.stylePath + "/" + arguments[i] + ".css";
            document.getElementsByTagName("head")[0].appendChild(stl);
            ___cdsnetLoadedStyles[arguments[i]] = stl;
        }
    }
}
function cdsnetMakeUrl(path){
    var p = path+"";
    if(p.length&&p.charAt(0)!='/')p='/'+p;
    return "http://" + window.location.host.replace("http://","") + p;
}

function getLoaderHtml(w,h){
    w = w ? w : '100%';
    h = h ? h : '100%';
    return '<table width="' + w + '" height="' + h + '"><tr><td align="center" valign="center"><img src="' + cdsnetMakeUrl("yonetim/img/ajax-loader.gif") + '" alt="Yükleniyor.." /></td></tr></table>';
}

function parseAnswer(XmlData){
    var obj = {result:null,success:0,message:''};
    var str = XmlData.toString();
    
    var m = null;
    var r = null;
    
    r = new RegExp(/<result>(.*)<\/result>/);
    m = r.exec(str);
    if(m != null)
        obj.result = m[1].split("&lt;").join("<").split("&gt;").join(">");
    r = new RegExp(/<success>(.*)<\/success>/);
    m = r.exec(str);
    if(m != null)
        obj.success = m[1];
    r = new RegExp(/<message>(.*)<\/message>/);
    m = r.exec(str);
    if(m != null)
        obj.message = m[1].split("&lt;").join("<").split("&gt;").join(">");

    return obj;
}

function clearXml(val){
    return val.split("<").join("&lt;").split(">").join("&gt;");
}

function createXml(cmd,params){
    var xml=    '<?xml version="1.0" encoding="utf-8"?>\n';
        xml+=   '<cdsnetCommand id="' + cmd + '">\n';
        for(var i in params){
        xml+=   '   <param id="' + i.toString().toLowerCase() + '">' + clearXml(params[i]) + "</param>";
        }
        xml+=   '</cdsnetCommand>';
    return xml;
}   

function doCommand(url, cmd, params, func){
    var xmlHttp = xmlHttpRequest();
    if(xmlHttp){
        var strData = createXml(cmd,params);
        xmlHttp.open('POST',url, true);
        xmlHttp.setRequestHeader("Content-type", "text/xml;");
        xmlHttp.setRequestHeader("Content-length", strData.length);
        xmlHttp.setRequestHeader("Connection", "close");
        if(func)func("init");
        xmlHttp.onreadystatechange=function(){
            if(xmlHttp.readyState == 4){
                if(xmlHttp.status == 200){
                    if(func)func("complete",parseAnswer(xmlHttp.responseText));
                }else{
                    if(func)func("error",xmlHttp.responseText);
                }
            }
        }
        xmlHttp.send(strData);
    }
}

function cdspanelPinger(){
    var xmlHttp = xmlHttpRequest();
    xmlHttp.open('POST',"http://" + window.location.host + "/pinger.aspx", true);
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded;");
    xmlHttp.setRequestHeader("Content-length", "3");
    xmlHttp.setRequestHeader("Connection", "close");
    xmlHttp.send("P=1");
    cdspanelPingerStarter();
}
function cdspanelPingerStarter(){
    window.setTimeout(cdspanelPinger,15000);
}
var windowOnLoad=new cdsnetOnEventData(window,"onload");
var windowOnUnload=new cdsnetOnEventData(window,"onunload");
var windowOnBeforeUnload=new cdsnetOnEventData(window,"onbeforeunload");
windowOnLoad.Add(___cdsnetSetVarsOnWindowLoad);
windowOnLoad.Add(cdspanelPingerStarter);