function iframeRequest()
{
    var self=this;
    
    //Инициализация
    this.init=function(param){
        
	var p=['form','url','method','encode','target'];
	for(var i in p){
            self[p[i]]=param[p[i]];
	}

        //Получаем body
        self._body=document.body||document.getElementsByTagName('body')[0];
        
        //Создаём iframe
	try{//IE
            self._iframe=document.createElement('<iframe name="'+self.target+'">');
            self._iframe.src='javascript:;'//?
	}catch(e){//Другие
            self._iframe=createElement('iframe');
            self._iframe.src='#';
            self._iframe.name=self.target;
	}
	self._iframe.id=self._iframe.name;
        
	//Прячем
        self._iframe.style.border=self._iframe.style.height=self._iframe.style.width='0px';
        self._iframe.style.position='absolute';
        
        //Вставляем в body
	self._body.appendChild(self._iframe);
        
        addEvent(self._iframe,'load',function(){
            //Загружено
            if(self.readyState){
                self.readyState=4;
                self.onReadyStateChange();
            }
        });
        
        //Параметры form
        self._setAttr('action',self.url);
        self._setAttr('target',self.target);
        if(self.method)self._setAttr('method',self.method);
        if(self.encode){
            self._setAttr('enctype',self.encode);
            self._setAttr('encoding',self.encode);//ie
        }
        
        addEvent(self.form,'submit',function(){
            //Загрузка
            self.readyState=1;
            self.onReadyStateChange();
        })
        
    }
    
    //Назначение параметра form
    this.appendInput=function(type,name,value){
        
        var input;
        
	try{//IE
            input=document.createElement('<input type="'+type+'" name="'+name+'" value="'+value+'"/>');
	}catch(e){//Другие
            input=createElement('input');
            input.setAttribute('type',type);
            input.setAttribute('name',name);
            input.setAttribute('value',value);
	}
        
        self.form.appendChild(input)
        
    }
    
    //Возвращает ссылку на полученный документ
    this.getDocument=function(){
        
	if(self._iframe.contentDocument){//Gecko
		return self._iframe.contentDocument
	}else if(self._iframe.contentWindow){//IE
		return self._iframe.contentWindow.document
	}
        
    }
    
    //Назначение атрибута form
    this._setAttr=function(name,value){
        
        self.form.setAttribute(name,value)
        
    }

}