﻿/* Scripts para uso geral */
function clearfield(fieldName)
{
    fieldName.value = "";
}

/* Script para Container Tracking */
var MAX_SEARCH_CHAR = 250;

function onChangeTextArea(obj, maxlength) {
	if (obj.value.length > maxlength) {
		obj.value = obj.value.substring(0, maxlength);
		return false;
	}
    return true;
}

function onKeyUpTextArea(obj, maxlength, event) {
	if ((event) && ((event.keyCode==0) || (event.keyCode==8) || (event.keyCode>=35 && event.keyCode<=40) || event.keyCode==46)) {
		return true;
	}
	if (obj.value.length > maxlength) {
		obj.value = obj.value.substring(0, maxlength);
		return false;
	}

    return true;
}

/* Script para a aba ROTAS do AJAX */
function schedOnAdvClick() {
    var vsForm = document.forms.rotaForm;
	vsForm.fromCity.value = "";
	vsForm.toCity.value = "";
	vsForm.action = "http://www2.nykline.com/vesselschedules/loadVesselSchedulesSearch.nyk";
	if (window.enableCache)
	    window.enableCache();
	vsForm.submit();
}

/* Script para a aba NAVIOS do AJAX */
function schedFormOnSubmit() {
    var vsForm = document.forms.navioForm;
	var vsNavio = vsForm.navioNome.value;
	vsForm.action = "http://www2.nykline.com/vesselsearch/displaySchedule.nyk?vesselName=" + vsNavio;
	if (window.enableCache)
	    window.enableCache();
	vsForm.submit();
}

/* Script para a aba PORTOS do AJAX */
function schedPortFormOnSubmit() {
    var vsForm = document.forms.portoForm;
	var vsfromDate = vsForm.fromDate.value;
	var vstoDate = vsForm.toDate.value;
	var vsPorto = vsForm.portoNome.value;
	var nfromMonth = vsfromDate.substr(3,2) - 1;
	var ntoMonth = vstoDate.substr(3,2) - 1;
	
	if (!CheckDate(vsForm.fromDate))
	{
	    alert('Data Inicial Inválida');
	    return false;
	}
	
	if (!CheckDate(vsForm.toDate))
	{
	    alert('Data Final Inválida');
	    return false;
	}
	
	vsForm.action = "http://www2.nykline.com/portschedules/displaySchedule.nyk?portName=" + vsPorto + "&fromDateDay=" + vsfromDate.substr(0,2) + "&fromDateMonth=" + nfromMonth + "&fromDateYear=" + vsfromDate.substr(6,4) + "&toDateDay=" + vstoDate.substr(0,2) + "&toDateMonth=" + ntoMonth + "&toDateYear=" + vstoDate.substr(6,4);
	if (window.enableCache)
	    window.enableCache();
	vsForm.submit();
}

function CheckDate(pObj) {
    var expReg = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/(19|20)?\d{2}$/;
    var aRet = true;
    if ((pObj) && (pObj.value.match(expReg)) && (pObj.value != '')) {
        var dia = pObj.value.substring(0,2);
        var mes = pObj.value.substring(3,5);
        var ano = pObj.value.substring(6,10);
        if ((mes == 4 || mes == 6 || mes == 9 || mes == 11 ) && dia > 30)
            aRet = false;
        else if ((ano % 4) != 0 && mes == 2 && dia > 28)
            aRet = false;
        else if ((ano%4) == 0 && mes == 2 && dia > 29)
            aRet = false;
    }  else
        aRet = false;
    return aRet;
}

function MaskField(o,f) {
    v_obj = o;
    v_fun = f;
    setTimeout("ExecMask()",1);
}

function ExecMask() {
    v_obj.value = v_fun(v_obj.value);
}

function Data(v){
    v=v.replace(/\D/g,"");
    v=v.replace(/(\d{2})(\d)/,"$1/$2");
    v=v.replace(/(\d{2})(\d)/,"$1/$2");
    v=v.replace(/(\d{2})(\d{2})$/,"$1$2");
    return v;
}
