/*
 Feito por Fábio de Oliveira
 Analize de Requisitos -  
 Montar uma query com os dados do form
------------------------------------------
 O form terá o nome da tabela
 O campos terão os nomes dos atributos da tabela 
 form  >> document.forms
 tipo  >> I insert, U update
 filtro >> condição do upate "fk_cliente = 1"
 no atributo "alt" estiver escrito not não sera colocado na query
_____________________________________________
*/
function valida_senha(){
	if(document.getElementById('senha_cliente')){
		sn  = document.getElementById('senha_cliente').value;
		snc = document.getElementById('contra_senha').value;
		 
		 if((sn!=snc)&&(sn!='')){
			alert("Senha diferente da confirmação!");
			document.getElementById('senha_cliente').focus();
			document.getElementById('senha_cliente').value='';
			document.getElementById('contra_senha').value='';
			return false
		 }else{
			return true;
		 }
	}else{ return true;}
}

function valida_forms(objFrm,form,tipo,filtro){
	var i,b,valida,teste
	valida = 0;
	for(var i=0;i<form.length;i++){
		for(var b=0;b<form[i].elements.length;b++){
			if((form[i].elements[b].type!='button')&&(form[i].elements[b].title!='')&&(form[i].elements[b].type != 'submit')&&(form[i].elements[b].alt !='no')){
				if(!form[i].elements[b].value){
					alert(form[i].elements[b].title +' não pode estar em branco');
					form[i].elements[b].focus();
					valida= 1;
					return false;
					break;
				}
			}
		}
	}
	
	if(valida==0){
		if(valida_senha()){
			envia(objFrm,form,tipo,filtro)
		}else{ return false};
	}
}

function envia(objFrm,form,tipo,filtro){
 var i,b,sql,sql_atributo, ret ,b_query ,i_query 	
    sql = '';
	sql_atributo =''; 	
	ret = ''; 
	//alert('entro');
	for (var i=0;i<form.length;i++){
		if(form[i].title!=''){
			if(tipo=='I'){
				 sql_atributo = "insert into " + form[i].id + " (";  
				 sql = sql + " value('";												
				 }else if(tipo=='U'){
						sql_atributo = "update " + form[i].id + " set ";  
					 }
			for (var b=0;b<form[i].elements.length;b++){
				if((form[i].elements[b].alt!='no')&&(form[i].elements[b].title!='no')&&(form[i].elements[b].type)){
					if(form[i].elements[b].id =='query'){
						b_query = b;
						i_query = i;
					}else if((form[i].elements[b].type!='button') && (form[i].elements[b].type!='submit')){  
							if(tipo=='I'){
								//alert(form[i].elements[b].type+'-id:'+form[i].elements[b].id+'-nome :'+form[i].elements[b].name+'-valor:'+form[i].elements[b].value);
								sql_atributo = sql_atributo +  form[i].elements[b].id + ",";
								sql = sql + convert_date(form[i].elements[b].value) + "','";
							}else if(tipo=='U'){
									 
									 sql_atributo = sql_atributo +  form[i].elements[b].id + "='" + convert_date(form[i].elements[b].value) + "',";
								}
						}	
				}
			 }
			if(tipo=='I'){
				sql_atributo = sql_atributo.substr(0,sql_atributo.length-1) +  ") " + sql.substr(0,sql.length-2) + ") " ;
				sql = '';		
			}else{
				sql_atributo = sql_atributo.substr(0,sql_atributo.length-1) + " " + sql.substr(0,sql.length-1) + " where " + filtro;
				sql = "";
			}
	  		ret = ret + ' ' + sql_atributo      
		}
	}	
	//alert(ret);
	form[i_query].elements[b_query].value = ret;
	grava_form(objFrm);
	//form[0].elements[2].value = ret;
	//document.getElementById('msg').innerHTML = ret;
	//form[i_query].submit();
		
}

function alimenta_form(query){
	AjaxRequest.get({
			'url':"paginas/alimenta_form.php?query="+query,
			'onLoading':function(){
				document.getElementById('load').style.display = '';
				document.getElementById('load').innerHTML = msg_LoadingInfo;
			},
			'onSuccess':function(req){
	            var ret ,id ,i ,a ,str, vlr , obj
				ret = "";
				id  = "";
				str = "";
				vlr	= "";
				ret = req.responseText;

				for(i = 0;  i <= ret.length; i++){
					if(ret.substr(i,1)==";"){
						for(a = 0;  a <= str.length; a++){
				       	     if(str.substr(a,1)==":"){
							 	id = vlr;
								vlr = "";
							 }else{vlr = vlr + str.substr(a,1);}
						}
						
						id = id.replace(' ','');
						obj= document.getElementById(id);
						if((id=="id_imagem")&&(vlr!='')){get_img(vlr);}
						if(id=="senha_cliente"){
							document.getElementById('contra_senha').value = vlr;
						}
						if(document.getElementById(id)){document.getElementById(id).value=vlr;}
						if(obj){if(document.getElementById(id).type=='checkbox'){check_vlr(obj);}}
						id  = "";
						vlr = "";
						str = "";
						
					}else
					   str = str + ret.substr(i,1);
				}				
				//document.getElementById('msg').innerHTML = req.responseText;
				document.getElementById('load').style.display = 'none';
			},
			'onError':function(req){
				alert(msg_Error + req.statusText);
			}
		});
}	
	
function convert_date(value){
    if(value==''){value='';}
	if((value.substr(2,1)=='/')&&(value.substr(5,1)=='/')){
		return value.substr(6,4)+value.substr(2,4)+value.substr(0,2);
	}else{return value;}
}

function grava_form(frm){
		var result = AjaxRequest.submit(frm, {
			onLoading:function(){
					//alert('entro');
					document.getElementById('load').style.display = '';
					document.getElementById('load').innerHTML = msg_LoadingInfo;
				},
			'onSuccess':function(req){
				//alert(req.responseText);
				document.getElementById('load').innerHTML = req.responseText;
				//document.getElementById('load').style.display = 'none';
				frm.reset();
				if (frm.name=='tb_imagem'){document.getElementById('galeria_imagem').value='0';}
			},
			'onError':function(req){
				alert('Error:' + req.statusText);
			}
		});
		return result;
}