//global variables // Integer used to track the total number of menu groups. var iGroupCount=0; var gWidth = 0; // Object placeholder for the srcElement of an event. var oWorkItem=""; // Object placeholder for the last know menu. var oLastSelSpan=""; //the current selected Item .. var oCurrSelSpan=""; // Object placeholder for the last known menu group. var oLastSelDiv=""; //for fading nOpac = 30 nPlus = 2 speed = 15 startfade = false; lastselid = ""; timer = null; timer2 = null; var Bpropagationarr = new Array(); var Rpropagationarr = new Array(); //dynamic menu contents .. var oCitiesList = new Array(); var oCitiesIDs = new Array(); var oLocationsList = new Array(); var oLocationsIDs = new Array(); var oPropertyTypesList = new Array(); var oPropertyTypesIDs = new Array(); var oRentTypesList = new Array(); var oRentTypesIDs = new Array(); // Boolean used to monitor the overall status of the menu. var bOpenMenu=false; function checkver() { IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false; IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false; IE6 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 6.")!=-1)) ? true : false; if(IE4 == true) { return 4; } else if (IE5 == true) { return 5; } else if (IE6 == true) { return 6; } else { return -1; } } //initialize menu function .. //add menu heads and first submenus .. function fnInit() { //add the main headers of the menus fnAddMenuGroup("Rent"); fnAddMenuGroup("Buy"); fnAddMenuGroup("Mehanna’s Special"); fnAddMenuGroup("Advertise your property"); fnAddMenuGroup("About us"); fnAddMenuGroup("Contact Us"); //reading cities info var cs = eval("document.frmAdd.CitiesList.value"); var clist = cs.split(";"); for(i=0; i= 6) { oLastSelSpan.filter = "alpha(opacity=60)"; } } var last = new String(oLastSelSpan.groupid); if(!oCurrSelSpan.groupid) { delallmenus(last,0); return; } var curr = new String(oCurrSelSpan.groupid); //alert(curr + ":" + last); //I will not close any thing, I should only open or create if(curr.length > last.length) { return; } //alert(curr.length + ":" + last.length); var startdeletefrom = -1; for(i=0; i n; d--) { ids = ids.substring(0, d); var oSpan = eval("oLabel" + ids); var oDiv = eval("oGroup" + ids); if(oSpan.className == "menulabel02") { oSpan.className = "menulabel0"; } else { oSpan.className = "menulabel"; } oSpan.menustatus = "closed"; oDiv.style.display = "none"; if(oSpan.groupid == "1" || oSpan.groupid == "2") { move_slogan(false); } } } function openSelectedItem() { if(oLastSelSpan.className == "menulabel0") { oLastSelSpan.className = "menulabel02"; } else { oLastSelSpan.className = "menulabel2"; } oLastSelDiv = eval("oGroup" + oLastSelSpan.groupid); oLastSelSpan.menustatus = "open"; oLastSelDiv.style.display = "block"; if(oLastSelSpan.className == "menulabel2") { //ver check if(checkver() >= 6) { oLastSelSpan.filter = "alpha(opacity=70)"; } } if(bOpenMenu==false) { bOpenMenu=true; oMenuContainer.setCapture(); } if(oLastSelSpan.groupid == "1" || oLastSelSpan.groupid == "2") { move_slogan(true); } } function changes() { nOpac += nPlus; if(nOpac <= 60) { fadeit(); timer = setTimeout("changes()",speed); } else { endfade(); } } function addNewItems() { var paddingparameter = -1; // alert("adding"); var id = oLastSelSpan.groupid; var child = eval("oGroup" + id); if(id == 1) { if(child.innerHTML == "") { GetLocationsList(1); for(i=0; i= 10 && id < 100) { //rent types for(i=0; i= 100 && id < 1000) { //property types for(i=0; i= 1000 && id < 10000) { fnAddMenuGroupItem(id, 0, 1, "LE", 150,200+paddingparameter,10 + oLastSelDiv.count); fnAddMenuGroupItem(id, 1, 2, "$", 150,200+paddingparameter,10 + oLastSelDiv.count); fnAddMenuGroupItem(id, 2, 3, "€", 150,200+paddingparameter,10 + oLastSelDiv.count); fnAddMenuGroupItem(id, 3, "All", "No pref", 150,200+paddingparameter,10 + oLastSelDiv.count); } //menu 1 level 5 else if(id >= 10000 && id < 100000) { if(strid.charAt(4) == '0') { fnAddMenuGroupItem(id, 0, 1, "500 - 1000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "1000 - 1500", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "1500 - 2000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "2500 - 3500", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "3500 - 4500", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "Above 4500", 153,150+paddingparameter,0); } else if(strid.charAt(4) == '1') { fnAddMenuGroupItem(id, 0, 1, "500 - 1000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "1000 - 2000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "2000 - 3000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "3000 - 4000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "4000 - 5000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "Above 5000", 153,150+paddingparameter,0); } else if(strid.charAt(4) == '2') { fnAddMenuGroupItem(id, 0, 1, "500 - 1000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "1000 - 2000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "2000 - 3000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "3000 - 4000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "4000 - 5000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "Above 5000", 153,150+paddingparameter,0); } else if(strid.charAt(4) == '3') { fnAddMenuGroupItem(id, 0, 1, "500 - 1000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "1000 - 1500", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "1000 - 2000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "1500 - 2000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "2000 - 3000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "2500 - 3500", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 6, 7, "3000 - 4000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 7, 8, "3500 - 4500", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 8, 9, "4000 - 5000", 153,150+paddingparameter,0); fnAddMenuGroupItem(id, 9, 10, "Above 5000", 153,150+paddingparameter,0); } } //menu 1 level 6 else if(id >= 100000 && id < 1000000) { } } else if(strid.charAt(0) == '2') { //menu 2 level 2 if(id >= 20 && id < 200) { //property types for(i=0; i= 200 && id < 2000) { fnAddMenuGroupItem(id, 0, 1, "LE", 150,190+paddingparameter,10 + oLastSelDiv.count); fnAddMenuGroupItem(id, 1, 2, "$", 150,190+paddingparameter,10 + oLastSelDiv.count); fnAddMenuGroupItem(id, 2, 3, "€", 150,190+paddingparameter,10 + oLastSelDiv.count); fnAddMenuGroupItem(id, 3, "All", "No pref", 150,190+paddingparameter,10 + oLastSelDiv.count); } //menu 2 level 4 else if(id >= 2000 && id < 20000) { if(strid.charAt(3) == '0') { fnAddMenuGroupItem(id, 0, 1, "100 k - 150 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "150 k - 250 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "250 k - 350 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "350 k - 450 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "450 k - 700 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "Above 700 k", 120,150+paddingparameter,0); } else if(strid.charAt(3) == '1') { fnAddMenuGroupItem(id, 0, 1, "25 k - 100 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "100 k - 150 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "150 k - 250 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "250 k - 350 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "350 k - 450 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "Above 450 k", 120,150+paddingparameter,0); } else if(strid.charAt(3) == '2') { fnAddMenuGroupItem(id, 0, 1, "25 k - 100 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "100 k - 150 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "150 k - 250 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "250 k - 350 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "350 k - 450 k", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "Above 450 k", 120,150+paddingparameter,0); } else if(strid.charAt(3) == '3') { fnAddMenuGroupItem(id, 0, 1, "500 - 1000", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 1, 2, "1000 - 1500", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 2, 3, "1000 - 2000", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 3, 4, "1500 - 2000", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 4, 5, "2000 - 3000", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 5, 6, "2500 - 3500", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 6, 7, "3000 - 4000", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 7, 8, "3500 - 4500", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 8, 9, "4000 - 5000", 120,150+paddingparameter,0); fnAddMenuGroupItem(id, 9, 10, "Above 5000", 120,150+paddingparameter,0); } } //menu 2 level 5 else if(id >= 20000 && id < 200000) { } } } openSelectedItem(); } // This function is used when the mouse moves over menu labels and menu items. function fnHighlight() { oWorkItem = event.srcElement; oCurrSelSpan = oWorkItem; if(oWorkItem.id == "") { var str = "oLabel" + oLastSelSpan.groupid; if(str == "oLabel4" || str == "oLabel5" || str == "oLabel6") { fnSwitchMenu(); } } else { if(oWorkItem.menustatus == "closed") { closeLastOpenedMenu(); //open the new selected menu if exists , else add its Items. oLastSelSpan = oWorkItem; oLastSelDiv = eval("oGroup" + oWorkItem.groupid); if(oLastSelDiv.innerHTML == "" || oLastSelDiv.innerHTML == " ") { addNewItems(); //ver check if(checkver() >= 6) { initfade(); } } else { openSelectedItem(); //ver check if(checkver() >= 6) { initfade(); } } } else { //ver check if(checkver() >= 6) { endfade(); } //if the mouse go out the main menu //set the timer to end the menu .. } } } function initfade() { nOpac = 20; lastselid = oLastSelSpan.groupid; timer = setTimeout("changes()",5); } function endfade() { nOpac = 60; lastselid = oLastSelSpan.groupid; clearTimeout(timer); //ver check if(checkver() >= 6) { fadeit(); } } function fadeit() { id = lastselid ; if(id == 1 ) { for( i=0; i< oLocationsList.length; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } else if(id == 2) { for( i=0; i< oLocationsList.length; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } else if(id == 3) { var ob1 = eval("oLabel3" + 1); ob1.style.filter = "alpha(opacity="+nOpac+")"; var ob2 = eval("oLabel3" + 2); ob2.style.filter = "alpha(opacity="+nOpac+")"; var ob3 = eval("oLabel3" + 3); ob3.style.filter = "alpha(opacity="+nOpac+")"; } else if(id == 33) { var ob1 = eval("oLabel33" + 1); ob1.style.filter = "alpha(opacity="+nOpac+")"; var ob2 = eval("oLabel33" + 2); ob2.style.filter = "alpha(opacity="+nOpac+")"; var ob3 = eval("oLabel33" + 3); ob3.style.filter = "alpha(opacity="+nOpac+")"; var ob4 = eval("oLabel33" + 4); ob4.style.filter = "alpha(opacity="+nOpac+")"; } else { var strid = new String(id); if(strid.charAt(0) == '1') { // menu 1 level 2 if(id >= 10 && id < 100) { //rent types for(i=0; i= 100 && id < 1000) { //property types for(i=0; i= 1000 && id < 10000) { for(i=0; i< 3; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } //menu 1 level 5 else if(id >= 10000 && id < 100000) { if(strid.charAt(4) == '0') { for(i=0; i<6; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } else if(strid.charAt(4) == '1') { for(i=0; i<6; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } else if(strid.charAt(4) == '2') { for(i=0; i<10; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } } //menu 1 level 6 else if(id >= 100000 && id < 1000000) { } } else if(strid.charAt(0) == '2') { //menu 2 level 2 if(id >= 20 && id < 200) { //property types for(i=0; i= 200 && id < 2000) { for(i=0; i<3; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } //menu 2 level 4 else if(id >= 2000 && id < 20000) { if(strid.charAt(3) == '0') { for(i=0; i<6; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } else if(strid.charAt(3) == '1') { for(i=0; i<6; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } else if(strid.charAt(3) == '2') { for(i=0; i<10; i++) { var str = "oLabel" + id; var ob = eval(str + i); ob.style.filter = "alpha(opacity="+nOpac+")"; } } } //menu 2 level 5 else if(id >= 20000 && id < 200000) { } } } } function IsMyFather(child , father) { if(!child) { return false; } if(!father) { return false; } childID = child.groupid; fatherID = father.groupid; var scid = new String(childID); var sfid = new String(fatherID); //if they are at different levels if(scid.length != scid.length) { return false; } //alert(scid + ":" + sfid); if(scid.slice(0, scid.length-2) == sfid) { // alert(scid); return true; } else { return true; } } // The fnAddMenuGroup function is used to dynamically add new menu groups. function fnAddMenuGroup(sGroupName) { strLang = "en"; if(strLang == "ru") { strSpace = ' '; strSpace2 = '  '; strSpace3 = ' '; } else { strSpace = '    '; strSpace2 = '   '; strSpace3 = '   '; } // Increment the total number of menu groups. iGroupCount++; // Add the new menu group (label and drop down menu) to the menu container. if(iGroupCount<6) { oMenuContainer.innerHTML+='' + strSpace + sGroupName + strSpace3 + ''; } else { if(checkver() >= 6 ) { oMenuContainer.innerHTML+='' + strSpace + sGroupName + strSpace3 + ''; } else { oMenuContainer.innerHTML+='' + strSpace2 + sGroupName + strSpace3 +''; } } // alert(oMenuContainer.innerHTML) // Refer to the new label and group using the iGroupCount. var oNewLabel=eval("oLabel" + iGroupCount); var oNewGroup=eval("oGroup" + iGroupCount); // Align the label and group with the rest of the menu labels and groups. oNewLabel.menustatus="closed"; oNewLabel.style.top=0; oNewLabel.style.left=gWidth + 2*iGroupCount-2 ; oNewGroup.style.top=oNewLabel.offsetHeight + oNewLabel.offsetTop; oNewGroup.style.left=oNewLabel.offsetLeft+5; if(checkver() >= 6) { oNewLabel.style.whiteSpace = "nowrap"; oNewGroup.style.whiteSpace = "nowrap"; } oNewGroup.style.display="none"; //alert(oNewLabel.style.left + ":" + oNewGroup.style.left); gWidth += oNewLabel.offsetWidth; } function fnAddMenuGroupItem(groupID, itemID, ID, ItemName, width, left, length) { var iCount = (groupID * 10) + itemID; var oMenuGroup = eval("oGroup" + groupID); // Add the new menu group (label and drop down menu) to the menu container. oMenuGroup.count ++; oMenuGroup.innerHTML+='' + ItemName + ''; // Refer to the new label and group using the iGroupCount. var oNewLabel=eval("oLabel" + iCount); var oNewGroup=eval("oGroup" + iCount); // Align the label and group with the rest of the menu labels and groups. oNewLabel.menustatus="closed"; oNewLabel.style.top = 17*(oMenuGroup.count-1); oNewLabel.style.left = left; oNewLabel.style.width = width; if(checkver() >= 6) { oNewLabel.style.filter = "alpha(opacity=30)"; } var length9 = 8*17; var currlength =( itemID + length) *17; oNewGroup.style.top = 0; oNewGroup.style.left=left; oNewGroup.style.display="none"; } //to get location list fot an ID function GetLocationsList(cityID) { oLocationsIDs = new Array(); oLocationsList = new Array(); var strCityLocations = eval("document.frmAdd.CITY_LOCATIONS_" + cityID + ".value"); var arrLocations = strCityLocations.split(";") for(ii=0; ii