Ext.ns('Ext.ux'); Ext.ux.Menu = Ext.extend(Ext.util.Observable, { direction: 'horizontal', delay: 0.2, autoWidth: true, transitionType: 'fade', transitionDuration: 0.3, animate: true, currentClass: 'current', constructor: function(elId, config) { config = config || {}; Ext.apply(this, config); Ext.ux.Menu.superclass.constructor.call(this, config); this.addEvents( 'show', 'hide', 'click' ); this.el = Ext.get(elId); this.initMarkup(); this.initEvents(); this.setCurrent(); }, initMarkup: function(){ this.container = this.el.wrap({cls: 'ux-menu-container', style: 'z-index: ' + --Ext.ux.Menu.zSeed}); this.items = this.el.select('li'); this.el.addClass('ux-menu ux-menu-' + this.direction); this.el.select('>li').addClass('ux-menu-item-main'); this.el.select('li:has(>ul)').addClass('ux-menu-item-parent').each(function(item) { item.down('a') .addClass('ux-menu-link-parent') .createChild({tag: 'span', cls: 'ux-menu-arrow'}); }); this.el.select('li:first-child>a').addClass('ux-menu-link-first'); this.el.select('li:last-child>a').addClass('ux-menu-link-last'); // create clear fixes for the floating stuff this.container.addClass('ux-menu-clearfix'); // if autoWidth make every submenu as wide as its biggest child; if(this.autoWidth) { this.doAutoWidth(); } var subs = this.el.select('ul'); subs.addClass('ux-menu-sub'); //ie6 and ie7/ie8 quirksmode need iframes behind the submenus if(Ext.isBorderBox || Ext.isIE7) { subs.each(function(item) { item.parent().createChild({tag: 'iframe', cls: 'ux-menu-ie-iframe'}) .setWidth(item.getWidth()) .setHeight(item.getHeight()); }); } subs.addClass('ux-menu-hidden'); }, initEvents: function() { this.showTask = new Ext.util.DelayedTask(this.showMenu, this); this.hideTask = new Ext.util.DelayedTask(function() { this.showTask.cancel(); this.hideAll(); this.fireEvent('hide'); }, this); this.el.hover(function() { this.hideTask.cancel(); }, function() { this.hideTask.delay(this.delay*1000); }, this); // for each item that has a submenu, create a mouseenter function that shows its submenu // delay 5 to make sure enter is fired after mouseover this.el.select('li.ux-menu-item-parent').on('mouseenter', this.onParentEnter, false, {me: this, delay: 5}); // listen for mouseover events on items to hide other items submenus and remove hovers this.el.on('mouseover', function(ev, t) { this.manageSiblings(t); // if this item does not have a submenu, the showMenu task for a sibling could potentially still be fired, so cancel it if(!Ext.fly(t).hasClass('ux-menu-item-parent')) { this.showTask.cancel(); } }, this, {delegate: 'li'}); this.el.on('click', function(ev, t) { return this.fireEvent('click', ev, t, this); }, this, {delegate: 'a'}) }, onParentEnter: function(ev, link, o) { var item = Ext.get(this), me = o.me; // if this item is in a submenu and contains a submenu, check if the submenu is not still animating if(!item.hasClass('ux-menu-item-main') && item.parent('ul').hasActiveFx()) { item.parent('ul').stopFx(true); } // if submenu is already shown dont do anything if(!item.child('ul').hasClass('ux-menu-hidden')) { return; } me.showTask.delay(me.delay*1000, false, false, [item]); }, showMenu : function(item) { var menu = item.child('ul'), x = y = 0; item.select('>a').addClass('ux-menu-link-hover'); // some different configurations require different positioning if(this.direction == 'horizontal' && item.hasClass('ux-menu-item-main')) { y = item.getHeight()+1; } else { x = item.getWidth()+1; } // if its ie, force a repaint of the submenu if(Ext.isIE) { menu.select('ul').addClass('ux-menu-hidden'); // ie bugs... if(Ext.isBorderBox || Ext.isIE7) { item.down('iframe').setStyle({left: x + 'px', top: y + 'px', display: 'block'}); } } menu.setStyle({left: x + 'px', top: y + 'px'}).removeClass('ux-menu-hidden'); if(this.animate) { switch(this.transitionType) { case 'slide': if(this.direction == 'horizontal' && item.hasClass('ux-menu-item-main')) { menu.slideIn('t', { duration: this.transitionDuration }); } else { menu.slideIn('l', { duration: this.transitionDuration }); } break; default: menu.setOpacity(0.001).fadeIn({ duration: this.transitionDuration }); break } } this.fireEvent('show', item, menu, this); }, manageSiblings: function(item) { var item = Ext.get(item); item.parent().select('li.ux-menu-item-parent').each(function(child) { if(child.dom.id !== item.dom.id) { child.select('>a').removeClass('ux-menu-link-hover'); child.select('ul').stopFx(false).addClass('ux-menu-hidden'); if (Ext.isBorderBox || Ext.isIE7) { child.select('iframe').setStyle('display', 'none'); } } }); }, hideAll: function() { this.manageSiblings(this.el); }, setCurrent: function() { var els = this.el.query('.' + this.currentClass); if(!els.length) { return; } var item = Ext.get(els[els.length-1]).removeClass(this.currentClass).findParent('li', null, true); while(item && item.parent('.ux-menu')) { item.down('a').addClass(this.currentClass); item = item.parent('li'); } }, doAutoWidth: function() { var fixWidth = function(sub) { var widest = 0; var items = sub.select('>li'); sub.setStyle({width: 3000 + 'px'}); items.each(function(item) { widest = Math.max(widest, item.getWidth()); }); widest = Ext.isIE ? widest + 1 : widest; items.setWidth(widest + 'px'); sub.setWidth(widest + 'px'); } if(this.direction == 'vertical') { this.container.select('ul').each(fixWidth); } else { this.el.select('ul').each(fixWidth); } } }); Ext.ux.Menu.zSeed = 10000; // PROJECTS var Project_lastid function over(a){ document.getElementById('defaultpictureofprojecs').style.display='none'; try { document.getElementById('cont_'+Project_lastid).style.display='none'; document.getElementById('navig_header_'+Project_lastid).style.color='#444466'; document.getElementById('navig_'+Project_lastid).style.backgroundColor='#E8E8E8'; document.getElementById('navig_'+Project_lastid).style.borderColor='#E8E8E8'; document.getElementById('navig_'+Project_lastid).style.border='none'; document.getElementById('navig_'+Project_lastid).style.borderLeft='solid 2px black'; } catch (e){} document.getElementById('cont_'+a).style.display='block'; document.getElementById('navig_header_'+a).style.color='yellow'; document.getElementById('navig_'+a).style.borderColor='#bbbbbb'; document.getElementById('navig_'+a).style.backgroundColor='#bbbbbb'; document.getElementById('navig_'+a).style.border='solid 2px black'; document.getElementById('navig_'+a).style.borderLeft='solid 2px #bbbbbb'; Project_lastid=a; } function Submit_Contactus() { names=document.getElementById("names").value; family=document.getElementById("family").value; Wemailam=document.getElementById("Wemailam").value; tel=document.getElementById("tel").value; subject=document.getElementById("subject").value; body=document.getElementById("body").value; company=document.getElementById("company").value; sendto=document.getElementById("sendto").value; address=document.getElementById("address").value; if (names.length< 3) { alert("نام خود را کامل وارد نمائيد."); return false; } else if (family.length< 5) { alert("نام خانوادگي را وارد کنيد"); return false; } else if (Wemailam.length< 5) { alert("نشاني پست الکترونيکي خود را وارد کنيد"); return false; } else if (tel.length< 3) { alert("تلفن خود را وارد کنيد"); return false; } else if (subject.length < 5) { alert("موضوع پيام شما چيست؟"); return false; } else if (sendto == 0) { alert("پيام شما براي کدام يک از همکاران ما ميباشد؟"); return false; } return true; } function startCallback() { // make something useful before submit (onStart) return true; } function completeCallback(response) { document.getElementById("names").value=""; document.getElementById("family").value=""; document.getElementById("Wemailam").value=""; document.getElementById("tel").value=""; document.getElementById("subject").value=""; document.getElementById("body").value=""; document.getElementById("company").value=""; document.getElementById("sendto").value=0; document.getElementById("address").value=""; if (response=="OK") document.getElementById("ContactUsContent").innerHTML="
مشخصات شما ثبت شد."; } function completeCallback_Register(response) { if (response=="-2") { alert('ثبت نام انجام شد.'); document.getElementById("ContactUsContent").innerHTML="
مشخصات شما ثبت شد."; } } function startCallback_resume() { } function completeCallback_resume(response) { document.getElementById('cont_resumes').innerHTML=response; } function Submit_Register() { return true; } function LoginDownload() { uid=document.getElementById('u_id').value; upass=document.getElementById('u_pass').value; Ext.Ajax.request({ url:'getajax.php', params:{ action:'login', username:uid, password:upass }, success: function (R){ res=eval('('+R.responseText+')'); if (res.logined) { LoadPage("Download"); } else { document.getElementById('messagefaqred').innerHTML='کد کاربري يا رمز عبور اشتباه است.'; } } }) } function LoginFAQ(msgid) { uid=document.getElementById('u_id').value; upass=document.getElementById('u_pass').value; Ext.Ajax.request({ url:'getajax.php', params:{ action:'login', username:uid, password:upass }, success: function (R){ res=eval('('+R.responseText+')'); if (res.logined) { document.getElementById('faqlogin').style.display='none'; document.getElementById('faqcontent').style.display='block'; document.getElementById('faqusername').innerHTML=res.username; } else { document.getElementById('messagefaqred').innerHTML='کد کاربري يا رمز عبور اشتباه است.'; document.getElementById('u_id').value=''; document.getElementById('u_pass').value=''; document.getElementById('u_id').focus(); } } }) } function SubmitFAQ() { uestion=document.getElementById('soalsaedz').value; topic=document.getElementById('topic').value; Ext.Ajax.request({ url:'getajax.php', params:{ action:'faqquestion', question:uestion, topic:topic }, success: function (R){ document.getElementById('faqcontent').innerHTML='سوال شما ارسال شد.'; } }) } function faqSubmitReply(a) { replytext=document.getElementById("ddd"+a).innerHTML Ext.Ajax.request({ url:'getajax.php', params:{ action:'replymessage', id:a, text:replytext }, success: function (R){ document.getElementById('edameyefaq'+a).innerHTML=document.getElementById('edameyefaq'+a).innerHTML+'
پاسخ شما'+replytext; document.getElementById('ddd'+a).contentEditable=false; document.getElementById('heade'+a).style.display="none"; document.getElementById('sendreply'+a).style.display="none"; document.getElementById('link1'+a).style.display="none"; } }) }