var dateLastPeriod = new Date();
var datePregnant = new Date();
var todayDate = new Date();
var firstManualPB;

function registerAjaxCalls() {
        ajaxEngine.registerRequest( 'getAjaxResults', 'ajax.php' );
        ajaxEngine.registerAjaxElement( 'testResults' );
        
        ajaxEngine.registerRequest( 'checkAge' , 'ageCheckAJAX.php');
        ajaxEngine.registerAjaxElement( 'checkAge' );
        
        ajaxEngine.registerRequest( 'checkPeriod' , 'periodCheckAjax.php');
        ajaxEngine.registerAjaxElement( 'checkPeriod' );
        
        ajaxEngine.registerRequest( 'checkLastPeriodDate' , 'lastPeriodCheckAJAX.php');
        ajaxEngine.registerAjaxElement ('lastPeriodDateError' );
        
        ajaxEngine.registerRequest( 'checkPregnantDate' , 'datePregnantCheckAJAX.php');
        ajaxEngine.registerAjaxElement( 'pregnantDateError' );
        
        init();
     }

function init(){
     dateLastPeriod.setFullYear(2012,12,31); 
     datePregnant.setFullYear(2012,12,31);  
}
  
    function setProgress(){
    
        if(document.getElementById('progressBar')){
            firstManualPB = new JS_BRAMUS.jsProgressBar($('progressBar'), 50, {animate: false, width: 240, height: 24});
            alert('ok');
        }        
    }
    
    
     function getResults() {
     
        ajaxload = document.getElementById('testResults');
        ajaxload.innerHTML = "<center><img src=\"images/ajaxloadpink.gif\" border=0 alt=\"loading...\"></center>";
        
        nbSymptoms = 0;
        
        //For Symptoms
        //
        //
        nbSymptoms = getSymptoms();
        
        var nbSymptomsString = "nbSymptoms=" + nbSymptoms;
        
        //For Birth Control methods
        birthControlArray =  getBirthControls();
        birthControlString = "birthControls=";
        
        for(var i=0;i<birthControlArray.length;i++)
        {
            birthControlString += birthControlArray[i];
            
            if(i != (birthControlArray.length-1))
                birthControlString += "|";
        }
        
        
        //For Age
        //
        //
        age = (document.getElementById('txtAge')).value;

        if (isNaN(parseInt(age)))
            age = 0;
        
        var ageString = "age=" + age;
        
        //For Period length
        //
        //
        period = (document.getElementById('txtPeriod')).value;

        if (isNaN(parseInt(period)))
            period = 0;
        
        var periodString = "period=" + period;
        
        //For Date
        var dateStringLastPeriod = "lastPeriod=" + dateLastPeriod.getFullYear() + "|" + (dateLastPeriod.getMonth()+1)  + "|" + dateLastPeriod.getDate(); 
        var dateStringPregnant = "datePregnant=" + datePregnant.getFullYear() + "|" + (datePregnant.getMonth()+1)  + "|" + datePregnant.getDate(); 

        //Intercourse
        intercourseString = "intercourse=No";
        if(document.getElementById('chkIntercourseYes').checked) {
            intercourseString = "intercourse=Yes";
        }
            
        ajaxEngine.sendRequest('getAjaxResults', nbSymptomsString, birthControlString, ageString, periodString, dateStringLastPeriod, dateStringPregnant, intercourseString);
        
     }
     
     function setPercentage()
     {
        if(document.getElementById('probability'))  {
            manualPB.setPercentage(document.getElementById('probability').value);
        }
        
     
     }
     
     function getBirthControls(){
        searchName = "BirthControl";
        birthControlArray = new Array();
        arrayIndex = 0;
        
        bc = document.getElementsByName(searchName);
        
        for(var i=0;i<bc.length;i++){
            currElement = bc[i];
            
            if(currElement.checked)
            {
                birthControlArray[arrayIndex] = currElement.id;
                arrayIndex += 1;
            }
        }     
     
        return birthControlArray;        
        
     
     }
     
     function noBirthControlClick(element)
     {
        searchName = "BirthControl";
        birthControlArray = new Array();
        
        bc = document.getElementsByName(searchName); 
        
        isDisabled = element.checked;
        
        for(var i=0;i<bc.length;i++){
            currElement = bc[i];
            
            if(currElement.id != 'None'){
                if(currElement.checked==true)
                {
                    currElement.checked=false;
                }
                
                currElement.disabled = isDisabled;
            }
        } 
     
     }
     
     function getSymptoms(){
     
        symptoms = document.getElementsByName("Symptoms");       
        nbSymptoms = 0;
        
        for(var i=0;i<symptoms.length;i++){
            currElement = symptoms[i];
            
            if(currElement.checked)
                nbSymptoms += 1;
        }     
     
        return nbSymptoms;
     
     }
     
     
     function checkAge() {
     
        ajaxload = document.getElementById('checkAge');
        ajaxload.innerHTML = "<img src=\"images/ajaxloadblue.gif\" border=0 alt=\"loading...\">";
        
        age = (document.getElementById('txtAge')).value;
        
        if (isNaN(parseInt(age)))
            age = 0;
        
        var ageString = "age=" + age;
        
        ajaxEngine.sendRequest('checkAge', ageString); 
        
        //Get Updated Results
        getResults();
     
     }
     
     function checkPeriod() {
        ajaxload = document.getElementById('checkPeriod');
        ajaxload.innerHTML = "<img src=\"images/ajaxloadblue.gif\" border=0 alt=\"loading...\">";
        
        period = (document.getElementById('txtPeriod')).value;
        
        if (isNaN(parseInt(period)))
            period = 0;
        
        var periodString = "period=" + period;
        
        ajaxEngine.sendRequest('checkPeriod', periodString);   
        
        //Get Updated Results
        getResults();
        
     }
     
     function checkLastPeriodDate() {
        ajaxload = document.getElementById('lastPeriodDateError');
        ajaxload.innerHTML = "<img src=\"images/ajaxloadblue.gif\" border=0 alt=\"loading...\">";
     
        var dateStringYear = "year=" + dateLastPeriod.getFullYear();
        var dateStringMonth = "month=" + (dateLastPeriod.getMonth()+1);
        var dateStringDay = "day=" + dateLastPeriod.getDate();   

        ajaxEngine.sendRequest('checkLastPeriodDate', dateStringYear, dateStringMonth, dateStringDay); 
        
        getResults();
     }
     
     function checkPregnantDate() {
        ajaxload = document.getElementById('pregnantDateError');
        ajaxload.innerHTML = "<img src=\"images/ajaxloadblue.gif\" border=0 alt=\"loading...\">";
     
        var dateStringYear = "year=" + datePregnant.getFullYear();
        var dateStringMonth = "month=" + (datePregnant.getMonth()+1);
        var dateStringDay = "day=" + datePregnant.getDate();    

        ajaxEngine.sendRequest('checkPregnantDate', dateStringYear, dateStringMonth, dateStringDay);  
        
        getResults();
     }
     
     function mutualExclusive(checkbox)
     {
        if(checkbox.checked){
            if (checkbox.id == "chkIntercourseYes")
                document.getElementById("chkIntercourseNo").checked = !checkbox.checked;
            else
                document.getElementById("chkIntercourseYes").checked = !checkbox.checked;
        }
     
     }
     