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";
}
})
}