var createTree2=true;
var xmlhttp;
function showChildsPair2(father){
    var cw,sw;
    var position=0;
    var fatherWidth=0;

    if(father.firstChild.data.length<=23){
        fatherWidth=father.firstChild.data.length*7;
    }else{
        fatherWidth=150;
    }
    
    if(father.id=="tdCategories"){
        position=father.clientWidth-father.scrollWidth-3
    }else{
        position=150-fatherWidth-5;
    }
    
    father.className="liHover2";
    for(i=0;i<father.childNodes.length;i++){
        if (father.childNodes[i].tagName == "UL"){
            if(father.childNodes[i].style.marginLeft==""){
                father.childNodes[i].style.marginLeft=position+'px';
            }
            father.childNodes[i].className="ulHover2";
        }
    }
}

function hideChildsPair2(father){
    father.className="liClass2";
    for(i=0;i<father.childNodes.length;i++){
        if (father.childNodes[i].tagName == "UL"){
            father.childNodes[i].className="ulClass2";
        }
    }
}

function showChildsMD2(father){
    var cw,sw;
    var position=0;
    var fatherWidth=0;

    if(father.firstChild.data.length<=23){
        fatherWidth=father.firstChild.data.length*7;
    }else{
        fatherWidth=150;
    }
    
    position=150-fatherWidth-5;

    for(i=0;i<father.childNodes.length;i++){
        if (father.childNodes[i].tagName == "UL"){
            if(father.childNodes[i].style.marginLeft==""){
                father.childNodes[i].style.marginLeft=position+'px';
            }
            father.childNodes[i].className="ulHover2";
        }
    }
}

function hideChildsMD2(father){
    for(i=0;i<father.childNodes.length;i++){
        if (father.childNodes[i].tagName == "UL"){
            if(father.childNodes[i].style.marginLeft==""){
                father.childNodes[i].style.marginLeft=position+'px';
            }
            father.childNodes[i].className="ulClass2";
        }
    }
}

function hoverStyle2(li){
    li.className="liHover2";
}

function noHoverStyle2(li){
    li.className="liClass2";
}

function loadXMLDoc2(url, sync){
    xmlhttp=null;
    if (window.XMLHttpRequest){// code for all new browsers
        xmlhttp=new XMLHttpRequest();
    }else 
        if (window.ActiveXObject){// code for IE5 and IE6
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        
    if (xmlhttp!=null)
    {
        xmlhttp.onreadystatechange=state_Change2;
        xmlhttp.open("POST",url,sync);
        xmlhttp.send("");
    }else{
        //alert("Your browser does not support XMLHTTP.");
    }
}

function state_Change2(){
     if (xmlhttp.readyState==4){// 4 = "loaded"
        if (xmlhttp.status==200){// 200 = OK
            try
            {
                var jsonParam;
                
                jsonParam=new Function("return "+xmlhttp.responseText)();
                if(jsonParam.SearchPage==undefined){
                    if(createTree2){
                        createMenu2(jsonParam);
                    }else{
                        addMDs2(jsonParam)                    
                    }
                }else{
                    loadXMLDoc2('/DesktopModules/SimpleMenu/Menu/Menu.aspx?option=delete',true);
                    window.parent.document.location.href = jsonParam.SearchPage;
                }
            }
            catch(ex){
            }
        }else{
            //alert("Problem retrieving XML data");
        }
    }
}

function createMenu2(jsonParam){
    var ulCategories=document.getElementById('ulCategories');
    var liMainCategory;
    var categories={};
    var rows=6, contRows=0;
    var cols=4, contCols=0;
    var contPO=0, cont=1;
    
    categories=jsonParam;
    for(var item in categories){
        if(categories[item].FatherId=="0"){
            if(detectBrowser()=='ie'){
                liMainCategory=document.createElement('<li onmouseover="showChildsPair2(this)" onmouseout="hideChildsPair2(this)" onclick="searchVIGs2(-3,\''+categories[item].catId+'\')">');
            }else{
                liMainCategory=document.createElement('li');
                liMainCategory.addEventListener("mouseover",function annonymus(liCategory){showChildsPair2(this)},false);
                liMainCategory.addEventListener("mouseout",function annonymus(liCategory){hideChildsPair2(this)},false);
                liMainCategory.addEventListener("click",function annonymus(){searchVIGs2(-3,this.name)},false);
            }
            liMainCategory.className="liClass2";
            liMainCategory.innerHTML=categories[item].Description;
            liMainCategory.id=categories[item].catId+"sm";
            liMainCategory.name=categories[item].catId
            ulCategories.appendChild(liMainCategory);
        }
    }
    for(var item in categories){
        if(categories[item].FatherId=="0"){
            addUls2(categories, item);
        }
    }
    loadXMLDoc2('/DesktopModules/SimpleMenu/Menu/Menu.aspx?option=delete',true);
    searchMDs2(categories);
}


function addUls2(categories, curritem){
    var ulCategories;
    for(var item in categories){
        if(categories[item].FatherId!="0"){
            if(categories[item].FatherId==categories[curritem].catId){
                if(!document.getElementById(categories[curritem].catId+"ulsm")){
                    ulCategories=document.createElement('ul');
                    ulCategories.className="ulClass2";
                    ulCategories.id=categories[curritem].catId+"ulsm";
                    document.getElementById(categories[curritem].catId+"sm").appendChild(ulCategories);                   
                }
                addLi2(categories, item, curritem)
                addChildren2(categories, item, curritem) 
            }
        }
    }
}

function addChildren2(categories, fatheritem, granditem){
    for(var item in categories){
        if(categories[item].FatherId!="0"){
            if(categories[item].FatherId==categories[fatheritem].catId){
                addLi2(categories, item, granditem);
                addChildren2(categories, item, granditem)
            }
        }
    }
}

function addLi2(categories, item, fatheritem){
    var liCategory;
    if(detectBrowser()=='ie'){
        if(categories[item].lastLevel=="1"){
            liCategory=document.createElement('<li id="'+categories[item].catId+'sm'+'" onmouseover="hoverStyle2(this); showChildsMD2(this);" onmouseout="noHoverStyle2(this); hideChildsMD2(this);" onclick="searchVIGs2(-3,\''+categories[item].catId+'\')">');
        }else{
            liCategory=document.createElement('<li id="'+categories[item].catId+'sm'+'" onmouseover="hoverStyle2(this)" onmouseout="noHoverStyle2(this)" onclick="searchVIGs2(-3,\''+categories[item].catId+'\')">');
        }
    }else{
        liCategory=document.createElement('li');
        liCategory.id=categories[item].catId+"sm";
        liCategory.name=categories[item].catId;
        if(categories[item].lastLevel=="1"){
            liCategory.addEventListener("mouseover",function annonymus(liCategory){hoverStyle2(this); showChildsMD2(this);},false);
            liCategory.addEventListener("mouseout",function annonymus(liCategory){noHoverStyle2(this); hideChildsMD2(this);},false);
            liCategory.addEventListener("click",function annonymus(){searchVIGs2(-3,this.name)},false);
        }else{
            liCategory.addEventListener("mouseover",function annonymus(liCategory){hoverStyle2(this)},false);
            liCategory.addEventListener("mouseout",function annonymus(liCategory){noHoverStyle2(this)},false);
            liCategory.addEventListener("click",function annonymus(){searchVIGs2(-3,this.name)},false);
        }
    }
    liCategory.className="liClass2";
    liCategory.innerHTML=categories[item].Description;
    document.getElementById(categories[fatheritem].catId+"ulsm").appendChild(liCategory);
}

function searchMDs2(categories){
    createTree2=false;
    for(var item in categories){
        if(categories[item].lastLevel=="1"){
            if(categories[item].Mds){
                addMDs2(categories[item].Mds[0]);
            }
        }
    }  
    function tryMenu(){
        if(document.getElementById("MenuAS")){
            loadXMLDoc3('/DesktopModules/SimpleMenuAS/MenuAS/MenuAS.aspx?option=init',true);
            return;
        }else{
            if(document.getElementById("MenuAV")){
                loadXMLDoc4('/DesktopModules/SimpleMenuAddVIG/MenuAddVIG/MenuAddVIG.aspx?option=init', true);
                return;
            }
        }
        setTimeout(tryMenu,500);
    } 
    if(!document.getElementById("tblMenu")&&!isHome()){
        tryMenu();
    }
}

function isHome(){
    var inputs=document.getElementsByTagName("tr");
    for(i=0;i<inputs.length;i++){ 
        if(inputs[i].id.indexOf("trListCompany")>-1){
            return true;
        }
    }
    return false;
}
function addMDs2(manufacturers){
    var ulCategories;
    for(var item in manufacturers){
        if(!document.getElementById(manufacturers[item].catId+"ulsm")){
            ulCategories=document.createElement('ul');
            ulCategories.className="ulClass2";
            ulCategories.id=manufacturers[item].catId+"ulsm";
            document.getElementById(manufacturers[item].catId+"sm").appendChild(ulCategories); 
        }
        var liCategory;   
        if(detectBrowser()=='ie'){
            liCategory=document.createElement('<li id="'+manufacturers[item].CompanyId+'smmd'+'" onmouseover="hoverStyle2(this)" onmouseout="noHoverStyle2(this)" onclick="searchVIGs2(\''+manufacturers[item].CompanyId+'\',\''+manufacturers[item].catId+'\')">');
        }else{
            liCategory=document.createElement('li');
            liCategory.id=manufacturers[item].CompanyId+"smmd";
            liCategory.name=manufacturers[item].CompanyId;
            liCategory.addEventListener("mouseover",function annonymus(liCategory){hoverStyle2(this)},false);
            liCategory.addEventListener("mouseout",function annonymus(liCategory){noHoverStyle2(this)},false);
            liCategory.addEventListener("click",function annonymus(){searchVIGs2(this.name,manufacturers[item].catId)},false);
        }
        liCategory.className="liClass2";
        liCategory.innerHTML=manufacturers[item].Company;
        document.getElementById(manufacturers[item].catId+"ulsm").appendChild(liCategory);
        liCategory=null;
        delete liCategory
    }
}
var param1=-1;
var param2=-1;
function searchVIGs2(mdId,catId){
    var inputs=document.getElementsByTagName("input");
    if(param1==-1){
        param1=catId;
        param2=mdId;
    }
    var name="";
    for(i=0;i<inputs.length;i++){ 
        if(inputs[i].type=="submit"){
            if(inputs[i].name.indexOf("SimpleMenuButton")>-1){
                name=inputs[i].name;
            }
        }
    }
    loadXMLDoc2('/DesktopModules/SimpleMenu/Menu/Menu.aspx?option=searchVIGs&catId='+param1+'&mdId='+param2,true);
    //__doPostBack(name,param1+'|'+param2);
}

function detectBrowser() {
    var ie = document.all != undefined;
    var opera = window.opera != undefined;

    if (opera) return "opera";
    if (ie) return "ie";
    if ((window)&&(window.netscape)&&(window.netscape.security)){
        if (window.XML) {
            return "firefox15";
        }
        else return "firefox10";
    }
    else{
        if (navigator.userAgent.indexOf("Safari")!=-1) {
            return "sa";
        }else{
            return "ie";
        }
    }
    return "ie";      // If we do not know wich navigator, returns "ie"
}

var tries=0;
function tryExistsMM(){
    if(tries>2){
        if(!document.getElementById("tblMenu")){
            function tryMenu2(){
                if(document.getElementById('ulCategories')){
                    loadXMLDoc2('/DesktopModules/SimpleMenu/Menu/Menu.aspx?option=init',true);
                    return;
                }
                setTimeout(function(){tryMenu2();},500);
            }
            tryMenu2();
        }
    }
    else{
        tries+=1;
        setTimeout(function(){tryExistsMM();},500);
    }
}

tryExistsMM();
