var DEBUG = false;

function doFormAction(formid, url) {
	var errorclass = 'error';
	formid = '#' + formid;
	var errormsgid = formid + ' .user_errormsg';
	var buttonsid = formid + ' .user_buttons';

	$(formid + ' :input').removeClass(errorclass);
	if ($(buttonsid).length) $(buttonsid).css('visibility', 'hidden');
	if ($(formid + ' .warning').length) $(formid + ' .warning').css('visibility', 'hidden');
	if ($(errormsgid).length) $(errormsgid).html('<div class="loading"><img src="/style/img/loader.gif" alt="Bitte warten"/></div>');
	$.post(url, $(formid).formToArray(),
		function(data) {
			if ($(errormsgid).length) $(errormsgid).empty();
			if ($(buttonsid).length) $(buttonsid).css('visibility', 'visible');
			if (data.success == 1) {
				// alert(successmessage);
				if (data.redirect) {
					// alert('Weiterleitung zu ' + data.redirect);
					window.location.href = data.redirect;
				} else {
					// alert('Weiterleitung auf Profilseite');
					window.location.href = '/teilnehmen/profil';
				}
			} else {
				jQuery.each(data.errfields, function(key, value) {
					var inputid = formid + " input[name='" + key + "']";
					$(inputid).addClass(errorclass);
					var warningid = formid + ' .warning_' + key;
					if ($(warningid).length) {
						$(warningid).css('visibility', 'visible');
						$(warningid).attr('title', value); // oder anders
					}
				});
				tooltip();
			}
			if (data.message) {
				if ($(errormsgid).length) $(errormsgid).html('<p>' + data.message + '</p>');
				else alert(data.message);
			}
		}, 'json'
	);
}

function doSignup(formid) {
	doFormAction(formid, "/auth/reg");
}

function doLogin(formid) {
	doFormAction(formid, "/auth/login");
}

function doLogout() {
	$.getJSON("/auth/logout", function(data) {
		if (data.success == 1) {
			//alert('Erfolgreich ausgeloggt.');
		} else {
			alert('Sie sind bereits ausgeloggt.');
		}
		window.location.reload();
	});
}

function doPwReset(formid) {
	doFormAction(formid, "/auth/pwreset");
}


/* Kontaktformular
------------------------------------------------------------------------------*/

function doContact(formid) {
	formid = '#' + formid;
	var url = '/contactform/sendMail';
	var errorclass = 'error';
	var contact_form;
	var contact_ok;

  $(formid + ' :input').removeClass(errorclass);
	$.post(url, $(formid).formToArray(),
		function(data) {

      //felder auf nicht sichtbar setzen
      $(formid + ' .warning_name').css('visibility', 'hidden');
			$(formid + ' .warning_street').css('visibility', 'hidden');
			$(formid + ' .warning_town').css('visibility', 'hidden');
			$(formid + ' .warning_email').css('visibility', 'hidden');

			if (data.success == 1) {
        $('#contact_form').hide();
				$('#contact_ok').show();
			} else {
				jQuery.each(data.errfields, function(key, value) {
					var inputid = formid + " input[name='" + key + "']";
					if ($(inputid).length) {
						$(inputid).addClass(errorclass);
					}
					var warningid = formid + ' .warning_' + key;
					$(warningid).css('visibility', 'visible');
					$(warningid).attr('title', value); // oder anders
				});
			}
			if (data.message) {
				alert(data.message);
			}
		}, 'json'
	);


}

/* Profil (Submit)
------------------------------------------------------------------------------*/

function submitProfile(formid) {
	formid = '#' + formid;
	var url = '/auth/saveprofile';
	var errorclass = 'error';

	$(formid + ' :input').removeClass(errorclass);
	$.post(url, $(formid).formToArray(),
		function(data) {
			if (data.redirect) {
				window.location.href = data.redirect;
			}
			if (data.success == 1) {
				$(formid + ' input').effect("highlight", {}, 1000);
				$(formid + ' textarea').effect("highlight", {}, 1000);
			} else {
				jQuery.each(data.errfields, function(key, value) {
					var inputid = formid + " input[name='" + key + "']";
					if ($(inputid).length) {
						//alert('Feld ' + inputid + ' markieren...');
						$(inputid).addClass(errorclass);
					} else alert('Keine Eingabefeld für ' + key + '.');
					var warningid = formid + ' .warning_' + key;
					$(warningid).css('visibility', 'visible');
					$(warningid).attr('title', value); // oder anders
				});
			}
			if (data.message) {
				alert(data.message);
			}
		}, 'json'
	);
}


/* Ticker
------------------------------------------------------------------------------*/
/*
$(document).ready(function() {
	if ($("#ticker")) {
		$("#ticker").jticker({
			delay: 4000,
			newwindow: true,
			url: "/rss/ticker.xml",
			transition: "fade",
			speed: "slow"
		});
	}
});
*/


/* Flash Header
------------------------------------------------------------------------------*/

$(document).ready(function() {
	// Default values
	var insertswf = '';
	var width = '884';
	var height = '219';
	var version = '8.0.0';
	var id = 'flashheader';
	var flashvars = {
		xmlPath: '/flash/xml/countdown.xml'
	};
	var params = {
		menu: 'false',
		allowFullScreen: 'false',
		allowScriptAccess: 'sameDomain',
		wmode: 'transparent',
		scale: 'showall',
		quality: 'high'
	};
	var attributes = {};
	// Headers
	if ($('#flashheader.header_home').length) {
		insertswf = '/flash/home_loader.swf';
		flashvars.swfPath = '/flash/aaa_home.swf';
	}
	else if ($('#flashheader.header_downloads').length) {
		insertswf = '/flash/aaa_downloads.swf';
	}
	else if ($('#flashheader.header_beschreibung').length) {
		insertswf = '/flash/aaa_so_funktionierts.swf';
	}
	else if ($('#flashheader.fpreise').length) {
    width = '230';
		height = '45';
		id = 'flashcounter';
		insertswf = '/flash/countdownLabel.swf';
	}
	// Insert flash
	if (insertswf) swfobject.embedSWF(insertswf, id, width, height, version, null, flashvars, params, attributes);
});



/* Flash File Uploader */
$(document).ready(function() {
	$(".imageuploadfieldset").jqUploader({
		src: "/flash/jqUploader_aaa.swf",
		background: "181818",
		barColor: "777777",
		width: 134,
		height: 39
	});
});

$(document).ready(function() {
	$(".jurys").haccordion();
});


$(document).ready(function() {
	//alert(window.location.hash);
	if ($("#tmp_detail").length) {
		if (window.location.hash) {
			if (/#[0-9]*,[0-9]*/.test(window.location.hash)) {
				var match = /#([0-9]*),([0-9]*)/.exec(window.location.hash);
				var id = match[1];
				var page = match[2];
			} else {
				var id = window.location.hash.replace('#', '');
				var page = 1;
			}

			if (DEBUG) alert('ready - hash - loadTemplate id:' + id + ' page:' + page);
			loadTemplate(id);
			if (DEBUG) alert('ready - hash - loadTemplates :all :1 :false (static)');
			loadTemplates('all', page, false);
		} else {
			if (DEBUG) alert('ready - no hash - loadTemplates :all :1 :true (static)');
			loadTemplates('all', 0, true, 0);
		}
	}
});


$(document).ready(function() {
	if ($("#myController").length) {
		if (DEBUG) alert('ready - updateTemplateFlip');
		updateTemplateFlip();
	}
});



/* Templates Galerie (Liste)
------------------------------------------------------------------------------*/

/* Kategorie-Selection */

$(document).ready(function() {
	var idcat = $('#id_cat');
	idcat.change(function() {
		if (DEBUG) alert('change cat to ' + idcat.val());
		loadTemplates(idcat.val(), 0, true, 0);
	});
});

/* Templates Liste */

function loadTemplates(catid, page, firstload, loadtemplate) {
	if (DEBUG) alert('loadTemplates :' + catid + ' :' + page + ' :' + firstload + ' :' + loadtemplate);
	if (typeof(loadtemplate) == 'undefined') var loadtemplate = 0;
	if (typeof(firstload) == 'undefined') var firstload = true;
	//if (window.location.hash) var firstload = false;
	var url = '/ajax/loadtemplates';
	$.post(url, { 'id_cat': catid, 'page': page },
		function(data) {

			// Pagination
			$('#pagination').empty();
			for (var i=1; i <= data.pages; i++) {
				if (data.currentpage == i) $('#pagination').append(' ' + i);
				else $('#pagination').append(' <span class="jslink" onclick="loadTemplates(\'' + catid + '\', ' + i + ');">' + i + '</span>');
			};

			// Templates ausgeben
			var i = 0;
			jQuery.each(data.templates, function(key, template) {
				i++;
				var container = '#tmp' + i;
				if (template.image) $(container + ' .thumb').html('<img src="' + template.image + '" onclick="loadTemplate(' + template.id + ')" alt="' + template.title + '"/>');
				else $(container + ' .thumb').html('<img src="/style/img/blank_thumb.png" alt=""/>');
				$(container + ' .user').text(template.user);
				$(container + ' .title').text(template.title);
				$(container + ' .jslink').unbind('click');
				$(container + ' .jslink').bind("click", function(e) {
					loadTemplate(template.id);
				});
				if (template.rank == 255 || template.rank == 0) $(container + ' .jslink').text('Mehr erfahren');
				else $(container + ' .jslink').text('Platz ' + template.rank);
				$(container).css('display', 'block');
				// Das erste der Liste sofort anzeigen
				if (firstload && i == 1) loadtemplate = template.id;
			});
			
			if (loadtemplate > 0) loadTemplate(loadtemplate);

			// Unbenutzte Templates verstecken
			for (var j=i+1; j <= 12; j++) {
				var container = '#tmp' + j;
				$(container).css('display', 'none');
			};
		}, 'json'
	);
}

/* Template Detail */

function loadTemplate(id) {
	var url = '/ajax/loadtemplate';
	$.post(url, { 'id': id },
		function(data) {
			var container = '#tmp_detail';
			jQuery.each(data.templates, function(key, template) {
				$(container + ' .title').text(template.title);
				$(container + ' .user').text(template.user);
				$(container + ' .beschreibung').text(template.beschreibung);
				$(container + ' .viewcount').text(template.views);
				$(container + ' .category').text(template.category);
				if(template.website){
					$(container + ' .website').html('<a href="' + template.website + '" class="noarrow" onclick="return openWin(this);">Webseite/Blog</a>');
				} else {
					$(container + ' .website').html('');
				}
				/*
				if(template.category_id == '9'){
					$(container + ' .zipfile').html('<a href="/files/templates/' + template.directory + '/' + template.zip + '" class="noarrow">Beispiel-Portfolio herunterladen</a>');
				} else {
					$(container + ' .zipfile').html('');
				}
				*/
				if (template.zip == '') $(container + ' .zipfile').html('');
				else $(container + ' .zipfile').html('<a href="/files/templates/' + template.directory + '/' + template.zip + '" class="noarrow">Portfolio herunterladen</a>');

				// Template-Bilder
				if (template.image1) $(container + ' .templ_tn').css('background-image', 'url(' + template.image1 + ')');
				else if (template.image2) $(container + ' .templ_tn').css('background-image', 'url(' + template.image2 + ')');
				else if (template.image3) $(container + ' .templ_tn').css('background-image', 'url(' + template.image3 + ')');
				else $(container + ' .templ_tn').css('background-image', 'url(/style/img/blank_template.png)');
				var templ_images = new Array();
				if (template.image1) templ_images.push(template.image1);
				if (template.image2) templ_images.push(template.image2);
				if (template.image3) templ_images.push(template.image3);
				setImagecontroller(templ_images, 1);
				// Userfoto
				if (template.userimage) $(container + ' .userfoto').attr('src', template.userimage);
				else $(container + ' .userfoto').attr('src', '/style/img/blank_user.png');
			});
		}, 'json'
	);
}


function loadTemplateRank(rank) {
	loadTemplate(0, rank);
}


function setImagecontroller(templ_images, pos) {
	var number = templ_images.length;
	var index_left = pos - 1;
	if (index_left == 0) index_left = number;
	var index_right = pos + 1;
	if (index_right > number) index_right = 1;
	
	$('#imgleft').unbind('click');
	$('#imgright').unbind('click');
	if (number > 1) {
		$('#imgleft').bind('click', function() {
			flipImagecontroller(templ_images, index_left);
		});
		$('#imgright').bind('click', function() {
			flipImagecontroller(templ_images, index_right);
		});
	}
}


function flipImagecontroller(templ_images, index) {
	var image = templ_images[index-1];
	$('#templ_tn').css('background-image', 'url(' + image + ')');
	setImagecontroller(templ_images, index);
}


/* Templates erstellen und bearbeiten */

function newTemplate() {
	var container = '#edittemplate';
	var loader = '#edittemplateloader';

	if ($(container).length) $(container).hide();
	else return;
	if ($(loader).length) $(loader).show();

	$.post('/ajax/createtemplate', {},
		function(data) {
			if (data.redirect) {
				alert('Weiterleitung zu ' + data.redirect);
				window.location.href = data.redirect;
			}
			if ($(loader).length) $(loader).hide();
			if (data.success == '1') {
				loadMyTemplate(data.template_id);
			} else if (data.success == '0') {
				alert('Es können leider keine neuen Portfolios mehr angelegt werden.');
			}
		}, 'json'
	);
}


function cutoffAfter(string, after) {
	var pos = string.indexOf(after, 0);
	return string.substr(0, pos + after.length);
}

function loadMyTemplate(id) {
	var container = '#edittemplate';
	var loader = '#edittemplateloader';

	if ($(container).length) $(container).hide();
	else return;
	
	$(loader).show();
	$(container + ' .warning').hide();

	$.post('/ajax/loadmytemplate', { 'id': id },
		function(data) {
			$(loader).hide();
			if (data.success == 1) {
				$(container + " input[name='template_id']").val(data.properties.id);
				$('#templ_name').val(data.properties.name);
				$('#templ_beschreibung').val(data.properties.beschreibung);
				$('#category_id').selectOptions(data.properties.category_id, true);
				// Template-Bilder
				var blank_image = '/style/img/templates/templ-up-blank.png';
				$('#screenshotimg1').attr('src', data.properties.image1 ? data.properties.image1 : blank_image);
				$('#screenshotimg2').attr('src', data.properties.image2 ? data.properties.image2 : blank_image);
				$('#screenshotimg3').attr('src', data.properties.image3 ? data.properties.image3 : blank_image);
				// Checkbox Bedingungen
				$('#termscheck').attr('checked', data.properties.terms);
				// Löschen-Buttons aktualisieren
				$('.screenshot .image img, #delzip').unbind('click');
				$('#delscr1').unbind("click");
				$('#delscr1').hide();
				$('#delscr2').unbind("click");
				$('#delscr2').hide();
				$('#delscr3').unbind("click");
				$('#delscr3').hide();
				$('#delzip').unbind("click");
				$('#delzip').hide();
				$('#ziptext').hide();
				// Screenshot-Upload-Formulare für Upload-Flash erneuern
				/*
				for (var i=1; i < 4; i++) {
					var formid = '#scrupload' + i;
					// Action updaten
					var form = $(formid);
					var action = cutoffAfter(form.attr('action'), 'tid=') + data.properties.id;
					form.removeAttr('action');
					form.attr('action', action);
					// Formular-Inhalt ersetzen
					$(formid + ' *').remove();
					form.html('<fieldset class="imageuploadfieldset" id="screenshot' + i + 'fieldset">'
						+ '<label for="screenshot' + i + '">Datei:</label>'
						+ '<input type="hidden" name="MAX_FILE_SIZE" value="2097152"/>'
						+ '<input type="file" name="screenshot" id="screenshot' + i + '" class="fileinput"/>'
						+ '</fieldset>'
					);
				};
				// ZIP-Upload-Formular für Upload-Flash erneuern
				var formid = '#zipupload';
				// Action updaten
				var form = $(formid);
				var action = cutoffAfter(form.attr('action'), 'tid=') + data.properties.id;
				form.removeAttr('action');
				form.attr('action', action);
				// Formular-Inhalt ersetzen
				$(formid + ' *').remove();
				form.html('<fieldset class="zipuploadfieldset" id="zipuploadfieldset">'
					+ '<label for="zipfile">Datei:</label>'
					+ '<input type="hidden" name="MAX_FILE_SIZE" value="20971520"/>'
					+ '<input type="file" name="zipfile" id="zipfile" class="fileinput"/>'
					+ '</fieldset>'
				);

				$('.imageuploadfieldset').jqUploader({
					src: "/flash/jqUploader_aaa.swf",
					background: "181818",
					barColor: "777777",
					width: 134,
					height: 39
				});

				$('.zipuploadfieldset').jqUploader({
					src: "/flash/jqUploader_aaa.swf",
					background: "181818",
					barColor: "777777",
					width: 134,
					height: 39,
					allowedExt: '*.pdf',
					allowedExtDescr: 'PDF-Portfolio (*.pdf)'
				});
*/
				templateMessage(data.properties.message);

				$(container).show();

			} else {
				if (data.redirect) {
					// alert('Weiterleitung zu ' + data.redirect);
					window.location.href = data.redirect;
				} else {
					alert('Portfolio konnte nicht geladen werden.');
				}
			}
			if (data.message) alert(data.message);
		}, 'json'
	);
}

function templateMessage(text) {
	var container = $('#templatemessage');
	if (!container.length) return false;
	if (text) {
		container.text(text);
		container.show();
		container.effect("highlight", {}, 1000);
	}
	else container.hide();
	return true;
}

function deleteMyScreenshot(tid, number) {
	if (confirm('Screenshot ' + number + ' wirklich löschen?')) {
		$.post('/ajax/deletemytemplatescr', { 'template_id': tid, 'number': number },
			function(data) {
				if (data.infotext) alert(data.infotext);
				if (data.success == 1) {
					$('#screenshotimg' + number).attr('src', '/style/img/templates/templ-up-blank.png');
					$('#delscr' + number).hide();
					templateMessage('Screenshot wurde gelöscht. ' + data.pubmessage);
					updateTemplateFlip();
				} else {
					templateMessage('Screenshot konnte nicht gelöscht werden.');
				}
			}, 'json'
		);
	}
}

function deleteMyZIP(tid) {
	if (confirm('ZIP-Datei wirklich löschen?')) {
		$.post('/ajax/deletemytemplatezip', { 'template_id': tid },
			function(data) {
				if (data.infotext) alert(data.infotext);
				if (data.success == 1) {
					$('#delzip').hide();
					$('#ziptext').text(data.ziptext);
					templateMessage('ZIP-Datei wurde gelöscht. ' + data.pubmessage);
				} else {
					templateMessage('ZIP-Datei konnte nicht gelöscht werden.');
				}
			}, 'json'
		);
	}
}

function deleteMyTemplate() {
	if (confirm('Portfolio wirklich löschen?')) {
		var container = '#edittemplate';
		var template_id = $(container + " input[name='template_id']:first").val();
		$.post('/ajax/deletemytemplate', { 'template_id': template_id },
			function(data) {
				if (data.infotext) alert(data.infotext);
				if (data.success == 1) {
					$(container).hide();
					updateTemplateFlip();
				} else {
					templateMessage('Portfolio konnte nicht gelöscht werden.');
				}
			}, 'json'
		);
	}
}

function saveMyTemplate() {
	var container = '#edittemplate';
	var template_id = $(container + " input[name='template_id']:first").val();

	var formid = '#templateform';
	var url = '/ajax/savemytemplate';
	var errorclass = 'error';

	$(formid + ' .warning').css('visibility', 'hidden');
	//$(formid + ' :input').removeClass(errorclass);
	var formdata = $(formid).formToArray();
	// if ($('#termscheck').attr('checked')) formdata.push({ name: 'terms', value: '1' });
	// else formdata.push({ name: 'terms', value: '0' });
	formdata.push({ name: 'terms', value: $('#termscheck').attr('checked') ? '1' : '0' });
	$.post(url, formdata,
		function(data) {
			if (data.redirect) {
				alert('Weiterleitung zu ' + data.redirect);
				window.location.href = data.redirect;
			}

			var errors = 0;
			jQuery.each(data.errfields, function(key, value) {
				errors++;
				var warningid = formid + ' .warning_' + key;
				if ($(warningid).length) {
					$(warningid).attr('title', value); // oder anders
					$(warningid).css('visibility', 'visible');
				} else {alert('warning id not found ' + warningid);}
			});
			tooltip();

			if (data.success == 1) {
				var msg = 'Portfolio wurde gespeichert';
				if (data.published == 1) msg += ' und veröffentlicht.';
				else msg += ', jedoch nicht veröffentlicht.';
				if (errors > 0) msg += ' Bitte beachten Sie die Fehlermeldungen in der linken Spalte.';
				templateMessage(msg);
				updateTemplateFlip();
			} else {
				templateMessage('Portfolio konnte nicht gespeichert werden.');
			}

		}, 'json'
	);

}


function updateTemplateFlip() {
	var url = '/ajax/loadmytemplates';
	$.post(url, {},
		function(data) {
			if (data.redirect) {
				alert('Weiterleitung zu ' + data.redirect);
				window.location.href = data.redirect;
			}

			if (data.success == 1) {
				$('#mySlides').empty();
				$('#myController').empty();

				var entry_list = new Array();

				var entry = '<div class="thumb">';
				entry += '<img src="/style/img/flip_new.gif" width="116" height=" 104" alt="Neues Portfolio" onclick="newTemplate();"/>';
				entry += '<p>&nbsp;</p><p class="center"><span class="jslink noarrow" onclick="newTemplate();">Neues Portfolio</span></p>';
				entry += '</div>';
				entry_list.push(entry);

				var number = 1;

				jQuery.each(data.templates, function(key, template) {
					number++;
					var entry = '<div class="thumb">';
					entry += '<img src="' + template.image + '" width="116" height=" 104" alt="" onclick="loadMyTemplate(' + template.id + ');"/>';
					entry += '<p>' + template.title + '&nbsp;</p>'; // ajax script returns html specialchars encoded
					entry += '<p><span class="jslink noarrow" onclick="loadMyTemplate(' + template.id + ');">Portfolio editieren</span></p>';
					entry += '</div>';
					
					entry_list.push(entry);
				});

				var i = -1;
				var out = '';

				jQuery.each(entry_list, function(key, val) {
					i++;
					if (i == 0) {
						out += '<div>';
						$('#myController').append('<span class="jFlowControl">S</span>');
					}

					out += val;
					if (i == 4) {
						out += '</div>';
						i = -1;
					}
				});
				if (i != 0) out += '</div>';
				$('#mySlides').html(out);

				$("#myController").jFlow({
					slides: "#mySlides",
					controller: ".jFlowControl",
					slideWrapper : "#jFlowSlide",
					selectedWrapper: "jFlowSelected",
					width: "680px",
					height: "220px",
					duration: 400,
					prev: ".jFlowPrev",
					next: ".jFlowNext"
				});

			} else {
				alert('nicht geladen');
			}

			// Pagination
			$('#pagination').empty();
			for (var i=1; i <= data.pages; i++) {
				if (data.currentpage == i) $('#pagination').append(' ' + i);
				else $('#pagination').append(' <span class="jslink" onclick="loadTemplates(\'' + catid + '\', ' + i + ');">' + i + '</span>');
			};

		}, 'json'
	);
	
}



/* Toggle Div (auf den seiten: ueber aaa & so funktioniert's)
------------------------------------------------------------------------------*/

function toggleDiv(id){
	var div = '#'+id;
	var img = '#arrow_'+id;
	if($(div).css("display") == "none"){
		$(div).slideDown("slow");
		$(img).attr("src","/style/img/arrow_toggle_down.gif");
	}else{
		$(div).slideUp("slow");
		$(img).attr("src","/style/img/arrow_toggle_right.gif");
	}
}

/* Accordeon (Jury)
------------------------------------------------------------------------------*/

jQuery.fn.extend({
	haccordion: function(params){
		var jQ = jQuery;
		var params = jQ.extend({
			speed: 500,
			headerclass: "header",
			contentclass: "content",
			contentwidth: 250,
			openone: 0,
			easing: "swing"
		}, params);
		return this.each(function(index){
			jQ("."+params.headerclass,this).each(function(index){

				if (index == params.openone){
					jQ(this).css("background-image", "url(/style/img/boxes/jury_header.gif)");

					var p = jQ(this).parent()[0];
					p.opened = this;
					jQ(this).next("div."+params.contentclass).animate({
						width: params.contentwidth + "px"
					}, params.speed);
				}
			}).click(function(){
				$("."+params.headerclass).css("background-image", "url(/style/img/boxes/jury_header_sm.gif)");

				var p = jQ(this).parent()[0];
				if (p.opened != "undefined"){
					jQ(this).css("background-image", "url(/style/img/boxes/jury_header.gif)");
					jQ(p.opened).next("div."+params.contentclass).animate({ width: "0" }, params.speed, params.easing);
				}
				p.opened = this;
				jQ(this).next("div."+params.contentclass).animate(
					{
						width: params.contentwidth + "px"
					}, params.speed, params.easing, function() {
						//$("."+params.headerclass).css("background-image", "url(/style/img/boxes/jury_header_sm.gif)");
						//jQ(this).css("background", "#f00");
					}
				);
			});
		});
	}
});


function updateProfileImage(elementimage, elementdelete) {
	var url = '/auth/myprofileimage';
	$.post(url, {},
		function(data) {
			var container = '#tmp_detail';
			if (data.success == 1) {
				if (data.photo) {
					elementimage.attr('src', data.photo);
					elementdelete.show();
				} else {
					elementimage.attr('src', '/user/blank.png');
					elementdelete.hide();
				}
			} else {
				alert('no success');
			}
		}, 'json'
	);
}


function deleteProfileImage() {
	$.post('/auth/deleteprofileimage', {},
		function(data) {
			var container = '#userprofile';
			if (data.success == 1) {
				$(container + ' .image img').attr('src', '/user/blank.png');
				$(container + ' .delete img').hide();
			} else {
				updateProfileImage($(container + ' .image img'), $(container + ' .delete img'));
			}
			if (data.message) alert(data.message);
		}, 'json'
	);
}


function updateMyTemplateImage(template_id, number) {
	var image = $('#screenshotimg' + number);
	var src = image.attr('src');
	$.post('/ajax/getmytemplateimage', { 'template_id': template_id, 'number': number },
		function(data) {
			if (data.success == 1) {
				$('#screenshotimg' + number).attr('src', data.image);
				var delbutton = $('#delscr' + number);
				delbutton.unbind();
				delbutton.bind("click", function() { deleteMyScreenshot(template_id, number); });
				delbutton.show();
				templateMessage('Screenshot wurde hochgeladen. ' + data.pubmessage);
			} else {
				templateMessage('Vorschaubild des Screenshots konnte nicht aktualisiert werden.');
			}
			if (data.message) alert(data.message);
		}, 'json'
	);
}

function saveVote(template_id, cat) {
	var selectbox = '#vote_' + template_id + '_' + cat;
	var icon = '#icon_vote_' + template_id;
	var av = '#av_' + template_id;
	var points = $(selectbox).val();
	$(icon).attr('src', '/style/img/intern/vote_blank.gif');
	$.post('/ajax/vote', { 'template_id': template_id, 'points': points, 'cat': cat },
		function(data) {
			if (data.success == 2) {
				window.location.href = '/';
			} else if (data.success == 1) {
				$(icon).attr('src', '/style/img/intern/vote_ok.gif');
				$(av).text(data.av);
			} else {
				alert('Leider ist beim Speichern ein Fehler aufgetreten!');
			}
		}, 'json'
	);
}


function updateZIP(template_id) {
	var ziptext = $('#ziptext');
	var delzip = $('#delzip');
	$.post('/ajax/getmytemplatezip', { 'template_id': template_id },
		function(data) {
			if (data.success == 1) {
				ziptext.text(data.ziptext);
				templateMessage(data.message);
			} else {
				templateMessage('Status der ZIP-Datei konnte nicht aktualisiert werden.');
			}
		}, 'json'
	);
}


function handleJQUploadError(errcode, info) {
	if (errcode == 'done') {
		var selector = 'div.containsupload:has(#' + info + ')';
		var action = $(selector + ' form').attr('id');
		//alert('action: ' + action + ' info: ' + info);
		if (action == 'profileupload') {
			updateProfileImage($(selector + ' .image img'), $(selector + ' .delete img'));
		}
		else if (action.match(/^scrupload[1-3]$/)) {
			var number = action.substr(9, 1);
			var template_id = $("#templateform input[name='template_id']").val();
			updateMyTemplateImage(template_id, number);
			// templateMessage('Screenshot ' + number + ' wurde hochgeladen.');
		}
		else if (action == 'zipupload') {
			var template_id = $("#templateform input[name='template_id']").val();
			updateZIP(template_id);
		}
	}
	else if (errcode == 'size') {
		alert('Die gewählte Datei ist zu groß (' + (Math.round((info*100)/1048576)/100) + ' MB). Maximale Dateigröße: 2 MB');
	}
	//else if (errcode == 'cancel') {
	//	alert('Der Upload wurde abgebrochen.');
	//}
	else if (errcode == 'ioerror') {
		alert('Die gewählte Datei (' + info + ') kann nicht geladen werden. Bitte überprüfen Sie die Zugriffsrechte.');
	}
	else if (errcode == 'security') {
		alert('Die Datei konnte wegen Sicherheitseinstellungen nicht hochgeladen werden (' + info + ').');
	}
	else if (errcode == 'http') {
		alert('Die Datei konnte nicht hochgeladen werden (Fehler ' + info + '). Bitte versuchen Sie es später nochmal.');
	}
	else if (errcode == 'dialog') {
		alert('Die Datei-Dialog konnte nicht geöffnet werden.');
	}
}



/* Tracker */
function track(n) {
	if (typeof(pageTracker) != 'undefined') {
		if (typeof(n) == 'object') n = $(n).attr('href');
		if (n) pageTracker._trackPageview(n);
	}
}


/* Video */

function videoplayer(videoid) {
	var base = 'https://admin.adobe.acrobat.com/_a295153/' + videoid + '/';
	var playerurl = base + 'default/viewer.swf';

	// Default values
	var width = '850';
	var height = '588';
	var version = '6';
	var flashvars = {};
	var params = {
		menu: 'false',
		base: base,
		allowScriptAccess: 'sameDomain',
		quality: 'best'
	};
	var attributes = {};
	
	// Insert Flash
	swfobject.embedSWF(playerurl, 'videoflash', width, height, version, null, flashvars, params, attributes);
	track('/video/_a295153/' + videoid);
}


/* Neues Fenster */
function openWin(o) {
	if (typeof(o) == 'object') var url = o.href;
	else var url = o;
	var nw = window.open(url, '', 'directories=yes,location=yes,resizable=yes,menubar=yes,toolbar=yes,scrollbars=yes,status=yes');
	nw.focus();
	return false;
}


/* Tooltip */

this.tooltip = function() {
	/* CONFIG */
	xOffset = 10;
	yOffset = 20;
	/* END CONFIG */
	$(".tooltip").hover(function(e){
		if (this.title) {
			this.t = this.title;
			this.title = "";
		}
		$("body").append("<div id='tooltip'>"+ this.t +"</div>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;
		$("#tooltip").remove();
    });
	$(".tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});
};

$(document).ready(function(){
	tooltip();
});







/**
 * Copyright (c) 2006-2008 Sam Collett (http://www.texotela.co.uk)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Version 2.2.3
 */
(function($) {
	$.fn.selectOptions = function(value, clear) {
		var v = value;
		var vT = typeof(value);
		var c = clear || false;
		// has to be a string or regular expression (object in IE, function in Firefox)
		if (vT != "string" && vT != 'number') return this;
		this.each(
			function() {
				if(this.nodeName.toLowerCase() != "select") return this;
				// get options
				var o = this.options;
				// get number of options
				var oL = o.length;
				for(var i = 0; i<oL; i++) {
					if(o[i].value == v) o[i].selected = true;
					else if (c) o[i].selected = false;
				}
			}
		);
		return this;
	};
})(jQuery);
