/*Fil Pop Up
author: www.filbilisim.com

version : 2.0
version : 2.1 drag eklendi


REQUIRES mootools 1.11

başlatmak için
win=new FilPopUp({
title:'başlık budur',
width:'500px'
});

win.openPopUp();
win.set('html','html yazı');

*/

var FilPopUp=new Class({
	getOptions: function() {
		return {
			width:'600px',
			height: undefined,
			title:'&nbsp;',
			closeIMG: 'imgeler/close.gif',
			loadIMG: 'imgeler/loading03.gif',
			autoReplace:false,
			fPath: '' //host_url
			 

		};
	},
	initialize: function(options) {
		
		this.setOptions(this.getOptions(), options);
		
		
		
		if (this.options.initialize) this.options.initialize.call(this);
		
		var popEle = new Element('div');

		browser_w=window.getScrollWidth();
		browser_h=window.getScrollHeight();
		scroll_top=window.getScrollTop();

		if($chk($('fpopup_frame'))==false){
			popEle.set('html','<div id="fpopup_cover"></div><div id="fpopup_frame"><div id="fpopup"><div id="fpopup_close"></div><div id="fpopup_title">Başlık</div><div id="fpopup_loading">Yüklüyor</div><div id="fpopup_cont">Yüklüyor...</div></div></div>');
			popEle.injectInside(document.getElement('body'));
			$('fpopup_frame').setStyles({
			'position': 'absolute',
			'top':'0',
			'width': '100%',
			'z-index': 99999,
			'display': 'none'
			});
			$('fpopup').setStyles({
			'position': 'absolute',		
			'top':'0'	,
			'background-color': '#F6FAFD',
			'width':this.options.width,
			'border-bottom': '2px solid #bbb'
			});

			$('fpopup_close').setStyles({
			"width":"16px",
			"height": "16px",
			"float": "right",
			"margin": "4px",
			"background-image": "url("+this.options.fPath+this.options.closeIMG+")",
			"cursor": "pointer",
			"background-color": "#aa0000"
			});
			$('fpopup_loading').setStyles({
			"height": "15px",
			"margin-right": "5px",
			"padding-right": "18px",
			"background-image": "url("+this.options.fPath+this.options.loadIMG+")",
			"background-position": "right center",
			"background-repeat": "no-repeat",
			"text-align": "right",
			"line-height": "15px",
			"color": "#237CDA"
			});
			$('fpopup_title').setStyles({
			"padding": "3px",
			"margin-bottom": "3px"
			});

			$('fpopup_cont').setStyles({
			"padding":"0 10px 10px 10px"
			});

			if(this.options.height){
				$('fpopup_cont').setStyle('height',this.options.height);
				$('fpopup_cont').setStyle('overflow','auto');
			}

			$('fpopup_loading').setStyle('opacity',0);
			$('fpopup_cover').setStyles({
			'position': 'absolute',
			'top':'0',
			'background-color':'#000',
			'z-index': 90000,
			'height': browser_h,
			'width':browser_w,
			'opacity': '0.8',
			'display':'none'
			});
			//$('fpopup').setStyle("margin-top",scroll_top+35+"px")
			//resize
			window.addEvent('resize',this.resizeCover);
			window.addEvent('scroll',this.resizeCover);
			//make dragable
			dragElement=$('fpopup');
			var myDrag = new Drag.Move(dragElement, {
				handle: $('fpopup_title')

			});

			browser_w=window.getWidth();
			fpopup_w=this.options.width.replace("px","");
			marginLeft=(browser_w - fpopup_w) / 2;
			dragElement.setStyles({'left':marginLeft,'top':'30px'});
		}
	},
	dragWin: function(){
		alert(345)
	},
	resizeCover: function (){
		browser_w=window.getWidth();
		browser_h=window.getScrollHeight();
		$('fpopup_cover').setStyles({
		'height': browser_h,
		'width':browser_w
		});

	},
	openPopUp: function (options){
		
		
		
		this.options.active=true;
		
		var win=$('fpopup_frame');
		
		if(this.options.autoReplace==false){
			$('fpopup').setStyle('top',window.getScrollTop()+30)
		}
		
		win.setStyle('display','block');
		win.setStyle('opacity','0');

		var winC=$('fpopup_cover');
		winC.setStyle('display','block');

		var Toggle = new Fx.Tween(win,{duration:'350'});
		Toggle.start('opacity',0,1);


		innerWin=$('fpopup');
		innerWin.setStyle('width',this.options.width);
		$wTitle=$('fpopup_title');
		$wTitle.set('html',this.options.title);
		var close=$('fpopup_close');
		close.addEvent('click',this.closePopUp.bind(this));
		winC.addEvent('click',this.closePopUp.bind(this));
		
		this.replaceWin.delay(500,this);
		window.addEvent('resize',this.replaceWin.bind(this));
		window.addEvent('scroll',this.replaceWin.bind(this));
	},

	closePopUp: function (){
		 
		var Toggle = new Fx.Tween($('fpopup_frame'));
		Toggle.start('opacity',1,0);


		$('fpopup_cover').setStyle('display','none');
		Toggle.addEvent('onComplete', function () {
			$('fpopup_frame').setStyle('display','none');

		});
		this.options.active=false;
		
		 
	},

	setHTML: function (html){

		$('fpopup_cont').set('html',html);

	},
	setHeight: function (h){
		$('fpopup_cont').setStyle('height',h);
	},
	showLoading: function (){
		$('fpopup_loading').setStyle('opacity',1);
	},
	hideLoading: function (){
		$('fpopup_loading').setStyle('opacity',0);
	},
	ajaxContent: function (url,eval){
		if(eval!=true) eval=false;
		winObject=this;
			var myAjx = new Request({
			url: url,
			evalScripts:eval,
			method: 'get',
			onSuccess: function (responseText){
				if(responseText=='ERROR') {
					alert('Bir hata oldu. Tekrar deneyin.');
				}else{
					winObject.setHTML (responseText);
				}
			},
			onComplete:function (){
			},
			onFailure:function (){
				alert('Bağlantı hatası. Sonra tekrar deneyin!')
			}
		}).send();
		
	},
	replaceWin: function() { 
		
		 	if(this.options.active==false) return false;		 	 
			sizes = window.getSize();
			scrollito = window.getScroll();
			scroll_top=window.getScrollTop();
			if(this.MoveBox)
			this.MoveBox.cancel();
			win=$('fpopup');
			this.MoveBox = new Fx.Morph(win, {
				duration: 500,
				transition:Fx.Transitions.Back.easeOut
			}).start({

			'left': (scrollito.x + (sizes.x - win.offsetWidth) / 2).toInt()

			});
			if(this.options.autoReplace!=false){
			this.MoveBox = new Fx.Morph(win, {
				duration: 500,
				transition:Fx.Transitions.Back.easeOut
			}).start({ 
			'top': scroll_top + (sizes.y - win.offsetHeight) / 2

			});	
			}
 
	}

});
FilPopUp.implement(new Events);
FilPopUp.implement(new Options);
