var curSubmenu = null;
var curMenu = null;
var submenuTimer = null;
var PID_FORUM_HEADER = 216;
var PID_FORUM_FOOTER = 217;
var PID_NEWSLETTER_HEADER = 239;

function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(email);
}

  function switchLanguage(el) {
    var index = el.selectedIndex;
    // var nodes = document.getElementById('lang_menu_urls').childNodes;
    var nodes = document.getElementById('lang_menu_urls').getElementsByTagName('a');
	var linkIndex = -1;
	var url;
	for (var i = 0; i < nodes.length; i++) {
		if (nodes[i].href) {
			linkIndex++;
			if (linkIndex == index) {
				url = nodes[i].href;
				break;
			}
		}
	}

	// keep the query!
	var curUrl = document.location.href;
	var curQPos = curUrl.indexOf('?');
	if (curQPos >= 0) {
		var qPos = url.indexOf('?');
		if (qPos >= 0)
			url += '&'+curUrl.substr(curQPos + 1);
		else
			url += '?'+curUrl.substr(curQPos + 1);
	}
    document.location.href = url;
  }
  function altBaseTarget()
  {
    var headTag = document.getElementsByTagName("head")[0];
    var baseTag = headTag.getElementsByTagName("base");
    
    if (baseTag.length>0)
    {
        baseTag = baseTag[0];
        baseTag.target = "_top";        
        baseTag.setAttribute("target","_parent");
     
           
        //headTag.replaceChild(newBase,baseTag);
    }
  }
  function onMenuOver(el) {
	menuRollover(el, true);
	stopSubmenuTimer();

	// el.className = el.id+'_active';
	
    var submenu = el.nextSibling;

	if (submenu != curSubmenu)
	  hideSubmenu();

	if (!submenu || submenu.tagName.toLowerCase() != 'div')
      return;
    var menuPos = getAbsoluteElementPosition(el);
    submenu.style.left = menuPos[0] + 'px';
    submenu.style.top = (menuPos[1] - 50) + 'px';
    submenu.style.display = 'block';
    submenu.style.zIndex = 1000;
	if (submenu.className == "submenu_container")
	{
	curSubmenu = submenu;
	}

	curMenu = el;
  }
  function onMenuOut(el) {
    startSubmenuTimer();
  }

  function onSubmenuOver(el) {
    stopSubmenuTimer();
  }
  function onSubmenuOut(el) {
    startSubmenuTimer();
  }

  function getAbsoluteElementPosition(el) {
    var left = 0;
    var top = 0;
    while (el) {
      left += el.offsetLeft;
      top += el.offsetTop;
      el = el.offsetParent;
    }
    return [left, top];
  }
  function hideSubmenu() {

	if (curSubmenu) {
      curSubmenu.style.display = 'none';
      submenuTimer = null;
	  curSubmenu = null;
    }
	if (curMenu)
	{
		menuRollover(curMenu, false);
		curMenu.className = "";
		curMenu = null;
	}
    stopSubmenuTimer();
  }
  function startSubmenuTimer() {
    submenuTimer = setTimeout('hideSubmenu()', 1000);
  }
  function stopSubmenuTimer() {
    if (submenuTimer) {
      clearTimeout(submenuTimer);
      submenuTimer = null;
    }
  }

	function menuRollover(el, flag) {
		var img;
		for (var i = 0; i < el.childNodes.length; i++)
			if (el.childNodes[i].tagName == 'IMG' || el.childNodes[i].tagName == 'img')
				img = el.childNodes[i];
		if (! img)
			return;
		if (flag & img.src.indexOf('&hl=1') < 0)
			img.src += '&hl=1';
		else if (! flag & img.src.indexOf('&hl=1') > 0)
			img.src = img.src.substr(0, img.src.length - 5);

	}
		  
 
  
  var teaser_index = 0;
  function teaser_left() {
    var new_index = teaser_index - 1;
    if (new_index < 0)
      new_index = teasers.length - 1;
    update_teaser(new_index);
  }
  function teaser_right() {
    var new_index = teaser_index + 1;
    if (new_index >= teasers.length)
      new_index = 0;
    update_teaser(new_index);
  }
  function update_teaser(index) {
    if (teaser_index != index) {
      teaser_index = index;
      var t = teasers[index];
      document.getElementById('teaser_image').src = '/uploads/hu_teaser/'+ t.img;
      var url = t.url;
      if (! url)
        url = location.href;
      document.getElementById('teaser_link').href = url;
    }
  }

  var smart_focus_values = {};
  function smartFocus(el) {
	  if (! smart_focus_values[el.name]) {
		  el.value = '';
		  smart_focus_values[el.name] = true;
	  }
  }
  function hadFocus(el) {
	return smart_focus_values[el.name];
  }
function isLeapYear(year)
{
	if(year % 4 == 0)
	{
		if(year % 100 != 0)
		{
			return true;
		}
		else
		{
			if(year % 400 == 0)
				return true;
			else
				return false;
		}
	}
	return false;
}

//				  Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
var month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
function validateDate(d, m, y) {
	d = parseInt(d);
	m = parseInt(m);
	y = parseInt(y);
	if (! d || ! m || ! y)
		return false;
	if (m < 1 || m > 12)
		return false;
	if (y < 1902 || y > 2038)
		return false;
	var days_in_month = month_days[m + 1];
	if (m == 2) {
		days_in_month = isLeapYear(y) ? 29 : 28;
	} else {
		days_in_month = month_days[m + 1];
	}
	if (d > days_in_month)
		return false;
	return true;
}

function printPage() {
	var add;
	if (document.location.href.indexOf('?') <= 0)
		add = '?print=1';
	else
		add = '&print=1';
	var url = document.location.href + add;
	var w = 760;
	var h = 480;
	var tmp = window.open(url, "printpage", "width="+w+",height="+h+",toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
}

function sendPage(el) {
	var url = el.href;
	if (url.indexOf('?') > 0)
		url += '&';
	else
		url += '?';
	url += 'pageurl='+encodeURIComponent(document.location.href);
	var w = 420;
	var h = 520;
	var tmp = window.open(url, "sendpage", "width="+w+",height="+h+",toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no");
}

function delicious() {
	var cur_url = document.location.href;
	var url = 'http://del.icio.us/post?url='+encodeURIComponent(cur_url)+'&title='+ encodeURIComponent(document.title);
	document.location.href = url;
}
function wong() {
	var cur_url = document.location.href;
	var descParam = encodeURIComponent(document.title);
	// ampersand is displayed as &amp; on mr.wong :(
	// var descParam = document.title;
	alert(descParam);
	var url = "http://www.mister-wong.de/index.php?action=addurl&bm_url="+encodeURIComponent(cur_url)+"&bm_description="+descParam+"";
	document.location.href = url;
}

var enframeHtml = '';
function enframeImages() {
	var imgs = document.getElementsByTagName('img');
	for (var i = 0; i < imgs.length; i++) {
		img = imgs[i];
		if (img.className == 'framed')
			enframeImage(img);
	}
	if (document.getElementById('bordDiv'))
		document.getElementById('bordDiv').innerHTML += enframeHtml;
}

function enframeImage(img) {
	pos = getAbsoluteElementPosition(img);
	var x = pos[0];
	var y = pos[1];
	var w = img.width;
	var h = img.height;
	// alert(pos[0] + ':' + pos[1]+ ' - '+img.width+':'+img.height);
	addFrameImage('img_bord_right.png', x + w, y + 3, 13, h);
	addFrameImage('img_bord_top_right.png', x + w, y - 5, 13, 8);
	addFrameImage('img_bord_bottom.png', x + 3, y + h, w, 11);
	addFrameImage('img_bord_bottom_left.png', x - 5, y + h, 8, 11);
	addFrameImage('img_bord_bottom_right.png', x + w, y + h, 13, 11);

}

function addFrameImage(file, x, y, w, h) {
	var src = '/fileadmin/sitetemplates/i/bord/'+file;
	var html = '<img src="'+src+'" style="width:'+w+'px;height:'+h+'px;position:absolute;left:'+x+'px;top:'+y+'px;" />';
	enframeHtml += html;
}

function newsletter(action, el) {
	emailEl = document.getElementById('newsletter_email');
	if (! hadFocus(emailEl) || ! emailEl.value.length) {
		alert(emptyEmailMsg);
		emailEl.focus();
		return;
	}
	
	if (! validateEmail(emailEl.value) && window.invalidEmailMsg) {
		alert(window.invalidEmailMsg);
		return;
	}

	var email = emailEl.value;
	var url;

	url = el.href +'&tx_hunewsletter_pi1[data][email]='+ encodeURIComponent(email);
	if (action == 'subscribe' || action == 'change') {
		top.document.location.href = url;
	} else if (action == 'unsubscribe') {
		var w = 420;
		var h = 260;
		var tmp = window.open(url, "nl_unsubscribe", "width="+w+",height="+h+",toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no");
	}
}

function onPageLoad() {
	enframeImages();
	if (window.onLoadArr)
	{
	    window.eval(window.onLoadArr);
	}
	if (document.location.href.indexOf("?id="+PID_FORUM_HEADER)>0 ||
		document.location.href.indexOf("?id="+PID_FORUM_FOOTER)>0 ||
		document.location.href.indexOf("?id="+PID_NEWSLETTER_HEADER)>0)
	{
       if (document.addEventListener)
       {
            document.addEventListener("click", bodyClick, false);
       }
       else
       {
            document.attachEvent("onclick", bodyClick);
       }
	}
	if (document.forms['tx_indexedsearch'])
	{
	    document.forms['tx_indexedsearch'].target = '_top';
	}
}
function bodyClick(evt)
{
    var srcEl = null;
    if (document.all)
    {
        srcEl = evt.srcElement;    
    }
    else
    {
        srcEl = evt.target;        
    }
    if (srcEl.tagName == "A")
    {
        srcEl.target = "_top";
    }
}
function fixPNG()
{
    /* do not remove this function, neede for dummy call if browser is not IE6 */
}

/* methode image map */
function mmap_over(el) {
	return; // turn it off temporarily

	var hl = document.getElementById('mmap_hl');
	if (hl)
		hl.parentNode.removeChild(hl);

	var coords = el.coords;
	var arr = coords.split(',');
	var x = arr[0];
	var y = arr[1];
	var x2 = arr[2];
	var y2 = arr[3];
	var w = x2 - x;
	var h = y2 - y;

	var op = .6;

	var href = el.href;

	var html = '<div id="mmap_hl" style="cursor:pointer; opacity:0.3; filter:alpha(opacity=30); position:absolute; left:'+x+'px; top:'+y+'px; width:'+w+'px; height:'+h+'px; background-color:white" onclick="document.location.href=\''+href+'\'">&nbsp;</div>';
	document.getElementById('mmap_div').innerHTML += html;
}
function mmap_out(el) {

}
function searchCatToggle(obj)
{
    if (obj.value == 'all')
    {
        if (obj.checked)
        {
            var i=1;
            var tmp = document.getElementById('cat_'+i);
            while(tmp)
            {
                tmp.checked = true;
                tmp = document.getElementById('cat_'+i);
                i++;
            }
            document.getElementById('cat_sel').value ='all';
            return;
        }
    }
    else
    {
       var tmp = document.getElementById('cat_0');
       tmp.checked = false;
    }    
    
    var i=1;            
    var tmp = document.getElementById('cat_'+i);
    var str = "";
    while(tmp)
    {
        if (tmp.checked)
        {
            str += tmp.value +','; 
        }
        tmp = document.getElementById('cat_'+i);
        i++;
    }   
    document.getElementById('cat_sel').value =str;
}


