/**
// Copyright (C) 2008 - 2010 Mike Feng Jinglong
//
// This program is a commercial software; you cannot redistribute it
// and/or modify it without the explicit consent from the tagged.
//
// All title and copyright in and to the Product is owned by Mike Feng
// and is protected by international copyright laws and treaty provisions.
// Mike Feng retains all ownership rights in the Product.
// The copyright notice must be reproduced and included on any copy
// that is expressly permitted under this Agreement.
**/
var grabLink;
function grabPhoto(id, message, defaultprompt) {
	grabLink = $('grab-link').get('html');
	if ($('grab-albums-dropdown') && $('grab-albums-dropdown').getParent('div[id=SexyAlertBox-Box]').getStyle('display') == 'block') return;
	var SexyGrab = new SexyAlertBox({
		OverlayStyles: {
			'opacity': 0
		},
		onShowStart: function() {
			var self = grabCreateElements(defaultprompt);
			var inputbox = self.getElement('input[id=grab-albums-inputbox]');
			var dropdown = self.getElement('select');
			var error = self.getElement('div[id=grab-albums-error]');
			$('BoxConfirmBtnOk').removeEvents('click');
			$('BoxConfirmBtnOk').addEvent('click', function(e) {
				e.stop();
				if (dropdown.get('value') == 0 && (inputbox.get('value') == defaultprompt || inputbox.get('value') == '')) {
					error.setStyle('display', 'block');
					return;
				}
				else
					sendGrab(SexyGrab, dropdown, inputbox, id, message, defaultprompt);
			});
			var url = sgurlraw+"&func=getalbumslist";
			var myReq = new Request.JSON({
				'url': url,
				'method': 'get',
				onRequest: function(){
				},
				onSuccess: function(responseJSON, responseText) {
					responseJSON.each(function(album) {
						var option = new Element('option', {
							'value': album.aid,
							'text': album.name
						}).inject(dropdown);
					});
					$('grab-loading').destroy();
				},
				onFailure: function(){
					Sexy.error("<strong>"+SG_AJAX_ERROR+"</strong>");
				}
			}).send();
		}
	});
	
	SexyGrab.confirm(message);
}

function sendGrab(SexyGrab, dropdown, inputbox, id, message, defaultprompt) {
	var url = sgurlraw+"&func=grabphoto&id="+id;
	var myReq = new Request.JSON({
		'url': url,
		'method': 'post',
		'data': {
			'albumSelect': dropdown.get('value'),
			'albumInput': inputbox.get('value')
		},
		onRequest: function(){
			$('grab-link').addClass('grab-loading');
			$('grab-link').set('html', SG_GRAB_GRABBING);
		},
		onSuccess: function(responseJSON, responseText) {
			$('grab-link').removeClass('grab-loading');
			SexyGrab.display(0);
			if (responseJSON.error) {
				$('grab-link').set('html', grabLink);
				Sexy.error(responseJSON.message);
				return;
			}
			$('grab-link').set('html', responseJSON.grab_link);
			Sexy.info(responseJSON.message);
		},
		onFailure: function(){
			$('grab-link').set('html', grabLink);
			Sexy.error("<strong>"+SG_AJAX_ERROR+"</strong>");
		}
	}).send();
}

function grabCreateElements(defaultprompt) {
	var self = $('SexyAlertBox-Buttons').getPrevious('div[id=alertThumb-placeholder]').empty();
	var inputbox = new Element('input', {
		'id': 'grab-albums-inputbox',
		'type': 'text',
		'value': defaultprompt,
		'class': 'small',
		'size': '30',
		'styles': {
			'color': '#808080'
		},
		'events': {
			'focus': function(e) {
				e.stop();
				if (this.get('value') == defaultprompt) {
					this.set('value', '');
					this.setStyle('color', '#000');
				}
			},
			'blur': function(e) {
				e.stop();
				if (!this.get('value')) {
					this.set('value', defaultprompt);
					this.setStyle('color','#808080');
				}
			}
		}
	});
	var dropdown = new Element('select', {
		'id': 'grab-albums-dropdown',
		'class': 'small',
		'events': {
			'change': function() {
				if (this.get('value') == 0) {
					inputbox.fade('show');
					inputbox.set('value', defaultprompt);
					inputbox.setStyle('color','#808080');
				}
				else {
					inputbox.setProperty('value', '');
					inputbox.fade('hide');
				}
			}
		}
	});
	var error = new Element('div', {
		'id': 'grab-albums-error',
		'html': SG_GRAB_ALBUM_CANNOT_BLANK,
		'class': 'small',
		'styles': {
			'padding': '3px',
			'margin': '3px',
			'background-color': '#FFF3A3',
			'color': '#B79000',
			'display': 'none'
		}
	});
	dropdown.inject(self);
	new Element('br').inject(self);
	inputbox.inject(self);
	error.inject(self);
	return self;
}
