function BuildDiv(MyJSON) {
var howMany=MyJSON.NavData.length;
var out="";
var iPtr=0;
var itemData;
var iTopCount=0;
var rowCountInCurrentColumnDiv=0;
var columnCountInCurrentSubMenu=0;
var styleAttrib="";
var DQ="\"";
var itemDivOpen=false;
var subMenuDivOpen=false;
var colDivOpen=false;
var MAX_ROWS_PER_COLUMN=3;
var MENU_CONTAINER_DIV_TAB="\t";
var ITEM_DIV_TAB="\t\t";
var TOP_ANCHOR_TAB="\t\t\t";
var SUB_MENU_DIV_TAB="\t\t\t\t";
var COLUMN_DIV_TAB="\t\t\t\t\t";
var COL_ANCHOR_TAB="\t\t\t\t\t\t";
var CRLF="\n\r";
var tgtAttribute="";
//alert('Running BuildDiv');
out = "<div class=" + DQ + "container" + DQ + ">" + CRLF;
out += MENU_CONTAINER_DIV_TAB + "<div class=" + DQ + "menu-container" + DQ + ">" + CRLF;
try {
for (iPtr=0; iPtr<howMany; iPtr++)
{
itemData = MyJSON.NavData[iPtr];
tgtAttribute = itemData.target;
if (itemData.TopLevel=="1")
{
if (colDivOpen==true)
{
out+=COLUMN_DIV_TAB + "</div><!-- Close Column Div -->" + CRLF;
colDivOpen=false;
}
if (subMenuDivOpen==true)
{
out+=SUB_MENU_DIV_TAB + "</div><!-- Close Sub Menu Div -->" + CRLF;
subMenuDivOpen=false;
}
if (itemDivOpen==true)
{
out+=ITEM_DIV_TAB + "</div><!-- Close Item Div -->" + CRLF;
}
//styleAttrib = " style=" + DQ + "float:left;padding:5px;height:auto;width:auto;padding-right:5px" + DQ;
styleAttrib = " style=" + DQ + "float:left;padding:5px 25px 5px 5px;height:auto;width:auto;" + DQ;
iTopCount++;
out+=ITEM_DIV_TAB + "<div class=" + DQ + "item" + DQ + ">" + CRLF;
itemDivOpen = true;
out+=TOP_ANCHOR_TAB + "<a href=" + DQ + itemData.url + DQ + ">" + itemData.display + "</a>" + CRLF;
out+=SUB_MENU_DIV_TAB + "<div class=" + DQ + "sub-menu" + DQ + ">" + CRLF;
out+=COLUMN_DIV_TAB + "<div class=" + DQ + "col_" + 0 + DQ + styleAttrib + ">" + CRLF;
itemDivOpen=true;
subMenuDivOpen=true;
colDivOpen=true;
rowCountInCurrentColumnDiv=0;
columnCountInCurrentSubMenu=0;
}
else
{
if (subMenuDivOpen==true && itemDivOpen==true)
{
if (rowCountInCurrentColumnDiv<MAX_ROWS_PER_COLUMN)
{
colDivOpen=true;
out+=COL_ANCHOR_TAB + "<a href=" + DQ + itemData.url + DQ + " target=" + DQ + tgtAttribute + DQ + ">" + itemData.display + "</a>" + CRLF;
rowCountInCurrentColumnDiv++;
}
else
{
out+=COLUMN_DIV_TAB + "</div><!-- Close Column Div -->" + CRLF;
rowCountInCurrentColumnDiv=0;
columnCountInCurrentSubMenu++;
out+=COLUMN_DIV_TAB + "<div class=" + DQ + "col_" + columnCountInCurrentSubMenu + DQ + styleAttrib + ">" + CRLF;
out+=COL_ANCHOR_TAB + "<a href=" + DQ + itemData.url + DQ + " target=" + DQ + tgtAttribute + DQ + ">" + itemData.display + "</a>" + CRLF;
rowCountInCurrentColumnDiv++;
}
}
}
}
if (subMenuDivOpen==true && itemDivOpen==true)
{
out+=COLUMN_DIV_TAB + "</div><!-- Close Column Div -->" + CRLF;
out+=SUB_MENU_DIV_TAB + "</div><!-- Close Sub Menu Div -->" + CRLF;
out+=ITEM_DIV_TAB + "</div><!-- Close Item Div -->" + CRLF;
}
out+=MENU_CONTAINER_DIV_TAB + "</div><!-- Close menu-container div -->" + CRLF;
out+="</div><!-- Close container div -->" + CRLF;
return (out);
}
catch (err) {
alert (err.message);
}
}
if (subMenuDivOpen==true && itemDivOpen==true)
{
//..stuff you already have
}
else
{
out+= "Oops, condition is false";
}
Or, if you have a debugger, you could put a breakpoint on when the if condition is not met (inside the else clause) and inspect to see why the condition wasn't met.