/**
 * @author 	goker.cebeci :: http://goker.cebeci.name
 */
var tool = new Class({
	initialize: function(e){		
	},
	post: function(a,form){
		new Request.JSON({
			onComplete: a['onComplete'] || function(){}
		}).post(form?form.get('action'):a['url'],form?form.toQueryString():a['data']);
	},
	newCaptcha: function() {
		$('captcha').src = '/captcha::'+Math.random();
	},
	empty: function(){},
	justShowOne: function(id,className){
		$$(className).each(function(e){
			if(e.id == id) e.setStyle('visibility','visible'); 
			else e.setStyle('visibility','hidden'); 
		});
	},
	result: function(header, msg, code){
		code = code?code:800
		$('result').erase('class');
		$('result').addClass(code>=400?code>=600?'error':'alert':'success');
		$('result').set('html','<div class="pop">'
		+'<table cellpadding="0" cellspacing="0" border="0"><tr><td class="rounded tl"></td><td class="rounded"></td><td class="rounded tr"></td></tr>'
		+'<tr><td class="rounded"></td><td><div class="container"><h1>'+ header +'</h1><p>'+ msg +'</p><div class="close" onclick="this.getParent().getParent().getParent().getParent().destroy();">kapat</div></div></td><td class="rounded"></td></tr>'
		+'<tr><td class="rounded bl"></td><td class="rounded"></td><td class="rounded br"></td></tr></table></div>');
		//$('result').setStyle('top',((window.innerHeight-$('result').getSize().y)/2+window.pageYOffset)+'px');
		if($('submit'))$('submit').erase('disabled');
		if($('loader'))$('loader').setStyle('display','none');
		return 0;
	},
	confirm: function(header, msg, func){
		$('result').erase('class');
		$('result').addClass('alert');
		$('result').set('html','<div class="pop">'
		+'<table cellpadding="0" cellspacing="0" border="0"><tr><td class="rounded tl"></td><td class="rounded"></td><td class="rounded tr"></td></tr>'
		+'<tr><td class="rounded"></td><td><div class="container"><h1>'+ header +'</h1><p>'+ msg +'</p>'
		+'<div class="approve" onclick="this.getParent().getParent().getParent().getParent().destroy(); '+func+';">tamam</div>'
		+'<div class="cancel" onclick="this.getParent().getParent().getParent().getParent().destroy();">vazgeç</div>'
		+'</div></td><td class="rounded"></td></tr>'
		+'<tr><td class="rounded bl"></td><td class="rounded"></td><td class="rounded br"></td></tr></table></div>');
		if($('submit'))$('submit').erase('disabled');
		if($('loader'))$('loader').setStyle('display','none');
	},
	marker: function(e){
		$(e).getParent().getParent().addClass('marked');
	},
	clear: function(){
		$$('div.marked').each(function(e){e.removeClass('marked');});
	},
	sortable: function(ID,prefix,handle,a){
		if(!order) var order = [];
		return new Sortables($(ID), {
			cloneOpacity:.2,
			handle: handle || 'img',
			ghost: 0,
			clone: 1,
			revert: 1,
			constrain: 0,
			onStart: function(){
				order = this.serialize(function(e) {return e.id.replace(prefix,"");});
			},
			onComplete: a['onComplete'] || function(){
				var i = 0;
				var change = false;
				this.serialize(function(e) {if(e.id.replace(prefix,'') != order[++i])	change = true; });
				if(change && order.length > 0){
					order = this.serialize(function(e) {return e.id.replace(prefix,"");});
					a['data'] = (a['data'] || '') +'&order='+ order
					if(a.url) tool.post(a); else a.onComplete(this.serialize());
				}
			}
			});
	},
	addBookmark: function(site,title){
		if (document.all)
			window.external.AddFavorite(site,title)
		else if (window.sidebar) // firefox
			window.sidebar.addPanel(title, site, '');
	}
});
var tool = new tool();
