var W3CDOM = (document.createElement && document.getElementsByTagName);

function mask_files() {
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'faux';
	var i = document.createElement('input');
	i.className = 'faker';
	fakeFileUpload.appendChild(i);
	var x = document.getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		if (x[i].type != 'file') continue;
		if (x[i].className != 'mask') {
			x[i].className = 'mask';
			var clone = fakeFileUpload.cloneNode(true);
			x[i].parentNode.insertBefore(clone, x[i].nextSibling);
			clone.appendChild(x[i]);
			clone.getElementsByTagName('input')[1].relatedElement = clone.getElementsByTagName('input')[0];
			clone.getElementsByTagName('input')[1].onchange = clone.getElementsByTagName('input')[1].onmouseout = function () {
				this.relatedElement.value = this.value;
			}
		}
	}
}

function form_toggle () {

	var s = $('#sv input');

	for (var i = 0; i < s.length; i++) {
	
		if (vorpal.defined(s[i].getAttribute('off'))) {
		
			if (s[i].type == 'password') { s[i].password = 'true'; s[i].type = 'text'; }
		
			vorpal.events.attach(s[i], 'blur', function () {
				this.value = (this.value == '') ? this.getAttribute('off') : this.value;
				if (this.value == this.getAttribute('off')) {
					vorpal.add_class(this, 'off');
				}
			});
			
			vorpal.events.attach(s[i], 'focus', function () {
				this.type = (this.password == 'true') ? 'password' : this.type;
				this.value = (this.value == this.getAttribute('off')) ? '' : this.value;
				vorpal.remove_class(this, 'off');
			});
			
			if (s[i].value == '') {
				s[i].value = s[i].getAttribute('off');
			}
			vorpal.add_class(s[i], 'off');
		
		}
	
	}
	
}

var sv = new function () {

	this.slide = function (vpl_s) {
	
		if (($('#search').style.display == 'block') && (vpl_s != 'search')) { $('#search').style.display = 'none'; $('#search').style.height = '0px'; $('#'+vpl_s).style.display = 'block'; $('#'+vpl_s).style.height = '40px'; return; }
		if (($('#browse').style.display == 'block') && (vpl_s != 'browse')) { $('#browse').style.display = 'none'; $('#browse').style.height = '0px'; $('#'+vpl_s).style.display = 'block'; $('#'+vpl_s).style.height = '40px'; return; }
	
		var h = $('#'+vpl_s).offsetHeight;
		$('#'+vpl_s).style.height = h+'px';
	
		if (h > 15) {
		
			vorpal.ui.animate($('#'+vpl_s), 500, 0, 'height', function(){$('#'+vpl_s).style.display = 'none';});
		
		} else {
		
			$('#'+vpl_s).style.display = 'block';
			vorpal.ui.animate($('#'+vpl_s), 500, 40, 'height', function(){});
			$('#'+vpl_s).style.display = 'none';
			$('#'+vpl_s).style.display = 'block';
		
		}
	
	};
	
	this.apply_overlays = function (s) {
	
		if (sv_settings.overlays == 0) { return; }
	
		s = s || 'sv';
		s = $('#'+s+' div.thumb');
		
		for (var i = 0; i < s.length; i++) {
		
			e = document.createElement('div');
			e.innerHTML = 'This is a title and it can be long';
			e.className = 'overlay';
			s[i].appendChild(e);
			
			vorpal.events.attach(s[i], 'mouseenter', function () {
				this.getElementsByTagName('div')[0].style.display = 'block';
				p = this.getElementsByTagName('div')[0].offsetHeight;
				this.getElementsByTagName('div')[0].style.top = (0 - (p - 11))+'px';
			});
			
			vorpal.events.attach(s[i], 'mouseleave', function () {
				this.getElementsByTagName('div')[0].style.display = 'none';
			});
		
		}
		
	};
	
	this.sort = function () {
		
		$('#sort-toggle').style.display = 'none';
		$('#headline').innerHTML = '&nbsp;';
		$('#sort').style.display = 'block';
	
	};
	
	this.overlay = function (s) {
	
		if (vorpal.defined($('#overlay'))) { document.body.removeChild($('#overlay')); }
		if (vorpal.defined($('#popup'))) { document.body.removeChild($('#popup')); }
	
		var o = vorpal.ui.offsets();
		var w = vorpal.ui.window();
	
		var m = document.createElement('div');
		m.id = 'overlay';
		m.style.height = w['y']+'px';
		m.style.width = w['x']+'px';
		
		document.body.appendChild(m);
		
		var p = document.createElement('div');
		p.id = 'popup';
		p.innerHTML = s;
		document.body.appendChild(p);
		p.style.top = (o['y'] + 150)+'px';
		p.style.left = ((w['x'] - $('#popup').offsetWidth) / 2)+'px';
		
	};
	
	this.close_overlay = function () {
	
		if (vorpal.defined($('#overlay'))) { document.body.removeChild($('#overlay')); }
		if (vorpal.defined($('#popup'))) { document.body.removeChild($('#popup')); }
	
	};
	
	this.help = function (s) {
	
		vorpal.io.send(sv_base+'io/help/'+s, {'s':'v', 'vcb':sv.handle_overlay});
	
	};
	
	this.fetch_overlay = function (s, v) {
		
		v = v || {};
		v.vcb = sv.handle_overlay;
		vorpal.io.send(sv_base+'io/'+s, v);
	
	};
	
	this.handle_overlay = function (s, v) {
	
		sv.overlay(s);
	
	};
	
	this.slide_left = function (s) {
	
		var i = 160;
		var m = 0;
		
		var to = (vorpal.integer($('#slider-'+s).style.left) + (3 * i));
		to = (to > m) ? m : to;
		
		vorpal.ui.animate($('#slider-'+s), 500, to, 'left', function () { sv.factor(s); });

	}
	
	this.slide_right = function (s) {

		var i = 160;
		var e = $('#slider-'+s+' div.thumb');
		var z = (e.length > 3) ? (e.length - 3) : 0;
		
		var x = (0 - (i * z));
		
		var to = (vorpal.integer($('#slider-'+s).style.left) - (3 * i));
		to = (to < x) ? x : to;

		vorpal.ui.animate($('#slider-'+s), 500, to, 'left', function () { sv.factor(s); });

	}
	
	this.factor = function (s) {
	
		var i = 160;
		var e = $('#slider-'+s+' div.thumb');
		var z = (e.length > 3) ? (e.length - 3) : 0;
		
		if ($('#slider-'+s).offsetLeft > -10) {
		
			vorpal.ui.opacity($('#slide-left-'+s), 0.25);
	
		} else {
		
			vorpal.ui.opacity($('#slide-left-'+s), 1);
		
		}
		
		if (($('#slider-'+s).offsetLeft <= (50 - ((z - 3) * i)))) {
		
			vorpal.ui.opacity($('#slide-right-'+s), 0.25);
		
		} else {
		
			vorpal.ui.opacity($('#slide-right-'+s), 1);
		
		}
	
	};
	
	this.bulk_publish = function () {
	
		var s = $('#vinovas input.bulk');
		
		var v = new Array();
		
		for (var i = 0; i < s.length; i++) {
		
			if (s[i].checked) { v.push(s[i].id.substr(1)); }
			
		}
		
		window.location = sv_base+'?sv-action=bulk-publish&sv-images='+v.join(',');
	
	};
	
	this.bulk_withdraw = function () {
	
		var s = $('#vinovas input.bulk');
		
		var v = new Array();
		
		for (var i = 0; i < s.length; i++) {
		
			if (s[i].checked) { v.push(s[i].id.substr(1)); }
			
		}
		
		window.location = sv_base+'?sv-action=bulk-withdraw&sv-images='+v.join(',');
	
	};
	
	this.bulk_delete = function () {
	
		var s = $('#vinovas input.bulk');
		
		var v = new Array();
		
		for (var i = 0; i < s.length; i++) {
		
			if (s[i].checked) { v.push(s[i].id.substr(1)); }
			
		}
		
		window.location = sv_base+'account/confirm/?images='+v.join(',');
	
	};

}();

vorpal.events.attach(window, 'domready', function (e) {

	mask_files();
	form_toggle();
	//sv.apply_overlays();

});

vorpal.events.attach(window, 'resize', function (e) {

	if (vorpal.defined($('#overlay'))) {
		var o = vorpal.ui.offsets();
		var w = vorpal.ui.window();

		$('#overlay').style.height = w['y']+'px';
		$('#overlay').style.width = w['x']+'px';
		$('#popup').style.top = (o['y'] + 50)+'px';
		$('#popup').style.left = ((w['x'] - $('#popup').offsetWidth) / 2)+'px';
	}

});