﻿// JScript File

function sack(file)
{
    this.xmlhttp=null;
    //ResetData function
    this.resetData=function()
    {
        this.method="POST";
        this.queryStringSeparator="?";
        this.argumentSeparator="&";
        this.URLString="";
        this.encodeURIString=true;
        this.execute=false;
        this.element=null;
        this.elementObj=null;
        this.requestFile=file;
        this.vars=new Object();
        this.responseStatus=new Array(2);
    };
    //ResetFunction function
    this.resetFunctions=function()
    {
        this.onLoading=function()
        {
        };
        this.onLoaded=function()
        {
        
        };
        this.onInteractive=function()
        {
        
        };
        this.onCompletion=function()
        {
        
        };
        this.onError=function()
        {
        };
        this.onFail=function()
        {
        
        };
    };
    //Reset function
    this.reset=function()
    {
        this.resetFunctions();
        this.resetData();
    };
    //CreateAjax function
    this.createAJAX=function()
    {
        try
        {
            this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e1)
        {
            try
            {
                this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e2)
            {
                this.xmlhttp=null;
            }
        }
        if(! this.xmlhttp)
        {
            if(typeof XMLHttpRequest !="undefined")
            {
                this.xmlhttp=new XMLHttpRequest();
            }
            else
            {
                this.failed=true;
            }            
        }
    };
    //SetVar function
    this.setVar=function(name,value)
    {
        this.vars[name]=Array(value,false);
    };
    //encrypt function
    this.encVar=function(name,value,returnvars)
    {
        if(true==returnvars)
        {
            return Array(encodeURIComponent(name),encodeURIComponent(value));
        }else
        {
            this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);
        }
    };
    this.processURLString=function(string,encode)
    {
        encoded=encodeURIComponent(this.argumentSeparator);
        regexp=new RegExp(this.argumentSeparator+"|"+encoded);
        varArray=string.split(regexp);
        for(i=0;i<varArray.length;i++)
        {
            urlVars=varArray[i].split("=");
            if(true==encode)
            {
                this.encVar(urlVars[0],urlVars[1]);
            }
            else
            {
                this.setVar(urlVars[0],urlVars[1]);
            }
        }
    };
    this.createURLString=function(urlstring)
    {
        if(this.encodeURIString&&this.URLString.length)
        {
            this.processURLString(this.URLString,true);
        }
        if(urlstring)
        {
            if(this.URLString.length)
            {
                this.URLString+=this.argumentSeparator+urlstring;
            }
            else
            {
                this.URLString=urlstring;
            }
        }
        this.setVar("rndval",new Date().getTime());
        urlstringtemp=new Array();
        for(key in this.vars)
        {
            if(false==this.vars[key][1]&&true==this.encodeURIString)
            {
                encoded=this.encVar(key,this.vars[key][0],true);
                delete this.vars[key];
                this.vars[encoded[0]]=Array(encoded[1],true);
                key=encoded[0];
            }
            urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];
        }
        if(urlstring)
        {
            this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);
        }
        else
        {
            this.URLString+=urlstringtemp.join(this.argumentSeparator);
        }
    };
    this.runResponse=function()
    {
        eval(this.response);
    };
    this.runAJAX=function(urlstring)
    {
        if(this.failed)
        {
            this.onFail();
        }
        else
        {
            this.createURLString(urlstring);
            if(this.element)
            {
                this.elementObj=document.getElementById(this.element);
            };
            if(this.xmlhttp)
            {
                var self=this;
                if(this.method=="GET")
                {
                    totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;
                    this.xmlhttp.open(this.method,totalurlstring,true);
                }
                else
                {
                    this.xmlhttp.open(this.method,this.requestFile,true);
                    try
                    {
                        this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                    }
                    catch(e)
                    {
                    
                    }
                }
                this.xmlhttp.onreadystatechange=function()
                {
                    switch(self.xmlhttp.readyState)
                    {
                        case 1:
                            self.onLoading();
                            break;
                        case 2:
                            self.onLoaded();
                            break;
                        case 3:
                            self.onInteractive();
                            break;
                        case 4:
                            self.response=self.xmlhttp.responseText;
                            self.responseXML=self.xmlhttp.responseXML;
                            self.responseStatus[0]=self.xmlhttp.status;
                            self.responseStatus[1]=self.xmlhttp.statusText;
                            if(self.execute)
                            {
                                self.runResponse();
                            };
                            if(self.elementObj)
                            {
                                elemNodeName=self.elementObj.nodeName;
                                elemNodeName.toLowerCase();
                                if(elemNodeName=="input" || elemNodeName=="select" || elemNodeName=="option" || elemNodeName=="textarea")
                                {
                                    self.elementObj.value=self.response;
                                }
                                else
                                {
                                    self.elementObj.innerHTML=self.response;
                                }
                            };
                            if(self.responseStatus[0]=="200")
                            {
                                self.onCompletion();
                            }
                            else
                            {
                                self.onError();
                            };
                            self.URLString="";
                            break;
                    }
                };
                this.xmlhttp.send(this.URLString);
            }
        }
    };
    this.reset();
    this.createAJAX()
}
var deletedItemIdList = '';

function getItemDelete(element,value)
{
    if(typeof(element)=='undefined') return;
    if(element.checked == true)
    {
        deletedItemIdList += value + ';';
    }
    else
    {
        deletedItemIdList = deletedItemIdList.replace(value + ';', '');
    }
}



function ClearDeletedItemGlobalVariable()
{

    deletedItemIdList = '';
  productList ='';
}
 function EditXml(divAdd,url)
    {
    url = url+"&key="+productList;
    ajax_loadContent(divAdd,url);
    ClearDeletedItemGlobalVariable();
    }
    
       var productList = '';
    function GetProductInfo(pid,att)
    {
        productList = productList + pid + "_" + att + ";";
             
    }
    
    function DeleteXml(div,url)
    {
       url = url+"&De="+deletedItemIdList;
    ajax_loadContent(div,url);
    ClearDeletedItemGlobalVariable();
    }
