var host = '/'+language_id+'/';

function checkReturnKey(event) {
  ky = event.keyCode?event.keyCode:event.which?event.which:event.charCode;

  if (ky==13) {
    return true;
  }

  return false;
}

function resetSearchbox(box) {
  if (box.value == trans['searchbox']) {
  	box.value = '';
  }
}

function xtoggle(id) {
  var o = $(id);

  if (typeof(o)=='object') {
    if (o.style.visibility=='visible') {
      o.style.display = 'none';
      o.style.visibility = 'hidden';
    } else {
      o.style.display = 'inline';
      o.style.visibility = 'visible';
    }
  }
}

function toggleFlashIntro() {
  var o = $('flashintro');
  var lnk = $('flashtoggle');

  if (typeof(o)=='object') {
    if (o.style.visibility=='visible') {
      o.style.display = 'none';
      o.style.visibility = 'hidden';

      lnk.title = trans['flashtoggle_button_off'];
      lnk.style.backgroundImage = 'url(/images/btn_intro_off.png)';
    } else {
      o.style.display = 'inline';
      o.style.visibility = 'visible';

      lnk.title = trans['flashtoggle_button_on'];
      lnk.style.backgroundImage = 'url(/images/btn_intro_on.png)';
    }
  }
}

function display(id) {
  var o = $(id);

  if (typeof(o)=='object') {
    o.style.display = 'inline';
    o.style.visibility = 'visible';
  }
}

function hide(id) {
  var o = $(id);

  if (typeof(o)=='object') {
    o.style.display = 'none';
    o.style.visibility = 'hidden';
  }
}


function bookmark(item) {
  link=encodeURIComponent(location.href);
  title=encodeURIComponent(document.title);

  switch(item) {
    case 'wong':
      window.open('http://www.mister-wong.de/index.php?action=addurl&bm_url='+link+'&bm_description='+title); break;
    case 'del':
      window.open('http://del.icio.us/post?url='+link+'&title='+title); break;
    case 'google':
      window.open('http://www.google.com/bookmarks/mark?op=add&hl=de&bkmk='+link+'&title='+title); break;
    case 'webnews':
      window.open('http://www.webnews.de/einstellen?url='+link+'&title='+title); break;
    case 'linkarena':
      window.open('http://linkarena.com/bookmarks/addlink/?url='+link+'&title='+title+'&desc=&tags='); break;
    case 'oneview':
      window.open('http://beta.oneview.de:80/quickadd/neu/addBookmark.jsf?URL='+link+'&title='+title); break;
    case 'furl':
      window.open('http://www.furl.net/storeIt.jsp?u='+link+'&t='+title); break;
    case 'yahoo':
      window.open('http://myweb2.search.yahoo.com/myresults/bookmarklet?u='+link+'&t='+title); break;
    case 'yigg':
      window.open('http://yigg.de/neu?exturl='+link+'&exttitle='+title); break;
    case 'facebook':
	  u=location.href;
	  t=document.title;
	  window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
  }
}


function setTimezone(country) {
  new Ajax.Request(host+'ajax/timezones/country_id/'+country.value, {
    method: 'get',
    onSuccess: function(transport, json) {
    	var timezone_id = $('timezone_id');

		for (var i=timezone_id.options.length-1; i>=0; i--) {
			timezone_id.options[i] = null;
		}

		for (var index in json) {
			opt = new Option(json[index].name, json[index].timezone_id, false, false);
			timezone_id.options[index] = opt;
		}
    }
  });
}


function passwordReset() {
  hide('password-success');

   new Ajax.Request(host+'ajax/password', {
    method: 'post',
    parameters: $('mail').serialize(true),
    onSuccess: function(transport, json) {
      display('password-success');
      alert(json.mail);
    }
  });
}


function faqAnswer(id) {
  var o = $('answer_'+id);

  if (o.style.visibility=='visible') {
    o.style.display = 'none';
    o.style.visibility = 'hidden';
  } else {
    if (o.innerHTML=='') {
      new Ajax.Request(host+'ajax/faq-answer/id/'+id, {
        method: 'get',
        onSuccess: function(transport, json) {
    	  o.innerHTML = json.answer;
          o.style.display = 'block';
          o.style.visibility = 'visible';
        }
      });
    } else {
      o.style.display = 'block';
      o.style.visibility = 'visible';
    }
  }
}


function ajaxCallbackResetWorldId(element, entry) {
	$('world_id').value;
	return entry;
}

function ajaxCallbackAddWorldId(element, entry) {
  return entry + "&world_id=" + $('world_id').value;
}

function setWorldId(text, li) {
  $('world_id').value = li.id;
}

function setRealmId(text, li) {
  $('realm_id').value = li.id;
}

function createshop_setWorld(text, li) {
  setWorldId(text, li);

  var autocomplete = true;

  if (li.getAttribute('avadeals_fixed') == 'true') {
  	autocomplete = false;

  	selectfield = $('currency_select');
    for (var i=selectfield.options.length-1; i >= 0; i--) {
  	  selectfield.options[i] = null;
    }

    new Ajax.Request(host+'ajax/currency-select/world_id/'+li.id, {
      method: 'get',
      onSuccess: function(transport, json) {
      	if (json.length > 0) {
      	  autocomplete = false;
      	  $('currency').value = json[0].name;

		  for (var index in json) {
			opt = new Option(json[index].name, json[index].id, false, false);
			selectfield.options[index] = opt;
       	  }
      	}
      }
    });
  }

  if (autocomplete) {
  	$('currency_layer_autocomplete').show();
  	$('currency_layer_select').hide();
  } else {
  	$('currency_layer_select').show();
  	$('currency_layer_autocomplete').hide();
  }
}

function createshop_selectCurrency(elem) {
  $('currency').value = elem.value;
}


var current_message;
function emptyMessageContainer() {
	if($('my-privatemessage-row-current')) {
		$('my-privatemessage-row-current').remove();
		current_message = null;
	}
}
function recMessage(mid) {

	if(current_message == mid) {
		emptyMessageContainer();
		return;
	}

	current_message = mid;

	emptyMessageContainer();
	new Ajax.Request(host+'ajax/recpmmessage/mid/' + decodeURI(mid), {
        method: 'get',
        onSuccess: function(transport, json) {
    	  var html = '<tr id="my-privatemessage-row-current"><td colspan="6">\
    	  				<div class="my-privatemessage-divider">&nbsp;</div>\
    	  				<div id="my-privatemessage-content-container">\
    	  				<div id="my-privatemessage-content">#{pm_message}</div>\
    	  			  	<div class="my-privatemessage-content-option"><a href="#" onClick="emptyMessageContainer();return;" title="' + trans['close'] + '" class="my-privatemessages-close">' + trans['close'] + '</a></div>\
    	  			  	<div class="my-privatemessage-content-option"><a href="' + host + 'myavadeals/mail/do/mid/' + decodeURI(mid) + '?boxaction=delete&box=' + current_box + '" title="' + trans['delete'] + '" class="my-privatemessages-delete">' + trans['delete'] + '</a></div>\
    	  			  	</div>\
    	  			  	<div class="my-privatemessage-divider">&nbsp;</div>\
    	  			  	</td></tr>\n';

    	  var t = new Template(html);
    	  new Insertion.After( $('my-privatemessage-row-' + mid), t.evaluate(json));
    	  $('icn-status-' + mid).src = '/images/icn_mail_read.gif';
    	  $('ln-subject-' + mid).addClassName('my-privatemessages-status-read');
    	  $('ln-login-' + mid).addClassName('my-privatemessages-status-read');
    	}
      });
}

function removeErrors(classname) {
//  document.getElementsByTagName('body')[0].getElementsByClassName(classname).each(function(e){e.remove()});
  document.getElementsByTagName('body')[0].getElementsByClassName(classname).each(function(e){e.remove()});
}

function sendPM(f) {

	var error = false;

 	removeErrors('errors');

 	if($('pm_subject').value=='') {
		Element.insert( $('pm_subject').id, {  after: '<ul class="errors"><li id="warning_'+('pm_subject').id+'">' + trans['stringLengthTooLong'] + '</li></ul>' } );
		error = true;
	}

	if(error) return;

	var currentForm = $(f);
	var currentFormParams  = currentForm.serialize();

	new Ajax.Request(host+'ajax/recpmmessagesend/', {
	  method: 'get', parameters: currentFormParams,
	  onSuccess: function(transport, json) {
	  	if(json.result == '1') {
	  		$('form-pm-container').innerHTML = $('response-container').innerHTML;
	  	} else {
	  		//$('form-pm-container').innerHTML = json.result;
	  	}
	  }
	});

	return;

}

/**
 * Prueft, ob ein Shop-Name bereits existiert
 *  und blendet ggfs. eine Meldung ein
 */
function validateShopName(o) {
  new Ajax.Request(host+'ajax/shopname/name/'+o.value, {
    method: 'get',
    onSuccess: function(transport, json) {
      var warn = $('warning_'+o.id);

      if (json.message != '') {
      	if (warn != null) {
      	  warn.innerHTML = json.message;
      	} else {
		  Element.insert( $(o.id), {  after: '<ul class="errors"><li id="warning_'+o.id+'">'+json.message+'</li></ul>' } );
      	}
      } else {
      	if (warn != null) {
      	  warn.hide();
      	}

      	setShopUrl(o.value);
      }
    }
  });
}

function setShopUrl(shopname) {
  parsed = shopname.toLowerCase();
  parsed = parsed.replace(/[^a-z0-9]/gi, '');

  $('url_name').value = parsed;
}


function sell_displayType(o) {
  var v = '';

  if (typeof(o) == 'object') {
  	v = o.value;
  }

  var enddate = $('end_time_date');

  for (var i=enddate.options.length-1; i>=0; i--) {
  	if (enddate.options[i].className) {
      enddate.options[i] = null;
  	}
  }

  if (v == 'price' || v == 'offer') {
	opt = new Option('--------------------', '', false, false);
	opt.className = 'dummyclass';
	enddate.options[enddate.options.length] = opt;

  	var start = enddate.options.length;

	for (var i=0; i<date_extend.length; i++) {
	  opt = new Option(date_extend[i]['name'], date_extend[i]['value'], false, false);
	  opt.className = 'dummyclass';
	  enddate.options[(start + i)] = opt;
    }
  }

  if (v != 'auction') { hide('layer_auction') }
  if (v != 'price') { hide('layer_price') }
  if (v == 'auction' || v == 'price') { display('layer_' + v) }

  if (v != '') {
  	display('layer_end');
  } else {
  	hide('layer_end');
  }
}

function sell_setCurrency(o) {
  var curr = '';

  if (o.value != '') {
  	curr = currencies[o.value] + '&nbsp;';
  }

  $('currency_auction').innerHTML = curr;
  $('currency_price').innerHTML = curr;
}

function sell_selectShop(o) {
  sell_setCurrency(o);

  type_id = $('type_id');

  if (o.value != '') {
    for (var i=type_id.options.length-1; i>=0; i--) {
  	  type_id.options[i] = null;
    }

	opt = new Option(types_select, '', false, false);
	type_id.options[0] = opt;

    for (var i=1; i<types.length; i++) {
      if (commercial[o.value] == 0 || (commercial[o.value] == 1 && types[i]['key'] != 'offer')) {
	    opt = new Option(types[i]['name'], types[i]['key'], false, false);
	    type_id.options[i] = opt;
      }
    }
  } else {
    for (var i=type_id.options.length-1; i>=0; i--) {
      type_id.options[i] = null;
    }

    opt = new Option(types_selectshop, '', false, false);
	type_id.options[0] = opt;

  }

  $('layer_auction').hide();
  $('layer_price').hide();
  $('layer_end').hide();

  $('auction_start').value = '';
  $('price_fixed').value = '';
  $('end_time_date').value = '';
  $('end_time_time').value = '00:00';
}


var favoriteLoaded = false;

function favoriteShop(shop_id) {
  new Ajax.Request(host+'ajax/favorite-shop/shop_id/'+shop_id, {
    method: 'get',
    onSuccess: function(transport, json) {
      $('fav_select').hide();

      if (json.success) {
      	$('fav_success').show();
      } else {
      	$('fav_failure').show();
      }

      favoriteLoaded = false;
    }
  });
}

function favoriteDeal(deal_id) {
  new Ajax.Request(host+'ajax/favorite-deal/deal_id/'+deal_id, {
    method: 'get',
    onSuccess: function(transport, json) {
      $('fav_select').hide();

      if (json.success) {
      	$('fav_success').show();
      } else {
      	$('fav_failure').show();
      }

      favoriteLoaded = false;
    }
  });
}

function favoriteMenuShow() {
  if (favoriteLoaded == false) {
    new Ajax.Request(host+'ajax/favorite-menu/', {
      method: 'get',
      onSuccess: function(transport, json) {
      	var len = json.deals.length > json.shops.length ? json.deals.length : json.shops.length;

      	if (len > 0) {
      	  var trs = $('favorites_table').select('tr');

      	  if (trs.length > 0) {
      	  	if ($('favorites_empty')) { $('favorites_empty').hide() };

      	    for (var i = 0; i < trs.length; i++) {
      	  	  if (!trs[i].id) {
      	  		trs[i].remove();
      	  	  }
      	    }
      	  }

      	  if (json.deals.length == 0) {
      	  	$('favorites_deal_more').update('&nbsp;');
      	  } else if (json.shops.length == 0) {
      	  	$('favorites_shop_more').update('&nbsp;');
      	  }

      	  for (var i = (len - 1); i >= 0; i--) {
      	    d = (i + 1) <= json.deals.length ? '<a href="'+json.deals[i].link+'">'+json.deals[i].name+'</a>' : '&nbsp;';
      	    s = (i + 1) <= json.shops.length ? '<a href="'+json.shops[i].link+'">'+json.shops[i].name+'</a>' : '&nbsp;';

            $('favorites_head').insert({ after : '<tr class="favremove"><td class="deal'+(json.deals.length == 0 ? ' last' : '')+'">'+d+'</td><td class="shop'+(json.shops.length == 0 ? ' last' : '')+'">'+s+'</td></tr>' });
      	  }

      	  $('favorites_table').show();
      	} else {
      	  $('favorites_table').insert({ after : '<div id="favorites_empty" class="favempty">'+trans['favempty']+'</div>' });
      	}

      	favoriteLoaded = true;
      }
    });
  }

  $('favorites').show();
}

function favoriteMenuHide() {
  $('favorites').hide();
}

var myfavoritesLoaded = false;

function myfavoritesToggle(section) {
  if (myfavoritesLoaded == false) {
    new Ajax.Request(host+'ajax/favorite-menu/', {
      method: 'get',
      onSuccess: function(transport, json) {
      	var arr = new Array('deals', 'shops');

      	for (i = 0; i < arr.length; i++) {
      	  data = eval('json.'+arr[i]);

          if (data.length > 0) {
            for (j = (data.length - 1); j >= 0; j--) {
              $('myfavorites_'+arr[i]+'_more').insert({ before : '<li><a href="'+data[j].link+'">'+data[j].name+'</a></li>' });
            }
          } else {
          	$('myfavorites_'+arr[i]+'_more').hide();
          	$('myfavorites_'+arr[i]+'_empty').show();
          }
      	}

        myfavoritesLoaded = true;
      }
    });
  }

  xtoggle($('myfavorites_'+section));
}


mydealsLoaded = new Array();

function mydealsToggle(section) {
  if (typeof(mydealsLoaded[section]) == 'undefined') {
    new Ajax.Request(host+'ajax/mydeals/section/'+section, {
      method: 'get',
      onSuccess: function(transport, json) {
      	if (json.success) {
          if (json.deals.length > 0) {
          	html = '';

      	    for (i = 0; i < json.deals.length; i++) {
              html += '<li>';
              html += '<div class="my-deal-list-bg"><table cellspacing="0" class="deal-list-img"><tr><td><a href="' + json.deals[i].url + '">';

              if (json.deals[i].image != '') {
                html += '<img src="/assets/deal-list/' + json.deals[i].image + '" border="0" alt="' + json.deals[i].name + '" title="' + json.deals[i].name + '" />';
              } else {
              	html += '<img src="/images/pic_default_deal_list.jpg" border="0" alt="" title="" />';
              }

              html += '</a></td></tr></table></div>';
      	  	  html += '<div class="my-deal-list-deal"><a href="' + json.deals[i].url + '" class="my-deal-list-title">' + json.deals[i].name + '</a><br/>';
      	  	  html += '(' + json.deals[i].end_time + ')<br/>';
      	  	  html += '<a href="'+json.deals[i].shop_url+'">'+json.deals[i].shop_name+'</a>';
      	  	  html += '</div>';
      	  	  html += '<div class="my-deal-list-price">'+json.deals[i].price+'</div>';
      	  	  html += '</li>';
      	    }

            $('mydeals_'+section+'_more').insert({ before : html });
          } else {
          	$('mydeals_'+section+'_more').hide();
          	$('mydeals_'+section+'_empty').show();
          }
      	}

      	mydealsLoaded[section] = true;
      }
    });
  }

  xtoggle($('mydeals_'+section));
}

var submitFormCall = '';

function submitForm(form) {
  submitFormCall = form;
  confirmWindow('submitFormExecute');

  return false;
}

function submitFormExecute() {
  $(submitFormCall).submit();
}


var redirectRelCall = '';

function redirectRel(rel, type) {
  redirectRelCall = rel.rel;
  confirmWindow('redirectRelExecute', type);

  return false;
}

function redirectRelExecute() {
  document.location.href = redirectRelCall;
}


/*  */

function operate() {
  var action = $('operate').value;
  
  if (action != '') {
  	confirmWindow('operateExecute', action);	
  }
  
  return false;
}

function operateExecute() {
  $('form_operate').submit();
}



var confirmActionCall = '';

function confirmWindow(actioncall, type) {
  confirmActionCall = actioncall;

  myLightWindow.activateWindow({
	href: host+'helper/confirm/type/'+type,
	type: 'page',
	loadingAnimation: 'false',
	width: 365,
	height: 180
  });

  return false;
}

function confirmAction() {
  myLightWindow.deactivate();

  if (confirmAction != '') {
  	eval(confirmActionCall+'();');
  }
}

function removeAsset(name) {
  $('upload_delete_'+name).value = '1';
  $('upload_hide_'+name).hide();
  return false;
}

function cancelUpload(name) {
  $('upload_cancel_'+name).value = '1';
  $('upload_current_'+name).hide();
  return false;
}


function feedRecalcOffset() {
  var pages = 0;
  var deals = arrFeeds[$('shop').value]['deals'];
  var offset = $('offset');

  if (deals > 0) {
  	pages = Math.floor(deals / $('limit').value);
  }

  for (var i=offset.options.length-1; i>0; i--) {
  	offset.options[i] = null;
  }

  for (var i = 1; i < pages; i++) {
	opt = new Option(i, i, false, false);
	offset.options[i] = opt;
  }

  if ($('offset').value > pages) {
  	$('offset').value = 0;
  }

  feedShow();
}


function feedShow() {
  var lnk = arrFeeds[$('shop').value]['link'];
  var params = '';
  var sep = '?';

  if ($('limit').value != 25) {
  	params = sep + 'limit='+$('limit').value;
  	sep = '&';
  }

  if ($('offset').value > 0) {
  	params += sep + 'offset='+$('offset').value;
  }

  lnk += feedFormat + '/';

  $('feedNew').href = lnk + 'new.xml' + params;
  $('feedNew').innerHTML = lnk + 'new.xml' + params;
  $('feedEnd').href =  lnk + 'end.xml' + params;
  $('feedEnd').innerHTML = lnk + 'end.xml' + params;
  $('feedAll').href =  lnk + 'all.xml' + params;
  $('feedAll').innerHTML = lnk + 'all.xml' + params;

  $('feedLayer').show();
}


function bannerFormat() {
  var val = $('format').value;
  var avatar = $('avatar').value;
  var html = '';
  
  html += '<div class="banner_' + val + '_' + avatar + '">';
  html += '</div>';

  $('banner_placeholder').innerHTML = html;

  //bannerUpdateTitle(false);
  //bannerUpdateDeal(false);
}

function bannerUpdateTitle(newColor) {
  var title = $('banner_title');

  title.innerHTML = $('title').value;

  var rgbColor = '#000000';

  if (newColor != false) {
  	rgbColor = newColor;

  	$('shopcolor').value = rgbColor;
  } else {
  	rgbColor = $('shopcolor').value;
  }

  title.style.color = rgbColor;
  title.style.fontSize = $('shopsize').value+'px';
}

function bannerUpdateDeal(newColor) {
  var deal = $('banner_deal');

  deal.innerHTML = $('title').value;

  var rgbColor = '#000000';

  if (newColor != false) {
  	rgbColor = newColor;

  	$('dealcolor').value = rgbColor;
  } else {
  	rgbColor = $('dealcolor').value;
  }

  deal.style.color = rgbColor;
  deal.style.fontSize = $('dealsize').value+'px';
}

function bannerPreview(url) {	
  myLightWindow.activateWindow({
  	title: '',
	href: url,
	loadingAnimation: 'false'
  });

  return false;
}