Shadowbox.loadSkin('classic', 'js/shadowbox/src/skin');
Shadowbox.loadLanguage('it', 'js/shadowbox/src/lang');
Shadowbox.loadPlayer(['iframe'], 'js/shadowbox/src/player');

banner_name = Math.random().toString().replace('0.', '');;
pro = 1;

function addZeros(id, val)
{
	if(val < 10)val = '0' + parseInt(val);
	$(id).text(val);
}

$(document).ready(function(){

	Shadowbox.init({
		modal: true,
		skipSetup: true
	});
	
	/* Show tabs */
	var $tabs = $('#tabs').tabs();
	/* Refresh banner by Ctrl-X */
	$(document).bind('keydown', 'Ctrl+x', function(){load_preview();});
	/* Fix strange IE colorpicker behavior */
	if($.browser.msie)
	{
		$tabs.tabs('select', 1);
	}
	
	/* Horizontal slider */
	$("#slh1").slider({
		range: "min",
		min: 1,
		step: 1,
		max: 99,
		value: text.block1.h_slider_value,
		slide: function(event, ui) {
			addZeros("#hslv1", ui.value);
			$('input[name="hs[0]"]').val(ui.value);
		}
	});
	$("#hslv1").text($("#slh1").slider("value"));
	$('input[name="hs[0]"]').val($("#slh1").slider("value"));
	
	$("#slh2").slider({
		range: "min",
		min: 1,
		step: 1,
		max: 99,
		value: text.block2.h_slider_value,
		slide: function(event, ui) {
			addZeros("#hslv2", ui.value);
			$('input[name="hs[1]"]').val(ui.value);
		}
	});
	$("#hslv2").text($("#slh2").slider("value"));
	$('input[name="hs[1]"]').val($("#slh2").slider("value"));
	
	$("#slh3").slider({
		range: "min",
		min: 1,
		step: 1,
		max: 99,
		value: text.block3.h_slider_value,
		slide: function(event, ui) {
			addZeros("#hslv3", ui.value);
			$('input[name="hs[2]"]').val(ui.value);
		}
	});
	$("#hslv3").text($("#slh3").slider("value"));
	$('input[name="hs[2]"]').val($("#slh3").slider("value"));
	
	/* Border size slider */
	
	$("#slh4").slider({
		range: "min",
		min: 0,
		step: 1,
		max: 20,
		value: border.size,
		slide: function(event, ui) {
			$("#hslv4").text(ui.value);
			$('input[name="bs"]').val(ui.value);
		}
	});
	$("#hslv4").text($("#slh4").slider("value"));
	$('input[name="bs"]').val($("#slh4").slider("value"));
	
	/* Vertical sliders */
	
	$("#slv1").slider({
		orientation: "vertical",
		range: "min",
		min: 1,
		step: 1,
		max: 99,
		value: text.block1.v_slider_value,
		slide: function(event, ui) {
			addZeros("#vslv1", ui.value);
			$('input[name="vs[0]"]').val(ui.value);
		}
	});
	$("#vslv1").text($("#slv1").slider("value"));
	$('input[name="vs[0]"]').val($("#slv1").slider("value"));
	
	$("#slv2").slider({
		orientation: "vertical",
		range: "min",
		min: 1,
		step: 1,
		max: 99,
		value: text.block2.v_slider_value,
		slide: function(event, ui) {
			addZeros("#vslv2", ui.value);
			$('input[name="vs[1]"]').val(ui.value);
		}
	});
	$("#vslv2").text($("#slv2").slider("value"));
	$('input[name="vs[1]"]').val($("#slv2").slider("value"));
	
	$("#slv3").slider({
		orientation: "vertical",
		range: "min",
		min: 1,
		step: 1,
		max: 99,
		value: text.block3.v_slider_value,
		slide: function(event, ui) {
			addZeros("#vslv3", ui.value);
			$('input[name="vs[2]"]').val(ui.value);
		}
	});
	$("#vslv3").text($("#slv3").slider("value"));
	$('input[name="vs[2]"]').val($("#slv3").slider("value"));
	
	/* Temp size */
	$('input[name="temp_size"]').val($('input[name="size"]:checked').val());
	
	/* Firefox populates form after page refresh. This way, need to correct page view */
	if($('input[name="uploaded_image"]').val() != '')
	{
		insert_thumbnail($('input[name="uploaded_image"]').val(), $('input[name="uploaded_ext"]').val());
	}
	if( ! $('input[name="is_upload"]').is(':checked'))
	{
		$('#thumbnail').css('opacity', 1.0);
		$('#bg_image_select').css('opacity', 0.2).find('input, button').attr('disabled', 'disabled');
	}
	
	/* Some preparation stuff */
	
	$('input[name="tx[0]"]').val(text.block1.text);
	$('input[name="tx[1]"]').val(text.block2.text);
	$('input[name="tx[2]"]').val(text.block3.text);
	
	$('select[name="fs[0]"] option[value="' + text.block1.font_size + '"]').attr('selected', 'selected');
	$('select[name="fs[1]"] option[value="' + text.block2.font_size + '"]').attr('selected', 'selected');
	$('select[name="fs[2]"] option[value="' + text.block3.font_size + '"]').attr('selected', 'selected');
	
	$('input[name="ff[0]"]').val(text.block1.font_face);
	$('#ff1 img').attr('src', 'images/font-samples/'+ text.block1.font_face +'.gif');
	
	$('input[name="ff[1]"]').val(text.block2.font_face);
	$('#ff2 img').attr('src', 'images/font-samples/'+ text.block2.font_face +'.gif');
	
	$('input[name="ff[2]"]').val(text.block3.font_face);
	$('#ff3 img').attr('src', 'images/font-samples/'+ text.block3.font_face +'.gif');
	
	$('<div id="refresh" title="Reload Banner">Ctrl+X</div>').appendTo('body');
	$('#refresh').css({'top' : ($(window).height()/2 - 45) + 'px'});
	
	$('#colorSelector1 div').css('backgroundColor', '#' + layout.gradient_start_color);
	$('#colorSelector2 div').css('backgroundColor', '#' + layout.gradient_end_color);
	
	/* First text block */
	$('#colorSelector3 div').css('backgroundColor', '#' + text.block1.font_color);
	$('#colorSelector4 div').css('backgroundColor', '#' + text.block1.shadow_color);
	
	/* Second text block */
	$('#colorSelector5 div').css('backgroundColor', '#' + text.block2.font_color);
	$('#colorSelector6 div').css('backgroundColor', '#' + text.block2.shadow_color);

	/* Third text block */
	$('#colorSelector7 div').css('backgroundColor', '#' + text.block3.font_color);
	$('#colorSelector8 div').css('backgroundColor', '#' + text.block3.shadow_color);
	
	/* Border */
	$('#colorSelector9 div').css('backgroundColor', '#' + border.color);
	
	$('input[name="grad_start_color"]').val(layout.gradient_start_color);
	$('input[name="grad_end_color"]').val(layout.gradient_end_color);
	$('input[name="tc[0]"]').val(text.block1.font_color);
	$('input[name="sc[0]"]').val(text.block1.shadow_color);
	
	$('input[name="tc[1]"]').val(text.block2.font_color);
	$('input[name="sc[1]"]').val(text.block2.shadow_color);
	
	$('input[name="tc[2]"]').val(text.block3.font_color);
	$('input[name="sc[2]"]').val(text.block3.shadow_color);
	
	/* Border */
	$('input[name="bc"]').val(border.color);
	
	/* Finally load our default banner */
	load_preview();
	
	/* Action listeners */
	$('#ff1, #ff2, #ff3').click(function(){
		Shadowbox.open({
			player : 'iframe',
			content : 'includes/index.php?id=' + $(this).attr('id'),
			modal : false,
			animate: false,
			animateFade: false,
			resizeDuration: 0.01
		});
	
		return false;
	});
	
	$('input[name="is_upload"]').click(function(){
	
		if(pro == 0)
		{
			$("<div>Sorry, only pro version supports image uploading</div>").dialog({
				bgiframe: true,
				modal: true,
				overlay: {
					backgroundColor: '#000',
					opacity: 0.5
				},
				buttons: {
					Ok: function() {
						$(this).dialog('close');
					}
				}
			});
	
			return false;
		}
	
		if($(this).is(':checked'))
		{
			if($('input[name="uploaded_image"]').val() == "")
				$('#thumbnail').css('opacity', 0.2);
			else
				$('#thumbnail').css('opacity', 1.0);
				
			$('#bg_image_select').css('opacity', 1.0).find('input, button').removeAttr('disabled');
			
			if($('input[name="temp_size"]').val() != "")
			{
				$('input[value="' + $('input[name="temp_size"]').val() + '"]').attr('checked', 'checked');
			}	
		}
		else
		{
			if($('input[name="temp_size"]').val() != "")
			{
				$('input[value="' + $('input[name="temp_size"]').val() + '"]').attr('checked', 'checked');
			}
			
			$('#thumbnail').css('opacity', 1.0);
			$('#bg_image_select').css('opacity', 0.2).find('input, button').attr('disabled', 'disabled');
		}
	});
	
	$('input[name="size"]').click(function(){ 
		if($('input[name="uploaded_image"]').val() != "" && $('input[name="is_upload"]').is(':checked'))
		{
			callModal();
		}
	});
	
	$('#buttonUpload').click(function(){
		return ajaxFileUpload();
	});
	
	$('#refresh').click(function(){
		load_preview();
		return false;
	});
	
	$('#thumbnail').click(function(){
		callModal();
	});
	
	/* Fix strange IE colorpicker behavior */
	if($.browser.msie)
	{
		$tabs.tabs('select', 0);
	}
	
	/* Color pickers */
	$('#colorSelector1').ColorPicker({
		color: '#' + layout.gradient_start_color,
		onShow: function (cp) {
			$(cp).fadeIn(200);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(200);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector1 div').css('backgroundColor', '#' + hex);
			$('input[name="grad_start_color"]').val(hex);
		}
	}); $('input[name="grad_start_color"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector1').ColorPickerSetColor(this.value); $('#colorSelector1 div').css('backgroundColor', '#' + this.value);} });
	
	$('#colorSelector2').ColorPicker({
		color: '#' + layout.gradient_end_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector2 div').css('backgroundColor', '#' + hex);
			$('input[name="grad_end_color"]').val(hex);
		}
	}); $('input[name="grad_end_color"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector2').ColorPickerSetColor(this.value); $('#colorSelector2 div').css('backgroundColor', '#' + this.value);} });
	
	/* First Text Block */
	
	$('#colorSelector3').ColorPicker({
		color: '#' + text.block1.font_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector3 div').css('backgroundColor', '#' + hex);
			$('input[name="tc[0]"]').val(hex);
		}
	}); $('input[name="tc[0]"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector3').ColorPickerSetColor(this.value); $('#colorSelector3 div').css('backgroundColor', '#' + this.value);} });
	
	$('#colorSelector4').ColorPicker({
		color: '#' + text.block1.shadow_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector4 div').css('backgroundColor', '#' + hex);
			$('input[name="sc[0]"]').val(hex);
		}
	});	$('input[name="sc[0]"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector4').ColorPickerSetColor(this.value); $('#colorSelector4 div').css('backgroundColor', '#' + this.value);} });
	
	/* Second Text Block */

	$('#colorSelector5').ColorPicker({
		color: '#' + text.block2.font_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector5 div').css('backgroundColor', '#' + hex);
			$('input[name="tc[1]"]').val(hex);
		}
	}); $('input[name="tc[1]"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector5').ColorPickerSetColor(this.value); $('#colorSelector5 div').css('backgroundColor', '#' + this.value);} });
	
	$('#colorSelector6').ColorPicker({
		color: '#' + text.block2.shadow_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector6 div').css('backgroundColor', '#' + hex);
			$('input[name="sc[1]"]').val(hex);
		}
	});	$('input[name="sc[1]"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector6').ColorPickerSetColor(this.value); $('#colorSelector6 div').css('backgroundColor', '#' + this.value);} });
	
	/* Third Text Block */
	
	$('#colorSelector7').ColorPicker({
		color: '#' + text.block3.font_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector7 div').css('backgroundColor', '#' + hex);
			$('input[name="tc[2]"]').val(hex);
		}
	}); $('input[name="tc[2]"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector7').ColorPickerSetColor(this.value); $('#colorSelector7 div').css('backgroundColor', '#' + this.value);} });
	
	$('#colorSelector8').ColorPicker({
		color: '#' + text.block3.shadow_color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector8 div').css('backgroundColor', '#' + hex);
			$('input[name="sc[2]"]').val(hex);
		}
	});	$('input[name="sc[2]"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector8').ColorPickerSetColor(this.value); $('#colorSelector8 div').css('backgroundColor', '#' + this.value);} });
	
	/* Border */
	$('#colorSelector9').ColorPicker({
		color: '#' + border.color,
		onShow: function (cp) {
			$(cp).fadeIn(500);
			return false;
		},
		onHide: function (cp) {
			$(cp).fadeOut(500);
			return false;
		},
		onChange: function (hsb, hex, rgb) {
			$('#colorSelector9 div').css('backgroundColor', '#' + hex);
			$('input[name="bc"]').val(hex);
		}
	});	$('input[name="bc"]').bind('keyup', function(){ if(this.value.length == 3 || this.value.length == 6) {$('#colorSelector9').ColorPickerSetColor(this.value); $('#colorSelector9 div').css('backgroundColor', '#' + this.value);} });
	
	
	$('#codes').click(function()
	{
	
		var params = $('form').serialize() + '&rand=' + Math.random() + '&save=' + banner_name;
		$.get('wizard.php?' + params, {}, function(link){
			var sel = $('input[name="trg"]:checked').attr('value');
			var bl = '';
			if(sel == 1)
				bl = ' target="_blank"';
			var target = $('input[name="tu"]').val();
			var size = $('input[name="size"]:checked').val().split('x');
			
			$('#txt_code0').val(link);
			$('#txt_code1').val('<a href="'+target+'"'+bl+'><img src="'+link+'" border="0" width="'+size[0]+'" height="'+size[1]+'" /></a>');
			$('#txt_code2').val('<style type="text/css"> .BFMast { width: 728px; height: 90px; position: absolute; margin-top: 10px; margin-left: -364px; left: 50%; top: 0px; } body {margin-top:110px;} </style> <div class="BFMast"><a style="text-decoration:none;border:0" href="'+target+'"'+bl+'><img src="'+link+'" border="0" width="'+size[0]+'" height="'+size[1]+'" /></a></div>');
			$('#txt_code3').val('<style type="text/css"> .BFMast { width: 728px; height: 90px; position: absolute; margin-top: 10px; margin-left: -364px; left: 50%; top: 170px; } body table {margin-top:110px;} body td table, body div table {margin-top: 0;} </style> <div class="BFMast"><a style="text-decoration:none;border:0" href="'+target+'"'+bl+'><img src="'+link+'" border="0" width="'+size[0]+'" height="'+size[1]+'" /></a></div> ');
			$('#txt_code4').val('<style type="text/css"> table table table td {vertical-align:top ! important;} span.blacktext12 { visibility:visible !important; background-color:transparent; background-image:url('+link+'); background-repeat:no-repeat; background-position:center center; font-size:0px; letter-spacing:-0.5px; width:'+size[0]+'px; height:'+size[1]+'px; display:block !important; } span.blacktext12 img {display:none;} </style>');
		});
		
		return false;
	});
	
	$('#tabs-5 input:not(.trg):lt(2)').click(function()
	//$('input[name="code"]').click(function()
	{
		$('#tabs-5 textarea').hide();
		$('textarea#txt_code' + $(this).val()).show();
	});
	
	
	$.get('includes/check.php', {'check' : 1}, function(data)
	{
		pro = data;
		if(data == 0)
		{
			$('div.l').css('opacity', 0.5);
			$('#tabs-5 input:not(.trg):gt(1)').css('opacity', 0.5).next().css('opacity', 0.5);
			$('div.l input[name="eff"]').click(function()
			{
				$(this).removeAttr('checked');
				
				$("<div>Sorry, only pro version supports this feature</div>").dialog({
					bgiframe: true,
					modal: true,
					overlay: {
						backgroundColor: '#000',
						opacity: 0.5
					},
					buttons: {
						Ok: function() {
							$(this).dialog('close');
						}
					}
				});
				
				return false;
			});
			$('#tabs-5 input:not(.trg):gt(1)').click(function()
			{
				$(this).removeAttr('checked');
				
				$("<div>Sorry, only pro version supports this feature</div>").dialog({
					bgiframe: true,
					modal: true,
					overlay: {
						backgroundColor: '#000',
						opacity: 0.5
					},
					buttons: {
						Ok: function() {
							$(this).dialog('close');
						}
					}
				});
				
				return false;
			});
		}
		else
		{
			$('ul').after('<div style="float: right; position: relative; top: -23px; right: 10px; font-size: 12px;">' +
		'<a href=""  style="text-decoration: none;" id="branding">Branding</a></div>');
		
			$('#branding').click(function()
			{
				Shadowbox.open({
					player : 'iframe',
					content : 'pro/admin.php',
					modal : true,
					width: 330,
					height: 170
				});
				return false;
			});
		
			$('#tabs-5 input:not(.trg):gt(1)').click(function()
			//$('input[name="code"]').click(function()
			{
				$('#tabs-5 textarea').hide();
				$('textarea#txt_code' + $(this).val()).show();
			});
		}
	});
});

function load_preview(newSize)
{
	if($('input[name="uploaded_image"]').val() != "")
	{
		if(typeof newSize != "undefined")
		{
			$('input[name="temp_size"]').val(newSize);
		}
	}
	
	var size = $('input[name="size"]:checked').val().split('x');
	$("#preview").empty();
	
	$('#preview').animate({height : parseInt(size[1]) + 'px'}, 300, function(){
		var params = $('form').serialize() + '&rand=' + Math.random();
		//alert(params);
		$("#preview").image('wizard.php?' + params, function(){
			//
		});
		
	});
}

function ajaxFileUpload()
{
	$('#thumbnail').hide().css({'opacity' : 1.0, 'background' : '#777'})
		.html('<img src="images/ajax-loader.gif" style="padding: 9px 0 0 9px;" />').show();

	$.ajaxFileUpload
	(
		{
			url : 'upload.php',
			secureuri : false,
			fileElementId : 'upl',
			dataType : 'json',
			success : function (data, status)
			{
				if(typeof(data.error) != 'undefined')
				{
					if(data.error != '')
					{
						$('#thumbnail').hide().css({'opacity' : 0.2, 'background' : 'none'})
							.html('<img src="images/no-upload.gif" />').show();
						
						$("<div>" + data.error + "</div>").dialog({
							bgiframe: true,
							modal: true,
							overlay: {
								backgroundColor: '#000',
								opacity: 0.5
							},
							buttons: {
								Ok: function() {
									$(this).dialog('close');
								}
							}
						});
					}
					else
					{
						insert_thumbnail(data.msg, data.ext);
					
						$('input[name="uploaded_image"]').val(data.msg);
						$('input[name="uploaded_ext"]').val(data.ext);
						var size = $('input[name="size"]:checked').val().split('x');
						
						$('input[name="loader_link"]').val('loader.php?' + escape('x=' + size[0] + '&y=' + size[1] + '&img=' + data.msg + '&ext=' + data.ext));
						callModal();		
					}
				}
			},
			error: function (data, status, e)
			{
				alert(e);
			}
		}
	)
	return false;
}

function callModal()
{
	var size = $('input[name="size"]:checked').val().split('x');
	var img = $('input[name="uploaded_image"]').val();
	var ext = $('input[name="uploaded_ext"]').val();
	
	$('input[name="loader_link"]').val('loader.php?' + escape('x=' + size[0] + '&y=' + size[1] + '&img=' + img + '&ext=' + ext));
	
	Shadowbox.open({
		player : 'iframe',
		content : $('input[name="loader_link"]').val(),
		modal : true
	});
}

function insert_thumbnail(img, ext)
{
	$('#thumbnail').css('background', 'none').html('<table cellpadding="0" cellspacing="0" border="0" style="width: 50px; height: 50px;"><tr><td align="center" valign="center"><img src="uploads/' + img + '_thumb.' + ext + '" id="thumbnail" onclick="callLoader();"; /></td></tr></table>');
}

function change_font(font, t, id)
{
	if(t == 'none')sfont = '__not'; else sfont = font;
	$('a#' + id + ' > img').attr('src', 'images/font-samples/' + sfont + '.gif');
	$('a#' + id).prev().val(font);
}

$.fn.image = function(src, f){
	return this.each(function(){
		var i = new Image();
		i.onload = f;
		i.src = src;
		this.appendChild(i);
	});
}

