﻿
/* main functions */
function postProcessPage(element)
{
	ajaxifyFormsLinks(element);
}

function ajaxifyFormsLinks(element)
{
	var list = (element != undefined) ? $$("#"+element+" .ajaxForm") : $$('.ajaxForm');
	list.each( function(form) {
		form.removeEvents('submit');
		form.addEvent('submit', function(e) {

			new Event(e).stop();
			var isValid = validate(this);
			if(!isValid) return false;

			if(this.getProperty('beforeSubmit'))
			{
				isValid = eval(this.getProperty('beforeSubmit'));
				if(!isValid) return false;
			}

			if(!this.getProperty('action').match('layout=empty'))
			{
				if(!this.getProperty('action').match('?'))
					this.setProperty('action', this.getProperty('action')+'?layout=empty');
				else
					this.setProperty('action', this.getProperty('action')+'&layout=empty');
			}

			if(isValid)
			{

				if(this.getProperty('donteval'))
					evalStatus = false;
				else
					evalStatus = true;

				if(this.getProperty('method'))
					method_ = this.getProperty('method');
				else
					method_ = 'post';

				formTarget_ = this.getProperty('formTarget');

				// ajax load ile değiştir
				this.getElements('input.image').each(function(item_) {
					if(item_.src != '/img/ajaxLoadSmall.gif')
					{
						submitImageBuffer = item_.src;
						item_.src = '/img/ajaxLoadSmall.gif';
					}
				});
				//alert(2);
				if(this.getProperty('oncomplete'))
				{
					this.set('send', {
						method: method_,
						evalResponse:evalStatus,
						evalScripts:true,
						onComplete:function(r){
							eval(this.getProperty('oncomplete')+'(r)');
							// ajax load ile yalllaa
							form.getElements('input.image').each(function(item_) {
								item_.src = submitImageBuffer;
							});
						}
					});
				}
				else if(formTarget_)
				{
					//alert(1);
					this.set('send', {
						method: method_,
						evalResponse:evalStatus,
						evalScripts:true,
						onSuccess:function(html){
							$(formTarget_).set('text', '');
							$(formTarget_).set('html', '');
							$(formTarget_).set('html', html);
							postProcessPage( formTarget_ );
							// ajax load ile yalllaa
							form.getElements('input.image').each(function(item_) {
								item_.src = submitImageBuffer;
							});
						}
					});
				}
				else
				{
					//alert(this.action);
					this.set('send', {
						method: method_,
						evalResponse: evalStatus,
						evalScripts: true,
						onComplete: function() {
							// ajax load ile yalllaa
							form.getElements('input.image').each(function(item_) {
								item_.src = submitImageBuffer;
							});
						}
					});
				}
				this.send();
			}
		});

	});
	var list = (element != null) ? $$("#"+element+" .ajaxLink") : $$('.ajaxLink');

	list.each( function(link) {
		link.removeEvent('click');
		link.addEvent('click', function(e) {
			e = new Event(e).stop();

			if(link.getProperty('confirm'))
				var flag = confirm(link.getProperty('confirm'));
			else
				var flag = true;

			if(flag)
			{
				$(link.getProperty('linkTarget')).set("html","<div class='ajaxLoadContainer'><img src='/img/ajaxLoadSmall.gif' width='16' height='16' alt='yukleniyor'/></div>");

				/*
				if(!link.href.match('\?'))
					var url = link.href+"?layout=empty";
				else
					var url = link.href+"&layout=empty";
				*/
				var linkTarget = link.getProperty('linkTarget');

				var req = new Request({
					url: link.href, 
					method: 'get',
					evalScripts:true,
					onSuccess:function(responseText, responseXML){
						$(linkTarget).set('text', '');
						$(linkTarget).set('html', '');
						$(linkTarget).set('html', responseText);
						postProcessPage(linkTarget);
						//var scroller = new Fx.Scroll(window).toElement(linkTarget);
						if( ($(linkTarget).getPosition().y > (document.getScroll().y+window.getHeight())) || ($(linkTarget).getPosition().y < document.getScroll().y))
						{
							var scroller = new Fx.Scroll(window).toElement(linkTarget);
						}
						if(link.getProperty('oncomplete'))
							eval(this.getProperty('oncomplete')+'(r)');
					}
				})
				//alert(link.getProperty('notEmpty'));
				if(link.getProperty('notEmpty') == '1')
					req.send();
				else if(link.getProperty('ajaxContent') == '1')
					req.send('layout=ajax');
				else
					req.send('layout=empty');
				/* for moo 1.2 EK
				var request = new Request({
					url: url_,
					evalScripts:true,
					onSuccess:function(responseText, responseXML){
						$(linkTarget).set('text', '');
						$(linkTarget).set('html', '');
						$(linkTarget).set('html', responseText);
						postProcessPage(linkTarget);
						var scroller = new Fx.Scroll(window).toElement(linkTarget);
					}
				}).send();
				*/
			}
		});
	});

}

function changeRateImg(productId, iconType, targetStatus)
{
	img = $('icon'+iconType+'_'+productId);
	if(targetStatus == 1) // resim aktiflenmek istiyor
	{
		if(img.src.match('Active') == 'Active')
		{
			// zaten aktif elleþme
		}
		else
		{
			img.src = '/img/icon'+iconType+'Active.png';
		}
	}
	else
	{
		if(img.src.match('Passive') == 'Passive')
		{
			// zaten aktif elleþme
		}
		else
		{
			img.src = '/img/icon'+iconType+'Passive.png';
		}
	}
}

function rate(productId, rate)
{
	linkTarget = 'productRate_'+productId;
	var req = new Request({
		url: '/?a=product.rate&productId='+productId+'&rate='+rate+'', 
		method: 'get',
		evalScripts:true,
		onSuccess:function(responseText, responseXML){
			$(linkTarget).set('text', '');
			$(linkTarget).set('html', '');
			$(linkTarget).set('html', responseText);
		}
	})
	req.send('layout=empty');
}

function rateSite(siteId, rate)
{
	linkTarget = 'siteRate_'+siteId;
	var req = new Request({
		url: '/?a=site.rate&siteId='+siteId+'&rate='+rate+'', 
		method: 'get',
		evalScripts:true,
		onSuccess:function(responseText, responseXML){
			$(linkTarget).set('text', '');
			$(linkTarget).set('html', '');
			$(linkTarget).set('html', responseText);
		}
	})
	req.send('layout=empty');
}

function reloadDateBox(d)
{
	linkTarget = 'dateContainer';
	var req = new Request({
		url: '/?a=layout.topDateBox&requestedDate='+d+'', 
		method: 'get',
		evalScripts:true,
		onSuccess:function(responseText, responseXML){
			$(linkTarget).set('text', '');
			$(linkTarget).set('html', '');
			$(linkTarget).set('html', responseText);
		}
	})
	req.send('layout=empty');
}

var warningMessage = new Element("div",{
	'styles': {
		'color':'#212121',
		'font-size':'12px',
		'font-weight':'normal',
		'font-family':'Tahoma',
		'background':'#FBF0C6',
		'border':'1px solid #F6DF7E',
		'padding':'5px',
		'position':'absolute',
		'z-index':'2000',
		'display':'none'
	}
});
function showBalloonLight(target_, msg)
{
	$(document.body).adopt(warningMessage);
	warningMessage.set('html', msg);
	
	// position the error displayer
	warningMessage.setStyle('display','block');
	warningPosition = $(target_).getPosition();
	warningMessage.setStyle('left',(warningPosition.x - 10) + 'px');
	warningMessage.setStyle('top', (warningPosition.y + 25) + 'px');

	// fade out effect
	//warningMessage.effect('opacity', {duration: 0}).set(1);
	//.effect('opacity', {duration: 2500 }).start(1,0);
	var myEffects = new Fx.Morph(warningMessage, {duration: 5000, transition: Fx.Transitions.Sine.easeOut});
 
	myEffects.start({
		'opacity': 0
	});
}

// Hide element
function hide( el ){

	el.style.display='none';
}

// Show element
function show( el ){
	el.style.display='block';
}

/* lightbox */
function resizeBlocker()
{
	if(screenBlocker)
	{
		screenBlocker.setStyle("width",document.documentElement.offsetWidth+10);
		screenBlocker.setStyle("height",document.documentElement.offsetHeight+10);
	}
}

function _blockScr( block )
{
	if( block )
	{
		document.documentElement.style.overflow = 'hidden';
		_documentBlocked = true;
		$('_scrBlock').style.display = '';
		$('_scrBlock').setStyle("width", window.getWidth()+"px");
		$('_scrBlock').setStyle("height" , window.getHeight()+10+"px");
		//$('_scrBlock').setOpacity(0.1);
	}
	else
	{
		_documentBlocked = false;
		document.body.style.overflow = '';
		document.documentElement.style.overflow = '';
		$('_scrBlock').style.width = $('_scrBlock').style.height = '0px';
		hide( $('_scrBlock') );
	}
}

function openLightBox(targetUrl, width, height)
{
	if(width == undefined)
		width = 520;
	if(height == undefined)
		height = 500;
		
	_blockScr(true);
	midHeight = height-71;
	$("lbLoading").setStyle("display","block");
	left_ = ((window.getWidth()-width) / 2)+window.getScrollLeft();
	top_ = ((window.getHeight()-height) / 2)+window.getScrollTop();

	$('lbMainContainer').setStyle('top', top_+'px');
	$('lbMainContainer').setStyle('left', left_+'px');
	$('lbMainContainer').style.width = width+'px';
	$('lbMainContainer').style.height = height+'px';
	$('lbMainContainer').style.display = '';

	$('lbTopMid').style.width   = (width-20)+'px';


	$('lbMidContainer').setStyle('height', midHeight+'px');
	$('lbMidContainer').setStyle('width', width+'px');

	$('lbMid').setStyle('width', (width-22)+'px');
	$('lbMid').setStyle('height', (midHeight)+'px');

	$('lbMidCustomContainer').setStyle('width', (width-22)+'px');
	$('lbMidCustomContainer').setStyle('height', (midHeight)+'px');

	$('lbContentIframe').setStyle('width', (width-22)+'px');
	$('lbContentIframe').setStyle('height', (midHeight)+'px');

	$('lbLoading').setStyle('width', (width-22)+'px');
	$('lbLoading').setStyle('height', (midHeight-30)+'px');

	//$('lbBottomMid').style.width = (width-40)+'px';

	$('_scrBlock').setStyle("top",window.getScrollTop());				
	$("lbContentIframe").setProperty("src",targetUrl);		

	parent.$("lbLoading").setStyle("display","none");

}

function resizeLightBox(width, height)
{
	midHeight = height-71;
	left_ = ((window.getWidth()-width) / 2)+window.getScrollLeft();
	top_ = ((window.getHeight()-height) / 2)+window.getScrollTop();

	$('lbMainContainer').setStyle('top', top_+'px');
	$('lbMainContainer').setStyle('left', left_+'px');
	$('lbMainContainer').style.width = width+'px';
	$('lbMainContainer').style.height = height+'px';
	$('lbMainContainer').style.display = '';

	$('lbTopMid').style.width = (width-20)+'px';

	$('lbMidContainer').setStyle('height', midHeight+'px');
	$('lbMidContainer').setStyle('width', width+'px');

	$('lbContentIframe').setStyle('width', (width-20)+'px');
	$('lbContentIframe').setStyle('height', (midHeight)+'px');

	//$('lbBottomMid').style.width = (width-40)+'px';

	$('_scrBlock').setStyle("top",window.getScrollTop());
}

function closeLightBox()
{
	$('lbContentIframe').src = "/img/ajaxLoad.gif";
	$('lbMainContainer').setStyle("display","none");
	_blockScr(false);
	$('lbTopText').set("html","Yükleniyor...");
}

/* lightbox end */

window.addEvent('domready', function() {
	ajaxifyFormsLinks('orderTabs');
	ajaxifyFormsLinks('dateContainer');
});