var cRequest = new Class({

	Implements: [Options, Events],

	options: {

	},

	initialize: function(options){

		this.setOptions(options);
		this.name = 'cReq'+Math.ceil(Math.random()* 100);
	},
	name:'random',
	params:'',
	destUrl:'',
	destDom:'',
	reqUrl:'',
	onComplete:null,
	request:function(options){
      	
      	//descubre a donde va, para ponerlo como stack address

      	if($type(options.url) == "string")
      	{
      		var var_string = options.url;
			re = /http:\/\/\w+([\.-]?[a-z]+)*.com/;
			var ar = re.exec(var_string);
			this.destUrl = ar[0]+'/frame.php';
			this.destDom = ar[0]+'/';
			this.reqUrl = var_string.replace(re,"");
      	}
      	else
      	{
      		return null;
      	}
      	
      	
      	//lo primero es ver si hay parametros y entonses stackearlos en el servidor remoto
      	
      	
    	if($type(options.params) == "string")
    	{
    		this.params = options.params;
    	}
    	else
    	{
    		this.params = "";
    	}
    	
    	if($type(options.div) == "string")
    	{
    		this.params = this.params + "&div="+options.div+"&cRname="+this.name;
    	}
      	
      	if($type(options.onComplete) == 'function')
    	{
    		document.comCalls.set(this.name,options.onComplete);
    	}
      	
      	return this;
      	
	},
	send:function()
	{
	
      	//creamos el form
      	
      	if($type('stackFrame') != "element")
      	{
      		var formDiv = new Element('iframe', {
			    'id': 'stackFrame',
			    'name':'stackFrame',
			    'styles': {
			        'display': 'none'
			    }
			});
			
			formDiv.inject(document.body);
      	}
      	
      	
		if($type('stackForm') != "element")
		{
		
			var formStack = new Element('form',{
				'id':'stackForm',
				'action':this.destUrl,
				'method':'post',
				'target':'stackFrame'
			});
		}
		else
		{
			var formStack = $('stackForm');
		}
		
		formStack.empty();
		
		
		
		var lol = this.params;
		lol = lol + '&get='+this.reqUrl;
		var a = lol.split('&');
		$each(a,function(val){
			var temp = val.split('=');
			    
			var dummy = new Element('input',{
				'type':'hidden',
				'name':temp[0],
				'value':temp[1]
			});
			
			dummy.inject(formStack);
						
		});
		
		formStack.inject(document.body);
		formStack.submit();
		
		//fin de stackeo de parametros
  	
		
  	
      	
			
	}

});
