var core = new Class({
    initialize: function()
	{
		database = new Array();
		items = new Array();
		index = 0;
		last ="";
		openid="";
    },
	gallery: function()
	{
		page.insertFlash('swf/003-gallery.swf?xmlPath='+ur+'GalleryXml.php',9,'ffffff','transparent','gallery-box',870,280);
	},
	tooltip:function()
	{
	var Tips2 = new Tips($$('.tooltip'), {
		initialize:function()
		{
		this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 200, wait: false}).set(0);
		},
		onShow: function(toolTip) 
		{
			this.fx.start(1);
		},
		onHide: function(toolTip) 
		{
			this.fx.start(0);
		}
		});

	},
	start: function()
	{
		this.dragandbuy();
		this.buy_btn();
    },
	buy_btn: function()
	{
		$('buy').addEvent('mouseenter', function(){this.setStyles('background-position:0px -20px;');});
		$('buy').addEvent('mouseleave', function(){this.setStyles('background-position:0px 0px;');});
		$('buy').addEvent('mousedown', function()
		  {
			  $('form').injectAfter(this.getParent());
			  $('form').toggleClass('nodisplay');
	 	  });
	},
	dragandbuy:function()
	{
		drop = $('basket');
		
		$$('.photo-box').each(function(item){
		
		item.addEvent('mouseenter', function(){item.setStyles('background-position:0px -115px;');});
		item.addEvent('mouseleave', function(){item.setStyles('background-position:0px 0px;');});	
		
		item.addEvent('mousedown', function(e) {
		e = new Event(e).stop();
		
		var clone = this.clone()
		.setStyles(this.getCoordinates())
		.setStyles({'opacity': 0.7, 'position': 'absolute'})
		.addEvent('emptydrop', function() {
			this.remove();
			drop.removeEvents();
		}).inject(document.body);
		
		drop.addEvents({
		'drop': function() {
			item.setStyles('background-position:0px 0px;');
			start = 0;
			drop.removeEvents();
			clone.remove();
			element = $E('div.photo-title', item);
			id = item.getProperty('id');
			if(!database.contains(id))
			{
			newElement = element.clone().inject(drop);
			newElement.setProperty('id','item-'+id);
			newElement.addClass('default');
			newElement.addClass('tooltip');
			database[index]=id;
			items[index] = 1;
			newElement.setHTML("<div class='nodisplay'>"+index+"</div>"+newElement.innerHTML);
			newElement.setHTML(newElement.innerHTML+"<div class='light price-cell number'><span class='count'>"+items[index]+"</span><span> عدد </span></div>");
			newElement.setHTML(newElement.innerHTML+"<div class='button-more' title='افزايش بيش از يك محصول'></div><div class='button-reduce' title='حذف يك محصول'></div><div class='button-delete' title='حذف كامل محصول'></div>");
			
			$E('div.floatRight', newElement).remove();
			
			more = $E('div.button-more', newElement);
			reduce = $E('div.button-reduce', newElement);
			del= $E('div.button-delete', newElement);
			subm= $E('div.button-submit',  $('count-data'));
			
			more.addEvent('mouseenter', function(){this.setStyles('background-position:0px -13px;');});
			more.addEvent('mouseleave', function(){this.setStyles('background-position:0px 0px;');});
			more.addEvent('mousedown', function()
			  {
				  currentIndex = Number(this.getParent().getFirst().getText());
				  if(last==this)
				  {
				  		$('count-data').toggleClass('nodisplay');
				  }
				  else
				  {
					   $('count-data').removeClass('nodisplay');
					   last = this;
					   openid = currentIndex;
				  }
				  $('count-data').injectAfter(this.getParent());
				  $('count-field').setProperty('value',items[currentIndex]);
			  });
			
			reduce.addEvent('mouseenter', function(){this.setStyles('background-position:0px -13px;');});
			reduce.addEvent('mouseleave', function(){this.setStyles('background-position:0px 0px;');});
			reduce.addEvent('mousedown', function()
			  {
				  currentIndex = Number(this.getParent().getFirst().getText());
				  items[currentIndex] = items[currentIndex] - 1;
				  if(items[currentIndex] == 0)
				  {
				  this.getParent().remove();
				  database[currentIndex] = -1;
				  if(openid == currentIndex)
				  $('count-data').addClass('nodisplay');
				  }
				  else
				  {
				  $E('span.count',this.getParent()).setHTML(items[currentIndex]);
				  }
				  if(openid == currentIndex)
				  $('count-field').setProperty('value',items[currentIndex]);
			  });
			
			del.addEvent('mouseenter', function(){this.setStyles('background-position:0px -13px;');});
			del.addEvent('mouseleave', function(){this.setStyles('background-position:0px 0px;');});
			del.addEvent('mousedown', function()
			  {
				  currentIndex = Number(this.getParent().getFirst().getText());
				  items[currentIndex] = 0;
				  this.getParent().remove();
				  database[currentIndex] = -1;
				  if(openid == currentIndex)
				  $('count-data').addClass('nodisplay');
			  });
			
			subm.addEvent('mouseenter', function(){this.setStyles('background-position:0px -13px;');});
			subm.addEvent('mouseleave', function(){this.setStyles('background-position:0px 0px;');});
			subm.addEvent('mousedown', function()
			  {
				  if($('count-field').getProperty('value') > 0 && $('count-field').getProperty('value') < 100000)
				  {
					  items[openid] = parseInt($('count-field').getProperty('value'));
					  updElement = $E('span.count', this.getParent().getPrevious());
					  updElement.setHTML(items[openid]);
				  }
			  });
			
			index++;
			}else
			{
				database.each(function(itemID){
				   if(itemID == id)
				   {
				   items[start] = Number(items[start])+1;
				   index2 =start;
				   }
				   start++;
				});
				updElement = $E('span.count', $('item-'+id));
				updElement.setHTML(items[index2]);
				if(openid == index2)
				$('count-field').setProperty('value',items[index2]);
			}
			drop.setStyle('background','#fff');
		},
		'over': function() {
			drop.setStyle('background','#ccc');
		},
		'leave': function() {
			drop.setStyle('background','#fff');
		}
		});
		
		var drag = clone.makeDraggable({
		droppables: [drop]
		}); // this returns the dragged element
		
		drag.start(e); // start the event manual
		});
		
		});

	}
});

var page = new Class({
    initialize: function()
	{
		
    },
	niftyManager: function()
	{
		Nifty("div#body-bg", "top");
		Nifty("div#nift-bottom", "bottom");
		Nifty("div#newsletter-header,div#rates-header", "top");
		Nifty("div#newsletter-body-nifty,div#rates-body-nifty", "bottom");
		Nifty("div#news-rss-header,div#news-search-header", "top");
		Nifty("div#news-rss-body,div#news-search-body", "bottom");
	},
	start: function()
	{
		this.menu();
		this.currentMenu(currentPage);
		this.newsBar();
		if ($('intro-header'))
		page.insertFlash('swf/header.swf',9,'ffffff','transparent','intro-header',900,181);
		if (currentPage=='contactus')
		page.insertFlash('mex-swf/map.swf',9,'ffffff','transparent','news-search-body',220,200);
	},
	menu: function()
	{
		if($('header-menu') != null)
		{
			$$('#header-menu div').each(function(el) {
				el.addEvent('mouseenter', function(){
					if(currentPage != el.getProperty('id'))
					{
						el.removeClass('menu-button');
						el.addClass('menu-button-selected');
					}
				});
				el.addEvent('mouseleave', function(){
					if(currentPage != el.getProperty('id'))
					{
						el.removeClass('menu-button-selected');
						el.addClass('menu-button');
					}
				});
			});
		}
	},
	newsBar: function()
	{
		if($('news-box-context') != null)
		{
			$$('#news-box-context h2').each(function(el) {
				el.addEvent('mouseenter', function(){
					$(el).setStyles('background-color:#f1f1f1;');
					$(el).getElementsBySelector('div').setStyles('background-color:#ffe3e3;');
				});
				el.addEvent('mouseleave', function(){
					$(el).setStyles('background-color:#transparent;');
					$(el).getElementsBySelector('div').setStyles('background-color:#fff;');
				});
			});
		}
	},
	currentMenu: function(item)
	{
		if($(item) != null)
		{
			$(item).removeClass('menu-button');
			$(item).addClass('menu-button-selected');
		}
	},
	insertFlash : function(url,player,bg,wmode,div,w,h)
	{
		var so = new SWFObject(url, "loader", w, h, player,bg);
		so.useExpressInstall('mex-swf/expressinstall.swf');
		so.addParam("scale", "noscale");
		so.addParam("quality", "high");
		so.addParam("menu", "false");
		so.addParam("wmode", wmode);
		so.addVariable("id", id);
		so.write(div);
	},
	urlRewrite :function()
	{
	var url = new String(document.URL);
	url = url.split('index.php')[0];
	return url;
	},
	footerPosition: function()
	{
		alert($('body-content').getSize().size.y)
		$('footer').setStyles({
			top:window.getHeight()+(window.getScrollHeight()-window.getHeight())
		});
	}
});


var liveSearch = new Class({
    initialize: function()
	{
		req = false;
    },
	ACM: function()
	{
		if($('ACMAnchor'))
		{
			$('ACMAnchor').setStyle('display', 'none');
			$('ACMAnchor').remove();
		}
		if($('ACMCodeLink'))
		{
			$('ACMCodeLink').setStyle('display', 'none');
			$('ACMCodeLink').remove();
		}
		if($('ACMCodeTQ'))
		{
			$('ACMCodeTQ').remove();	
		}
	},
	start: function()
	{
		$('query').addEvent('keyup',function(event)
		{	
			var e = new Event(event);
			var value = $('query').getProperty('value');
			$('result').empty();
			if(req == false && $('query').getProperty('value') !='' && value.length >= 3)
			{
				req = true;
				liveSearch.searching.delay(2000,this,e);	
			}
		});
	},
	searching: function(item)
	{
		$('result').setHTML('درحال جستجو !!!')
		var ajaxCon = new Ajax('?mode=search&rnd='+Math.random(), {method: 'post',onComplete: function(request)
		{ 
			 $('result').empty();
			 var result = ajaxCon.response.text
			 $('result').setHTML(result);
			 req = false;
		},postBody: $('search-form')
		}).request();	
	},
	newslater:function()
	{
		if($('newslater'))
		{
			$('newslater').addEvent('mousedown',function(event)
			{
				$('result').setHTML('لطفا چند لحظه صبر کنید.');
				var ajaxCon = new Ajax('?mode=newslater&rnd='+Math.random(), {method: 'post',onComplete: function(request)
				{ 
					 $('result').empty();
					 var result = ajaxCon.response.text
					 $('result').setHTML(result);
					 req = false;
				},postBody: $('newslater-form')
				}).request();	
			})
		}
	},
	download:function()
	{
		$('download').addEvent('mousedown',function(event)
		{
			window.location = $('file').value;
		});
	},
	daily:function()
	{
		if($('currencyform'))
		{
			$('currencyform').addEvent('mousedown',function(event)
			{
				$('result').setHTML('لطفا چند لحظه صبر کنید.');
				$('result').removeClass('noDisplay');
				var ajaxCon = new Ajax('?mode=price&rnd='+Math.random(), {method: 'post',onComplete: function(request)
				{ 
					 $('result').empty();
					 var result = ajaxCon.response.text
					 $('result').setHTML(result);
					 req = false;
				},postBody: $('currency-form')
				}).request();
			})
		}
	},
	contactus:function()
	{
		if($('contactform'))
		{
			$('contactform').addEvent('mousedown',function(event)
			{
				$('result').setHTML('لطفا چند لحظه صبر کنید.');
				$('result').removeClass('noDisplay');
				var ajaxCon = new Ajax('?mode=email&rnd='+Math.random(), {method: 'post',onComplete: function(request)
				{ 
					 $('result').empty();
					 var result = ajaxCon.response.text
					 $('result').setHTML(result);
					 req = false;
				},postBody: $('contact-form')
				}).request();	
			})
		}
	}
});
