// JavaScript Document
//add ConvertMonth(); convertCalendar();

<!--Prepare XML Data -->
if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else // Internet Explorer 5/6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET","tz_data.xml",false);
xhttp.send("");
xmlDoc=xhttp.responseXML;
<!-- XML data ready for use -->

function convertMonth(m){
var monthArray =new Array(12);
monthArray[0]="JAN";
monthArray[1]="FEB";
monthArray[2]="MAR";
monthArray[3]="APR";
monthArray[4]="MAY";
monthArray[5]="JUN";
monthArray[6]="JUL";
monthArray[7]="AUG";
monthArray[8]="SEP";
monthArray[9]="OCT";
monthArray[10]="NOV";
monthArray[11]="DEC";
var monthSelected = 0;
for (i=0; i<12; i++){
if (m == monthArray[i]){
monthSelected = i;
return monthSelected;
}
}
}

function convertCalendar(){
var MD = document.getElementsByName('MeetingDate')[0].value;
//document.write("It is:" + d);
var splitMD = MD.split(/-/g);
//document.write(splitMD[0]);
//document.write(splitMD[1]);
//document.write(splitMD[2]);
return splitMD;
}



//Function to find day
function findDay(yearInput, monthInput, dateInput){
var d = new Date(yearInput, monthInput, dateInput);
//var d = new Date();
//d.setFullYear(yearInput, monthInput, dateInput);
//document.write(d);
//document.write("Today is " + weekday[d.getDay()]);
//document.write(d.toDateString());
return d;
}



//Function to print AM and PM time
function printTime(dt){

}

<!-- function to access XML data -->
function accessXMLdata(){
var x=xmlDoc.getElementsByTagName("Location");
for (i=0;i<x.length;i++)
  {
 document.write(x[i].getElementsByTagName("Country")[0].childNodes[0].nodeValue);
 document.write(x[i].getElementsByTagName("Region")[0].childNodes[0].nodeValue);

 }
}
function findStdBias(loc){
var timeZoneData=xmlDoc.getElementsByTagName("Location");
var dataLength= timeZoneData.length;
for (i=0; i<dataLength; i++){
var parsingCity = timeZoneData[i].getElementsByTagName("City")[0].childNodes[0].nodeValue;

if (loc == parsingCity){
   var StdBias =timeZoneData[i].getElementsByTagName("StdBias")[0].childNodes[0].nodeValue;
   StdBias = StdBias/100;
   //document.write(StdBias);
   return StdBias; 
}}}

function findDstBias(loc){
var timeZoneData=xmlDoc.getElementsByTagName("Location");
var dataLength= timeZoneData.length;
//if (!(timeZoneData[i].getElementsByTagName("DstBias")[0])){
//document.write(loc + "Has No Dst Tag" + "<br/>");
//}
for (i=0; i<dataLength; i++){

var parsingCity = timeZoneData[i].getElementsByTagName("City")[0].childNodes[0].nodeValue;
if (loc == parsingCity){
    if (!(timeZoneData[i].getElementsByTagName("DstBias")[0])){   //DstBias Tag Does NOT exist
    DstBias = false;
    }
    else if (timeZoneData[i].getElementsByTagName("DstBias")[0]){
    var DstBias = timeZoneData[i].getElementsByTagName("DstBias")[0].childNodes[0].nodeValue;
    DstBias = DstBias/100;
    }
    else {
    }
    
    return DstBias;
}}}

function findDstStart(loc){
var timeZoneData=xmlDoc.getElementsByTagName("Location");
var dataLength= timeZoneData.length;
for (i=0; i<dataLength; i++){
var parsingCity = timeZoneData[i].getElementsByTagName("City")[0].childNodes[0].nodeValue;
if (loc == parsingCity){
var DstStart = timeZoneData[i].getElementsByTagName("DstStart")[0].childNodes[0].nodeValue;
    
   return DstStart;
}}}
function findDstEnd(loc){
var timeZoneData=xmlDoc.getElementsByTagName("Location");
var dataLength= timeZoneData.length;
for (i=0; i<dataLength; i++){
var parsingCity = timeZoneData[i].getElementsByTagName("City")[0].childNodes[0].nodeValue;
if (loc == parsingCity){
var DstEnd = timeZoneData[i].getElementsByTagName("DstEnd")[0].childNodes[0].nodeValue;
   //document.write(DstEnd);
  return DstEnd; 
}}}

function convertDstFormat(dstStartEnd){
var ary = dstStartEnd.split(/\s/g); //0200, 1ST-SUN-OCT
return ary;
}


function splitDstFormat(ary){
var date = ary[1];
var patt1="/-";
//document.write(str.match(patt1));
//if (ary[1].match(patt1) != false){      //ary[1] contains "-"
if ((date.indexOf("-")) >= 0){ 
var ary2 = date.split(/-/g);
//document.write("Regular");
return ary2;

}
else{
//document.write("Not Regular");
var ary2 = date.split(/\//g);

return ary2;
}
}






function constructDstDate(ary2, yearSelected){
if (ary2[2] != null){

var monthArray =new Array(12);
monthArray[0]="JAN";
monthArray[1]="FEB";
monthArray[2]="MAR";
monthArray[3]="APR";
monthArray[4]="MAY";
monthArray[5]="JUN";
monthArray[6]="JUL";
monthArray[7]="AUG";
monthArray[8]="SEP";
monthArray[9]="OCT";
monthArray[10]="NOV";
monthArray[11]="DEC";
var weekArray = new Array(4);
weekArray[0]="1ST";
weekArray[1]="2ND";
weekArray[2]="3RD";
weekArray[3]="LST";
var weekday=new Array(7);
weekday[0]="SUN";
weekday[1]="MON";
weekday[2]="TUE";
weekday[3]="WED";
weekday[4]="THU";
weekday[5]="FRI";
weekday[6]="SAT";
var numMon = 0;
for (i=0; i<12; i++){
if (ary2[2] == monthArray[i]){
numMon = i;
}
else{
}
}
//document.write("The DST month is:" + numMon + "<br/>");

for (j=0; j<7; j++){  //Check which day in the week
if (ary2[1] == weekday[j]){
numDay = j;
}
else {
}
}
//document.write("The DST weekday is:" + numDay + "<br/>");

var d = new Date(yearSelected, numMon, 1);
for (j=1; j<30; j++){
var loopDate = d.getDay(); //find what weekday it is e.g. Mon Thu
if (loopDate == numDay){
//Continue to find which week e.g. 1ST, 2nd, Lst
    for (k=0; k<=3; k++){
        if(ary2[0] == weekArray[k]){
            if (ary2[0] == "LST"){  //DST is "LST"
            var addDays = k * 7;
            var newLoopDate = j + addDays + 7; //add extra 7 days to see if still fall in current month
            d.setDate(newLoopDate);          
                if (d.getMonth() == numMon){ //still fall in current month                    
                    d.setDate(newLoopDate);
                    j = 1000;
                    return d;
                    }
                else if (d.getMonth() != numMon){             
                var oldLoopDate = newLoopDate - 7;
                d.setMonth(d.getMonth() - 1);
                d.setDate(oldLoopDate);
                    j = 1000;
                    return d;
                }  
                else {
                }                         
            }
            else{   //Dst is "1ST", "2ND" or "3RD"
            var addDays = k * 7;
            d.setDate(j + addDays);           
            j = 1000; //to stop the loop
            return d;
            }
        }
        else{       
        }    
    } 
}
else{
d.setDate(j+1);
}
}
}

else{

var monthArray =new Array(12);
monthArray[0]="1";
monthArray[1]="2";
monthArray[2]="3";
monthArray[3]="4";
monthArray[4]="5";
monthArray[5]="6";
monthArray[6]="7";
monthArray[7]="8";
monthArray[8]="9";
monthArray[9]="10";
monthArray[10]="11";
monthArray[11]="12";
for (i=0; i<12; i++){
if (ary2[1] == monthArray[i]){
numMon = i;
}
}
var d = new Date(yearSelected, numMon, ary2[0]);
return d;
}
}

//Find Correspondng XML data according to location selected in location menu 2,3,4, and 5
function findTagValue(loc){
var timeZoneData=xmlDoc.getElementsByTagName("Location");
var dataLength= timeZoneData.length;
for (i=0; i<dataLength; i++){
var parsingCity = timeZoneData[i].getElementsByTagName("City")[0].childNodes[0].nodeValue;
if (loc == parsingCity){
   var StdBias =timeZoneData[i].getElementsByTagName("StdBias")[0].childNodes[0].nodeValue;
   StdBias = StdBias/100;
   //document.write(StdBias);
   return StdBias;      
   var DstBias = timeZoneData[i].getElementsByTagName("DstBias")[0].childNodes[0].nodeValue;
  DstBias = DstBias/100;
  //document.write(DstBias);
  return DstBias;
   var DstStart = timeZoneData[i].getElementsByTagName("DstStart")[0].childNodes[0].nodeValue;
    document.write(DstStart);
   return DstStart;   
   var DstEnd = timeZoneData[i].getElementsByTagName("DstEnd")[0].childNodes[0].nodeValue;
  return DstEnd;    
}
}
}

function findAllTagValue(){
var timeZoneData=xmlDoc.getElementsByTagName("Location");
var dataLength= timeZoneData.length;
for (i=0; i<dataLength; i++){
var parsingCity = timeZoneData[i].getElementsByTagName("City")[0].childNodes[0].nodeValue;
if (loc == parsingCity){
   var StdBias =timeZoneData[i].getElementsByTagName("StdBias")[0].childNodes[0].nodeValue;
  // document.write(StdBias);
    return StdBias;  
   var DstBias = timeZoneData[i].getElementsByTagName("DstBias")[0].childNodes[0].nodeValue;
  //document.write(DstBias);
  return DstBias; 
   var DstStart = timeZoneData[i].getElementsByTagName("DstStart")[0].childNodes[0].nodeValue;
   //document.write(DstStart);
   return DstStart;
   var DstEnd = timeZoneData[i].getElementsByTagName("DstEnd")[0].childNodes[0].nodeValue;
  //document.write(DstEnd);
   return DstEnd;
}
}
}



function fillColor(default_time){
document.write("<tr ");
if (default_time <=6 && default_time >= -2){
document.write("bgcolor='#FFC6C6'><td>");
}
else if (default_time >=22 && default_time <=30){
document.write("bgcolor='#FFC6C6'><td>");
}
else if (default_time >=31 && default_time <=32){
document.write("bgcolor='#FFFFCA'><td>");
}
else if (default_time >=33 && default_time <=36){
document.write("bgcolor='#D9FFD9'><td>");
}
else if (default_time <= -18 && default_time >= -24){
document.write("bgcolor='#FFC6C6'><td>");
}
else if (default_time >= 9 && default_time <= 17){
document.write("bgcolor='#D9FFD9'><td>");
}
else if (default_time <= -7 && default_time >= -15){
document.write("bgcolor='#D9FFD9'><td>");
}
else if (default_time == 7 || default_time == 8){
document.write("bgcolor='FFFFCA'><td>");
}
else if (default_time == -16 || default_time == -17){
document.write("bgcolor='FFFFCA'><td>");
}
else if (default_time >=18 && default_time >=21){
document.write("bgcolor='FFFFCA'><td>");
}
else{
document.write("bgcolor='FFFFCA'><td>");
}
}
function convertDefaultTime(d){
//if (d >= 0 && d <= 12){
//return d;
//}
//if (d>12 && d<24){
//d = d - 12;
//return d;
//}
if (d >=24 && d <= 36){
d = d - 24;
return d;
}
else if (d >=36 && d < 48){
d = d - 24;
return d;
}
//else if (d < 0){


//}
//else if (d < 0 && d >= -11){
//d = 12 + d; 

//}
//else if (d <= -12 && d >= -24){
//d = 24 + d; 

//}
else if (d <= -24 && d >=-36){
d = d + 48;
return d;
}
else if (d < -36 && d >=-48){
d = d + 48;
return d;
}
else {
d = d;
return d;
}
}


<!-- function print() called when button is pressed-->
function print(){

var dArray = convertCalendar(); //get the user inputs from calender (in array format)
document.write(dArray[0]);
document.write(dArray[2]);

/**
//get month input from user
var monthMenu = document.getElementById("month");
var monthSelected = monthMenu.options[monthMenu.selectedIndex].text;
var monthSelectedInNum = monthMenu.options[monthMenu.selectedIndex].id;
//get day input from user
var dayMenu = document.getElementById("day");
var daySelected = dayMenu.options[dayMenu.selectedIndex].text;
//get year input from user
var yearMenu = document.getElementById("year");
var yearSelected = yearMenu.options[yearMenu.selectedIndex].text;
**/


//get loc input from user
var Location1Menu = document.getElementById("Location1Menu");
var Loc1 = Location1Menu.options[Location1Menu.selectedIndex].id;
var Loc1Name = Location1Menu.options[Location1Menu.selectedIndex].text;
monthMenu.options[monthMenu.selectedIndex].text
var Location2Menu = document.getElementById("Location2Menu");
var Loc2 = Location2Menu.options[Location2Menu.selectedIndex].id;
var Loc2Name = Location2Menu.options[Location2Menu.selectedIndex].text;
var Location3Menu = document.getElementById("Location3Menu");
var Loc3 = Location3Menu.options[Location3Menu.selectedIndex].id;
var Loc3Name = Location3Menu.options[Location3Menu.selectedIndex].text;

var Location4Menu = document.getElementById("Location4Menu");
var Loc4 = Location4Menu.options[Location4Menu.selectedIndex].id;
var Loc4Name = Location4Menu.options[Location4Menu.selectedIndex].text;

var Location5Menu = document.getElementById("Location5Menu");
var Loc5 = Location5Menu.options[Location5Menu.selectedIndex].id;
var Loc5Name = Location5Menu.options[Location5Menu.selectedIndex].text;

var Location6Menu = document.getElementById("Location6Menu");
var Loc6 = Location6Menu.options[Location6Menu.selectedIndex].id;
var Loc6Name = Location6Menu.options[Location6Menu.selectedIndex].text;

//Create default time and an array of weekdays
var default_time = 0;
var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";

//get locations nput value from user
//var Loc1 = document.getElementById("Location1").value;
//var Loc2 = document.getElementById("Location2").value;
//var Loc3 = document.getElementById("Location3").value;
//var Loc4 = document.getElementById("Location4").value;
//var Loc5 = document.getElementById("Location5").value;
//var Loc1 = Location1Menu.options[Location1Menu.selectedIndex].id;
document.write("<img src='/8mary-1.jpg' width='640' height='38'><img src='/8mary-2.jpg' width='640' height='79'>");
document.write("<h2>" + "World Meeting Planner Result" + "</h2><br/>");
document.write("<table cellpadding=2 border=1 ><tr><td bgcolor='#D9FFD9'>Day</td><td bgcolor='FFFFCA'>Morning/Evening</td><td bgcolor='FFC6C6'>Night</td></tr></table><br/>");
//===================================
//FIRST Location Column
//===================================
if (Loc1 != 0){
//document.write("<div style='text-align:center'>");
var StdBiasLoc1Found = findStdBias(Loc1);
var DstBiasLoc1Found = findDstBias(Loc1);   //DstBiasLoc1Found is false if NO DstBias tag in XML

//----------------------------------------------------
//*****Find DST Date and Time for FIRST Location ****/////////
//----------------------------------------------------
if (DstBiasLoc1Found != false){
//document.write("Continue");

var DstStartLoc1Found = findDstStart(Loc1);
var ary5 = convertDstFormat(DstStartLoc1Found);
var ary6 = splitDstFormat(ary5);
var DstStartConvertedLoc1 = constructDstDate(ary6, yearSelected);
var dstStartTimeLoc1 = ary5[0]/100;

var DstEndLoc1Found = findDstEnd(Loc1);
var ary7 = convertDstFormat(DstEndLoc1Found);
var ary8 = splitDstFormat(ary7);
var DstEndConvertedLoc1 = constructDstDate(ary8, yearSelected);
var dstEndTimeLoc1 = ary7[0]/100;
}
else if (DstBiasLoc1Found == false){


}

var d = findDay(yearSelected, monthSelectedInNum, daySelected);
//document.write("<div style='height:30px;'>");
document.write("<table cellpadding='1' cellspacing='0' border='1' bgcolor='#EECB60'  style='float:left; font-size:14px;'>");
document.write("<tr><td>");
document.write("<strong><center>" + Loc1Name + "</center></strong>");
document.write("</td></tr>");

for (row=0; row<24; row++){
////add below//////
var dstOn = false;
var dstOff = false;
var dstStartDate;
var dstEndDate;

fillColor(default_time);

if (DstBiasLoc1Found != false){

if (DstStartConvertedLoc1.toString() == d.toString()){
    //document.write("In somewhere");
    if (dstStartTimeLoc1 == default_time){
        dstOn = true;
    }
    else {dstOn = false;
    }
}
else if (DstEndConvertedLoc1.toString() == d.toString()){
    if (dstEndTimeLoc1 == default_time){
        dstOff = true;
    }
    else {
    dstOff = false;
    }
}
else{
}

}
else if (DstBiasLoc1Found == false){
}


///If DST on or off happen, change default time accordingly (can put in function for reuse)
if (dstOn == true){
default_time = default_time + 1;}

else if (dstOff == true){
default_time = default_time - 1; 
dstEndTimeLoc1 = 300;

}
//else if (dstOff == false){  //DST observed
//default_time = default_time + 1;
//document.write("dstOff not yet, DT is" + default_time);
//}
else{
}

///added above/////////
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
document.write(d.toDateString());

document.write(" ")
//Set times for the first location
if (default_time <12){
document.write(default_time + ":00 AM");
}
else if (default_time >12){
PM_time = default_time - 12;
document.write(PM_time + ":00 PM");
}
else if (default_time = 12){
document.write("12:00 PM");
}
default_time = default_time + 1;
document.write("</td></tr>");
}
document.write("</table>");
}


//==========================================
//         SECOND LOCATION COLUMN
//==========================================
if (Loc2 != "none"){
var StdBiasLoc1Found = findStdBias(Loc1);
var StdBiasLoc2Found = findStdBias(Loc2);
//var default_time =  StdBiasLoc2Found - StdBiasLoc1Found; //////////////////////////////////////////
var DstBiasLoc2Found = findDstBias(Loc2);    //DstBiasLoc2Found can be "false"
var DstBiasLoc1Found = findDstBias(Loc1);   //DstBiasLoc2Found can be "false"

//document.write("DstBiasLoc2Found" + DstBiasLoc2Found);
if (DstBiasLoc2Found != false){

}
else if (DstBiasLoc2Found == false){

}
//----------------------------------------------------
//*****Find DST Date and Time for SECOND Location ****/////////
//----------------------------------------------------
if (DstBiasLoc2Found != false){
//document.write("Continue");

var DstStartLoc2Found = findDstStart(Loc2);
var ary = convertDstFormat(DstStartLoc2Found);
var ary2 = splitDstFormat(ary);
var DstStartConverted = constructDstDate(ary2, yearSelected);

//document.write("DstStartConverted" + DstStartConverted);
var dstStartTime = ary[0]/100;

var DstEndLoc2Found = findDstEnd(Loc2);
var ary3 = convertDstFormat(DstEndLoc2Found);
var ary4 = splitDstFormat(ary3);
var DstEndConverted = constructDstDate(ary4, yearSelected);

var dstEndTime = ary3[0]/100;
}
else{

}
//----------------------------------------------------
//*****Find DST Date and Time for FIRST Location ****/////////
//----------------------------------------------------
if (DstBiasLoc1Found != false){
var DstStartLoc1Found = findDstStart(Loc1);
var ary5 = convertDstFormat(DstStartLoc1Found);
var ary6 = splitDstFormat(ary5);
var DstStartConvertedLoc1 = constructDstDate(ary6, yearSelected);
var dstStartTimeLoc1 = ary5[0]/100;

var DstEndLoc1Found = findDstEnd(Loc1);
var ary7 = convertDstFormat(DstEndLoc1Found);
var ary8 = splitDstFormat(ary7);
var DstEndConvertedLoc1 = constructDstDate(ary8, yearSelected);
var dstEndTimeLoc1 = ary7[0]/100;
}
else{
}
//----------------------------------------------------
//*****Find Default_time for SECOND Location ****/////////
//----------------------------------------------------
//function findDefaultTime(DstStartConverted, DstEndConverted)
//document.write("DstStartConverted " + DstStartConverted + "<br/>");
//document.write("DstEndConverted " + DstEndConverted + "<br/>");
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
//document.write("d " + d);
if (DstBiasLoc2Found != false){

if (DstEndConverted > DstStartConverted){  //NORTH HEMISPHERE Countries
    if (d > DstStartConverted && d < DstEndConverted){   //DST observed
    default_time = DstBiasLoc2Found - StdBiasLoc1Found;
    var dstNH = true;
    
    //return default_time;
    //document.write("Good here, Default time is " + default_time);
    }
    else if (d > DstEndConverted || d < DstStartConverted){ //DST not observed
    default_time = StdBiasLoc2Found - StdBiasLoc1Found;
    //document.write("Good here???");
    
    } 
    /**
    else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc2Found - StdBiasLoc1Found;   //DST exactly as user input - d
   // document.write("In else");
    }**/
    
     else if (d.toString() == DstStartConverted.toString()){
         default_time = StdBiasLoc2Found - StdBiasLoc1Found;  //Use Std time first
////     document.write("In here");
////     document.write("DefaultTIme" + default_time);
////          document.write("DST Start time" + dstStartTime);
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        //document.write("DST not oberserved yet in this hour");
////             document.write("In here");
        default_time = StdBiasLoc2Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc2Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
     else if (d.toString() == DstEndConverted.toString()){
           default_time = StdBiasLoc2Found - StdBiasLoc1Found;  //Use Std time first
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc2Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstEndTime <= default_time) {
        default_time = StdBiasLoc2Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }
//    else {
   // document.write("In correct place");
       /** if (d.toString() != DstStartConverted){
      
                   default_time = DstBiasLoc2Found - StdBiasLoc1Found;
        }**/
        //else {
     
//                  default_time = StdBiasLoc2Found - StdBiasLoc1Found;
       // }
    
//    } 
}
else if (DstStartConverted > DstEndConverted){  //SOUTH HEMISPHERE Countries e.g. Australia
        // document.write("Correct. In Here");
//document.write("Fallen in here");
    if (d < DstEndConverted || d > DstStartConverted){   //DST observed    /////FIXED here
                  //   document.write("InCorrect. In Here");
    default_time = DstBiasLoc2Found - StdBiasLoc1Found; ///////////////////////////////////////
      var dstSH = true;
 //   document.write("DST observed in 1st loc at S.H Hobart, DefaultTIme is " + default_time + "<br/>");
    //return default_time;
    //document.write("Good here");
    }
    else if (d > DstEndConverted && d < DstStartConverted){ //DST not observed   /////FIXED here
    default_time = StdBiasLoc2Found - StdBiasLoc1Found;
    //document.write("Good here???");
    //document.write("shouldn't be here");
    
    } 
   /** else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc2Found - StdBiasLoc1Found;   
    //document.write("In South Else loop");
    document.write("here? Default Time" + default_time); 
    }**/

/**
else {
    default_time = StdBiasLoc2Found - StdBiasLoc1Found;   //DST exactly as user input - d
}**/
        else if (d.toString() == DstStartConverted.toString()){

                 default_time = StdBiasLoc2Found - StdBiasLoc1Found;  //Use Std time first
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc2Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc2Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
   else if (d.toString() == DstEndConverted.toString()){
        // document.write("Correct. In Here");
             default_time = StdBiasLoc2Found - StdBiasLoc1Found;  //Use Std time first
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc2Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTime <= default_time) {
      //  document.write("Here");
        default_time = StdBiasLoc2Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{

    }

    
/**
else {  // same as input day
  //  document.write("In correct place");
        if (d.toString() != DstStartConverted){
        document.write("Is it here?");
        //default_time = default_time + 1;
            default_time = DstBiasLoc2Found - StdBiasLoc1Found;
            //document.write("DstBiasLoc2Found= " + DstBiasLoc2Found + "<br/>");
           // document.write("StdBiasLoc1Found= " + StdBiasLoc1Found + "<br/>");
        }
        else {
        //default_time = default_time;
  //      document.write("in here instead");
 // document.write("Is it here?");
            default_time = StdBiasLoc2Found - StdBiasLoc1Found;
        }
    
    }
    
    **/
    
}

}

else if (DstBiasLoc2Found == false){

default_time = StdBiasLoc2Found - StdBiasLoc1Found;

}

else {

}
//---------------------------------------------------------------------------------------------------------------------
//*****Find SECOND location Default_time for taking FIRST location into consideration in order to show this Location //correctly****/////
//*****For Days that FIRST location do not have DST on or off
//---------------------------------------------------------------------------------------------------------------------
////* Consider Loc1 for Default Time Calculation
if (DstBiasLoc1Found != false){


if (DstEndConvertedLoc1 > DstStartConvertedLoc1){  //NORTH HEMISPHERE Countries
    if (d > DstStartConvertedLoc1 && d < DstEndConvertedLoc1){   //DST observed
    default_time = default_time - 1;
    
  //  document.write("DST observed in loc1 Vienna, default time is " + default_time);
    }
    else if (d > DstEndConvertedLoc1 || d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
 //   document.write("Here 2");    
    } 
     else if (d.toString() == DstStartConvertedLoc1.toString()){
        /**
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        document.write("Default time after consider loc1" + default_time);
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstStartTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time - 1;
        }
        else{
        default_time = default_time;
        }
    }
    
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        /**
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstEndTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time;
        }
        else{
        default_time = default_time - 1;
        }
    }
    
    
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;   
    }
    
}
else if (DstStartConvertedLoc1 > DstEndConvertedLoc1){  //SOUTH HEMISPHERE Countries e.g. Australia
     if (d < DstEndConvertedLoc1 || d > DstStartConvertedLoc1){   //DST observed
    default_time = default_time - 1; ///////////////////////////////////////
//  document.write("1st Location DST observed, Default time now is" + default_time);
    //document.write("Here 3, Default Time: " + default_time);    /////////////////////////////////////////////////////
    }
    else if (d > DstEndConvertedLoc1 && d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
    //document.write("Here 4 Default time is" + default_time);  
    } 
    else if (d.toString() == DstStartConvertedLoc1.toString()){
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;  
    }
}
else{
default_time = default_time;
}

}

else if (DstBiasLoc1Found == false){
default_time = default_time;  

}


else {

}
document.write("<table cellpadding='1' cellspacing='0' border='1' bgcolor='#EECB60'  style='float:left; font-size:14px;'>");
document.write("<tr><td>");
document.write("<strong><center>" + Loc2Name + "</center></strong>");
document.write("</td></tr>");

for (row=0; row<24; row++){
var dstOn = false;
var dstOff = false;
var dstStartDate;
var dstEndDate;
var theNextDay;

//fillColor(default_time);
//document.write("DST End time is: " + DstEndConverted.toString() + "<br/>");
//document.write("d is: " + d.toString() + "<br/>");
/////document.write("<br/>" + "Default time before converted: " + default_time + "<br/>");
var convertedDefaultTime = convertDefaultTime(default_time);   //////Convert Default Time
////var convertedDefaultTime = default_time;   //Not using the function convertDefaultTime anymore
/////document.write("What's the converted default time: " + convertedDefaultTime + "<br/>");
///document.write("<br/>" + "d: " + d + "<br/>");
///document.write("Dst End Date: " + DstEndConverted + "<br/>");
///document.write("Converted Default TIme: " + convertedDefaultTime + "<br/>");
///document.write("Dst End: " + dstEndTime + "<br/>");
if (DstBiasLoc2Found != false){

if (DstStartConverted.toString() == d.toString()){
    //document.write("In here");
    if (dstStartTime == convertedDefaultTime){
        dstOn = true;
      //  document.write("DST START");
    }
    else {dstOn = false;
    }
}
else if (DstEndConverted.toString() == d.toString()){
//document.write("In Else If" + "<br/>");
//document.write("dstEndTime = " + dstEndTime + "<br/>");
//document.write("default_time = " + default_time + "<br/>" + "<br/>");
//document.write("convertedTime = " + convertedDefaultTime + "<br/>" + "<br/>");
    if (dstEndTime == convertedDefaultTime){
        dstOff = true;
       // document.write("DST END END !!");
    }
    else {
    dstOff = false;
    }
}
else{
//document.write("In Else!!!!1" + "<br/>" + "<br/>");
}

}

else if (DstBiasLoc2Found == false){
//dstOff = false;
}

else {
//dstOff = false;
}

///If DST on or off happen, change default time accordingly (can put in function for reuse)
if (dstOn == true){
default_time = default_time + 1;}

else if (dstOff == true){
default_time = default_time - 1; 
dstEndTime = 300;
}
//else if (dstOff == false){  //DST observed
//default_time = default_time + 1;
//document.write("dstOff not yet, DT is" + default_time);
//}
else{
}
fillColor(default_time);
//document.write("Begining default time" + default_time);

if (default_time < 0){
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()-1;
d.setDate(g);
document.write(d.toDateString());
}
else if (default_time >= 0 && default_time <= 23) {
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
document.write(d.toDateString());
}
else{  //default time 24 or more -- display the next day
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()+ 1;
theNextDay = true;
d.setDate(g);
document.write(d.toDateString());
}
document.write(" ");


//Set times for the location

if (default_time <12 && default_time >= 0){
document.write(default_time + ":00 AM");
}
else if (default_time >12 && default_time <24){
PM_time = default_time - 12;
document.write(PM_time + ":00 PM");
}
else if (default_time >= 24){
AM_time = default_time - 24;
document.write(AM_time + ":00 AM");

}
else if (default_time == 12 || default_time == -12){
document.write("12:00 PM");
}
else if (default_time < 0 && default_time >= -11){
PM_time = 12 + default_time; 
document.write(PM_time + ":00 PM");
}
else if (default_time <= -13 && default_time >= -24){
AM_time = 24 + default_time; 
document.write(AM_time + ":00 AM");
}

else {

}
document.write("</td></tr>");
///Check if DST on or off happen while in this loop
dstEndDate = d; //**********************Hard coded testing/////////

default_time = default_time + 1;
}
document.write("</table>");
//document.write("</div>");
}


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//==========================================
//         THIRD LOCATION COLUMN
//==========================================
if (Loc3 != "none"){
var StdBiasLoc1Found = findStdBias(Loc1);
var StdBiasLoc3Found = findStdBias(Loc3);
//var default_time =  StdBiasLoc3Found - StdBiasLoc1Found; //////////////////////////////////////////
var DstBiasLoc3Found = findDstBias(Loc3);    //DstBiasLoc3Found can be "false"
var DstBiasLoc1Found = findDstBias(Loc1);   //DstBiasLoc3Found can be "false"

//document.write("DstBiasLoc3Found" + DstBiasLoc3Found);
if (DstBiasLoc3Found != false){

}
else if (DstBiasLoc3Found == false){

}
//----------------------------------------------------
//*****Find DST Date and Time for THIRD Location ****/////////
//----------------------------------------------------
if (DstBiasLoc3Found != false){
//document.write("Continue");

var DstStartLoc3Found = findDstStart(Loc3);
var ary = convertDstFormat(DstStartLoc3Found);
var ary2 = splitDstFormat(ary);
var DstStartConverted = constructDstDate(ary2, yearSelected);
var dstStartTime = ary[0]/100;

var DstEndLoc3Found = findDstEnd(Loc3);
var ary3 = convertDstFormat(DstEndLoc3Found);
var ary4 = splitDstFormat(ary3);
var DstEndConverted = constructDstDate(ary4, yearSelected);

var dstEndTime = ary3[0]/100;
}
else{

}
//----------------------------------------------------
//*****Find DST Date and Time for FIRST Location ****/////////
//----------------------------------------------------
if (DstBiasLoc1Found != false){
var DstStartLoc1Found = findDstStart(Loc1);
var ary5 = convertDstFormat(DstStartLoc1Found);
var ary6 = splitDstFormat(ary5);
var DstStartConvertedLoc1 = constructDstDate(ary6, yearSelected);
var dstStartTimeLoc1 = ary5[0]/100;

var DstEndLoc1Found = findDstEnd(Loc1);
var ary7 = convertDstFormat(DstEndLoc1Found);
var ary8 = splitDstFormat(ary7);
var DstEndConvertedLoc1 = constructDstDate(ary8, yearSelected);
var dstEndTimeLoc1 = ary7[0]/100;
}
else{
}
//----------------------------------------------------
//*****Find Default_time for THIRD Location ****/////////
//----------------------------------------------------
//function findDefaultTime(DstStartConverted, DstEndConverted)
//document.write("DstStartConverted " + DstStartConverted + "<br/>");
//document.write("DstEndConverted " + DstEndConverted + "<br/>");
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
//document.write("d " + d);
if (DstBiasLoc3Found != false){

if (DstEndConverted > DstStartConverted){  //NORTH HEMISPHERE Countries
    if (d > DstStartConverted && d < DstEndConverted){   //DST observed
    default_time = DstBiasLoc3Found - StdBiasLoc1Found;
    var dstNH = true;
    
    //return default_time;
    //document.write("Good here, Default time is " + default_time);
    }
    else if (d > DstEndConverted || d < DstStartConverted){ //DST not observed
    default_time = StdBiasLoc3Found - StdBiasLoc1Found;
    //document.write("Good here???");
    
    } 
    /**
    else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc3Found - StdBiasLoc1Found;   //DST exactly as user input - d
   // document.write("In else");
    }**/
    
     else if (d.toString() == DstStartConverted.toString()){
                      default_time = StdBiasLoc3Found - StdBiasLoc1Found;  //Use Std time first
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc3Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc3Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
     else if (d.toString() == DstEndConverted.toString()){
                      default_time = StdBiasLoc3Found - StdBiasLoc1Found;  //Use Std time first
  
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc3Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstEndTime <= default_time) {
        default_time = StdBiasLoc3Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }
//    else {
   // document.write("In correct place");
       /** if (d.toString() != DstStartConverted){
      
                   default_time = DstBiasLoc3Found - StdBiasLoc1Found;
        }**/
        //else {
     
//                  default_time = StdBiasLoc3Found - StdBiasLoc1Found;
       // }
    
//    } 
}
else if (DstStartConverted > DstEndConverted){  //SOUTH HEMISPHERE Countries e.g. Australia

//document.write("Fallen in here");
    if (d < DstEndConverted || d > DstStartConverted){   //DST observed    /////FIXED here
    default_time = DstBiasLoc3Found - StdBiasLoc1Found; ///////////////////////////////////////
      var dstSH = true;
 //   document.write("DST observed in 1st loc at S.H Hobart, DefaultTIme is " + default_time + "<br/>");
    //return default_time;
    //document.write("Good here");
    }
    else if (d > DstEndConverted && d < DstStartConverted){ //DST not observed   /////FIXED here
    default_time = StdBiasLoc3Found - StdBiasLoc1Found;
    //document.write("Good here???");
    //document.write("shouldn't be here");
    
    } 
   /** else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc3Found - StdBiasLoc1Found;   
    //document.write("In South Else loop");
    document.write("here? Default Time" + default_time); 
    }**/

/**
else {
    default_time = StdBiasLoc3Found - StdBiasLoc1Found;   //DST exactly as user input - d
}**/
        else if (d.toString() == DstStartConverted.toString()){
                         default_time = StdBiasLoc3Found - StdBiasLoc1Found;  //Use Std time first
        
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc3Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc3Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
   else if (d.toString() == DstEndConverted.toString()){
                    default_time = StdBiasLoc3Found - StdBiasLoc1Found;  //Use Std time first
 
    
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
        //document.write("Time not the same");
        default_time = DstBiasLoc3Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTime <= default_time) {
       // document.write("Here");
        default_time = StdBiasLoc3Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }

    
/**
else {  // same as input day
  //  document.write("In correct place");
        if (d.toString() != DstStartConverted){
        document.write("Is it here?");
        //default_time = default_time + 1;
            default_time = DstBiasLoc3Found - StdBiasLoc1Found;
            //document.write("DstBiasLoc3Found= " + DstBiasLoc3Found + "<br/>");
           // document.write("StdBiasLoc1Found= " + StdBiasLoc1Found + "<br/>");
        }
        else {
        //default_time = default_time;
  //      document.write("in here instead");
 // document.write("Is it here?");
            default_time = StdBiasLoc3Found - StdBiasLoc1Found;
        }
    
    }
    
    **/
    
}

}

else if (DstBiasLoc3Found == false){

default_time = StdBiasLoc3Found - StdBiasLoc1Found;

}

else {

}
//---------------------------------------------------------------------------------------------------------------------
//*****Find THIRD location Default_time for taking FIRST location into consideration in order to show this Location //correctly****/////
//*****For Days that FIRST location do not have DST on or off
//---------------------------------------------------------------------------------------------------------------------
////* Consider Loc1 for Default Time Calculation
if (DstBiasLoc1Found != false){


if (DstEndConvertedLoc1 > DstStartConvertedLoc1){  //NORTH HEMISPHERE Countries
    if (d > DstStartConvertedLoc1 && d < DstEndConvertedLoc1){   //DST observed
    default_time = default_time - 1;
    
  //  document.write("DST observed in loc1 Vienna, default time is " + default_time);
    }
    else if (d > DstEndConvertedLoc1 || d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
 //   document.write("Here 2");    
    } 
     else if (d.toString() == DstStartConvertedLoc1.toString()){
        /**
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        document.write("Default time after consider loc1" + default_time);
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstStartTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time - 1;
        }
        else{
        default_time = default_time;
        }
    }
    
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        /**
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstEndTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time;
        }
        else{
        default_time = default_time - 1;
        }
    }
    
    
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;   
    }
    
}
else if (DstStartConvertedLoc1 > DstEndConvertedLoc1){  //SOUTH HEMISPHERE Countries e.g. Australia
     if (d < DstEndConvertedLoc1 || d > DstStartConvertedLoc1){   //DST observed
    default_time = default_time - 1; ///////////////////////////////////////
//  document.write("1st Location DST observed, Default time now is" + default_time);
    //document.write("Here 3, Default Time: " + default_time);    /////////////////////////////////////////////////////
    }
    else if (d > DstEndConvertedLoc1 && d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
    //document.write("Here 4 Default time is" + default_time);  
    } 
    else if (d.toString() == DstStartConvertedLoc1.toString()){
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;  
    }
}
else{
default_time = default_time;
}

}

else if (DstBiasLoc1Found == false){
default_time = default_time;  

}


else {

}
document.write("<table cellpadding='1' cellspacing='0' border='1' bgcolor='#EECB60'  style='float:left; font-size:14px;'>");
document.write("<tr><td>");
document.write("<strong><center>" + Loc3Name + "</center></strong>");
document.write("</td></tr>");

for (row=0; row<24; row++){
var dstOn = false;
var dstOff = false;
var dstStartDate;
var dstEndDate;
var theNextDay;

//fillColor(default_time);
//document.write("DST End time is: " + DstEndConverted.toString() + "<br/>");
//document.write("d is: " + d.toString() + "<br/>");

var convertedDefaultTime = convertDefaultTime(default_time);   //////Convert Default Time
////var convertedDefaultTime = default_time;   //Not using the function convertDefaultTime anymore
if (DstBiasLoc3Found != false){

if (DstStartConverted.toString() == d.toString()){
    //document.write("In here");
    if (dstStartTime == convertedDefaultTime){
        dstOn = true;
      //  document.write("DST START");
    }
    else {dstOn = false;
    }
}
else if (DstEndConverted.toString() == d.toString()){
//document.write("In Else If" + "<br/>");
//document.write("dstEndTime = " + dstEndTime + "<br/>");
//document.write("default_time = " + default_time + "<br/>" + "<br/>");
//document.write("convertedTime = " + convertedDefaultTime + "<br/>" + "<br/>");
    if (dstEndTime == convertedDefaultTime){
        dstOff = true;
       // document.write("DST END END !!");
    }
    else {
    dstOff = false;
    }
}
else{
//document.write("In Else!!!!1" + "<br/>" + "<br/>");
}

}

else if (DstBiasLoc3Found == false){
//dstOff = false;
}

else {
//dstOff = false;
}

///If DST on or off happen, change default time accordingly (can put in function for reuse)
if (dstOn == true){
default_time = default_time + 1;}

else if (dstOff == true){
default_time = default_time - 1; 
dstEndTime = 300;
}
//else if (dstOff == false){  //DST observed
//default_time = default_time + 1;
//document.write("dstOff not yet, DT is" + default_time);
//}
else{
}
fillColor(default_time);
//document.write("Begining default time" + default_time);

if (default_time < 0){
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()-1;
d.setDate(g);
document.write(d.toDateString());
}
else if (default_time >= 0 && default_time <= 23) {
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
document.write(d.toDateString());
}
else{  //default time 24 or more -- display the next day
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()+ 1;
theNextDay = true;
d.setDate(g);
document.write(d.toDateString());
}
document.write(" ");


//Set times for the location

if (default_time <12 && default_time >= 0){
document.write(default_time + ":00 AM");
}
else if (default_time >12 && default_time <24){
PM_time = default_time - 12;
document.write(PM_time + ":00 PM");
}
else if (default_time >= 24){
AM_time = default_time - 24;
document.write(AM_time + ":00 AM");

}
else if (default_time == 12 || default_time == -12){
document.write("12:00 PM");
}
else if (default_time < 0 && default_time >= -11){
PM_time = 12 + default_time; 
document.write(PM_time + ":00 PM");
}
else if (default_time <= -13 && default_time >= -24){
AM_time = 24 + default_time; 
document.write(AM_time + ":00 AM");
}

else {

}
document.write("</td></tr>");
///Check if DST on or off happen while in this loop
dstEndDate = d; //**********************Hard coded testing/////////

default_time = default_time + 1;
}
document.write("</table>");
//document.write("</div>");
}












/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//==========================================
//         FOUTH LOCATION COLUMN
//==========================================
if (Loc4 != "none"){
var StdBiasLoc1Found = findStdBias(Loc1);
var StdBiasLoc4Found = findStdBias(Loc4);

//var default_time =  StdBiasLoc4Found - StdBiasLoc1Found; //////////////////////////////////////////
var DstBiasLoc4Found = findDstBias(Loc4);    //DstBiasLoc4Found can be "false"
var DstBiasLoc1Found = findDstBias(Loc1);   //DstBiasLoc4Found can be "false"
//document.write("DstBiasLoc4Found" + DstBiasLoc4Found);
if (DstBiasLoc4Found != false){

}
else if (DstBiasLoc4Found == false){

}
//----------------------------------------------------
//*****Find DST Date and Time for FOUTH Location ****/////////
//----------------------------------------------------
if (DstBiasLoc4Found != false){


var DstStartLoc4Found = findDstStart(Loc4);
var ary = convertDstFormat(DstStartLoc4Found);
var ary2 = splitDstFormat(ary);
var DstStartConverted = constructDstDate(ary2, yearSelected);


var dstStartTime = ary[0]/100;

var DstEndLoc4Found = findDstEnd(Loc4);
var ary3 = convertDstFormat(DstEndLoc4Found);
var ary4 = splitDstFormat(ary3);
var DstEndConverted = constructDstDate(ary4, yearSelected);

var dstEndTime = ary3[0]/100;
}
else{


}
//----------------------------------------------------
//*****Find DST Date and Time for FIRST Location ****/////////
//----------------------------------------------------
if (DstBiasLoc1Found != false){
var DstStartLoc1Found = findDstStart(Loc1);
var ary5 = convertDstFormat(DstStartLoc1Found);
var ary6 = splitDstFormat(ary5);
var DstStartConvertedLoc1 = constructDstDate(ary6, yearSelected);
var dstStartTimeLoc1 = ary5[0]/100;

var DstEndLoc1Found = findDstEnd(Loc1);
var ary7 = convertDstFormat(DstEndLoc1Found);
var ary8 = splitDstFormat(ary7);
var DstEndConvertedLoc1 = constructDstDate(ary8, yearSelected);
var dstEndTimeLoc1 = ary7[0]/100;
}
else{
}
//----------------------------------------------------
//*****Find Default_time for FOUTH Location ****/////////
//----------------------------------------------------
//function findDefaultTime(DstStartConverted, DstEndConverted)
//document.write("DstStartConverted " + DstStartConverted + "<br/>");
//document.write("DstEndConverted " + DstEndConverted + "<br/>");
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
//document.write("d " + d);
if (DstBiasLoc4Found != false){

if (DstEndConverted > DstStartConverted){  //NORTH HEMISPHERE Countries
    if (d > DstStartConverted && d < DstEndConverted){   //DST observed
    default_time = DstBiasLoc4Found - StdBiasLoc1Found;
    var dstNH = true;
    
    //return default_time;
    //document.write("Good here, Default time is " + default_time);
    }
    else if (d > DstEndConverted || d < DstStartConverted){ //DST not observed
    default_time = StdBiasLoc4Found - StdBiasLoc1Found;
    //document.write("Good here???");
    
    } 
    /**
    else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc4Found - StdBiasLoc1Found;   //DST exactly as user input - d
   // document.write("In else");
    }**/
    
     else if (d.toString() == DstStartConverted.toString()){
                      default_time = StdBiasLoc4Found - StdBiasLoc1Found;  //Use Std time first
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc4Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc4Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
     else if (d.toString() == DstEndConverted.toString()){
                      default_time = StdBiasLoc4Found - StdBiasLoc1Found;  //Use Std time first
  
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc4Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstEndTime <= default_time) {
        default_time = StdBiasLoc4Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }
//    else {
   // document.write("In correct place");
       /** if (d.toString() != DstStartConverted){
      
                   default_time = DstBiasLoc4Found - StdBiasLoc1Found;
        }**/
        //else {
     
//                  default_time = StdBiasLoc4Found - StdBiasLoc1Found;
       // }
    
//    } 
}
else if (DstStartConverted > DstEndConverted){  //SOUTH HEMISPHERE Countries e.g. Australia

//document.write("Fallen in here");
    if (d < DstEndConverted || d > DstStartConverted){   //DST observed    /////FIXED here
    default_time = DstBiasLoc4Found - StdBiasLoc1Found; ///////////////////////////////////////
      var dstSH = true;
 //   document.write("DST observed in 1st loc at S.H Hobart, DefaultTIme is " + default_time + "<br/>");
    //return default_time;
    //document.write("Good here");
    }
    else if (d > DstEndConverted && d < DstStartConverted){ //DST not observed   /////FIXED here
    default_time = StdBiasLoc4Found - StdBiasLoc1Found;
    //document.write("Good here???");
    //document.write("shouldn't be here");
    
    } 
   /** else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc4Found - StdBiasLoc1Found;   
    //document.write("In South Else loop");
    document.write("here? Default Time" + default_time); 
    }**/

/**
else {
    default_time = StdBiasLoc4Found - StdBiasLoc1Found;   //DST exactly as user input - d
}**/
        else if (d.toString() == DstStartConverted.toString()){
                         default_time = StdBiasLoc4Found - StdBiasLoc1Found;  //Use Std time first
        
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc4Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc4Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
   else if (d.toString() == DstEndConverted.toString()){
                    default_time = StdBiasLoc4Found - StdBiasLoc1Found;  //Use Std time first
 
    
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
        //document.write("Time not the same");
        default_time = DstBiasLoc4Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTime <= default_time) {
      //  document.write("Here");
        default_time = StdBiasLoc4Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }

    
/**
else {  // same as input day
  //  document.write("In correct place");
        if (d.toString() != DstStartConverted){
        document.write("Is it here?");
        //default_time = default_time + 1;
            default_time = DstBiasLoc4Found - StdBiasLoc1Found;
            //document.write("DstBiasLoc4Found= " + DstBiasLoc4Found + "<br/>");
           // document.write("StdBiasLoc1Found= " + StdBiasLoc1Found + "<br/>");
        }
        else {
        //default_time = default_time;
  //      document.write("in here instead");
 // document.write("Is it here?");
            default_time = StdBiasLoc4Found - StdBiasLoc1Found;
        }
    
    }
    
    **/
    
}

}

else if (DstBiasLoc4Found == false){

default_time = StdBiasLoc4Found - StdBiasLoc1Found;

}

else {

}
//---------------------------------------------------------------------------------------------------------------------
//*****Find FOUTH location Default_time for taking FIRST location into consideration in order to show this Location //correctly****/////
//*****For Days that FIRST location do not have DST on or off
//---------------------------------------------------------------------------------------------------------------------
////* Consider Loc1 for Default Time Calculation
if (DstBiasLoc1Found != false){


if (DstEndConvertedLoc1 > DstStartConvertedLoc1){  //NORTH HEMISPHERE Countries
    if (d > DstStartConvertedLoc1 && d < DstEndConvertedLoc1){   //DST observed
    default_time = default_time - 1;
    
  //  document.write("DST observed in loc1 Vienna, default time is " + default_time);
    }
    else if (d > DstEndConvertedLoc1 || d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
 //   document.write("Here 2");    
    } 
     else if (d.toString() == DstStartConvertedLoc1.toString()){
        /**
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        document.write("Default time after consider loc1" + default_time);
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstStartTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time - 1;
        }
        else{
        default_time = default_time;
        }
    }
    
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        /**
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstEndTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time;
        }
        else{
        default_time = default_time - 1;
        }
    }
    
    
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;   
    }
    
}
else if (DstStartConvertedLoc1 > DstEndConvertedLoc1){  //SOUTH HEMISPHERE Countries e.g. Australia
     if (d < DstEndConvertedLoc1 || d > DstStartConvertedLoc1){   //DST observed
    default_time = default_time - 1; ///////////////////////////////////////
//  document.write("1st Location DST observed, Default time now is" + default_time);
    //document.write("Here 3, Default Time: " + default_time);    /////////////////////////////////////////////////////
    }
    else if (d > DstEndConvertedLoc1 && d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
    //document.write("Here 4 Default time is" + default_time);  
    } 
    else if (d.toString() == DstStartConvertedLoc1.toString()){
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;  
    }
}
else{
default_time = default_time;
}

}

else if (DstBiasLoc1Found == false){
default_time = default_time;  

}


else {

}
document.write("<table cellpadding='1' cellspacing='0' border='1' bgcolor='#EECB60'  style='float:left; font-size:14px;'>");
document.write("<tr><td>");
document.write("<strong><center>" + Loc4Name + "</center></strong>");
document.write("</td></tr>");

for (row=0; row<24; row++){
var dstOn = false;
var dstOff = false;
var dstStartDate;
var dstEndDate;
var theNextDay;

//fillColor(default_time);
//document.write("DST End time is: " + DstEndConverted.toString() + "<br/>");
//document.write("d is: " + d.toString() + "<br/>");

var convertedDefaultTime = convertDefaultTime(default_time);   //////Convert Default Time
////var convertedDefaultTime = default_time;   //Not using the function convertDefaultTime anymore
if (DstBiasLoc4Found != false){

if (DstStartConverted.toString() == d.toString()){
    //document.write("In here");
    if (dstStartTime == convertedDefaultTime){
        dstOn = true;
      //  document.write("DST START");
    }
    else {dstOn = false;
    }
}
else if (DstEndConverted.toString() == d.toString()){
//document.write("In Else If" + "<br/>");
//document.write("dstEndTime = " + dstEndTime + "<br/>");
//document.write("default_time = " + default_time + "<br/>" + "<br/>");
//document.write("convertedTime = " + convertedDefaultTime + "<br/>" + "<br/>");
    if (dstEndTime == convertedDefaultTime){
        dstOff = true;
       // document.write("DST END END !!");
    }
    else {
    dstOff = false;
    }
}
else{
//document.write("In Else!!!!1" + "<br/>" + "<br/>");
}

}

else if (DstBiasLoc4Found == false){
//dstOff = false;
}

else {
//dstOff = false;
}

///If DST on or off happen, change default time accordingly (can put in function for reuse)
if (dstOn == true){
default_time = default_time + 1;}

else if (dstOff == true){
default_time = default_time - 1; 
dstEndTime = 300;
}
//else if (dstOff == false){  //DST observed
//default_time = default_time + 1;
//document.write("dstOff not yet, DT is" + default_time);
//}
else{
}
fillColor(default_time);
//document.write("Begining default time" + default_time);

if (default_time < 0){
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()-1;
d.setDate(g);
document.write(d.toDateString());
}
else if (default_time >= 0 && default_time <= 23) {
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
document.write(d.toDateString());
}
else{  //default time 24 or more -- display the next day
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()+ 1;
theNextDay = true;
d.setDate(g);
document.write(d.toDateString());
}
document.write(" ");


//Set times for the location

if (default_time <12 && default_time >= 0){
document.write(default_time + ":00 AM");
}
else if (default_time >12 && default_time <24){
PM_time = default_time - 12;
document.write(PM_time + ":00 PM");
}
else if (default_time >= 24){
AM_time = default_time - 24;
document.write(AM_time + ":00 AM");

}
else if (default_time == 12 || default_time == -12){
document.write("12:00 PM");
}
else if (default_time < 0 && default_time >= -11){
PM_time = 12 + default_time; 
document.write(PM_time + ":00 PM");
}
else if (default_time <= -13 && default_time >= -24){
AM_time = 24 + default_time; 
document.write(AM_time + ":00 AM");
}

else {

}
document.write("</td></tr>");
///Check if DST on or off happen while in this loop
dstEndDate = d; //**********************Hard coded testing/////////

default_time = default_time + 1;
}
document.write("</table>");
//document.write("</div>");
}







/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//==========================================
//         FIFTH LOCATION COLUMN
//==========================================
if (Loc5 != "none"){
var StdBiasLoc1Found = findStdBias(Loc1);
var StdBiasLoc5Found = findStdBias(Loc5);
//var default_time =  StdBiasLoc5Found - StdBiasLoc1Found; //////////////////////////////////////////
var DstBiasLoc5Found = findDstBias(Loc5);    //DstBiasLoc5Found can be "false"
var DstBiasLoc1Found = findDstBias(Loc1);   //DstBiasLoc5Found can be "false"

//document.write("DstBiasLoc5Found" + DstBiasLoc5Found);
if (DstBiasLoc5Found != false){

}
else if (DstBiasLoc5Found == false){

}
//----------------------------------------------------
//*****Find DST Date and Time for FIFTH Location ****/////////
//----------------------------------------------------
if (DstBiasLoc5Found != false){
//document.write("Continue");
//document.write("In here");
var DstStartLoc5Found = findDstStart(Loc5);
var ary = convertDstFormat(DstStartLoc5Found);
var ary2 = splitDstFormat(ary);
//document.write("ary2 : " + ary2);
var DstStartConverted = constructDstDate(ary2, yearSelected);
var dstStartTime = ary[0]/100;
//document.write("DstStartConverted" + DstStartConverted);
var DstEndLoc5Found = findDstEnd(Loc5);
var ary3 = convertDstFormat(DstEndLoc5Found);
var ary4 = splitDstFormat(ary3);
var DstEndConverted = constructDstDate(ary4, yearSelected);

var dstEndTime = ary3[0]/100;
}
else{

}
//----------------------------------------------------
//*****Find DST Date and Time for FIRST Location ****/////////
//----------------------------------------------------
if (DstBiasLoc1Found != false){
var DstStartLoc1Found = findDstStart(Loc1);
var ary5 = convertDstFormat(DstStartLoc1Found);
var ary6 = splitDstFormat(ary5);
var DstStartConvertedLoc1 = constructDstDate(ary6, yearSelected);
var dstStartTimeLoc1 = ary5[0]/100;

var DstEndLoc1Found = findDstEnd(Loc1);
var ary7 = convertDstFormat(DstEndLoc1Found);
var ary8 = splitDstFormat(ary7);
var DstEndConvertedLoc1 = constructDstDate(ary8, yearSelected);
var dstEndTimeLoc1 = ary7[0]/100;
}
else{
}
//----------------------------------------------------
//*****Find Default_time for FIFTH Location ****/////////
//----------------------------------------------------
//function findDefaultTime(DstStartConverted, DstEndConverted)
//document.write("DstStartConverted " + DstStartConverted + "<br/>");
//document.write("DstEndConverted " + DstEndConverted + "<br/>");
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
//document.write("d " + d);
if (DstBiasLoc5Found != false){

if (DstEndConverted > DstStartConverted){  //NORTH HEMISPHERE Countries
    if (d > DstStartConverted && d < DstEndConverted){   //DST observed
    default_time = DstBiasLoc5Found - StdBiasLoc1Found;
    var dstNH = true;
    
    //return default_time;
    //document.write("Good here, Default time is " + default_time);
    }
    else if (d > DstEndConverted || d < DstStartConverted){ //DST not observed
    default_time = StdBiasLoc5Found - StdBiasLoc1Found;
    //document.write("Good here???");
    
    } 
    /**
    else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc5Found - StdBiasLoc1Found;   //DST exactly as user input - d
   // document.write("In else");
    }**/
    
     else if (d.toString() == DstStartConverted.toString()){
                      default_time = StdBiasLoc5Found - StdBiasLoc1Found;  //Use Std time first
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc5Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc5Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
     else if (d.toString() == DstEndConverted.toString()){
                      default_time = StdBiasLoc5Found - StdBiasLoc1Found;  //Use Std time first
  
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc5Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstEndTime <= default_time) {
        default_time = StdBiasLoc5Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }
//    else {
   // document.write("In correct place");
       /** if (d.toString() != DstStartConverted){
      
                   default_time = DstBiasLoc5Found - StdBiasLoc1Found;
        }**/
        //else {
     
//                  default_time = StdBiasLoc5Found - StdBiasLoc1Found;
       // }
    
//    } 
}
else if (DstStartConverted > DstEndConverted){  //SOUTH HEMISPHERE Countries e.g. Australia

//document.write("Fallen in here");
    if (d < DstEndConverted || d > DstStartConverted){   //DST observed    /////FIXED here
    default_time = DstBiasLoc5Found - StdBiasLoc1Found; ///////////////////////////////////////
      var dstSH = true;
 //   document.write("DST observed in 1st loc at S.H Hobart, DefaultTIme is " + default_time + "<br/>");
    //return default_time;
    //document.write("Good here");
    }
    else if (d > DstEndConverted && d < DstStartConverted){ //DST not observed   /////FIXED here
    default_time = StdBiasLoc5Found - StdBiasLoc1Found;
    //document.write("Good here???");
    //document.write("shouldn't be here");
    
    } 
   /** else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc5Found - StdBiasLoc1Found;   
    //document.write("In South Else loop");
    document.write("here? Default Time" + default_time); 
    }**/

/**
else {
    default_time = StdBiasLoc5Found - StdBiasLoc1Found;   //DST exactly as user input - d
}**/
        else if (d.toString() == DstStartConverted.toString()){
                         default_time = StdBiasLoc5Found - StdBiasLoc1Found;  //Use Std time first
        
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc5Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc5Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
   else if (d.toString() == DstEndConverted.toString()){
                    default_time = StdBiasLoc5Found - StdBiasLoc1Found;  //Use Std time first
 
    
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc5Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTime <= default_time) {
        //document.write("Here");
        default_time = StdBiasLoc5Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }

    
/**
else {  // same as input day
  //  document.write("In correct place");
        if (d.toString() != DstStartConverted){
        document.write("Is it here?");
        //default_time = default_time + 1;
            default_time = DstBiasLoc5Found - StdBiasLoc1Found;
            //document.write("DstBiasLoc5Found= " + DstBiasLoc5Found + "<br/>");
           // document.write("StdBiasLoc1Found= " + StdBiasLoc1Found + "<br/>");
        }
        else {
        //default_time = default_time;
  //      document.write("in here instead");
 // document.write("Is it here?");
            default_time = StdBiasLoc5Found - StdBiasLoc1Found;
        }
    
    }
    
    **/
    
}

}

else if (DstBiasLoc5Found == false){

default_time = StdBiasLoc5Found - StdBiasLoc1Found;

}

else {

}
//---------------------------------------------------------------------------------------------------------------------
//*****Find FIFTH location Default_time for taking FIRST location into consideration in order to show this Location //correctly****/////
//*****For Days that FIRST location do not have DST on or off
//---------------------------------------------------------------------------------------------------------------------
////* Consider Loc1 for Default Time Calculation
if (DstBiasLoc1Found != false){


if (DstEndConvertedLoc1 > DstStartConvertedLoc1){  //NORTH HEMISPHERE Countries
    if (d > DstStartConvertedLoc1 && d < DstEndConvertedLoc1){   //DST observed
    default_time = default_time - 1;
    
  //  document.write("DST observed in loc1 Vienna, default time is " + default_time);
    }
    else if (d > DstEndConvertedLoc1 || d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
 //   document.write("Here 2");    
    } 
     else if (d.toString() == DstStartConvertedLoc1.toString()){
        /**
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        document.write("Default time after consider loc1" + default_time);
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstStartTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time - 1;
        }
        else{
        default_time = default_time;
        }
    }
    
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        /**
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstEndTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time;
        }
        else{
        default_time = default_time - 1;
        }
    }
    
    
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;   
    }
    
}
else if (DstStartConvertedLoc1 > DstEndConvertedLoc1){  //SOUTH HEMISPHERE Countries e.g. Australia
     if (d < DstEndConvertedLoc1 || d > DstStartConvertedLoc1){   //DST observed
    default_time = default_time - 1; ///////////////////////////////////////
//  document.write("1st Location DST observed, Default time now is" + default_time);
    //document.write("Here 3, Default Time: " + default_time);    /////////////////////////////////////////////////////
    }
    else if (d > DstEndConvertedLoc1 && d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
    //document.write("Here 4 Default time is" + default_time);  
    } 
    else if (d.toString() == DstStartConvertedLoc1.toString()){
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;  
    }
}
else{
default_time = default_time;
}

}

else if (DstBiasLoc1Found == false){
default_time = default_time;  

}


else {

}
document.write("<table cellpadding='1' cellspacing='0' border='1' bgcolor='#EECB60'  style='float:left; font-size:14px;'>");
document.write("<tr><td>");
document.write("<strong><center>" + Loc5Name + "</center></strong>");
document.write("</td></tr>");

for (row=0; row<24; row++){
var dstOn = false;
var dstOff = false;
var dstStartDate;
var dstEndDate;
var theNextDay;

//fillColor(default_time);
//document.write("DST End time is: " + DstEndConverted.toString() + "<br/>");
//document.write("d is: " + d.toString() + "<br/>");

var convertedDefaultTime = convertDefaultTime(default_time);   //////Convert Default Time
////var convertedDefaultTime = default_time;   //Not using the function convertDefaultTime anymore
if (DstBiasLoc5Found != false){

if (DstStartConverted.toString() == d.toString()){
    //document.write("In here");
    if (dstStartTime == convertedDefaultTime){
        dstOn = true;
      //  document.write("DST START");
    }
    else {dstOn = false;
    }
}
else if (DstEndConverted.toString() == d.toString()){
//document.write("In Else If" + "<br/>");
//document.write("dstEndTime = " + dstEndTime + "<br/>");
//document.write("default_time = " + default_time + "<br/>" + "<br/>");
//document.write("convertedTime = " + convertedDefaultTime + "<br/>" + "<br/>");
    if (dstEndTime == convertedDefaultTime){
        dstOff = true;
       // document.write("DST END END !!");
    }
    else {
    dstOff = false;
    }
}
else{
//document.write("In Else!!!!1" + "<br/>" + "<br/>");
}

}

else if (DstBiasLoc5Found == false){
//dstOff = false;
}

else {
//dstOff = false;
}

///If DST on or off happen, change default time accordingly (can put in function for reuse)
if (dstOn == true){
default_time = default_time + 1;}

else if (dstOff == true){
default_time = default_time - 1; 
dstEndTime = 300;
}
//else if (dstOff == false){  //DST observed
//default_time = default_time + 1;
//document.write("dstOff not yet, DT is" + default_time);
//}
else{
}
fillColor(default_time);
//document.write("Begining default time" + default_time);

if (default_time < 0){
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()-1;
d.setDate(g);
document.write(d.toDateString());
}
else if (default_time >= 0 && default_time <= 23) {
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
document.write(d.toDateString());
}
else{  //default time 24 or more -- display the next day
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()+ 1;
theNextDay = true;
d.setDate(g);
document.write(d.toDateString());
}
document.write(" ");


//Set times for the location

if (default_time <12 && default_time >= 0){
document.write(default_time + ":00 AM");
}
else if (default_time >12 && default_time <24){
PM_time = default_time - 12;
document.write(PM_time + ":00 PM");
}
else if (default_time >= 24){
AM_time = default_time - 24;
document.write(AM_time + ":00 AM");

}
else if (default_time == 12 || default_time == -12){
document.write("12:00 PM");
}
else if (default_time < 0 && default_time >= -11){
PM_time = 12 + default_time; 
document.write(PM_time + ":00 PM");
}
else if (default_time <= -13 && default_time >= -24){
AM_time = 24 + default_time; 
document.write(AM_time + ":00 AM");
}

else {

}
document.write("</td></tr>");
///Check if DST on or off happen while in this loop
dstEndDate = d; //**********************Hard coded testing/////////

default_time = default_time + 1;
}
document.write("</table>");
//document.write("</div>");
}




/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//==========================================
//         SIXTH LOCATION COLUMN
//==========================================
if (Loc6 != "none"){
var StdBiasLoc1Found = findStdBias(Loc1);
var StdBiasLoc6Found = findStdBias(Loc6);

//var default_time =  StdBiasLoc6Found - StdBiasLoc1Found; //////////////////////////////////////////
var DstBiasLoc6Found = findDstBias(Loc6);    //DstBiasLoc6Found can be "false"
var DstBiasLoc1Found = findDstBias(Loc1);   //DstBiasLoc6Found can be "false"
//document.write("DstBiasLoc6Found" + DstBiasLoc6Found);
if (DstBiasLoc6Found != false){

}
else if (DstBiasLoc6Found == false){

}
//----------------------------------------------------
//*****Find DST Date and Time for SIXTH Location ****/////////
//----------------------------------------------------
if (DstBiasLoc6Found != false){


var DstStartLoc6Found = findDstStart(Loc6);
var ary = convertDstFormat(DstStartLoc6Found);
var ary2 = splitDstFormat(ary);
var DstStartConverted = constructDstDate(ary2, yearSelected);


var dstStartTime = ary[0]/100;

var DstEndLoc6Found = findDstEnd(Loc6);
var ary3 = convertDstFormat(DstEndLoc6Found);
var ary4 = splitDstFormat(ary3);
var DstEndConverted = constructDstDate(ary4, yearSelected);

var dstEndTime = ary3[0]/100;
}
else{


}
//----------------------------------------------------
//*****Find DST Date and Time for FIRST Location ****/////////
//----------------------------------------------------
if (DstBiasLoc1Found != false){
var DstStartLoc1Found = findDstStart(Loc1);
var ary5 = convertDstFormat(DstStartLoc1Found);
var ary6 = splitDstFormat(ary5);
var DstStartConvertedLoc1 = constructDstDate(ary6, yearSelected);
var dstStartTimeLoc1 = ary5[0]/100;

var DstEndLoc1Found = findDstEnd(Loc1);
var ary7 = convertDstFormat(DstEndLoc1Found);
var ary8 = splitDstFormat(ary7);
var DstEndConvertedLoc1 = constructDstDate(ary8, yearSelected);
var dstEndTimeLoc1 = ary7[0]/100;
}
else{
}
//----------------------------------------------------
//*****Find Default_time for SIXTH Location ****/////////
//----------------------------------------------------
//function findDefaultTime(DstStartConverted, DstEndConverted)
//document.write("DstStartConverted " + DstStartConverted + "<br/>");
//document.write("DstEndConverted " + DstEndConverted + "<br/>");
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
//document.write("d " + d);
if (DstBiasLoc6Found != false){

if (DstEndConverted > DstStartConverted){  //NORTH HEMISPHERE Countries
    if (d > DstStartConverted && d < DstEndConverted){   //DST observed
    default_time = DstBiasLoc6Found - StdBiasLoc1Found;
    var dstNH = true;
    
    //return default_time;
    //document.write("Good here, Default time is " + default_time);
    }
    else if (d > DstEndConverted || d < DstStartConverted){ //DST not observed
    default_time = StdBiasLoc6Found - StdBiasLoc1Found;
    //document.write("Good here???");
    
    } 
    /**
    else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc6Found - StdBiasLoc1Found;   //DST exactly as user input - d
   // document.write("In else");
    }**/
    
     else if (d.toString() == DstStartConverted.toString()){
                      default_time = StdBiasLoc6Found - StdBiasLoc1Found;  //Use Std time first
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc6Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc6Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
     else if (d.toString() == DstEndConverted.toString()){
                      default_time = StdBiasLoc6Found - StdBiasLoc1Found;  //Use Std time first
  
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
       // document.write("Time not the same");
        default_time = DstBiasLoc6Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        
        else if (dstEndTime <= default_time) {
        default_time = StdBiasLoc6Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }
//    else {
   // document.write("In correct place");
       /** if (d.toString() != DstStartConverted){
      
                   default_time = DstBiasLoc6Found - StdBiasLoc1Found;
        }**/
        //else {
     
//                  default_time = StdBiasLoc6Found - StdBiasLoc1Found;
       // }
    
//    } 
}
else if (DstStartConverted > DstEndConverted){  //SOUTH HEMISPHERE Countries e.g. Australia

//document.write("Fallen in here");
    if (d < DstEndConverted || d > DstStartConverted){   //DST observed    /////FIXED here
    default_time = DstBiasLoc6Found - StdBiasLoc1Found; ///////////////////////////////////////
      var dstSH = true;
 //   document.write("DST observed in 1st loc at S.H Hobart, DefaultTIme is " + default_time + "<br/>");
    //return default_time;
    //document.write("Good here");
    }
    else if (d > DstEndConverted && d < DstStartConverted){ //DST not observed   /////FIXED here
    default_time = StdBiasLoc6Found - StdBiasLoc1Found;
    //document.write("Good here???");
    //document.write("shouldn't be here");
    
    } 
   /** else{  //DST same as d i.e. client input date
    default_time = StdBiasLoc6Found - StdBiasLoc1Found;   
    //document.write("In South Else loop");
    document.write("here? Default Time" + default_time); 
    }**/

/**
else {
    default_time = StdBiasLoc6Found - StdBiasLoc1Found;   //DST exactly as user input - d
}**/
        else if (d.toString() == DstStartConverted.toString()){
                         default_time = StdBiasLoc6Found - StdBiasLoc1Found;  //Use Std time first
        
        if (dstStartTime > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = StdBiasLoc6Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTime <= default_time){
        default_time = DstBiasLoc6Found - StdBiasLoc1Found;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
   else if (d.toString() == DstEndConverted.toString()){
                    default_time = StdBiasLoc6Found - StdBiasLoc1Found;  //Use Std time first
 
    
        if (dstEndTime > default_time){ //DST still observed although on DST End date, as not end time yet
        //document.write("Time not the same");
        default_time = DstBiasLoc6Found - StdBiasLoc1Found;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTime <= default_time) {
      //  document.write("Here");
        default_time = StdBiasLoc6Found - StdBiasLoc1Found;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else{
    }

    
/**
else {  // same as input day
  //  document.write("In correct place");
        if (d.toString() != DstStartConverted){
        document.write("Is it here?");
        //default_time = default_time + 1;
            default_time = DstBiasLoc6Found - StdBiasLoc1Found;
            //document.write("DstBiasLoc6Found= " + DstBiasLoc6Found + "<br/>");
           // document.write("StdBiasLoc1Found= " + StdBiasLoc1Found + "<br/>");
        }
        else {
        //default_time = default_time;
  //      document.write("in here instead");
 // document.write("Is it here?");
            default_time = StdBiasLoc6Found - StdBiasLoc1Found;
        }
    
    }
    
    **/
    
}

}

else if (DstBiasLoc6Found == false){

default_time = StdBiasLoc6Found - StdBiasLoc1Found;

}

else {

}
//---------------------------------------------------------------------------------------------------------------------
//*****Find SIXTH location Default_time for taking FIRST location into consideration in order to show this Location //correctly****/////
//*****For Days that FIRST location do not have DST on or off
//---------------------------------------------------------------------------------------------------------------------
////* Consider Loc1 for Default Time Calculation
if (DstBiasLoc1Found != false){


if (DstEndConvertedLoc1 > DstStartConvertedLoc1){  //NORTH HEMISPHERE Countries
    if (d > DstStartConvertedLoc1 && d < DstEndConvertedLoc1){   //DST observed
    default_time = default_time - 1;
    
  //  document.write("DST observed in loc1 Vienna, default time is " + default_time);
    }
    else if (d > DstEndConvertedLoc1 || d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
 //   document.write("Here 2");    
    } 
     else if (d.toString() == DstStartConvertedLoc1.toString()){
        /**
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        document.write("Default time after consider loc1" + default_time);
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstStartTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time - 1;
        }
        else{
        default_time = default_time;
        }
    }
    
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        /**
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
        **/
        if (dstEndTimeLoc1 == 0){    //only when dst time is 0AM that location 2 need to reflects change
        default_time = default_time;
        }
        else{
        default_time = default_time - 1;
        }
    }
    
    
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;   
    }
    
}
else if (DstStartConvertedLoc1 > DstEndConvertedLoc1){  //SOUTH HEMISPHERE Countries e.g. Australia
     if (d < DstEndConvertedLoc1 || d > DstStartConvertedLoc1){   //DST observed
    default_time = default_time - 1; ///////////////////////////////////////
//  document.write("1st Location DST observed, Default time now is" + default_time);
    //document.write("Here 3, Default Time: " + default_time);    /////////////////////////////////////////////////////
    }
    else if (d > DstEndConvertedLoc1 && d < DstStartConvertedLoc1){ //DST not observed
    default_time = default_time;
    //document.write("Here 4 Default time is" + default_time);  
    } 
    else if (d.toString() == DstStartConvertedLoc1.toString()){
        if (dstStartTimeLoc1 > default_time){ //DST not observed although on DST start date, as not start time yet
        default_time = default_time;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstStartTimeLoc1 <= default_time){
        default_time = default_time - 1;
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    else if (d.toString() == DstEndConvertedLoc1.toString()){
        if (dstEndTimeLoc1 > default_time){ //DST still observed although on DST End date, as not end time yet
        default_time = default_time - 1;
        //document.write("Here 5 Default time is" + default_time);
        }
        else if (dstEndTimeLoc1 <= default_time){
        default_time = default_time;  //DST ended now
        //document.write("Here 6 Default time is" + default_time);
        }
    }
    
    else{  //DST same as d i.e. client input date
    default_time = default_time;  
    }
}
else{
default_time = default_time;
}

}

else if (DstBiasLoc1Found == false){
default_time = default_time;  

}


else {

}
document.write("<table cellpadding='1' cellspacing='0' border='1' bgcolor='#EECB60'  style='float:left; font-size:14px;'>");
document.write("<tr><td>");
document.write("<strong><center>" + Loc6Name + "</center></strong>");
document.write("</td></tr>");

for (row=0; row<24; row++){
var dstOn = false;
var dstOff = false;
var dstStartDate;
var dstEndDate;
var theNextDay;

//fillColor(default_time);
//document.write("DST End time is: " + DstEndConverted.toString() + "<br/>");
//document.write("d is: " + d.toString() + "<br/>");

var convertedDefaultTime = convertDefaultTime(default_time);   //////Convert Default Time
////var convertedDefaultTime = default_time;   //Not using the function convertDefaultTime anymore
if (DstBiasLoc6Found != false){

if (DstStartConverted.toString() == d.toString()){
    //document.write("In here");
    if (dstStartTime == convertedDefaultTime){
        dstOn = true;
      //  document.write("DST START");
    }
    else {dstOn = false;
    }
}
else if (DstEndConverted.toString() == d.toString()){
//document.write("In Else If" + "<br/>");
//document.write("dstEndTime = " + dstEndTime + "<br/>");
//document.write("default_time = " + default_time + "<br/>" + "<br/>");
//document.write("convertedTime = " + convertedDefaultTime + "<br/>" + "<br/>");
    if (dstEndTime == convertedDefaultTime){
        dstOff = true;
       // document.write("DST END END !!");
    }
    else {
    dstOff = false;
    }
}
else{
//document.write("In Else!!!!1" + "<br/>" + "<br/>");
}

}

else if (DstBiasLoc6Found == false){
//dstOff = false;
}

else {
//dstOff = false;
}

///If DST on or off happen, change default time accordingly (can put in function for reuse)
if (dstOn == true){
default_time = default_time + 1;}

else if (dstOff == true){
default_time = default_time - 1; 
dstEndTime = 300;
}
//else if (dstOff == false){  //DST observed
//default_time = default_time + 1;
//document.write("dstOff not yet, DT is" + default_time);
//}
else{
}
fillColor(default_time);
//document.write("Begining default time" + default_time);

if (default_time < 0){
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()-1;
d.setDate(g);
document.write(d.toDateString());
}
else if (default_time >= 0 && default_time <= 23) {
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
document.write(d.toDateString());
}
else{  //default time 24 or more -- display the next day
var d = findDay(yearSelected, monthSelectedInNum, daySelected);
var g = d.getDate()+ 1;
theNextDay = true;
d.setDate(g);
document.write(d.toDateString());
}
document.write(" ");


//Set times for the location

if (default_time <12 && default_time >= 0){
document.write(default_time + ":00 AM");
}
else if (default_time >12 && default_time <24){
PM_time = default_time - 12;
document.write(PM_time + ":00 PM");
}
else if (default_time >= 24){
AM_time = default_time - 24;
document.write(AM_time + ":00 AM");

}
else if (default_time == 12 || default_time == -12){
document.write("12:00 PM");
}
else if (default_time < 0 && default_time >= -11){
PM_time = 12 + default_time; 
document.write(PM_time + ":00 PM");
}
else if (default_time <= -13 && default_time >= -24){
AM_time = 24 + default_time; 
document.write(AM_time + ":00 AM");
}

else {

}
document.write("</td></tr>");
///Check if DST on or off happen while in this loop
dstEndDate = d; //**********************Hard coded testing/////////

default_time = default_time + 1;
}
document.write("</table>");
//document.write("</div>");

document.write("<p></p><p style='clear:both; color:#666666; font-family:Arial; font-size:12px;'>" + "Please continue to fill out the online reservation form with the selected locations and time here." + "</p>");
}















}
