// to avoid double click
var bIsDbClick = false;
// server url
var server_url = '';

function sendForm(what, objForm, more) {
    // send form pagseguro
    if (what == 2) {
        // to avoid double click
        if (bIsDbClick) {
            return;
        } else {
            bIsDbClick = true;
        }
    	objForm.submit();
    }
    // exclude item
    if (what == 3) {
        // to avoid double click
        if (bIsDbClick) {
            return;
        } else {
            bIsDbClick = true;
        }
        // initialization
        var objServiceId = objForm.elements['data[Transitions][service_id]'];
        var objWhat = objForm.elements['data[Transitions][what]'];
        var arMore = more.split('|');
    	// has service id?
    	if (more != null) {
            var answer = confirm("Atenção você está prestes a excluir este item de seu pedido, quer continuar?");
            if (!answer){
                bIsDbClick = false;
                return;
            } else {
            	objServiceId.value = arMore[0];
            	objWhat.value = 'exclude';
            }
    	}
    	objForm.submit();
    	$("#wait_exc_"+arMore[0]).html('&nbsp;&nbsp;<img src="'+arMore[1]+'img/wait.gif" alt="" />');
    }
    // freight calculation
    if (what == 4) {
        // to avoid double click
        if (bIsDbClick) {
            return;
        } else {
            bIsDbClick = true;
        }
        // initialization
        var objCode1 = objForm.elements['data[Transactions][code1]'];
        var objCode2 = objForm.elements['data[Transactions][code2]'];
    	// code1 was inserted?
    	if (objCode1.value == null || objCode1.value == "") {
    		alert("Você se esqueceu de inserir o cep para consulta.");
    		objCode1.focus();
    		bIsDbClick = false;
    		return false;
    	} else {
    		if (objCode1.value.length < 5) {
    			alert("Este campo deve conter 5 dígitos.");
        		objCode1.focus();
        		bIsDbClick = false;
        		return false;
    		}
    	}
    	// code2 was inserted?
    	if (objCode2.value == null || objCode2.value == "") {
    		alert("Você se esqueceu de inserir o cep para consulta.");
    		objCode2.focus();
    		bIsDbClick = false;
    		return false;
    	} else {
    		if (objCode2.value.length < 3) {
    			alert("Este campo deve conter 3 dígitos.");
    			objCode2.focus();
        		bIsDbClick = false;
        		return false;
    		}
    	}
    	return true;
    }
    // change order quantity
    if (what == 5) {
        // to avoid double click
        if (bIsDbClick) {
            return;
        } else {
            bIsDbClick = true;
        }
        // initialization
        var objServiceId = objForm.elements['data[Transitions][service_id]'];
        var objWhat = objForm.elements['data[Transitions][what]'];
        if (more != null && more != '') {
        	// initialization
	        var arMore = more.split('|');
	        var objQuantity = objForm.elements['data[Transitions][quantity_'+arMore[0]+']'];
	    	// quantity was inserted?
	    	if (objQuantity.value == null || objQuantity.value == "") {
	    		alert("Você se esqueceu de inserir a quantidade desejada.");
	    		objQuantity.focus();
	    		bIsDbClick = false;
	    		return false;
	    	}
	    	// maximum quantity limit?
			if (parseInt(objQuantity.value) > parseInt(arMore[2])) {
				alert("20 pedidos por serviço é a quantidade máxima permitida.");
				objQuantity.focus();
	    		bIsDbClick = false;
	    		return false;
			}
	    	// minimum quantity limit?
			if (parseInt(objQuantity.value) == 0) {
				alert("Quantidade de pedido por serviço inválida.");
				objQuantity.focus();
	    		bIsDbClick = false;
	    		return false;
			}
        	objServiceId.value = arMore[0];
        	objWhat.value = 'quantity';
	    	objForm.submit();
			$("#wait_qty_"+arMore[0]).html('&nbsp;&nbsp;<img src="'+arMore[1]+'img/wait.gif" alt="" />');
        } else {
    		bIsDbClick = false;
    		return false;
        }
    }
    // send contact
    if (what == 6) {
        // to avoid double click
        if (bIsDbClick) {
            return;
        } else {
            bIsDbClick = true;
        }
        // initialization
        var objName = objForm.elements['data[pages][name]'];
        var objEmail = objForm.elements['data[pages][email]'];
        var objEmailConf = objForm.elements['data[pages][email_conf]'];
        var objSubject = objForm.elements['data[pages][subject]'];
        var objMessage = objForm.elements['data[pages][message]'];
    	// name was inserted?
    	if (objName.value == null || objName.value == "") {
    		alert("Você se esqueceu de colocar seu nome.");
    		objName.focus();
    		bIsDbClick = false;
    		return false;
    	}
    	// subject was inserted?
    	if (objSubject.value == null || objSubject.value == "") {
    		alert("Você se esqueceu de inserir o assunto.");
    		objSubject.focus();
    		bIsDbClick = false;
    		return false;
    	}
        // limit to 100 characters
        if(!limitChar('no campo: "assunto"', objSubject, 100)) {
        	objSubject.focus();
            bIsDbClick = false;
            return false;
        }
    	// comment was inserted?
    	if (objMessage.value == null || objMessage.value == "") {
    		alert("Você se esqueceu de inserir sua mensagem.");
    		objMessage.focus();
    		bIsDbClick = false;
    		return false;
    	}
        // limit to 1000 characters
        if(!limitChar('no campo: "mensagem"', objMessage, 1000)) {
        	objMessage.focus();
            bIsDbClick = false;
            return false;
        }
    	// email was inserted?
    	if (objEmail.value == null || objEmail.value == "") {
    		alert("Você se esqueceu de colocar seu email.");
    		objEmail.focus();
    		bIsDbClick = false;
    		return false;
    	}
		// email validation
		if (!emailValidation(objEmail)) {
			objEmail.focus();
		    bIsDbClick = false;
			return false;
		}
    	// email confirmation was inserted?
    	if (objEmailConf.value == null || objEmailConf.value == "") {
    		alert("Você se esqueceu de conferir seu email.");
    		objEmailConf.focus();
    		bIsDbClick = false;
    		return false;
    	}
		// email confirmation validation
		if (!emailValidation(objEmailConf)) {
			objEmailConf.focus();
		    bIsDbClick = false;
			return false;
		}
    	// email and email conf is the same?
    	if (objEmail.value != objEmailConf.value) {
    		alert("Seu email e sua confirmação são diferentes.");
    		objEmailConf.focus();
    		bIsDbClick = false;
    		return false;
    	}
    	objForm.submit();
    }
}

