var w3c=(document.getElementsByTagName && document.createElement);
if(w3c){
	document.write('<link rel="stylesheet" type="text/css" href="http://www.toovs.com/html/css/jspre.css" />')
}

function addLoadEvent(func){
	var oldonload = window.onload;
	if( typeof window.onload != 'function'){
		window.onload = func;
	}
	else{
		window.onload = function(){
			oldonload();
			func()
		}
	}
}

// dropdown menu for javascript only

function prepareDropdown(){
	if(!document.getElementById || !document.getElementsByTagName) return false;
	if(!document.getElementById('Nav_main')) return false;
	var nav=document.getElementById('Nav_main');
	var list=nav.getElementsByTagName("li");
	//alert(link.length);
	
	for (var i=0;i<list.length;i++){
		//check source position (not nested li)
		if(list[i].parentNode.parentNode.getAttribute('id')=='Nav_main'){
			//alert('right position li')
			//var span=document.createElement('span');
			var dropLink=document.createElement('a');
			dropLink.className='dropMenuLink';
			dropLink.href="#";
			if(list[i].getElementsByTagName('ul')[0]){
				var nestUl=list[i].getElementsByTagName('ul')[0];
				list[i].insertBefore(dropLink,nestUl);
			}
			else{
				//remove border bottom at li.active without sub ul
				list[i].className=list[i].className+' noSub'
			}
		}
	}
}
function addEventSimple(obj,evt,fn){
	if(obj.addEventListener){
		obj.addEventListener(evt,fn,false)
	}
	else if(obj.attachEvent){
		obj.attachEvent('on'+evt,fn)
	}
}
function showHideDropdown(e){
	var evt= e || window.event;
	var evtTarget=evt.target || evt.srcElement;
	if(document.getElementById('Dropdown') && evtTarget.parentNode.getAttribute('id') != 'Dropdown'){
		var dropDown=document.getElementById('Dropdown');
		dropDown.removeAttribute('id');
	}
	if(evtTarget.parentNode.getAttribute('id')=='Dropdown'){
		document.getElementById('Dropdown').removeAttribute('id');
	} 
	else if(evtTarget.parentNode.className != 'active'){
		evtTarget.parentNode.setAttribute('id','Dropdown');
	}
	evt.cancelBubble=true;
	if(evt.preventDefault){
		evt.preventDefault();
	}
	evt.returnValue=false;
}

function getDropdown(){
	if(!document.getElementById || !document.getElementsByTagName) return false;
	if(!document.getElementById('Nav_main')) return false;
	//find generated span's in Nav_main
	var actLink=document.getElementById('Nav_main').getElementsByTagName('a');
	for(var i=0; i<actLink.length; i++){
		//check if the <a ... class="dropMenuLink"> exists at the right spot
		if(actLink[i].className=="dropMenuLink"){
			var mLink=actLink[i];
			//add mouseover event for main link
			mLink.onmouseover=function(){
				this.parentNode.getElementsByTagName('a')[0].className='mOver'
			}
			mLink.onmouseout=function(){
				this.parentNode.getElementsByTagName('a')[0].className='';
			}
			// add dropdown events
			addEventSimple(mLink,'click',showHideDropdown);
			// remove dropdown via click everywhere else
			addEventSimple(document,'click',function(){
				if(document.getElementById('Dropdown')){
					var dropUl=document.getElementById('Dropdown');
					dropUl.removeAttribute('id')
				}
			})
		}
	}
}
function getNavControls(){
	if(!w3c) return false;
	//find a in language_controls
	if(!document.getElementById('Nav_controls')) return false;
	var link=document.getElementById('Nav_controls').getElementsByTagName('a');
	var button=document.getElementById('Nav_controls').getElementsByTagName('input');
	for(var i=0; i<link.length; i++){
		//check if the <a ... class="dropMenuLink"> exists at the right spot
		if(link[i].className=="dropMenuLink"){
			//var mLink=link[i];
			//add mouseover event for main link
			link[i].onclick=function(){
				if(!this.parentNode.parentNode.getElementsByTagName('fieldset')[0]) return;
				
				var drdown=this.parentNode.parentNode.getElementsByTagName('fieldset')[0];
				if(!drdown.style.display){
					drdown.style.display='none';
				}
				drdown.style.display= (drdown.style.display=='none') ? 'block' : 'none';
				return false;
			}

		}
		for(var j=0;j<button.length;j++){
			if(button[j].className=='button'){
				button[j].onclick=function(){
					//function
					this.parentNode.parentNode.parentNode.style.display='none';
				}
			}
		}
	}
}			


// for showing extra select boxes after selecting date ->"till"
function toggleSelect(){
	if(!document.getElementById) return false;
	if(!document.getElementById("OptionDate") || !document.getElementById("OptionCheck")) return false;
	var checkbox=document.getElementById("OptionCheck").getElementsByTagName("input")[0];
	var section=document.getElementById("OptionDate");
	section.className="dateNonActive";
	checkbox.checked=false;
	checkbox.onclick=function(){
		if(this.checked){
			section.className="";
		}
		else{
			section.className="dateNonActive";
		}
	}
	section.onmousedown=function(){
		checkbox.checked=true;
		section.className="";
	}
}

function mAction(){
	if(!document.getElementsByTagName) return false;
	var div=document.getElementsByTagName('div');
	var oldClassName='entry';
	for( var i=0; i < div.length ; i++){
		if(div[i].className.indexOf("entries_all") != -1){
			var entryBox=div[i];
			var vtDiv=entryBox.getElementsByTagName("div");
			for( var j=0; j< vtDiv.length; j++){
				if(vtDiv[j].className.indexOf("entry") !=-1){
					vtDiv[j].onmouseover=function(){
						if(this.className=='undefined'){
							alert('heh!')
						}
						else{
							oldClassName=this.className;
							this.className=this.className+' mOver';
						}
					}
					vtDiv[j].onmouseout=function(){
						this.className=oldClassName;
					}
				}
			}
		}
	}
}

function imgOver(){
	if(!document.getElementsByTagName) return false;
	var div=document.getElementsByTagName("div");
	for (var i=0; i<div.length; i++){
		if(div[i].className=="imgbox"){
			div[i].onmouseover=function(){
				this.className="imgbox imgOver";
			}
			div[i].onmouseout=function(){
				this.className="imgbox";
			}
		}
	}
}

function prepareView(){
	if(!document.getElementsByTagName) return false;
	var div=document.getElementsByTagName("div");
	for( var i=0; i< div.length ; i++){
		if(div[i].className.indexOf("viewthumbs") != -1 || div[i].className.indexOf("viewlist") != -1){
			var entriesAll=div[i];
			var link=entriesAll.getElementsByTagName("a");
			for (var j=0 ; j<link.length; j++){
				if(link[j].className=="thumbs"){
					link[j].onclick=function(){
						entriesAll.className=entriesAll.className.replace(/viewlist/,'viewthumbs');
						mAction();
						return false;
					}
				}
				if(link[j].className=="list"){
					link[j].onclick=function(){
						entriesAll.className=entriesAll.className.replace(/viewthumbs/,'viewlist');
						return false;
					}
				}
			}
		}
	}
}


function scrollThumbs(){
	if(!document.getElementById) return false;
	if(!document.getElementById("GalleryThumbsbox") || !document.getElementById("Thumbs") || !document.getElementById("ScrollLeft") || !document.getElementById("ScrollRight")) return false;
	var gallerybox=document.getElementById("GalleryThumbsbox");
	var thumbs=document.getElementById("Thumbs");
	if(thumbs.getElementsByTagName('a')){
		//var nrThumbs=thumbs.getElementsByTagName('a').length;
		//var thumbWidth=95;
		//var thumbBoxWidth=thumbs.style.width=nrThumbs*thumbWidth+100+'px';
		var left=document.getElementById("ScrollLeft");
		var right=document.getElementById("ScrollRight");
		left.onmousedown=function(){
			scrollElement("Thumbs",1);
		}
		left.onmouseup=function(){
			clearTimeout(movement);
		}
		right.onmousedown=function(){
			scrollElement("Thumbs",-1);
		}
		right.onmouseup=function(){
			clearTimeout(movement);
		}
	}
}

function scrollElement(elemId,direction){
	if (!document.getElementById) return false;
	if (!document.getElementById(elemId)) return false;
	
	var elem = document.getElementById(elemId);
	if( !elem.style.marginLeft){
		elem.style.marginLeft = 0
	}
	var marginleft=parseInt(elem.style.marginLeft);
	if( direction > 0){
		if(marginleft == 0){
			if(repeat){
				clearTimeout(movement);
			}
		}
		else{
			marginleft = marginleft + (10 * direction);
		}
	}
	if( direction < 0){
		var boxWidth=parseInt(elem.style.width);
		var boxMargin=parseInt(elem.style.marginLeft);
		if(boxMargin+boxWidth < 580){
			if(repeat){
				clearTimeout(movement);
			}
		}
		else{
			marginleft = marginleft + (10 * direction);
		}
	}
	elem.style.marginLeft= marginleft + "px";
	var repeat="scrollElement('"+elemId+"',"+direction+")";
	movement=setTimeout(repeat,50)
}

// to paste input type=file values to fake input file
function pasteFileValue(){
if(!document.getElementsByTagName) return false;
var div=document.getElementsByTagName("div");
for(var i=0 ; i< div.length ; i++){
	if(div[i].className=="fileinputs"){
		var realInput=div[i].getElementsByTagName("input")[0];
			realInput.onchange = realInput.onmouseout = function(){
			var fakeInput=this.parentNode.getElementsByTagName("input")[1];
			fakeInput.value=this.value;
			}
		}
	}
}


function closeAddInfo(){
	if(!document.getElementById) return false;
	if(document.getElementById('Show_add_info')){
		Showdiv=document.getElementById('Show_add_info');
		var div=Showdiv.getElementsByTagName('div');
		for( var i=0; i<div.length; i++){
			if(div[i].className=='close'){
				div[i].onclick=function(){
					Showdiv.removeAttribute('id');
				}
			}
		}
	}
}
function showYourRating(){
	if(!document.getElementsByTagName) return false;
	var span=document.getElementsByTagName('span');
	for(var i=0;i<span.length;i++){
		if(span[i].className=='rateit'){
			var ratebox=span[i];
			var ratelink=ratebox.getElementsByTagName('a');
			for(var j=0;j<ratelink.length;j++){
				ratelink[j].onmouseover=function(){
					var rating=this.title;
					var extraClass="mouseRate"+rating;
					this.parentNode.className='rateit'+' '+extraClass;
				}
				ratelink[j].onmouseout=function(){
					this.parentNode.className='rateit'
				}
			}
		}
	}
}
function showHideHelp(){
	if(!w3c) return false;
	elem=document.getElementsByTagName('*');
	for(var i=0;i<elem.length;i++){
		if(elem[i].className.indexOf('pophelp') != -1){
			elem[i].onmouseover=function(){
				var elemPar=this.parentNode;
				if(!elemPar.className){
					elemPar.className='';
				}
				currParClass=elemPar.className;
				elemPar.className=currParClass+' showHelp';
			}
			elem[i].onmouseout=function(){
				var elemPar=this.parentNode;
				elemPar.className=currParClass;
			}
		}
	}
}


addLoadEvent(toggleSelect);
addLoadEvent(pasteFileValue);
addLoadEvent(scrollThumbs);
addLoadEvent(mAction);
addLoadEvent(imgOver);
addLoadEvent(prepareView);
addLoadEvent(prepareDropdown);
addLoadEvent(getDropdown);
addLoadEvent(showYourRating);
addLoadEvent(showHideHelp);
addLoadEvent(getNavControls);