// JavaScript Document

// Recupera uma janela pelo id.
function GetWindows(id){
	var oManager = GetRadWindowManager();
	return oManager.GetWindowByName(id);
};

function showWindow(id, pwidth, pheight, purl){	
	var id_window = 'window_'+id;
	
	oWindow = GetWindows(id_window);
	if(!oWindow){
		RadWindowInitialize(id_window, id_window, "aes_"+id_window, false, purl,
							"", "", "", "", "", pwidth, pheight, "", "" ,id_window, "", 0, 127, 
							1, null, null, null, false, "", "", null,null,null,"" );
		oWindow = GetWindows(id_window);
		oWindow.SetUrl(purl);
		oWindow.Show();
	} 
	else{
		oWindow.Show();
	}
};

//cria as áreas que o usuário tem acesso
function createButtonArea(id,description, url){ 
    la = document.createElement("a"); 
	la.setAttribute("id",id);
 	la.setAttribute("href",url);
 	
    la.innerHTML='<table><tr><td class="buttonarea" width="170" height="35" align="center" background="images/Button.png">'+description+'</td></tr></table>';
 
	document.getElementById("divarea").appendChild(la);
}    


function AJAX(url, method, params,process,way){
	this.url = url;
	this.method = (method)?method:'GET';
	this.params	= (method='GET')?null:params;
	this.processResult = process;
	this.way = (way)?way:'T';
	if(this.way!='T' && this.way !='X'){
			this.way = 'T';
	}
	//this.connect();
}

AJAX.prototype= {
	connect:	function(){
					if(this.url==undefined||this.url==''){
						return;
					}
					this.httprequest = null;
					if(window.XMLHttpRequest){  //Mozilla, Safari,...
						this.httprequest = new XMLHttpRequest();
					}else	if (window.ActiveXObject){   //IE
								try{
									this.httprequest = new ActiveXObject("Msxm12.XMLHTTP");
								}catch(e){
									try{
										this.httprequest = new ActiveXObject("Microsoft.XMLHTTP");
									}catch(e){}
								}
							
					}
					if (this.httprequest!=null && this.httprequest!=undefined){
						var obj = this;
						this.httprequest.onreadystatechange = function(){ obj.processReturn.call(obj); }
						this.httprequest.open(this.method, this.url,true);
						this.httprequest.send(this.params);
					}
	},
	
	processReturn:	function(){
						if(this.httprequest.readyState==4){
							if(this.httprequest.status == 200 ) {
								var resp = (this.way == 'T')?this.httprequest.responseText:this.httprequest.responseXML;
								if (this.processResult!=null){
									this.processResult(resp);
								}else{
									document.write(resp);
								}
							}else{
								this.processError();
							}
						}
	},
			
	processError:	function(){
						alert(this.httprequest.status+' - '+this.httprequest.statustext+' :-> '+this.url);
					}

}


//type of button: all, insert, post, delete, cancel	
function dbnavigator(pbutton){
	var html='';
	if(pbutton.indexOf("all",0)>=0 || pbutton.indexOf("insert",0) >= 0 )
		html+= '<a href="JavaScript:doinsert();" ><img src="../extras/navigator/insert.png" /></a>';
	if(pbutton.indexOf("all",0)>=0 || pbutton.indexOf("post",0) >= 0 )
		html+= '<a href="JavaScript:dopost();" ><img src="../extras/navigator/post.png" /></a>';
	if(pbutton.indexOf("all",0)>=0 || pbutton.indexOf("delete",0) >= 0 )
		html+= '<a href="JavaScript:dodelete();" ><img src="../extras/navigator/del.png" /></a>';
	if(pbutton.indexOf("all",0)>=0 || pbutton.indexOf("cancel",0) >= 0 )
		html+= '<a href="JavaScript:docancel();"><img src="../extras/navigator/cancel.png" /></a>';
		
	return html;
}

function selectOption(sel,value){
	for(var i = 0; i < sel.length; i++){
		if ( sel.options[i].value == value){
			sel.options[i].selected = true;
		}else{
			sel.options[i].selected = false;
		}
	}
}

function selectLoad(selp, result ){
	var rows = result.getElementsByTagName('records');
	var fields = result.getElementsByTagName("data/fields")[0].firstChild.nodeValue;
	var ar_fields = fields.split(";");
	var numberofrows = result.getElementsByTagName("data/numberofrows")[0].firstChild.nodeValue;
	
	for(var i =0; i < numberofrows; i++){
		var row = rows[0];
		var code= eval('row.getElementsByTagName("'+ar_fields[0]+'")['+i+'].firstChild.nodeValue;');
		var desc= eval('row.getElementsByTagName("'+ar_fields[1]+'")['+i+'].firstChild.nodeValue;');
		var opt = new Option(desc,code);
		selp.add(opt);				
	}	
}

function processAfterPost( result ){
	//		
}

function clearTable(tbody) {
    while (tbody.rows.length > 0) {
        tbody.deleteRow(0);
    }
}
