// JScript File - Bilheteira.js:
// Descrição - Escolha de origem/destino, tipo da viagem (ida/volta) e datas de partida e chegada.
var diascompra = 1;
var formactionpage=''
var targetframe = ''
var nextpageurl = ''
var isprodsiteversion = false

function setInitVars(configsiteversion) {

    if (configsiteversion == "True")
        isprodsiteversion = true;
    else
        isprodsiteversion = false;

    
}

function setDiasCompra(maxdias) {
    diascompra = maxdias
}

function checkRFLEX(formactionpage, targetframe, serverdate, nextpageurl) {

	if ( testSubmit(serverdate) ) {
	    var fObj = document.frmDados;
	
	/*
		if ( fObj.destRFLEX.value.indexOf(',' + fObj.CodRNEDest.value + ',') != -1 ) {

		    formactionpage = 'bilRFLEXad.aspx?type=bilhetes';
		    
		}

*/

		// Testing with proxy
		/**********************************/
		
		if (!isprodsiteversion) {
		    fObj.dateDepart.value = '16-06-2008'
		    if (fObj.dateReturn.value!="")
		        fObj.dateReturn.value = '17-06-2008'
		}
		/**********************************/
		
            document.frmDados.action = formactionpage;
            document.frmDados.target = targetframe;

            document.frmDados.submit();
            if (nextpageurl!='')
                self.location.href = nextpageurl;
	}
}


function goNext(formactionpage, targetframe, serverdate, nextpageurl) {

    if (testSubmit(serverdate)) {

        var fObj = document.frmDados;

        // Testing with proxy
        /**********************************/
  
        if (!isprodsiteversion) {
            fObj.dateDepart.value = '16-06-2008'
            if (fObj.dateReturn.value != "")
                fObj.dateReturn.value = '17-06-2008'
        }
        /**********************************/

            document.frmDados.action = formactionpage;
            document.frmDados.target = targetframe;
            document.frmDados.submit();
            if (nextpageurl!='')
                self.location.href = nextpageurl;
	}
}

function testSubmit(serverdate) {

    if (!isprodsiteversion) {
        return true;
    }
   
    
    
	var fObj = document.frmDados;
	/*
	form fields:
		CodRNEOrigin
		dateDepart
		CodRNEDest
		dateReturn
	*/
	
  
	// CodRNEOrigin not empty
	if (isEmpty(fObj.CodRNEOrigin.value)) {
		//alert('Tem de seleccionar uma Origem.');
		alert(getMsg( document.frmDados.curLang.value, 'must_sel_o'));
		return false;
	}
	
	// CodRNEDest not empty
	if (isEmpty(fObj.CodRNEDest.value)) {
		//alert('Tem de seleccionar um Destino.');
		alert(getMsg( document.frmDados.curLang.value, 'must_sel_d'));
		return false;
	}

    //origin and destination can't be the same!
	if (fObj.CodRNEOrigin.value == fObj.CodRNEDest.value) {
	    alert(getMsg( document.frmDados.curLang.value, 'different_od'));
		//alert('O Destino não pode ser igual à Origem.');
		return false;
    }

    //NOW, max - to compare dates
    var dNow = serverdate 
    var dMax = getDiffDate(diascompra);
    

	// dateDepart not empty
	if (isEmpty(fObj.dateDepart.value)) {
	    alert(getMsg( document.frmDados.curLang.value, 'must_sel_ddep'));
		//alert('Tem de seleccionar a data de partida.');
		return false;
	}
    // check dateDepart: not empty, date (format (DD-MM-YYYY)
	if ( (!isEmpty(fObj.dateDepart.value)) && !isDate(fObj.dateDepart.value) ) {
	    alert( getMsg( document.frmDados.curLang.value, 'bad_ddep') + '\n(' + getMsg( document.frmDados.curLang.value, 'd_format_dmy') + ')');
		//alert('Data de partida inválida!\n(o formato correcto é DD/MM/AAAA)');
		fObj.dateDepart.focus();
		return false;
	} 
    // check dateDepart: >= today
	if ( !dateAfter(fObj.dateDepart.value, dNow, true) ) {
		alert( getMsg( document.frmDados.curLang.value, 'bad_ddep') + '\n(' + getMsg( document.frmDados.curLang.value, 'd_before_today') + ')');
		//alert('Data de partida inválida!\n(data anterior a hoje)');
		fObj.dateDepart.focus();
		return false;
	} 
    // check dateDepart: <= dMax
	if ( dateAfter(fObj.dateDepart.value, dMax, false) ) {
	    alert( getMsg( document.frmDados.curLang.value, 'bad_ddep') + '\n(' + getMsg( document.frmDados.curLang.value, 'd_n_days1', String(diascompra)) + ')');
		//alert('Data de partida inválida!\n(só pode seleccionar datas para os próximos ' + diascompra + ' dias)');
		fObj.dateDepart.focus();
		return false;
	} 

    // check dateReturn: empty or date (format (DD/MM/YYYY)
	if ( (!isEmpty(fObj.dateReturn.value)) && !isDate(fObj.dateReturn.value) ) {
		alert( getMsg( document.frmDados.curLang.value, 'bad_dret') + '\n(' + getMsg( document.frmDados.curLang.value, 'd_format_dmy') + ')');
		//alert('Data de volta inválida!\n(o formato correcto é DD/MM/AAAA)');
		fObj.dateReturn.focus();
		return false;
	} 
    // check dateReturn: empty or >= dateDepart 
	if ( (!isEmpty(fObj.dateReturn.value)) && !dateAfter(fObj.dateReturn.value, fObj.dateDepart.value, true) ) {
		alert( getMsg( document.frmDados.curLang.value, 'bad_dret') + '\n(' + getMsg( document.frmDados.curLang.value, 'd_before_ddep') + ')');
		//alert('Data de volta inválida!\n(não pode ser anterior à data de partida)');
		fObj.dateReturn.focus();
		return false;
	} 
    // check dateReturn: <= dMax
	if ( dateAfter(fObj.dateReturn.value, dMax, false) ) {
	    alert( getMsg( document.frmDados.curLang.value, 'bad_dret') + '\n(' + getMsg( document.frmDados.curLang.value, 'd_n_days1', diascompra) + ')');
		//alert('Data de volta inválida!\n(só pode seleccionar datas nos próximos ' + diascompra + ' dias)');
		fObj.dateReturn.focus();
		return false;
	} 
	
    //ok
	return true;
}



function startStuff(origin, datedepart, datereturn) {
    var fObj = document.frmDados;

    var CodRNEOrigin = origin;
            
    //put the dates back in the form
    var dateDepart = datedepart;
    var dateReturn = datereturn;

    fObj.dateDepart.value = dateDepart;
    fObj.dateReturn.value = dateReturn;

    if ( fObj.dateDepart.value + '' == '' )
        fObj.dateDepart.value = getCalendarDate();
}

function changeOrigin() {
    //submit form
    
    document.frmDados.CodRNEDest.options[0].text = "(" + getMsg( document.frmDados.curLang.value, 'wait_d') + ")"
    //document.frmDados.CodRNEDest.options[0].text = "(Aguarde...a obter destinos...)"
    document.frmDados.action = window.location.href;
    document.frmDados.target = '_self';
    document.frmDados.submit();
}

