/********************************************************************
	Otetaan selville, mikä selain on käytössä
********************************************************************/
var arBrowser = navigator.appVersion.split("MSIE")
var browserVersion = parseFloat(arBrowser[1])

String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/, "");
}; 


/********************************************************************
	Automaattinen Facebook Connect-kirjautuminen
********************************************************************/
// Jos käyttäjä ei ole kirjautunut kun sivu ladataan, user_logged_in
// -muuttujaa ei ole asetettu. FB.init() sivun lopussa saattaa kirjata
// käyttäjän sisään. Jos näin käy, ladataan sivu uudestaan niin kirjautuminen
// päivittyy. Muulloin ei ladata sivua uudestaan ettei jouduta ikilooppiin.
//
// Lisäksi Facebook-kirjautuneille muutetaan Kirjaudu Ulos -nappi
// Kirjaudu Ulos Facebookista -napiksi. Jos tätä ei tehtäisi, kirjautuisi
// uloskirjautunut käyttäjä samantien uudestaan sisään seuraavalla
// sivunlatauksella.
/*
function doFacebookLogin() {
	if(!user_logged_in) {		
		if(bodyLoadComplete) {
			window.location.reload();	
		}
		else {
			setTimeout("doFacebookLogin();", 1000);
		}
	}
	else {
		jQuery('#logout_button').html("<a href=\"javascript:FB.Connect.logoutAndRedirect('/logout.php');\">Kirjaudu ulos Facebookista</a>");
	}
}*/
/********************************************************************
  Kommenttien lisääminen
********************************************************************/
function fetchReplyForm(service_id, comment_id)
{
	var element_id = 'reply_form_' + comment_id;
	var params = 'comment_id=' + comment_id + '&service_id=' + service_id;
	var url = '/fetch_comment_reply_form.php';
	
	/* Poistetaan aiemmat reply formit */
	jQuery('.reply_form_container').html('');

	jQuery('#' + element_id).html('<img src="images/indicator.gif" alt="" />');
	jQuery('#' + element_id).load(url + '?' + params);

}

function beforeSubmitComment() {
  jQuery('#comment_indicator').show();
  jQuery('#commentform').hide();
}

function commentSubmitted(request) {
  jQuery('#ajaxcomments').html(request.responseText);
  setTimeout("afterSubmitComment()", 0);
}

function afterSubmitComment() {
	jQuery('#comment_indicator').hide();
  jQuery('#commentform').show();
	jQuery('#message').val('');
	jQuery('#message').focus();
  
	var tmp = document.forms['commentform'].elements['service_id'];
	if (tmp.value == '1') {
		jQuery('#private').attr('checked', '');
	}
	resize_element_images();
}

function submitComment() {
  var url = '/comment.php';
  var params = "ajax=1&" + jQuery('#commentform').serialize();
	jQuery.ajax({ type : 'POST', url  : '/comment.php', data : params, complete : commentSubmitted, error : reportError});
}

function submitReplyComment(comment_id) {
  var url = '/comment.php';
  var params = "ajax=1&" + jQuery('#commentform' + comment_id).serialize();
	jQuery.ajax({ type : 'POST', url  : '/comment.php', data : params, 
	complete : function(xhr, txt){
		jQuery('#reply_form_' + comment_id).html(xhr.responseText);
	}, error : reportError});
	return false;
}


function reportError(request) {
	jQuery('#ajaxcomments').html("Kommentin lähettämisessä tapahtui virhe. Yritä lähettää viesti uudelleen.");
	jQuery('#comment_indicator').hide();
}

function displAllComments(username, image_id, service_id){
	if(!service_id)
		service_id = 20;
	jQuery('#ajaxcomments').html('Ladataan...');
  var params = "service_id=" + service_id + "&target_id=" + image_id + "&all=1&username=" + username + "&r=" + randStr();
	jQuery('#ajaxcomments').load('/list_comments.php', params, resize_element_images);
	jQuery('#link_displ_all').hide();
}

function displAllClubComments(club_id) {
  var params = "service_id=17&target_id=" + club_id + "&all=1&r=" + randStr();
	jQuery('#ajaxcomments').html('Ladataan...');
	jQuery('#ajaxcomments').load('/list_comments.php', params);
	jQuery('#link_displ_all').hide();
}

function beforeSubmitCommentHTML() {
	jQuery('#commentcontainer').hide();
	jQuery('#commenthtmlpreview').hide();
	jQuery('#comment_indicator').show();
}

function submitCommentHTML() {
  var params = "ajax=1&" + jQuery('#commentform').serialize();
	jQuery.ajax({ type : 'POST', url  : '/comment.php', data : params, complete : commentSubmittedHTML, error : reportError});
}

function commentSubmittedHTML(request) {
  jQuery('#commenthtmlpreview').html(request.responseText);
	jQuery('#comment_indicator').hide();
	jQuery('#commenthtmlpreview').show();
}

function saveCommentHTML() {
	beforeSubmitCommentHTML();
  var params = "ajax=1&" + jQuery('#commentpreview').serialize();
	jQuery.ajax({ type : 'POST', url  : '/comment.php', data : params, complete : commentPostedHTML, error : reportError});
}

function editCommentHTML() {
	beforeSubmitCommentHTML();
  var params = "ajax=1&edit=1&" + jQuery('#commentpreview').serialize();
	jQuery.ajax({ type : 'POST', url  : '/comment.php', data : params, complete : editCommentPostedHTML, error : reportError});
}

function editCommentPostedHTML(request) {
	jQuery('#commentcontainer').html(request.responseText);
	jQuery('#commentcontainer').show();
	jQuery('commenthtmlpreview').html('');
	jQuery('#commenthtmlpreview').hide();
	jQuery('#comment_indicator').hide();
	jQuery('#message').focus();
}

function commentPostedHTML(request) {
  jQuery('#ajaxcomments').html(request.responseText);
  afterSubmitCommentHTML();
}

function afterSubmitCommentHTML() {
	jQuery('#message').val('');
	jQuery('#comment_indicator').hide();
	jQuery('#commenthtmlpreview').hide();
	jQuery('#commentcontainer').show();
	jQuery('#message').focus();
	resize_element_images();
}

function switchCommentModeWP(target_id, username) {
	jQuery('#commentcontainer').hide();
  jQuery('#comment_indicator').show();
	var params = 'target_id=' + target_id + '&username=' + username;
	jQuery.ajax({ type : 'GET', url  : '/commentmode.php', data : params, complete : commentModeSwitched});
}

function switchCommentMode(target_id) {
	jQuery('#commentcontainer').hide();
  jQuery('#comment_indicator').show();
	var params = 'target_id=' + target_id;
	jQuery.ajax({ type : 'GET', url  : '/commentmode.php', data : params, complete : commentModeSwitched});
}

function commentModeSwitched(request) {
	jQuery('#commentcontainer').html(request.responseText);
	jQuery('#comment_indicator').hide();
	jQuery('#commentcontainer').show();
	jQuery('#message').focus();
}

/********************************************************************
	Hymiöt
********************************************************************/

function addSmilie(smilie) {
	var msg = document.forms['commentform'].elements['message'];
	msg.value = msg.value + '[' + smilie + ']';
	msg.focus();
}

/********************************************************************
  Kommenttien poistaminen
********************************************************************/
function undoDelete(id) {
	jQuery('#btndelete_' + id).css('display', 'block');
	jQuery('#confirmdelete_' + id).css('display', 'none');
}

function confirmDeleteComment(id) {
	jQuery('#btndelete_' + id).css('display', 'none');
	jQuery('#confirmdelete_' + id).css('display', 'block');
}

function undoDeleteAllComments() {
	jQuery('#btndeleteall').css('display', 'block');
	jQuery('#confirmdeleteall').css('display', 'none');
}

function confirmDeleteAllComments() {
	jQuery('#btndeleteall').css('display', 'none');
	jQuery('#confirmdeleteall').css('display', 'block');
}

function deleteAllComments(id, service_id, username) {
	
  var params = "action=deleteall&image_id=" + id + "&service_id=" + service_id + "&username=" + username + "&r=" + randStr();
	jQuery('#ajaxcomments').load('/deletecomments.php', params, function(){ undoDeleteAllComments(); });
}

function deleteComment(id, target_id, service_id) {

	if(target_id && service_id && confirm('Haluatko varmasti poistaa kommentin?'))
	{
		var params = "action=delete&comment_id=" + id + "&r=" + randStr() + "&target_id=" + target_id + "&service_id=" + service_id;
		jQuery('#tmpcomments').load('/deletecomments.php', params, function(){ jQuery('#c_' + id).fadeOut(); });
	}
	
}

/* Newsfeedit */
function confirmDeleteFeedItem(id) {
	jQuery('#btndelete_' + id).hide();
	jQuery('#confirmdelete_' + id).css('display', 'inline');
}

function deleteFeedItem(id, bmlog_data_id) {
	var item_str = '';
	
	for(i = 0; i < id.length; i++){
		item_str += 'item[' + i + ']=' + id[i] + (id.length > 1 && i < id.length ? '&' : '');
	}

	var params = item_str + "&r=" + randStr();
	
	jQuery.get('/deletefeed.php', params, function(){ jQuery('#feedItem_' + bmlog_data_id).fadeOut(); });
}

function undoDeleteFeedItem(id) {
	jQuery('#confirmdelete_' + id).css('display', 'none');
	jQuery('#btndelete_' + id).show();
}


/********************************************************************
  Welhon kavereiden etsiminen/lisääminen
********************************************************************/
/* etsiminen */
function beforeSearchFriend() {
	jQuery('#friend_indicator').show();
	jQuery('#find').hide();
}

function searchFriend() {
  var params = "ajax=2&" + jQuery('#startwizard').serialize();
	// 2009-05-28 : siirretty beforeSearchFriend() -funktiosta jquery-porttauksen yhteydessä
	jQuery('#friends').attr("disabled", "disabled"); 
	jQuery.ajax({ type : 'POST', url  : '/start/index.php', data : params, complete:friendSearched, error: reportError });
}

function friendSearched(request) {
  jQuery('#friendlist').html(request.responseText);
  setTimeout("afterSearchFriend()", 0);
}

function reportError(request) {
	jQuery('#friendlist').html("Kavereiden lisäämisessä tapahtui virhe.");
	jQuery('#friend_indicator').hide();
	jQuery('#find').show();
	jQuery('#frinds').attr('disabled', '');
}

function afterSearchFriend() {
	jQuery('#friend_indicator').hide();
	jQuery('#find').show();
	jQuery('#friends').attr('disabled', '');
}

/* lisääminen */
function beforeAddFriend(username) {
	jQuery('#friend_add_indicator_' + username).show();
	jQuery('#add_' + username).hide();
}

function addFriend(username) {
  var params = "ajax=2&action=add&username=" + username;
	jQuery.ajax({ type : 'GET', url  : '/friend.php', data : params, complete:friendAdded, error: reportAddError });
}

function friendAdded(request) {
	var username = request.responseText;
	jQuery('#add_' + username).html("<img src='/images/icon-accept.gif' alt='' /> Kaveripyyntö lähetetty");
  setTimeout("afterAddFriend('"+username+"')", 0);
}

function reportAddError(request) {
	jQuery('#add_' + request.responseText).html("Kavereiden lisäämisessä tapahtui virhe.");
	jQuery('#friend_add_indicator_' + request.responseText).hide();
	jQuery('#add_' + request.responseText).show();
}

function afterAddFriend(username) {
  jQuery('#friend_add_indicator_' + username).hide();
	jQuery('#add_' + username).show();
}



/********************************************************************
	Albumi
********************************************************************/
function ajaxError(request) {
}

function movePhoto(folder_id,element) {
  var params = "action=move&id=" + element.id + "&folder_id=" + folder_id + "&" + jQuery('#frmPhotos').serialize() + "&r=" + randStr();
	
	jQuery('#albumbox').html('<p align="center"><img src="/images/indicator.gif" alt="" /></p><h3 align="center">Ladataan, odota hetki...</h3>');
	document.location.href = "/photos.php?" + params;
}

function confirmDelete() {
	var dodelete = confirm("Haluatko varmasti poistaa kuvan?");
	if (dodelete) {
		return true;
	}
	else {
		return false;
	}
}

function confirmDeleteProfilePic() {
	var dodelete = confirm("Haluatko ottaa profiilikuvasi pois käytöstä?");
	if (dodelete) {
		return true;
	}
	else {
		return false;
	}
}

function confirmPhotoFolderDelete() {
	var dodelete = confirm("Haluatko varmasti poistaa kuvakansion?");
	if (dodelete) {
		return true;
	}
	else {
		return false;
	}
}

function displFolderTools() {
	jQuery('#folder_tools').css('display', 'block');
	jQuery('#folder_settings').css('display', 'none');
	jQuery('#folder_new').css('display', 'none');
}

function displFolderSettings() {
	jQuery('#folder_tools').css('display', 'none');
	jQuery('#folder_settings').css('display', 'none');
	jQuery('#folder_new').css('display', 'none');
}

function displNewPhotoFolder() {
	jQuery('#folder_tools').css('display', 'block');
	jQuery('#folder_settings').css('display', 'none');
	jQuery('#folder_new').css('display', 'none');
}

function selectContainerBoxes(container_id){
	var inputArray = jQuery('#'+ container_id + '_container').find('input');
	var selected = 0;
	
	for(i = 0; i < inputArray.length; i++){
		if(inputArray[i].checked == true){
			selected++;
		}
	}
	if(selected == inputArray.length){
		for(i = 0; i < inputArray.length;i++){
			inputArray[i].checked = false;
		}
		jQuery('#' + container_id + '_selector').attr('checked', '');
	}else{
		for(i = 0; i < inputArray.length;i++){
			inputArray[i].checked=true;
		}
		jQuery('#' + container_id + '_selector').attr('checked', 'checked');
	}
}

function toggleFavorites(username, mode, modify_list){
	var params = "username=" + username + "&list_mode=" + mode;

	jQuery('#profile_clublist_container').html('<img src="/images/indicator.gif" alt="" />');
	
	jQuery.ajax({ type : 'GET', url  : '/list_favorites.php', data : params, complete:
	
	function(xhr, status){

		var response = xhr.responseText;

		jQuery('#profile_clublist_container').html(response);
		if(modify_list){
			ccm();
		}
		
	}, 
	error: reportError
	});
	return false;
}

function ccm(){
	var i = 1;
	for(i=1; i < 15; i++){
		modifyClubList(i);
	}
	modifyClubList(99);
	
}
function modifyClubList(container_id){
	if(jQuery('#con_' + container_id).length == 0){
		return false;
	}
	
	var inputArray = jQuery('#con_' + container_id).find('button');

	var selected = 0;
	if(inputArray.length > 0){
		
		for(i = 0; i < inputArray.length; i++){
			if(inputArray[i].style.display == 'inline'){
				selected++;
			}
		}
		if(selected == inputArray.length){
			
			for(i = 0; i < inputArray.length;i++){
				inputArray[i].style.display = 'none';
			}
			jQuery('#adder').css('display', 'none');
		}else{
				for(i = 0; i < inputArray.length;i++){
				inputArray[i].style.display = 'inline';
			}
			jQuery('#adder').css('display', 'inline');
		}
		
	}
	return false;
}


/********************************************************************
	Tagit
********************************************************************/
function htmlencode(str) {
	// < > & " '
	str = str.replace(/&/g,"&amp;");
	str = str.replace(/</g,"&lt;");
	str = str.replace(/>/g,"&gt;");
	str = str.replace(/\"/g,"&guot;");
	str = str.replace(/\'/g,"&#039;");
	return str;
}

function printRecentTags() {
	if (tags.length > 0) {
		for (n=0; n<tags.length; n++) {
			document.write("<a href=\"javascript:addRemoveTags("+n+")\" id=\"tag_"+n+"\" class=\"tag\">"+htmlencode(tags[n])+"</a> ");
		}	
	}
}
function addRemoveTags(n) {
	var tag = tags[n];
	var text = new String(document.forms["f"].elements["tags"].value);
	var found = new Boolean();
	var newTemp = new Array();
	
	if (text.length > 0) {
		var temp = text.split(" ");
		if (temp.length > 0) {
			for (i = 0; i < temp.length; i++) {
				if (temp[i] == tag) {
					found = true;
				} else if (temp[i] != "") {
					newTemp.push(temp[i]);
				}
			}
		}
	}
	if (found == false) {
		newTemp.push(tag);
	}
	
	var newText = new String(newTemp.join(" "));
	document.forms["f"].elements["tags"].value = newText;
	underlineTags();	
	document.forms["f"].elements["tags"].focus();
}
function underlineTags() {
	var text = new String(document.forms["f"].elements["tags"].value);
	if (text.length > 0) {
		var temp = text.split(" ");
	} else {
		var temp = new Array();
	}

	if (tags.length > 0) {
		for (n = 0; n < tags.length; n++) {
			var found = new Boolean();
			for (m = 0; m < temp.length; m++) {
				if (tags[n] == temp[m]) {
					document.getElementById("tag_"+n).className = "tag_selected";
					found = true;				
				}
			}
			if (found == false) {
				document.getElementById("tag_"+n).className = "tag";
			}
		}	
	}
}

/********************************************************************
	Oldies
********************************************************************/
function antiSpam(account, domain, text) {
  if (text == '') {
    text = account + "@" + domain;
  }
  document.write('<a href="mailto:' + account + '@' + domain + '">' + text + '</a>');
}

function wpopup() {
  nw = window.open("","wpopup",'toolbar=0,location=0,scrollbars=1,width=640,height=400,resizable=1');
  nw.focus();
}

function changeUserdataDescriptionState() {
  var obj1 = document.getElementById('view_image');
  var obj2 = document.getElementById('view_description');
  
  if (obj1.style.display == "none") {
    obj1.style.display = "block";
    obj2.style.display = "none";
  }
  else {
    obj1.style.display = "none";
    obj2.style.display = "block";
  }
}

function forumGoto(form) {
  window.location.href = form.areaurl.options[form.areaurl.selectedIndex].value;
}
function forum_smilie(form, element, smilie) {
	var curMsg = document.forms[form].elements[element].value;
	var newMsg;
	
	newMsg = curMsg + '[' + smilie + ']';
	document.forms[form].elements[element].value = newMsg;
	document.forms[form].elements[element].focus();
	return false;
}

/********************************************************************
	Kaverin lisääminen
********************************************************************/
function getmy_friendgroups(username){
	jQuery('#addfriend_div').html("<img src='/images/indicator.gif' alt=''/>");
	
	var params = "ajax=1&action=get_folders&username=" + username;
	
	jQuery.ajax({ type : 'GET', url  : '/ajax_friend.php', data : params, complete:
	
	function(xhr, status){

		var response = xhr.responseText;
		
		if( response == "is not logged" ){
			jQuery('#addfriend_div').html("Kirjaudu ensin sisään, jotta voit lisätä kavereita.");
		}
		else{
			jQuery('#addfriend_div').html(response);
		}
		
	},
	error: function(xhr){
		var response = xhr.responseText;
		jQuery('#addfriend_div').html("<span class='error'>Kaverin lisäämisessä tapahtui virhe. Ota yhteyttä asiakaspalveluun, mikäli tämä toistuu.</span>");
	}
	});
}

function addFriend_profile(username){
	var group_id = jQuery('#group_id').val();
	var new_group = jQuery('#new_group').val();
	new_group = new_group ? new_group : 0;
	
	jQuery('#addfriend_div').html("<img src='/images/indicator.gif' alt=''/>");
	
	var params = "ajax=1&action=add&username=" + username + "&group_id=" + group_id + "&new_group=" + new_group;
	
	jQuery.ajax({ type : 'GET', url  : '/ajax_friend.php', data : params, complete:
	
	function(xhr, status){

		var response = xhr.responseText;
		
		if( response == "ok" ){
			jQuery('#addfriend_div').html("Kaveripyyntö lähetetty.");
		}
		else if( response == "is not logged" ){
			jQuery('#addfriend_div').html("Kirjaudu ensin sisään, jotta voit lisätä kavereita.");
		}
		else if( response == "user not found" ){
			jQuery('#addfriend_div').html("<span class='error'>Kaveria ei löydetty.</span>");
		}
		else if( response == "user is ignored"){
			jQuery('#addfriend_div').html("<span class='error'>Et voi lisätä kaveriksi, sillä jompi kumpi teistä on lisännyt toisen Ignore-listalleen.</span>");
		}
		else if( response == "no privileges to folder" ){
			jQuery('#addfriend_div').html("<span class='error'>Ei oikeuksia kaveriryhmään.</span>");
		}
		else if( response == "folder not found" ){
			jQuery('#addfriend_div').html("<span class='error'>Kaveriryhmää ei löydetty.</span>");
		}
		
	},
	error: function(xhr){
		var response = xhr.responseText;
		jQuery('#addfriend_div').html("<span class='error'>Kaverin lisäämisessä tapahtui virhe. Ota yhteyttä asiakaspalveluun, mikäli tämä toistuu.</span>");
	}
	});
}

function handleFRequest(fr, command, gid) {
  var params = "ajax=1&fr=" + fr + "&action=" + command + "&group_id=" + gid;
  jQuery.post('/friends.php', params, function(){ if(command == 'accept'){ document.location.reload(); } else { jQuery('#fr_' + fr).fadeOut(); } });
}

function handleFDelete(username, gid, m) {
	var c = confirm('Haluatko varmasti poistaa käyttäjän kaverilistaltasi?');
	if (c) {
		
	  var params = "ajax=1&action=del&username=" + escape(username) + "&group_id=" + gid;
		jQuery.post('/friends.php', params, function(){ jQuery('#' + m).fadeOut(); });
		
	}
}
function handleFMove() {
	
	var u = document.forms['usermover'].elements['username'].value;
	var g = document.forms['usermover'].elements['group_id'].value;
	var og = document.forms['usermover'].elements['old_group_id'].value;
	var m = document.forms['usermover'].elements['m'].value;

	jQuery('#moveform').css('display', 'none');
	
	var params = "ajax=1&action=setgroup&group_id=" + g + "&old_group_id=" + og + "&username=" + u;
	jQuery.post('/friends.php', params, function(){ jQuery('#' + m).fadeOut(); });

	return false;
}


/********************************************************************
	Klubiin liittyminen
********************************************************************/
function club_memberhood_action(action, club_id){
	
	if(action == 'join'){
		
		jQuery('#action_container_' + club_id).html('<img src="/images/indicator.gif" alt="" />');
		
		var params = "ajax=1&community_id=" + club_id + "&action=join";
		
		jQuery.ajax({ type : 'GET', url  : '/clubs/join.php', data : params, complete:
			
			function(xhr, status){
				
				var action_status = xhr.responseText; 
				var str = '';
				
				if(action_status == 'missing_community_id')
				{
					str = '<small class="error"><b>Klubin tunnistaminen epäonnistui.</b></small>';
				}
				else if(action_status == 'club_not_found')
				{
					str = '<small class="error"><b>Klubia ei löydetty.</b></small>';
				}
				else if(action_status == 'not_logged')
				{
					str = '<small class="error"><b>Toiminto vaatii kirjautumisen.</b></small>';
				}
				else if(action_status == 'club_already_member')
				{
					str = '<small class="error"><b>Olet jo klubin jäsen.</b></small>';
				}			
				else if(action_status == 'club_auth_required')
				{
					str = '<small class="error"><b>Klubiin liittyminen vaatii tunnistautumisen.</b></small>';
				}
				else if(action_status == 'club_joined')
				{
					str = '<small class="light"><b>Olet nyt klubin jäsen...</b></small>';
				}
				else if(action_status == 'club_invite_only')
				{
					str = '<small class="error"><b>Klubiin voi liittyä vain kutsusta.</b></small>';
				}
				else if(action_status == 'club_user_banned')
				{
					str = '<small class="error"><b>Olet bannattu klubista.</b></small>';
				}
				else{
					str = '<small class="error"><b>Kutsun hyväksymisessä tapahtui virhe.</b></small>';
				}
				
				jQuery('#action_container_' + club_id).html(str);
				jQuery('#invite_container_' + club_id).fadeOut('slow');
				jQuery('#invite_container_' + club_id).css('class', 'club_invite_resolved');
				
				if(action_status == 'club_joined'){
					window.location.href = '/clubs/invite_friends.php?from_invite=1&club_id=' + club_id;
				}
			
		}
		
		});
	}
	else if(action == 'remove'){

		var params = "ajax=1&action=delete&club_id=" + club_id;
		
		jQuery('#action_container_' + club_id).html('<img src="/images/indicator.gif" alt="" />');
		
		jQuery.ajax({ type : 'POST', url  : '/club_invitations.php', data : params, complete: 
			
			function(xhr, status){
			
			var action_status = xhr.responseText;
			
				if(action_status == 'invitation_removed'){
					jQuery('#action_container_' + club_id).html('<small class="light"><b>Kutsu hylätty...</b></small>');
				}else{
					jQuery('#action_container_' + club_id).html('<small class="error"><b>Kutsun hylkäämisessä tapahtui virhe.</b></small>');
				}
				
				jQuery.fadeOut('#invite_container_' + club_id);
				jQuery('#invite_container_' + club_id).css('class', 'club_invite_resolved');
			}
		});
		
	}
	else
	{

	}
	return false;
}

function display_hidden_notifications(element, classname){
	
	var s = jQuery.find(element + '.' + classname);
	
	for(var i = 0; i < s.length; i++){
		jQuery(s[i]).toggle();
	}
	
	if(s.length > 0){
		jQuery('#invite_container_spacer').toggle();
		if(jQuery('#invite_container_spacer_bottom').length > 0){
			jQuery('#invite_container_spacer_bottom').toggle();
		}
	}else{
		jQuery('#invite_container_spacer').css('display', 'none');
		if(jQuery('#invite_container_spacer_bottom').length > 0){
			jQuery('#invite_container_spacer_bottom').css('display', 'none');
		}
	}
	return false;
}

/********************************************************************
	Profiili
********************************************************************/

function toggleUserDescription() {
	var mode = document.getElementById('imagedata_layer').style.display;
	if (mode == 'block') {
		document.getElementById('imagedata_layer').style.display	= 'none';
		document.getElementById('default_image_layer').style.display = 'none';
		document.getElementById('html_description').style.display = 'block';
		document.getElementById('mini_default_image').style.display = 'block';
		document.getElementById('show_description_link').style.display = 'none';
	}
	else {
		document.getElementById('imagedata_layer').style.display	= 'block';
		document.getElementById('default_image_layer').style.display = 'block';
		document.getElementById('html_description').style.display = 'none';
		document.getElementById('mini_default_image').style.display = 'none';
		document.getElementById('show_description_link').style.display = 'block';
	}
}

function showUserImage() {
	document.getElementById('imagedata_layer').style.display	= 'block';
	document.getElementById('default_image_layer').style.display = 'block';
	document.getElementById('html_description').style.display = 'none';
	document.getElementById('mini_default_image').style.display = 'none';
	document.getElementById('show_description_link').style.display = 'block';
}

function hideUserImage() {
	document.getElementById('imagedata_layer').style.display	= 'none';
	document.getElementById('default_image_layer').style.display = 'none';
	document.getElementById('html_description').style.display = 'block';
	document.getElementById('mini_default_image').style.display = 'block';
	document.getElementById('show_description_link').style.display = 'none';
}

function editorpopup() {
  nw = window.open("","editorpopup",'toolbar=0,location=0,scrollbars=1,width=690,height=600,resizable=1');
  nw.focus();
}


/********************************************************************
	Menopassi
********************************************************************/


function displInfo(hash, cls) {
	jQuery('#infomini_' + hash).attr('class', 'hidden' + cls); 
	jQuery('#info_' + hash).attr('class', cls);
}
function hideInfo(hash, cls) {
	jQuery('#infomini_' + hash).attr('class', cls); 
	jQuery('#info_' + hash).attr('class', 'hidden' + cls);
}
function displSearchVisits() {
	jQuery('#searchvisitsbutton').css('display', 'none');
	jQuery('#searchvisits').css('display', 'block');
  document.forms['frmsearchevents'].elements['keywords'].focus();
}
function visitsPrintDudes(c) {
	for (n = 0; n < c; n++) {	
		document.write('<img src="/images/icon-dude.gif" alt="" />');
	}
}

function var_dump(obj){
	var str = '';
	for(prop in obj){
		str += '[' + prop + '][' + obj[prop] + ']';
	}
	return str;
}
/********************************************************************
	Common
********************************************************************/
function popup(w, h) {
	w = w ? w : 400;
	h = h ? h : 300;
	var nw = window.open('', 'popup', 'toolbar=0,location=0,scrollbars=1,width='+w+',height='+h+',resizable=1');
	nw.focus();
}

/********************************************************************
	Caret funtiot
********************************************************************/
function doGetCaretPosition (ctrl) {
	var CaretPos = 0;
	// IE Support
	if (document.selection) {
		ctrl.focus ();
		var Sel = document.selection.createRange ();
		Sel.moveStart ('character', -ctrl.value.length);
		CaretPos = Sel.text.length;
	}
	// Firefox support
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;
	return (CaretPos);
}

function setCaretPosition(ctrl, pos){
	if(ctrl.setSelectionRange) {
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}

function process(){
	var no = 0;
	setCaretPosition(document.getElementById('login_username'),no);
}
/********************************************************************
	Live Logins
********************************************************************/
function randStr() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var strlen = 8;
	var tmp = '';
	for (var i=0; i<strlen; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		tmp += chars.substring(rnum,rnum+1);
	}
	return tmp;
}
function togglePlayMode() {
  if (mode == 'play') {
	  // Stopataan livelogins.
    mode = 'stop'; 
		jQuery('#btn-play').attr('class', 'llstopped');
    document.cookie = 'livelogins=0; expires=Sat, 01 Jan 2000 00:00:00 UTC; path=/';
		jQuery(document).stopTime('lastlogins', readLastlogins);
  }
  else {
	  // Aloitetaan livelogins.
    mode = 'play'; 
		jQuery('#btn-play').attr('class', 'llplaying');
    document.cookie = 'livelogins=1; expires=Thu, 31 Dec 2009 23:59:59 UTC; path=/';
		jQuery(document).everyTime('3s','lastlogins', readLastlogins);
  }
	var params = "mode=" + mode + "&r=" + randStr();
	jQuery.ajax({ type : 'GET', url  : '/llmode.php', data : params, complete: toggleModeRequest, error: reportError });
}
function toggleModeRequest(r) {
}

// Maksut
function dmpPayment() {
  var nw = window.open('',"popupdmp",'menubar=no,toolbar=no,location=yes,scrollbars=yes,resizable=yes,status=no,width=700,height=400');
  nw.focus();
}
function prepareDmpPayment(v){
	
	var c = 0;
	
	if(v == 1){ c = 300;}
	if(v == 2){ c = 5000;}
	
	var str = (v == 1 ? '1kk' : '1,5v')
	var foo = confirm('Haluatko ostaa Goldmemberin ' + str + ' ajaksi?');
	
	if(foo){
	jQuery('#dmp_product_id').val(v);
	dmpPayment();
	jQuery('#dmpform').submit();
		if(v == 1){
			jQuery('#f').attr('checked','checked');
		}else{
			jQuery('#s').attr('checked','checked');
		}
	}else{
		jQuery('#f').attr('checked','');
		jQuery('#s').attr('checked','');
	}
}

function removeClubFromFavorites(id){
	
	var url = "/clubs/part.php";
	var params = "section=fav&action=part&club_id=" + id;
		
	var ajax = new Ajax.Request(url, {asynchronous:true, method: 'get', parameters: params,
	onComplete: function(request){
		
		var response = request.getResponseHeader('action_status');
		var id = request.getResponseHeader('community');
		if(response == 'ok'){
			new Effect.Fade('community_'+id+'');
		}else if (response == 'deny'){
			$('community_'+id).innerHTML = "<span class='error'><b>Et ole klubin jäsen.</b></span>";
		}else{
			$('community_'+id).innerHTML = "<span class='error'>Virhe.</span>";
		}
	},
	onFailure: reportError
	});
	return false;
}

function removeFavFromFavorites(id){
	
	var url = "/favorites.php";
	var params = "section=fav&service_id=1&action=delete&target_id=" + id;

	var ajax = new Ajax.Request(url, {asynchronous:true, method: 'get', parameters: params,
	onComplete: function(request){
		
		var response = request.getResponseHeader('action_status');
		var id = request.getResponseHeader('fav');
		if(response == 'ok'){
			new Effect.Fade('fav_'+id+'');
		}else{
			$('fav_'+id+'').innerHTML = "<span class='error'>Virhe.</span>";
		}
	},
	onFailure: reportError
	});
	return false;
}

function set_random_selections(){
	var url = "/vip_random.php";
	var params = "ajax=1&" + Form.serialize($('vip_random_form'));
	var ajax = new Ajax.Request(url, {asynchronous:true, method: 'get', parameters: params,
	onComplete: function(request){
		var response = request.responseText;
		if(response == 'ok'){
			new Effect.Fade('vip_random');
		}else if (response == 'max_failed'){
			$('random_status_container').innerHTML = "<span class='error'>Asetit maksimi-iän pienemmäksi kuin minimi-iän.</span>";
		}else{
			$('random_status_container').innerHTML = "<span class='error'>Virhe.</span>";
		}
	},
	onFailure: reportError
	});
	return false;
}

/********************************************************************
	Mikserin tarvitsemat funktiot
********************************************************************/
function randStr() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var strlen = 8;
	var tmp = '';
	for (var i=0; i<strlen; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		tmp += chars.substring(rnum,rnum+1);
	}
	return tmp;
}

function openPlayer(url) {
  wndPop = window.open(url, "player", 'toolbar=0,location=0,scrollbars=0,width=' + 450 + ', height=' + 225 + ', resizable=0');
  wndPop.focus();  
}


function ctuDeliver(zoneid) {
	var u = 'http://ctu.fi/ajs.php';
	var r = Math.floor(Math.random()*99999999999);
	
	var xGender = document.getElementById('uaGender').innerHTML;
	var xAge = document.getElementById('uaAge').innerHTML;
	// var xLogged = (xGender != 0 ? 1 : 0);
	
	if (!document.MAX_used) document.MAX_used = ',';
	document.write ("<scr"+"ipt type='text/javascript' src='" + u);
	document.write ("?zoneid=" + zoneid + "&amp;target=_blank");
	// document.write ("&amp;xLogged=" + escape(xLogged));
	document.write ("&amp;xAge=" + escape(xAge));
	document.write ("&amp;xGender=" + escape(xGender));
	document.write ('&amp;cb=' + r);
	
	if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
	document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
	document.write ("&amp;loc=" + escape(window.location));
	if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
	if (document.context) document.write ("&context=" + escape(document.context));
	if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
	document.write ("'><\/scr"+"ipt>");
}
function resize_element_images(p) {
	if(p == 'sent'){
		var element = '.sent_comments_cc';
	}else if(p == 'blog'){
		var element = '.blog_entry_content';
	}else{
		var element = '#tblcomments div.c';
	}
	
	var i; var j; var mw = 500; 
	
	var c = jQuery.find(element);

	if (c) {
		for (i=0; i<c.length; ++i) {
		 var imgs = c[i].getElementsByTagName('img');
		 if(imgs){
			 for (j = 0; j < imgs.length; ++j) {
				 var width = imgs[j].width;
				 var height = imgs[j].height;
				 if (width > mw) {
					imgs[j].style.width = mw + 'px';
					imgs[j].style.height = Math.floor(height * mw / width) + 'px';
				 }
			 }
		 }
		}
	}
}






function displaySomething(element_id) {
	jQuery('#' + element_id).toggle();
	return false; 
}
jQuery(document).ready(function($) {
	$('#jqmBase').jqm({ajax: '@href'});
	
	$('.loginbtn').click(function () {
		$('#quicklogin').toggle();
		$('#login_username').focus();
		return false;
	});
	
	$('a#videobanner').fancybox({
		'transitionIn' : 'elastic',
		'transitionOut' : 'fade',
		'speedIn' : 300, 
		'speedOut' : 300, 
		'overlayShow' : true,
		'overlayColor': '#000',
		'overlayOpacity': 0.7,
		'titlePosition': 'inside',
		'autoDimensions': 'true'
	});
	
	$('#front-hot-songs').click(function () {
		$('#newsongslist').hide();
		$('#hotsongslist').show();
        $('#topartists').hide();
		$('#front-hot-songs').addClass('sel');
		$('#front-new-songs').removeClass('sel');
		$('#front-top-artists').removeClass('sel');
		return false;
	});
	$('#front-new-songs').click(function () {
		$('#hotsongslist').hide();
		$('#newsongslist').show();
		$('#topartists').hide();
		$('#front-new-songs').addClass('sel');
		$('#front-hot-songs').removeClass('sel');
		$('#front-top-artists').removeClass('sel');
		return false;
	});
	$('#front-top-artists').click(function () {
		$('#hotsongslist').hide();
		$('#newsongslist').hide();
		$('#topartists').show();
		$('#front-top-artists').addClass('sel');
		$('#front-hot-songs').removeClass('sel');
		$('#front-new-songs').removeClass('sel');
		return false;
	});
});


/**
 * SWFObject v1.4: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formarly known as FlashObject. The name was changed for
 *   legal reasons.
 */
if(typeof deconcept == "undefined") var deconcept = new Object();
if(typeof deconcept.util == "undefined") deconcept.util = new Object();
if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object();
deconcept.SWFObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, xiRedirectUrl, redirectUrl, detectKey){
	if (!document.createElement || !document.getElementById) { return; }
	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = new Object();
	this.variables = new Object();
	this.attributes = new Array();
	if(swf) { this.setAttribute('swf', swf); }
	if(id) { this.setAttribute('id', id); }
	if(w) { this.setAttribute('width', w); }
	if(h) { this.setAttribute('height', h); }
	if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); }
	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(this.getAttribute('version'), useExpressInstall);
	if(c) { this.addParam('bgcolor', c); }
	var q = quality ? quality : 'high';
	this.addParam('quality', q);
	this.setAttribute('useExpressInstall', useExpressInstall);
	this.setAttribute('doExpressInstall', false);
	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
	this.setAttribute('xiRedirectUrl', xir);
	this.setAttribute('redirectUrl', '');
	if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }
}
deconcept.SWFObject.prototype = {
	setAttribute: function(name, value){
		this.attributes[name] = value;
	},
	getAttribute: function(name){
		return this.attributes[name];
	},
	addParam: function(name, value){
		this.params[name] = value;
	},
	getParams: function(){
		return this.params;
	},
	addVariable: function(name, value){
		this.variables[name] = value;
	},
	getVariable: function(name){
		return this.variables[name];
	},
	getVariables: function(){
		return this.variables;
	},
	getVariablePairs: function(){
		var variablePairs = new Array();
		var key;
		var variables = this.getVariables();
		for(key in variables){
			variablePairs.push(key +"="+ variables[key]);
		}
		return variablePairs;
	},
	getSWFHTML: function() {
		var swfNode = "";
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
			if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "PlugIn");
			swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
			swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
			var params = this.getParams();
			 for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
			var pairs = this.getVariablePairs().join("&");
			 if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
			swfNode += '/>';
		} else { // PC IE
			if (this.getAttribute("doExpressInstall")) this.addVariable("MMplayerType", "ActiveX");
			swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
			swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
			var params = this.getParams();
			for(var key in params) {
			 swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
			}
			var pairs = this.getVariablePairs().join("&");
			if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
			swfNode += "</object>";
		}
		return swfNode;
	},
	write: function(elementId){
		if(this.getAttribute('useExpressInstall')) {
			// check to see if we need to do an express install
			var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]);
			if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
				this.setAttribute('doExpressInstall', true);
				this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
				document.title = document.title.slice(0, 47) + " - Flash Player Installation";
				this.addVariable("MMdoctitle", document.title);
			}
		}
		if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){
			var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
			n.innerHTML = this.getSWFHTML();
			return true;
		}else{
			if(this.getAttribute('redirectUrl') != "") {
				document.location.replace(this.getAttribute('redirectUrl'));
			}
		}
		return false;
	}
}
/* ---- detection functions ---- */
deconcept.SWFObjectUtil.getPlayerVersion = function(reqVer, xiInstall){
	var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);
	if(navigator.plugins && navigator.mimeTypes.length){
		var x = navigator.plugins["Shockwave Flash"];
		if(x && x.description) {
			PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
		}
	}else{
		try{
			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			for (var i=3; axo!=null; i++) {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
				PlayerVersion = new deconcept.PlayerVersion([i,0,0]);
			}
		}catch(e){}
		if (reqVer && PlayerVersion.major > reqVer.major) return PlayerVersion; // version is ok, skip minor detection
		// this only does the minor rev lookup if the user's major version 
		// is not 6 or we are checking for a specific minor or revision number
		// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
		if (!reqVer || ((reqVer.minor != 0 || reqVer.rev != 0) && PlayerVersion.major == reqVer.major) || PlayerVersion.major != 6 || xiInstall) {
			try{
				PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
			}catch(e){}
		}
	}
	return PlayerVersion;
}
deconcept.PlayerVersion = function(arrVersion){
	this.major = parseInt(arrVersion[0]) != null ? parseInt(arrVersion[0]) : 0;
	this.minor = parseInt(arrVersion[1]) || 0;
	this.rev = parseInt(arrVersion[2]) || 0;
}
deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
	if(this.major < fv.major) return false;
	if(this.major > fv.major) return true;
	if(this.minor < fv.minor) return false;
	if(this.minor > fv.minor) return true;
	if(this.rev < fv.rev) return false;
	return true;
}
/* ---- get value of query string param ---- */
deconcept.util = {
	getRequestParameter: function(param){
		var q = document.location.search || document.location.hash;
		if(q){
			var startIndex = q.indexOf(param +"=");
			var endIndex = (q.indexOf("&", startIndex) > -1) ? q.indexOf("&", startIndex) : q.length;
			if (q.length > 1 && startIndex > -1) {
				return q.substring(q.indexOf("=", startIndex)+1, endIndex);
			}
		}
		return "";
	}
}
/* add Array.push if needed (ie5) */
if (Array.prototype.push == null) { Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}

/* add some aliases for ease of use/backwards compatibility */
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for legacy support
var SWFObject = deconcept.SWFObject;


/*
 * jqModal - Minimalist Modaling with jQuery
 *   (http://dev.iceburg.net/jquery/jqModal/)
 *
 * Copyright (c) 2007,2008 Brice Burgess <bhb@iceburg.net>
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 * 
 * $Version: 03/01/2009 +r14
 */
(function($) {
$.fn.jqm=function(o){
var p={
overlay: 50,
overlayClass: 'jqmOverlay',
closeClass: 'jqmClose',
trigger: '.jqModal',
ajax: F,
ajaxText: '',
target: F,
modal: F,
toTop: F,
onShow: F,
onHide: F,
onLoad: F
};
return this.each(function(){if(this._jqm)return H[this._jqm].c=$.extend({},H[this._jqm].c,o);s++;this._jqm=s;
H[s]={c:$.extend(p,$.jqm.params,o),a:F,w:$(this).addClass('jqmID'+s),s:s};
if(p.trigger)$(this).jqmAddTrigger(p.trigger);
});};

$.fn.jqmAddClose=function(e){return hs(this,e,'jqmHide');};
$.fn.jqmAddTrigger=function(e){return hs(this,e,'jqmShow');};
$.fn.jqmShow=function(t){return this.each(function(){t=t||window.event;$.jqm.open(this._jqm,t);});};
$.fn.jqmHide=function(t){return this.each(function(){t=t||window.event;$.jqm.close(this._jqm,t)});};

$.jqm = {
hash:{},
open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(parseInt(h.w.css('z-index'))),z=(z>0)?z:3000,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});if(h.a)return F;h.t=t;h.a=true;h.w.css('z-index',z);
 if(c.modal) {if(!A[0])L('bind');A.push(s);}
 else if(c.overlay > 0)h.w.jqmAddClose(o);
 else o=F;

 h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):F;
 if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}

 if(c.ajax) {var r=c.target||h.w,u=c.ajax,r=(typeof r == 'string')?$(r,h.w):$(r),u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
  r.html(c.ajaxText).load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h);});}
 else if(cc)h.w.jqmAddClose($(cc,h.w));

 if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);	
 (c.onShow)?c.onShow(h):h.w.show();e(h);return F;
},
close:function(s){var h=H[s];if(!h.a)return F;h.a=F;
 if(A[0]){A.pop();if(!A[0])L('unbind');}
 if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();
 if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return F;
},
params:{}};
var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version == "6.0"),F=false,
i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),
e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i); f(h);},
f=function(h){try{$(':input:visible',h.w)[0].focus();}catch(_){}},
L=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return !r;},
hs=function(w,t,c){return w.each(function(){var s=this._jqm;$(t).each(function() {
 if(!this[c]){this[c]=[];$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return F;});}this[c].push(s);});});};
})(jQuery);


/*!
 * jQuery Taconite plugin - A port of the Taconite framework by Ryan Asleson and
 *     Nathaniel T. Schutta: http://taconite.sourceforge.net/
 *
 * Examples and documentation at: http://malsup.com/jquery/taconite/
 * Copyright (c) 2007-2011 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Thanks to Kenton Simpson for contributing many good ideas!
 *
 * @version: 3.60  17-APR-2011
 * @requires jQuery v1.2.6 or later
 */

(function($) {
var version = '3.60';

$.taconite = function(xml) { 
	processDoc(xml); 
};

$.taconite.debug = 0;  // set to true to enable debug logging to window.console.log
$.taconite.autodetect = true;
$.taconite.defaults = {
    cdataWrap: 'div'
};

// add 'replace' and 'replaceContent' plugins (conditionally)
$.fn.replace = $.fn.replace || function(a) { 
	this.after(a);
	this.remove(); 
};
$.fn.replaceContent = $.fn.replaceContent || function(a) { 
	return this.empty().append(a); 
};

$.expr[':'].taconiteTag = function(a) { 
	return a.taconiteTag === 1; 
};

// allow auto-detection to be enabled/disabled on-demand
$.taconite.enableAutoDetection = function(b) {
    $.taconite.autodetect = b;
	if (origHttpData)
		$.httpData = b ? origHttpData : detect;
};

var logCount = 0;
function log() {
    if (!$.taconite.debug || !window.console || !window.console.log) return;
    !logCount++ && log('Plugin Version: ' + version);
    window.console.log('[taconite] ' + [].join.call(arguments,''));
}

var parseJSON = $.parseJSON || function(s) {
	return window['eval']('(' + s + ')');
};

function httpData( xhr, type, s ) {
	var ct = xhr.getResponseHeader('content-type') || '',
		xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
		data = xml ? xhr.responseXML : xhr.responseText;

	if (xml && data.documentElement.nodeName === 'parsererror') {
		$.error && $.error('parsererror');
	}
	if (s && s.dataFilter) {
		data = s.dataFilter(data, type);
	}
	if (typeof data === 'string') {
		if (type === 'json' || !type && ct.indexOf('json') >= 0) {
			data = parseJSON(data);
		} else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
			$.globalEval(data);
		}
	}
	return data;
}

function getResponse(xhr, type, s) {
	if (origHttpData)
		return origHttpData(xhr, type, s);
	return xhr.responseXML || xhr.responseText;
}

function detect(xhr, type, s) {
    var ct = xhr.getResponseHeader('content-type');
    if ($.taconite.debug) {
        log('[AJAX response] content-type: ', ct, ';  status: ', xhr.status, ' ', xhr.statusText, ';  has responseXML: ', xhr.responseXML != null);
        log('type arg: ' + type);
//        log('responseXML: ' + xhr.responseXML);  // IE9 doesn't like xhr.toString()
    }
    var data = getResponse(xhr, type, s);
    if (data && data.documentElement && data.documentElement.nodeName != 'parsererror') {
		$.taconite(data);
    }
	else if (typeof data == 'string') {
		// issue #4 (don't try to parse plain text or html responses
		if ( /taconite/.test(data) )
			$.taconite(data);
	}
    else { 
        log('jQuery core httpData returned: ' + data);
        log('httpData: response is not XML (or not "valid" XML)');
    }
    return data;
}

// 1.5+ hook
$.ajaxPrefilter && $.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
	jqXHR.success(function( data, status, jqXHR ) {
		if ($.taconite.autodetect)
			detect(jqXHR, options.dataType, options);
	});
});

// < 1.5 hook
var origHttpData = $.httpData;
if ($.httpData)
 	$.httpData = detect;  // replace jQuery's httpData method

// custom data parsers
var parsers = { 'json': jsonParser };
$.taconite.registerParser = function(type, fn) {
	parsers[type] = fn;
};
function parseRawData(type, data) {
	var d = data, parser = parsers[type];
	if ($.isFunction(parser))
		d = parser(data);
    $.event.trigger('taconite-rawdata-notify', [type, d, data]);
	return d;
}
function jsonParser(json) {
	return parseJSON(json);
}


function processDoc(xml) { 
    var status = true, ex;
    try {
		if (typeof xml == 'string')
			xml = convert(xml);
		if (!xml) {
			log('$.taconite invoked without valid document; nothing to process');
			return false;
		}
		
		var root = xml.documentElement.tagName;
		log('XML document root: ', root);
		
		var taconiteDoc = $('taconite', xml)[0];
			
		if (!taconiteDoc) {
			log('document does not contain <taconite> element; nothing to process');
			return false;
		}
		
		$.event.trigger('taconite-begin-notify', [taconiteDoc]);
        status = go(taconiteDoc); 
    } catch(e) {
        status = ex = e;
    }
    $.event.trigger('taconite-complete-notify', [xml, !!status, status === true ? null : status]);
    if (ex) 
		throw ex;
}

// convert string to xml document
function convert(s) {
	var doc;
	log('attempting string to document conversion');
	try {
		if (window.DOMParser) {
			var parser = new DOMParser();
			doc = parser.parseFromString(s, 'text/xml');
		}
		else {
			doc = $("<xml>")[0];
			doc.async = 'false';
			doc.loadXML(s);
		}
	}
	catch(e) {
		if (window.console && window.console.error)
			window.console.error('[taconite] ERROR parsing XML string for conversion: ' + e);
		throw e;
	}
	var ok = doc && doc.documentElement && doc.documentElement.tagName != 'parsererror';
	log('conversion ', ok ? 'successful!' : 'FAILED');
	return doc;
}

function go(xml) {
    try {
        var t = new Date().getTime();
        // process the document
        process(xml.childNodes);
        $.taconite.lastTime = (new Date().getTime()) - t;
        log('time to process response: ' + $.taconite.lastTime + 'ms');
    } catch(e) {
        if (window.console && window.console.error)
            window.console.error('[taconite] ERROR processing document: ' + e);
        throw e;
    }
    return true;
}
    
// process the taconite commands    
function process(commands) {
    var trimHash = { wrap: 1 };
    var doPostProcess = 0;
	var a, n, v, i, j, js, els, raw, type, q, jq, cdataWrap;

    for(i=0; i < commands.length; i++) {
        if (commands[i].nodeType != 1)
            continue; // commands are elements
        var cmdNode = commands[i], cmd = cmdNode.tagName;
        if (cmd == 'eval') {
            js = (cmdNode.firstChild ? cmdNode.firstChild.nodeValue : null);
            log('invoking "eval" command: ', js);
            if (js) 
				$.globalEval(js);
            continue;
        }
		if (cmd == 'rawData') {
            raw = (cmdNode.firstChild ? cmdNode.firstChild.nodeValue : null);
         	type = cmdNode.getAttribute('type');
            log('rawData ('+type+'): ', raw);
			parseRawData(type, raw);
			continue;
		}
        q = cmdNode.getAttribute('select');
        jq = $(q);
        if (!jq[0]) {
            log('No matching targets for selector: ', q);
            continue;
        }
        cdataWrap = cmdNode.getAttribute('cdataWrap') || $.taconite.defaults.cdataWrap;

        a = [];
        if (cmdNode.childNodes.length > 0) {
            doPostProcess = 1;
            for (j=0,els=[]; j < cmdNode.childNodes.length; j++)
                els[j] = createNode(cmdNode.childNodes[j], cdataWrap);
            a.push(trimHash[cmd] ? cleanse(els) : els);
        }

        // remain backward compat with pre 2.0.9 versions
        n = cmdNode.getAttribute('name');
        v = cmdNode.getAttribute('value');
        if (n !== null) a.push(n);
        if (v !== null) a.push(v);

        // @since: 2.0.9: support arg1, arg2, arg3...
        for (var j=1; true; j++) {
            v = cmdNode.getAttribute('arg'+j);
            if (v === null)
                break;
            // support numeric primitives
            var n = Number(v);
			if (v == n)
				v = n;
            a.push(v);
        }

        $.taconite.debug && logCommand(q, cmd, a, els);
        jq[cmd].apply(jq,a);
    }

    // apply dynamic fixes
    doPostProcess && postProcess();
}

function logCommand(q, cmd, a, els) {
	var args = '...';
	if (!els) {
		args = '';
		for (var k=0, val=a[0]; k < a.length, val=a[k]; k++) {
			k > 0 && (args += ',');
			typeof val == 'string' ? (args += ("'" + val + "'")) : (args += val);
		}
	}
    log("invoking command: $('", q, "').", cmd, '('+ args +')');
}

function postProcess() {
    if ($.browser.mozilla) return; 
    // post processing fixes go here; currently there is only one:
    // fix1: opera, IE6, Safari/Win don't maintain selected options in all cases (thanks to Karel Fučík for this!)
    $('select:taconiteTag').each(function() {
        var sel = this;
        $('option:taconiteTag', this).each(function() {
            this.setAttribute('selected','selected');
            this.taconiteTag = null;
            if (sel.type == 'select-one') {
                var idx = $('option',sel).index(this);
                sel.selectedIndex = idx;
            }
        });
        this.taconiteTag = null;
    });
}

function cleanse(els) {
    for (var i=0, a=[]; i < els.length; i++)
        if (els[i].nodeType == 1) a.push(els[i]);
    return a;
}

function createNode(node, cdataWrap) {
    var type = node.nodeType;
    if (type == 1) return createElement(node, cdataWrap);
    if (type == 3) return fixTextNode(node.nodeValue);
    if (type == 4) return handleCDATA(node.nodeValue, cdataWrap);
    return null;
}

function handleCDATA(s, cdataWrap) {
    var el = document.createElement(cdataWrap);
    var $el = $(el), $ch = $el.children();
    $el[cdataWrap == 'script' ? 'text' : 'html'](s);
    
    // remove wrapper node if possible
    if ($ch.size() == 1)
        return $ch[0];
    return el;
}

function fixTextNode(s) {
    if ($.browser.msie) s = s.replace(/\n/g, '\r').replace(/\s+/g, ' ');
    return document.createTextNode(s);
}

function createElement(node, cdataWrap) {
    var e, tag = node.tagName.toLowerCase();
    // some elements in IE need to be created with attrs inline
    if ($.browser.msie && $.browser.version < 9) {
        var type = node.getAttribute('type');
        if (tag == 'table' || type == 'radio' || type == 'checkbox' || tag == 'button' || 
            (tag == 'select' && node.getAttribute('multiple'))) {
            e = document.createElement('<' + tag + ' ' + copyAttrs(null, node, true) + '>');
        }
    }
    if (!e) {
        e = document.createElement(tag);
        // copyAttrs(e, node, tag == 'option' && $.browser.safari);
        copyAttrs(e, node);
    }
    
    // IE fix; colspan must be explicitly set
    if ($.browser.msie && tag == 'td') {
        var colspan = node.getAttribute('colspan');
        if (colspan) e.colSpan = parseInt(colspan);
    }

    // IE fix; script tag not allowed to have children
    if($.browser.msie && !e.canHaveChildren) {
        if(node.childNodes.length > 0)
            e.text = node.text;
    }
    else {
        for(var i=0, max=node.childNodes.length; i < max; i++) {
            var child = createNode (node.childNodes[i], cdataWrap);
            if(child) e.appendChild(child);
        }
    }
    if (! $.browser.mozilla) {
        if (tag == 'select' || (tag == 'option' && node.getAttribute('selected')))
            e.taconiteTag = 1;
    }
    return e;
}

function copyAttrs(dest, src, inline) {
    for (var i=0, attr=''; i < src.attributes.length; i++) {
        var a = src.attributes[i], n = $.trim(a.name), v = $.trim(a.value);
        if (inline) attr += (n + '="' + v + '" ');
        else if (n == 'style') { // IE workaround
            dest.style.cssText = v;
            dest.setAttribute(n, v);
        }
        else $.attr(dest, n, v);
    }
    return attr;
}

})(jQuery);

/*
 * Autocomplete - jQuery plugin 1.0.2
 *
 * Copyright (c) 2007 Dylan Verheul, Dan G. Switzer, Anjesh Tuladhar, JÃ¶rn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.autocomplete.js 5747 2008-06-25 18:30:55Z joern.zaefferer $
 *
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(3($){$.31.1o({12:3(b,d){5 c=Y b=="1w";d=$.1o({},$.D.1L,{11:c?b:14,w:c?14:b,1D:c?$.D.1L.1D:10,Z:d&&!d.1x?10:3U},d);d.1t=d.1t||3(a){6 a};d.1q=d.1q||d.1K;6 I.K(3(){1E $.D(I,d)})},M:3(a){6 I.X("M",a)},1y:3(a){6 I.15("1y",[a])},20:3(){6 I.15("20")},1Y:3(a){6 I.15("1Y",[a])},1X:3(){6 I.15("1X")}});$.D=3(o,r){5 t={2N:38,2I:40,2D:46,2x:9,2v:13,2q:27,2d:3x,2j:33,2o:34,2e:8};5 u=$(o).3f("12","3c").P(r.24);5 p;5 m="";5 n=$.D.2W(r);5 s=0;5 k;5 h={1z:B};5 l=$.D.2Q(r,o,1U,h);5 j;$.1T.2L&&$(o.2K).X("3S.12",3(){4(j){j=B;6 B}});u.X(($.1T.2L?"3Q":"3N")+".12",3(a){k=a.2F;3L(a.2F){Q t.2N:a.1d();4(l.L()){l.2y()}A{W(0,C)}N;Q t.2I:a.1d();4(l.L()){l.2u()}A{W(0,C)}N;Q t.2j:a.1d();4(l.L()){l.2t()}A{W(0,C)}N;Q t.2o:a.1d();4(l.L()){l.2s()}A{W(0,C)}N;Q r.19&&$.1p(r.R)==","&&t.2d:Q t.2x:Q t.2v:4(1U()){a.1d();j=C;6 B}N;Q t.2q:l.U();N;3A:1I(p);p=1H(W,r.1D);N}}).1G(3(){s++}).3v(3(){s=0;4(!h.1z){2k()}}).2i(3(){4(s++>1&&!l.L()){W(0,C)}}).X("1y",3(){5 c=(1n.7>1)?1n[1]:14;3 23(q,a){5 b;4(a&&a.7){16(5 i=0;i<a.7;i++){4(a[i].M.O()==q.O()){b=a[i];N}}}4(Y c=="3")c(b);A u.15("M",b&&[b.w,b.H])}$.K(1g(u.J()),3(i,a){1R(a,23,23)})}).X("20",3(){n.18()}).X("1Y",3(){$.1o(r,1n[1]);4("w"2G 1n[1])n.1f()}).X("1X",3(){l.1u();u.1u();$(o.2K).1u(".12")});3 1U(){5 b=l.26();4(!b)6 B;5 v=b.M;m=v;4(r.19){5 a=1g(u.J());4(a.7>1){v=a.17(0,a.7-1).2Z(r.R)+r.R+v}v+=r.R}u.J(v);1l();u.15("M",[b.w,b.H]);6 C}3 W(b,c){4(k==t.2D){l.U();6}5 a=u.J();4(!c&&a==m)6;m=a;a=1k(a);4(a.7>=r.22){u.P(r.21);4(!r.1C)a=a.O();1R(a,2V,1l)}A{1B();l.U()}};3 1g(b){4(!b){6[""]}5 d=b.1Z(r.R);5 c=[];$.K(d,3(i,a){4($.1p(a))c[i]=$.1p(a)});6 c}3 1k(a){4(!r.19)6 a;5 b=1g(a);6 b[b.7-1]}3 1A(q,a){4(r.1A&&(1k(u.J()).O()==q.O())&&k!=t.2e){u.J(u.J()+a.48(1k(m).7));$.D.1N(o,m.7,m.7+a.7)}};3 2k(){1I(p);p=1H(1l,47)};3 1l(){5 c=l.L();l.U();1I(p);1B();4(r.2U){u.1y(3(a){4(!a){4(r.19){5 b=1g(u.J()).17(0,-1);u.J(b.2Z(r.R)+(b.7?r.R:""))}A u.J("")}})}4(c)$.D.1N(o,o.H.7,o.H.7)};3 2V(q,a){4(a&&a.7&&s){1B();l.2T(a,q);1A(q,a[0].H);l.1W()}A{1l()}};3 1R(f,d,g){4(!r.1C)f=f.O();5 e=n.2S(f);4(e&&e.7){d(f,e)}A 4((Y r.11=="1w")&&(r.11.7>0)){5 c={45:+1E 44()};$.K(r.2R,3(a,b){c[a]=Y b=="3"?b():b});$.43({42:"41",3Z:"12"+o.3Y,2M:r.2M,11:r.11,w:$.1o({q:1k(f),3X:r.Z},c),3W:3(a){5 b=r.1r&&r.1r(a)||1r(a);n.1h(f,b);d(f,b)}})}A{l.2J();g(f)}};3 1r(c){5 d=[];5 b=c.1Z("\\n");16(5 i=0;i<b.7;i++){5 a=$.1p(b[i]);4(a){a=a.1Z("|");d[d.7]={w:a,H:a[0],M:r.1v&&r.1v(a,a[0])||a[0]}}}6 d};3 1B(){u.1e(r.21)}};$.D.1L={24:"3R",2H:"3P",21:"3O",22:1,1D:3M,1C:B,1a:C,1V:B,1j:10,Z:3K,2U:B,2R:{},1S:C,1K:3(a){6 a[0]},1q:14,1A:B,E:0,19:B,R:", ",1t:3(b,a){6 b.2C(1E 3J("(?![^&;]+;)(?!<[^<>]*)("+a.2C(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/2A,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","2A"),"<2z>$1</2z>")},1x:C,1s:3I};$.D.2W=3(g){5 h={};5 j=0;3 1a(s,a){4(!g.1C)s=s.O();5 i=s.3H(a);4(i==-1)6 B;6 i==0||g.1V};3 1h(q,a){4(j>g.1j){18()}4(!h[q]){j++}h[q]=a}3 1f(){4(!g.w)6 B;5 f={},2w=0;4(!g.11)g.1j=1;f[""]=[];16(5 i=0,30=g.w.7;i<30;i++){5 c=g.w[i];c=(Y c=="1w")?[c]:c;5 d=g.1q(c,i+1,g.w.7);4(d===B)1P;5 e=d.3G(0).O();4(!f[e])f[e]=[];5 b={H:d,w:c,M:g.1v&&g.1v(c)||d};f[e].1O(b);4(2w++<g.Z){f[""].1O(b)}};$.K(f,3(i,a){g.1j++;1h(i,a)})}1H(1f,25);3 18(){h={};j=0}6{18:18,1h:1h,1f:1f,2S:3(q){4(!g.1j||!j)6 14;4(!g.11&&g.1V){5 a=[];16(5 k 2G h){4(k.7>0){5 c=h[k];$.K(c,3(i,x){4(1a(x.H,q)){a.1O(x)}})}}6 a}A 4(h[q]){6 h[q]}A 4(g.1a){16(5 i=q.7-1;i>=g.22;i--){5 c=h[q.3F(0,i)];4(c){5 a=[];$.K(c,3(i,x){4(1a(x.H,q)){a[a.7]=x}});6 a}}}6 14}}};$.D.2Q=3(e,g,f,k){5 h={G:"3E"};5 j,y=-1,w,1m="",1M=C,F,z;3 2r(){4(!1M)6;F=$("<3D/>").U().P(e.2H).T("3C","3B").1J(2p.2n);z=$("<3z/>").1J(F).3y(3(a){4(V(a).2m&&V(a).2m.3w()==\'2l\'){y=$("1F",z).1e(h.G).3u(V(a));$(V(a)).P(h.G)}}).2i(3(a){$(V(a)).P(h.G);f();g.1G();6 B}).3t(3(){k.1z=C}).3s(3(){k.1z=B});4(e.E>0)F.T("E",e.E);1M=B}3 V(a){5 b=a.V;3r(b&&b.3q!="2l")b=b.3p;4(!b)6[];6 b}3 S(b){j.17(y,y+1).1e(h.G);2h(b);5 a=j.17(y,y+1).P(h.G);4(e.1x){5 c=0;j.17(0,y).K(3(){c+=I.1i});4((c+a[0].1i-z.1c())>z[0].3o){z.1c(c+a[0].1i-z.3n())}A 4(c<z.1c()){z.1c(c)}}};3 2h(a){y+=a;4(y<0){y=j.1b()-1}A 4(y>=j.1b()){y=0}}3 2g(a){6 e.Z&&e.Z<a?e.Z:a}3 2f(){z.2B();5 b=2g(w.7);16(5 i=0;i<b;i++){4(!w[i])1P;5 a=e.1K(w[i].w,i+1,b,w[i].H,1m);4(a===B)1P;5 c=$("<1F/>").3m(e.1t(a,1m)).P(i%2==0?"3l":"3k").1J(z)[0];$.w(c,"2c",w[i])}j=z.3j("1F");4(e.1S){j.17(0,1).P(h.G);y=0}4($.31.2b)z.2b()}6{2T:3(d,q){2r();w=d;1m=q;2f()},2u:3(){S(1)},2y:3(){S(-1)},2t:3(){4(y!=0&&y-8<0){S(-y)}A{S(-8)}},2s:3(){4(y!=j.1b()-1&&y+8>j.1b()){S(j.1b()-1-y)}A{S(8)}},U:3(){F&&F.U();j&&j.1e(h.G);y=-1},L:3(){6 F&&F.3i(":L")},3h:3(){6 I.L()&&(j.2a("."+h.G)[0]||e.1S&&j[0])},1W:3(){5 a=$(g).3g();F.T({E:Y e.E=="1w"||e.E>0?e.E:$(g).E(),2E:a.2E+g.1i,1Q:a.1Q}).1W();4(e.1x){z.1c(0);z.T({29:e.1s,3e:\'3d\'});4($.1T.3b&&Y 2p.2n.3T.29==="3a"){5 c=0;j.K(3(){c+=I.1i});5 b=c>e.1s;z.T(\'3V\',b?e.1s:c);4(!b){j.E(z.E()-28(j.T("32-1Q"))-28(j.T("32-39")))}}}},26:3(){5 a=j&&j.2a("."+h.G).1e(h.G);6 a&&a.7&&$.w(a[0],"2c")},2J:3(){z&&z.2B()},1u:3(){F&&F.37()}}};$.D.1N=3(b,a,c){4(b.2O){5 d=b.2O();d.36(C);d.35("2P",a);d.4c("2P",c);d.4b()}A 4(b.2Y){b.2Y(a,c)}A{4(b.2X){b.2X=a;b.4a=c}}b.1G()}})(49);',62,261,'|||function|if|var|return|length|||||||||||||||||||||||||data||active|list|else|false|true|Autocompleter|width|element|ACTIVE|value|this|val|each|visible|result|break|toLowerCase|addClass|case|multipleSeparator|moveSelect|css|hide|target|onChange|bind|typeof|max||url|autocomplete||null|trigger|for|slice|flush|multiple|matchSubset|size|scrollTop|preventDefault|removeClass|populate|trimWords|add|offsetHeight|cacheLength|lastWord|hideResultsNow|term|arguments|extend|trim|formatMatch|parse|scrollHeight|highlight|unbind|formatResult|string|scroll|search|mouseDownOnSelect|autoFill|stopLoading|matchCase|delay|new|li|focus|setTimeout|clearTimeout|appendTo|formatItem|defaults|needsInit|Selection|push|continue|left|request|selectFirst|browser|selectCurrent|matchContains|show|unautocomplete|setOptions|split|flushCache|loadingClass|minChars|findValueCallback|inputClass||selected||parseInt|maxHeight|filter|bgiframe|ac_data|COMMA|BACKSPACE|fillList|limitNumberOfItems|movePosition|click|PAGEUP|hideResults|LI|nodeName|body|PAGEDOWN|document|ESC|init|pageDown|pageUp|next|RETURN|nullData|TAB|prev|strong|gi|empty|replace|DEL|top|keyCode|in|resultsClass|DOWN|emptyList|form|opera|dataType|UP|createTextRange|character|Select|extraParams|load|display|mustMatch|receiveData|Cache|selectionStart|setSelectionRange|join|ol|fn|padding|||moveStart|collapse|remove||right|undefined|msie|off|auto|overflow|attr|offset|current|is|find|ac_odd|ac_even|html|innerHeight|clientHeight|parentNode|tagName|while|mouseup|mousedown|index|blur|toUpperCase|188|mouseover|ul|default|absolute|position|div|ac_over|substr|charAt|indexOf|180|RegExp|100|switch|400|keydown|ac_loading|ac_results|keypress|ac_input|submit|style|150|height|success|limit|name|port||abort|mode|ajax|Date|timestamp||200|substring|jQuery|selectionEnd|select|moveEnd'.split('|'),0,{}))


/*
*
* jquery.timers.js
*
*/

jQuery.fn.extend({
	everyTime: function(interval, label, fn, times, belay) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, times, belay);
		});
	},
	oneTime: function(interval, label, fn) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, 1);
		});
	},
	stopTime: function(label, fn) {
		return this.each(function() {
			jQuery.timer.remove(this, label, fn);
		});
	}
});

jQuery.extend({
	timer: {
		guid: 1,
		global: {},
		regex: /^([0-9]+)\s*(.*s)?$/,
		powers: {
			// Yeah this is major overkill...
			'ms': 1,
			'cs': 10,
			'ds': 100,
			's': 1000,
			'das': 10000,
			'hs': 100000,
			'ks': 1000000
		},
		timeParse: function(value) {
			if (value == undefined || value == null)
				return null;
			var result = this.regex.exec(jQuery.trim(value.toString()));
			if (result[2]) {
				var num = parseInt(result[1], 10);
				var mult = this.powers[result[2]] || 1;
				return num * mult;
			} else {
				return value;
			}
		},
		add: function(element, interval, label, fn, times, belay) {
			var counter = 0;
			
			if (jQuery.isFunction(label)) {
				if (!times) 
					times = fn;
				fn = label;
				label = interval;
			}
			
			interval = jQuery.timer.timeParse(interval);

			if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
				return;

			if (times && times.constructor != Number) {
				belay = !!times;
				times = 0;
			}
			
			times = times || 0;
			belay = belay || false;
			
			if (!element.$timers) 
				element.$timers = {};
			
			if (!element.$timers[label])
				element.$timers[label] = {};
			
			fn.$timerID = fn.$timerID || this.guid++;
			
			var handler = function() {
				if (belay && this.inProgress) 
					return;
				this.inProgress = true;
				if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
					jQuery.timer.remove(element, label, fn);
				this.inProgress = false;
			};
			
			handler.$timerID = fn.$timerID;
			
			if (!element.$timers[label][fn.$timerID]) 
				element.$timers[label][fn.$timerID] = window.setInterval(handler,interval);
			
			if ( !this.global[label] )
				this.global[label] = [];
			this.global[label].push( element );
			
		},
		remove: function(element, label, fn) {
			var timers = element.$timers, ret;
			
			if ( timers ) {
				
				if (!label) {
					for ( label in timers )
						this.remove(element, label, fn);
				} else if ( timers[label] ) {
					if ( fn ) {
						if ( fn.$timerID ) {
							window.clearInterval(timers[label][fn.$timerID]);
							delete timers[label][fn.$timerID];
						}
					} else {
						for ( var fn in timers[label] ) {
							window.clearInterval(timers[label][fn]);
							delete timers[label][fn];
						}
					}
					
					for ( ret in timers[label] ) break;
					if ( !ret ) {
						ret = null;
						delete timers[label];
					}
				}
				
				for ( ret in timers ) break;
				if ( !ret ) 
					element.$timers = null;
			}
		}
	}
});

if (jQuery.browser.msie)
	jQuery(window).one("unload", function() {
		var global = jQuery.timer.global;
		for ( var label in global ) {
			var els = global[label], i = els.length;
			while ( --i )
				jQuery.timer.remove(els[i], label);
		}
	});


function changeLanguage(lang, id, idols_only) {

 if(!idols_only)
 {
	 idols_only = '';
 }
 var url = "/admin/bandprofile_fields.php";
 // var language = $F('language_select');
 var language = jQuery('#language_select').val();
 var pars = 'id=' + id + '&displ_lang=' + language + '&idols_only=' + idols_only;
 jQuery('#bandprofile_fields').load(url + "?" + pars);
 // var ajax = new Ajax.Updater('bandprofile_fields', url, { method: 'get', parameters: pars, evalScripts:true });
}

function hide_new_songs(band_id)
{
	jQuery.get('/artists/index.php', {'id' : band_id, 'read' : 1}, function(){ jQuery('#new_songs_' + band_id).fadeOut();});
}



/*
 * FancyBox - jQuery Plugin
 * Copyright (c) 2008 - 2010 Janis Skarnelis
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function(b){var m,u,x,g,D,i,z,A,B,p=0,e={},q=[],n=0,c={},j=[],E=null,s=new Image,G=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,S=/[^\.]\.(swf)\s*$/i,H,I=1,k,l,h=false,y=b.extend(b("<div/>")[0],{prop:0}),v=0,O=!b.support.opacity&&!window.XMLHttpRequest,J=function(){u.hide();s.onerror=s.onload=null;E&&E.abort();m.empty()},P=function(){b.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>',{scrolling:"no",padding:20,transitionIn:"none",transitionOut:"none"})},
K=function(){return[b(window).width(),b(window).height(),b(document).scrollLeft(),b(document).scrollTop()]},T=function(){var a=K(),d={},f=c.margin,o=c.autoScale,t=(20+f)*2,w=(20+f)*2,r=c.padding*2;if(c.width.toString().indexOf("%")>-1){d.width=a[0]*parseFloat(c.width)/100-40;o=false}else d.width=c.width+r;if(c.height.toString().indexOf("%")>-1){d.height=a[1]*parseFloat(c.height)/100-40;o=false}else d.height=c.height+r;if(o&&(d.width>a[0]-t||d.height>a[1]-w))if(e.type=="image"||e.type=="swf"){t+=r;
w+=r;o=Math.min(Math.min(a[0]-t,c.width)/c.width,Math.min(a[1]-w,c.height)/c.height);d.width=Math.round(o*(d.width-r))+r;d.height=Math.round(o*(d.height-r))+r}else{d.width=Math.min(d.width,a[0]-t);d.height=Math.min(d.height,a[1]-w)}d.top=a[3]+(a[1]-(d.height+40))*0.5;d.left=a[2]+(a[0]-(d.width+40))*0.5;if(c.autoScale===false){d.top=Math.max(a[3]+f,d.top);d.left=Math.max(a[2]+f,d.left)}return d},U=function(a){if(a&&a.length)switch(c.titlePosition){case "inside":return a;case "over":return'<span id="fancybox-title-over">'+
a+"</span>";default:return'<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">'+a+'</span><span id="fancybox-title-right"></span></span>'}return false},V=function(){var a=c.title,d=l.width-c.padding*2,f="fancybox-title-"+c.titlePosition;b("#fancybox-title").remove();v=0;if(c.titleShow!==false){a=b.isFunction(c.titleFormat)?c.titleFormat(a,j,n,c):U(a);if(!(!a||a==="")){b('<div id="fancybox-title" class="'+f+'" />').css({width:d,paddingLeft:c.padding,
paddingRight:c.padding}).html(a).appendTo("body");switch(c.titlePosition){case "inside":v=b("#fancybox-title").outerHeight(true)-c.padding;l.height+=v;break;case "over":b("#fancybox-title").css("bottom",c.padding);break;default:b("#fancybox-title").css("bottom",b("#fancybox-title").outerHeight(true)*-1);break}b("#fancybox-title").appendTo(D).hide()}}},W=function(){b(document).unbind("keydown.fb").bind("keydown.fb",function(a){if(a.keyCode==27&&c.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if(a.keyCode==
37){a.preventDefault();b.fancybox.prev()}else if(a.keyCode==39){a.preventDefault();b.fancybox.next()}});if(b.fn.mousewheel){g.unbind("mousewheel.fb");j.length>1&&g.bind("mousewheel.fb",function(a,d){a.preventDefault();h||d===0||(d>0?b.fancybox.prev():b.fancybox.next())})}if(c.showNavArrows){if(c.cyclic&&j.length>1||n!==0)A.show();if(c.cyclic&&j.length>1||n!=j.length-1)B.show()}},X=function(){var a,d;if(j.length-1>n){a=j[n+1].href;if(typeof a!=="undefined"&&a.match(G)){d=new Image;d.src=a}}if(n>0){a=
j[n-1].href;if(typeof a!=="undefined"&&a.match(G)){d=new Image;d.src=a}}},L=function(){i.css("overflow",c.scrolling=="auto"?c.type=="image"||c.type=="iframe"||c.type=="swf"?"hidden":"auto":c.scrolling=="yes"?"auto":"visible");if(!b.support.opacity){i.get(0).style.removeAttribute("filter");g.get(0).style.removeAttribute("filter")}b("#fancybox-title").show();c.hideOnContentClick&&i.one("click",b.fancybox.close);c.hideOnOverlayClick&&x.one("click",b.fancybox.close);c.showCloseButton&&z.show();W();b(window).bind("resize.fb",
b.fancybox.center);c.centerOnScroll?b(window).bind("scroll.fb",b.fancybox.center):b(window).unbind("scroll.fb");b.isFunction(c.onComplete)&&c.onComplete(j,n,c);h=false;X()},M=function(a){var d=Math.round(k.width+(l.width-k.width)*a),f=Math.round(k.height+(l.height-k.height)*a),o=Math.round(k.top+(l.top-k.top)*a),t=Math.round(k.left+(l.left-k.left)*a);g.css({width:d+"px",height:f+"px",top:o+"px",left:t+"px"});d=Math.max(d-c.padding*2,0);f=Math.max(f-(c.padding*2+v*a),0);i.css({width:d+"px",height:f+
"px"});if(typeof l.opacity!=="undefined")g.css("opacity",a<0.5?0.5:a)},Y=function(a){var d=a.offset();d.top+=parseFloat(a.css("paddingTop"))||0;d.left+=parseFloat(a.css("paddingLeft"))||0;d.top+=parseFloat(a.css("border-top-width"))||0;d.left+=parseFloat(a.css("border-left-width"))||0;d.width=a.width();d.height=a.height();return d},Q=function(){var a=e.orig?b(e.orig):false,d={};if(a&&a.length){a=Y(a);d={width:a.width+c.padding*2,height:a.height+c.padding*2,top:a.top-c.padding-20,left:a.left-c.padding-
20}}else{a=K();d={width:1,height:1,top:a[3]+a[1]*0.5,left:a[2]+a[0]*0.5}}return d},N=function(){u.hide();if(g.is(":visible")&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){b.event.trigger("fancybox-cancel");h=false;return}j=q;n=p;c=e;i.get(0).scrollTop=0;i.get(0).scrollLeft=0;if(c.overlayShow){O&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});
x.css({"background-color":c.overlayColor,opacity:c.overlayOpacity}).unbind().show()}l=T();V();if(g.is(":visible")){b(z.add(A).add(B)).hide();var a=g.position(),d;k={top:a.top,left:a.left,width:g.width(),height:g.height()};d=k.width==l.width&&k.height==l.height;i.fadeOut(c.changeFade,function(){var f=function(){i.html(m.contents()).fadeIn(c.changeFade,L)};b.event.trigger("fancybox-change");i.empty().css("overflow","hidden");if(d){i.css({top:c.padding,left:c.padding,width:Math.max(l.width-c.padding*
2,1),height:Math.max(l.height-c.padding*2-v,1)});f()}else{i.css({top:c.padding,left:c.padding,width:Math.max(k.width-c.padding*2,1),height:Math.max(k.height-c.padding*2,1)});y.prop=0;b(y).animate({prop:1},{duration:c.changeSpeed,easing:c.easingChange,step:M,complete:f})}})}else{g.css("opacity",1);if(c.transitionIn=="elastic"){k=Q();i.css({top:c.padding,left:c.padding,width:Math.max(k.width-c.padding*2,1),height:Math.max(k.height-c.padding*2,1)}).html(m.contents());g.css(k).show();if(c.opacity)l.opacity=
0;y.prop=0;b(y).animate({prop:1},{duration:c.speedIn,easing:c.easingIn,step:M,complete:L})}else{i.css({top:c.padding,left:c.padding,width:Math.max(l.width-c.padding*2,1),height:Math.max(l.height-c.padding*2-v,1)}).html(m.contents());g.css(l).fadeIn(c.transitionIn=="none"?0:c.speedIn,L)}}},F=function(){m.width(e.width);m.height(e.height);if(e.width=="auto")e.width=m.width();if(e.height=="auto")e.height=m.height();N()},Z=function(){h=true;e.width=s.width;e.height=s.height;b("<img />").attr({id:"fancybox-img",
src:s.src,alt:e.title}).appendTo(m);N()},C=function(){J();var a=q[p],d,f,o,t,w;e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));o=a.title||b(a).title||e.title||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(o===""&&e.orig)o=e.orig.attr("alt");d=a.nodeName&&/^(?:javascript|#)/i.test(a.href)?e.href||null:e.href||a.href||null;if(e.type){f=e.type;if(!d)d=e.content}else if(e.content)f="html";else if(d)if(d.match(G))f=
"image";else if(d.match(S))f="swf";else if(b(a).hasClass("iframe"))f="iframe";else if(d.match(/#/)){a=d.substr(d.indexOf("#"));f=b(a).length>0?"inline":"ajax"}else f="ajax";else f="inline";e.type=f;e.href=d;e.title=o;if(e.autoDimensions&&e.type!=="iframe"&&e.type!=="swf"){e.width="auto";e.height="auto"}if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=false;e.enableEscapeButton=false;e.showCloseButton=false}if(b.isFunction(e.onStart))if(e.onStart(q,p,e)===false){h=false;
return}m.css("padding",20+e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(i.children())});switch(f){case "html":m.html(e.content);F();break;case "inline":b('<div class="fancybox-inline-tmp" />').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(i.children())}).bind("fancybox-cancel",function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();
s=new Image;s.onerror=function(){P()};s.onload=function(){s.onerror=null;s.onload=null;Z()};s.src=d;break;case "swf":t='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+d+'"></param>';w="";b.each(e.swf,function(r,R){t+='<param name="'+r+'" value="'+R+'"></param>';w+=" "+r+'="'+R+'"'});t+='<embed src="'+d+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+w+"></embed></object>";m.html(t);
F();break;case "ajax":a=d.split("#",2);f=e.ajax.data||{};if(a.length>1){d=a[0];if(typeof f=="string")f+="&selector="+a[1];else f.selector=a[1]}h=false;b.fancybox.showActivity();E=b.ajax(b.extend(e.ajax,{url:d,data:f,error:P,success:function(r){if(E.status==200){m.html(r);F()}}}));break;case "iframe":b('<iframe id="fancybox-frame" name="fancybox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" scrolling="'+e.scrolling+'" src="'+e.href+'"></iframe>').appendTo(m);N();break}},$=function(){if(u.is(":visible")){b("div",
u).css("top",I*-40+"px");I=(I+1)%12}else clearInterval(H)},aa=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('<div id="fancybox-tmp"></div>'),u=b('<div id="fancybox-loading"><div></div></div>'),x=b('<div id="fancybox-overlay"></div>'),g=b('<div id="fancybox-wrap"></div>'));if(!b.support.opacity){g.addClass("fancybox-ie");u.addClass("fancybox-ie")}D=b('<div id="fancybox-outer"></div>').append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>').appendTo(g);
D.append(i=b('<div id="fancybox-inner"></div>'),z=b('<a id="fancybox-close"></a>'),A=b('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),B=b('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>'));z.click(b.fancybox.close);u.click(b.fancybox.cancel);A.click(function(a){a.preventDefault();b.fancybox.prev()});B.click(function(a){a.preventDefault();b.fancybox.next()});if(O){x.get(0).style.setExpression("height",
"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");u.get(0).style.setExpression("top","(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");D.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>')}}};
b.fn.fancybox=function(a){b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(d){d.preventDefault();if(!h){h=true;b(this).blur();q=[];p=0;d=b(this).attr("rel")||"";if(!d||d==""||d==="nofollow")q.push(this);else{q=b("a[rel="+d+"], area[rel="+d+"]");p=q.index(this)}C();return false}});return this};b.fancybox=function(a,d){if(!h){h=true;d=typeof d!=="undefined"?d:{};q=[];p=d.index||0;if(b.isArray(a)){for(var f=0,o=a.length;f<o;f++)if(typeof a[f]==
"object")b(a[f]).data("fancybox",b.extend({},d,a[f]));else a[f]=b({}).data("fancybox",b.extend({content:a[f]},d));q=jQuery.merge(q,a)}else{if(typeof a=="object")b(a).data("fancybox",b.extend({},d,a));else a=b({}).data("fancybox",b.extend({content:a},d));q.push(a)}if(p>q.length||p<0)p=0;C()}};b.fancybox.showActivity=function(){clearInterval(H);u.show();H=setInterval($,66)};b.fancybox.hideActivity=function(){u.hide()};b.fancybox.next=function(){return b.fancybox.pos(n+1)};b.fancybox.prev=function(){return b.fancybox.pos(n-
1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a,10);if(a>-1&&j.length>a){p=a;C()}if(c.cyclic&&j.length>1&&a<0){p=j.length-1;C()}if(c.cyclic&&j.length>1&&a>=j.length){p=0;C()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");J();e&&b.isFunction(e.onCancel)&&e.onCancel(q,p,e);h=false}};b.fancybox.close=function(){function a(){x.fadeOut("fast");g.hide();b.event.trigger("fancybox-cleanup");i.empty();b.isFunction(c.onClosed)&&c.onClosed(j,n,c);j=e=[];n=p=0;c=e={};h=false}
if(!(h||g.is(":hidden"))){h=true;if(c&&b.isFunction(c.onCleanup))if(c.onCleanup(j,n,c)===false){h=false;return}J();b(z.add(A).add(B)).hide();b("#fancybox-title").remove();g.add(i).add(x).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");i.css("overflow","hidden");if(c.transitionOut=="elastic"){k=Q();var d=g.position();l={top:d.top,left:d.left,width:g.width(),height:g.height()};if(c.opacity)l.opacity=1;y.prop=1;b(y).animate({prop:0},{duration:c.speedOut,easing:c.easingOut,
step:M,complete:a})}else g.fadeOut(c.transitionOut=="none"?0:c.speedOut,a)}};b.fancybox.resize=function(){var a,d;if(!(h||g.is(":hidden"))){h=true;a=i.wrapInner("<div style='overflow:auto'></div>").children();d=a.height();g.css({height:d+c.padding*2+v});i.css({height:d});a.replaceWith(a.children());b.fancybox.center()}};b.fancybox.center=function(){h=true;var a=K(),d=c.margin,f={};f.top=a[3]+(a[1]-(g.height()-v+40))*0.5;f.left=a[2]+(a[0]-(g.width()+40))*0.5;f.top=Math.max(a[3]+d,f.top);f.left=Math.max(a[2]+
d,f.left);g.css(f);h=false};b.fn.fancybox.defaults={padding:10,margin:20,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.3,overlayColor:"#666",titleShow:true,titlePosition:"outside",titleFormat:null,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",
easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,onStart:null,onCancel:null,onComplete:null,onCleanup:null,onClosed:null};b(document).ready(function(){aa()})})(jQuery);
