function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function emptyUpdates(type) {

	// language vars...
	var message = 'Weet je zeker dat je je ';
	
	switch (type) {
		case 'directors':
			message += 'regisseur';
			break;
		case 'topics':
			message += 'forum';
			break;
		default:
			message += 'film';
			break;
	}	
	
	message += 'updates helemaal wilt legen?';
	
	if (confirm(message)) {
		location.href = site_address + 'updates/my_' + type + '/empty';
	}
}

function deletePm(pm_id, users_id, user_string, delete_link, box) {

	if (pm_id && users_id && user_string) {
		var req = new XMLHttpRequest(); 

		if (req) { 			
			document.getElementById('divider_' + pm_id).style.display = 'none';
			document.getElementById('message_' + pm_id).style.display = 'none';		
		
			req.onreadystatechange = function() { 
				if (req.readyState == 4 && req.status == 200) { 
					var results = req.responseText; 
					return true;
				} 
			}; 
			
			req.open('GET', site_address+'calls/deletepm.php?users_id='+users_id+'&pm_id='+pm_id+'&user_string='+user_string+'&box='+box, true); 
			req.send(null);
		}	
		else {
			// no xmlhttp? oldfashioned deleting with redirect
			location.href = delete_link;
			return false;
		}
	}
	else
		return false;
}

function showInfo(resultcounter, films_id, users_id, user_string) {

	var el = document.getElementById('info_' + resultcounter + '_' + films_id);
	var plusel = document.getElementById('infoplus_' + resultcounter + '_' + films_id);

	if (el && el.style.height != '100px') {
		plusel.innerHTML = '<img src="' + site_address + '/images/explorertree-minus.png" />';

		if (el.innerHTML == '') {

			var req = new XMLHttpRequest(); 
			
			req.onreadystatechange = function() { 

				if (req.readyState == 4 && req.status == 200) { 
					el.innerHTML = '<br />' + unescape(req.responseText);
					el.style.display = 'block';	
					el.style.height = '0px';	
			
					var myEffect = new fx.Height(el, {duration: 200});
					myEffect.custom(0, 100);
						
					return;
				} 
			}; 
			
			req.open('GET', site_address+'calls/retrievefilminfo.php?films_id='+films_id+'&users_id='+users_id+'&user_string='+user_string, true); 
			req.send(null);			
		}
		else {
			var myEffect = new fx.Height(el, {duration: 200});	
			myEffect.custom(0, 100);
		}

	}
	else {
		plusel.innerHTML = '<img src="' + site_address + '/images/explorertree-plus.png" />';

		var myEffect = new fx.Height(el, {duration: 200});
		myEffect.custom(100, 0);
	}

}


function correctDateInput(field) {

	if (field) {
		var req = new XMLHttpRequest(); 
		
		var input = document.getElementById(field).value;

		req.onreadystatechange = function() { 
			if (req.readyState == 4 && req.status == 200) { 
				document.getElementById(field).value = unescape(req.responseText); 
				
				if (document.getElementById(field).value != unescape(req.responseText)) {
					// "incorrect" message doesn't fit :(
					document.getElementById(field).value = '';
				}
				
				return true;
			} 
		}; 
		
		req.open('GET', site_address+'calls/correctdateinput.php?input='+input, true); 
		req.send(null);
	}
	else
		return false;
}

function deleteMessage(messages_id, users_id, user_string, delete_link) {

	if (messages_id && users_id && user_string) {
		var req = new XMLHttpRequest(); 

		if (req) { 			
			document.getElementById('divider_' + messages_id).style.display = 'none';
			document.getElementById('message_' + messages_id).style.display = 'none';		
		
			req.onreadystatechange = function() { 
				if (req.readyState == 4 && req.status == 200) { 
					var results = req.responseText;
					return true;
				} 
			}; 
			
			req.open('GET', site_address+'calls/deletemessage.php?users_id='+users_id+'&messages_id='+messages_id+'&user_string='+user_string, true); 
			req.send(null);
		}	
		else {
			// no xmlhttp? oldfashioned deleting with redirect
			location.href = delete_link;
			return false;
		}
	}
	else
		return false;
}

function externalClick(ip, site, films_id, users_id) {

	if (ip && site && films_id) {
		var req = new XMLHttpRequest(); 

		if (req) { 			
			req.onreadystatechange = function() { 
				if (req.readyState == 4 && req.status == 200) { 
					var results = req.responseText;
					return true;
				} 
			}; 
			
			if (!users_id)
				users_id = 0;
			
			req.open('GET', site_address+'calls/externalclick.php?ip=' + ip + '&site=' + site + '&films_id='+films_id+'&users_id='+users_id, true); 
			req.send(null);
		}	
	}
	else
		return false;
}


var resized_images_width = new Array();
var resized_images_height = new Array();

function clearProfileInfoForm() {
	document.forms['profileInfoForm'].elements['name'].value = '';
	document.forms['profileInfoForm'].elements['birthdate'].value = '';
	document.forms['profileInfoForm'].elements['city'].value = '';
	document.forms['profileInfoForm'].elements['site'].value = '';
	document.forms['profileInfoForm'].elements['gender[gender]'][0].checked = false;
	document.forms['profileInfoForm'].elements['gender[gender]'][1].checked = false;
} /* end clearProfileInforForm() */

function fullscreen(event) {
	scrollbars = 0;
	
	if (document.all)
		var oSource = window.event.srcElement.src;
	else
		var oSource = event.target.src;
	
	width = resized_images_width[oSource];
	height = resized_images_height[oSource];

	url = site_address+"viewimage.php?src="+oSource;

	if(width > screen.availWidth) {
		width = screen.availWidth;
		scrollbars = 1;
	}

	if(height > screen.availHeight) {
		height = screen.availHeight;
		scrollbars = 1;
	}

	fullscr = window.open(url, "_blank","toolbar=no,location=no,menubar=no,fullscreen="+scrollbars+",channelmode="+scrollbars+",scrollbars="+scrollbars+",status=no,left=0,top=0,width="+width+",height="+height);
} /* end fullscreen() */

function resize(image, text_original_image, max_width) {
	if(!image)
		var image = window.event.srcElement;

	width = image.width;
	height = image.height;
	var url = image.src;

	if(width>max_width) {
		resized_images_width[url] = width;
		resized_images_height[url] = height;
		image.width = max_width;
		image.alt = text_original_image;
		image.style.border = "dashed 1px black";
		image.style.cursor = "pointer";
		image.onclick = fullscreen;
		image.height = Math.floor(height/(width/max_width));
	}
} /* end resize() */

function checkImages(text_original_image, max_width) {
	count = document.images.length;
	i = 0;

	while(count>i) {
		url = document.images[i].src;

		if(!url.match(/localhost:8888/) && !url.match(/10.211.55.2/) && !url.match(/moviemeter.nl/) || ( url.match(/moviemeter.nl/) && url.match(/uploads/) ) ) {
			if(document.images[i].complete)
				resize(document.images[i], text_original_image, max_width);
			else
				document.images[i].onload = resize;
		}

		i++;
	}
} /* end checkImages() */

function changeError(position, error, word, word_new, form_name, field_name) {

	var contents_current = document.forms[form_name].elements[field_name].value
	
	var contents_new = contents_current.substring(0, position);
	
	contents_new += word_new;

	// bit of a hack, replace some of the spaces
	
	if (word_new.length >= word.length)
		contents_new += contents_current.substring((position + word_new.length), contents_current.length);
	else
		contents_new += contents_current.substring((position + word.length), contents_current.length);

	document.forms[form_name].elements[field_name].value = contents_new;
	
	var errors = parseInt(document.forms[form_name].spellcheck_errors.value);
	errors--;
	
	// uncomment for strict spellcheck
	//document.forms['addStep4Form'].spellcheck_errors.value = errors;
	
	document.getElementById('spellcheck_error_' + error).innerHTML = word_new;
	document.getElementById('spellcheck_error_' + error).style.border = '0px';
} /* end changeError() */
		
function ignoreError(error, form_name) {
	var errors = parseInt(document.forms[form_name].spellcheck_errors.value);
	errors--;
	document.forms[form_name].spellcheck_errors.value = errors;
	document.getElementById('spellcheck_error_' + error).style.border = '0px';
} /* end changeError() */

function insertTags(form_name, form_element, tag_begin, tag_end) {

	if (document.all)
	{
		document.forms[form_name][form_element].focus();
		var text_current = document.selection.createRange();
		var text_new = tag_begin + text_current.text + tag_end;
		text_current.text = text_new;
	}
	else
	{
		var startPos = document.forms[form_name][form_element].selectionStart;
		var endPos = document.forms[form_name][form_element].selectionEnd;
		var length = document.forms[form_name][form_element].value.length;

		document.forms[form_name][form_element].value = document.forms[form_name][form_element].value.substring(0, startPos)
		              + tag_begin + document.forms[form_name][form_element].value.substring(startPos, endPos)
									+ tag_end + document.forms[form_name][form_element].value.substring(endPos, length);
	}
} /* end insertTags() */

function insertBetweenTags(form_name, form_element, tag_begin, tag_end, text_prompt, begin_value, text_prompt_2) {
	
	if (text_prompt == '')
		var text_between = begin_value;
	else
		var text_between = prompt(text_prompt, begin_value);
		
	if (tag_begin == '[url]' && text_between.length > 30) {
		var description_suggestion = text_between.substr(0, 27) + '... ';	
		var link_description = prompt(text_prompt_2, description_suggestion);
		
		if (link_description.length > 30)
			link_description = link_description.substr(0, 27) + '...';
			
		tag_begin = '[url=' + text_between + ']';
		text_between = link_description;
	}

	if (text_between) {
		if (document.all)
		{
			document.forms[form_name][form_element].focus();
			var text_current = document.selection.createRange();
			var text_new = tag_begin + text_between + tag_end;
			text_current.text = text_new;
		}
		else
		{
			var startPos = document.forms[form_name][form_element].selectionStart;
			var endPos = document.forms[form_name][form_element].selectionEnd;
			var length = document.forms[form_name][form_element].value.length;
	
			document.forms[form_name][form_element].value = document.forms[form_name][form_element].value.substring(0, startPos)
										+ tag_begin + text_between
										+ tag_end + document.forms[form_name][form_element].value.substring(endPos, length);
		}	
	}
} /* end insertBetweenTags() */

function checkAltAction(event, form_name) {
	if (event.altKey && event.keyCode == 73)
		insertTags(form_name, 'message', '[i]', '[/i]');
	else if (event.altKey && event.keyCode == 83)
		insertTags(form_name, 'message', '[spoiler]', '[/spoiler]');
	else if (event.altKey && event.keyCode == 81)
		insertTags(form_name, 'message', '[quote]', '[/quote]');
} /* end checkAltAction() */

// check if a submitted message will mess up the layout
function checkMessageBeforeSubmit(form_name, field_name) {
	var message = document.forms[form_name].elements[field_name].value;
	message = message.replace(/\n/gi, ' ');

	var words = new Array();
	words = message.split(' ');
	
	if (words.length > 0) {
		for (var i = 0 ; i< words.length ; i++) {
			if (words[i].length > 60) {
			
				if (words[i].substr(0, 4) != '[img' && words[i].substr(0, 4) != '[IMG' && words[i].substr(0, 8) != '[quote="') {				
					if (words[i].substr(0, 7) != 'http://' && words[i].substr(0, 4) != '[url' && words[i].substr(0, 4) != '[URL')
						return false;
				}
			}
		}
	}
	return true;
}

// (un)check all checkboxes
function checkAll(event, checkbox) {

	var messages = document.forms['message_selection'].message_ids.value.split(',');
	if (messages.length > 0) {	
		for (var i = 0 ; i < (messages.length-1) ; i++) {
			var id = "checkbox_" + messages[i];
			
			if (checkbox.checked)
				document.forms['message_selection'].elements[id].checked = true;
			else
				document.forms['message_selection'].elements[id].checked = false;
		}
	}
	
	return;
}


// help function for moderator-options topic
function checkKeepInCurrent(current_subcat) {
	if (document.forms['editTopicForm'].elements['subcat'][document.forms['editTopicForm'].elements['subcat'].selectedIndex].value == current_subcat) {		
		document.forms['editTopicForm'].elements['keep_in_current'].checked = false;
		document.forms['editTopicForm'].elements['keep_in_current'].disabled = true;
	}
	else {
		document.forms['editTopicForm'].elements['keep_in_current'].checked = true;
		document.forms['editTopicForm'].elements['keep_in_current'].disabled = false;
	}
} /* end checkKeepInCurrent() */

// check all checkboxes between... (not perfect yet)
function checkAllBetween(event, checkbox) {
	
	if (checkbox.checked && event.shiftKey) {
		var messages = document.forms['message_selection'].message_ids.value.split(',');
		
		if (messages.length > 0) {
			var start = false;			

			for (var i = messages.length ; i >= 0 ; i--) {
				var id = "checkbox_" + messages[i];
				
				if (messages[i] == checkbox.value) 
					start = true;
			
				if (start) {
					if (messages[i] != checkbox.value && document.forms['message_selection'].elements[id].checked == true)
						start = false;
						
					if (start && document.forms['message_selection'].elements[id].checked == false) {
						document.forms['message_selection'].elements[id].checked = true;
					}
				}
			}
		}
	}
		
	return;
} /* end checkAllBetween() */



function checkSearchFields() {

	// enable/disable fields?	
	var fields = new Array();
	fields[fields.length] = 'duration';
	fields[fields.length] = 'year';
	fields[fields.length] = 'votes';
	fields[fields.length] = 'average';

	for (var i = 0 ; i < fields.length ; i++) {
		if (document.getElementById(fields[i] + '_minmax1').selectedIndex == 1) {
			document.getElementById(fields[i] + '2').disabled = false;
			document.getElementById(fields[i] + '_minmax2').disabled = false;
		}
		else if (document.getElementById(fields[i] + '_minmax1').selectedIndex == 0) {
			document.getElementById(fields[i] + '_minmax2').selectedIndex = 0
			document.getElementById(fields[i] + '_minmax2').disabled = true;
			document.getElementById(fields[i] + '2').value = '';
			document.getElementById(fields[i] + '2').disabled = 'true';					
		}
	}

	// durations
	if (parseInt(document.getElementById('duration1').value) > 0 && parseInt(document.getElementById('duration1').value)<45)
		document.getElementById('duration1').value = '45';
	else if (parseInt(document.getElementById('duration1').value) >= 45)
		document.getElementById('duration1').value = parseInt(document.getElementById('duration1').value);
	else
		document.getElementById('duration1').value = '';
	
	if (parseInt(document.getElementById('duration2').value) > 0 && parseInt(document.getElementById('duration2').value)<45)
		document.getElementById('duration2').value = '45';
	else if (parseInt(document.getElementById('duration2').value) >= 45)
		document.getElementById('duration2').value = parseInt(document.getElementById('duration2').value);
	else
		document.getElementById('duration2').value = '';	
	
	if (parseInt(document.getElementById('duration2').value) && parseInt(document.getElementById('duration1').value) 
				&& document.getElementById('duration2').value < document.getElementById('duration1').value) {
		var temp1 = document.getElementById('duration1').value;
		var temp2 = document.getElementById('duration2').value;
		
		document.getElementById('duration1').value = temp2;
		document.getElementById('duration2').value = temp1;
	}	

	// years
	var date = new Date();

	if (parseInt(document.getElementById('year1').value) > 0 && parseInt(document.getElementById('year1').value)<1900)
		document.getElementById('year1').value = '1900';
	else if (parseInt(document.getElementById('year1').value) > (1900+date.getYear()+10))
		document.getElementById('year1').value = (1900+date.getYear()+10);	
	else if (parseInt(document.getElementById('year1').value) >= 1900)
		document.getElementById('year1').value = parseInt(document.getElementById('year1').value);
	else
		document.getElementById('year1').value = '';	
	
	if (parseInt(document.getElementById('year2').value) > 0 && parseInt(document.getElementById('year2').value)<1900)
		document.getElementById('year2').value = '1900';
	else if (parseInt(document.getElementById('year2').value) > (1900+date.getYear()+10))
		document.getElementById('year2').value = (1900+date.getYear()+10);	
	else if (parseInt(document.getElementById('year2').value) >= 1900)
		document.getElementById('year2').value = parseInt(document.getElementById('year2').value);
	else
		document.getElementById('year2').value = '';	
	
	if (parseInt(document.getElementById('year2').value) && parseInt(document.getElementById('year1').value) 
				&& document.getElementById('year2').value < document.getElementById('year1').value) {
		var temp1 = document.getElementById('year1').value;
		var temp2 = document.getElementById('year2').value;
		
		document.getElementById('year1').value = temp2;
		document.getElementById('year2').value = temp1;
	}		

	// averages
	var average1 = document.getElementById('average1').value.replace(/,/, '.');
	var average2 = document.getElementById('average2').value.replace(/,/, '.');	
	
	average1 = parseInt(average1*100).toString();
	average2 = parseInt(average2*100).toString();

	if (average1 > 0 && average2 > 0 && average2 < average1) {
		var temp1 = average1;
		var temp2 = average2
		
		average1 = temp2;
		average2 = temp1;
	}		
	
	if (average1 > 0 && average1 <= 500)
		document.getElementById('average1').value = (average1/100).toString().replace(/\./, ',');
	else if (average1 > 500)
		document.getElementById('average1').value = (500/100).toString().replace(/\./, ',');
	else
		document.getElementById('average1').value = '';
	
	if (average2 > 0 && average2 <= 500)
		document.getElementById('average2').value = (average2/100).toString().replace(/\./, ',');
	else if (average2 > 500)
		document.getElementById('average2').value = (500/100).toString().replace(/\./, ',');
	else
		document.getElementById('average2').value = '';

	
	// votes	
	if (parseInt(document.getElementById('votes1').value) >= 0)
		document.getElementById('votes1').value = parseInt(document.getElementById('votes1').value);
	else
		document.getElementById('votes1').value = '';
	
	if (parseInt(document.getElementById('votes2').value) >= 0)
		document.getElementById('votes2').value = parseInt(document.getElementById('votes2').value);
	else
		document.getElementById('votes2').value = '';	
	
	if (parseInt(document.getElementById('votes2').value) && parseInt(document.getElementById('votes1').value) 
				&& parseInt(document.getElementById('votes2').value) < parseInt(document.getElementById('votes1').value)) {
		var temp1 = document.getElementById('votes1').value;
		var temp2 = document.getElementById('votes2').value;
		
		document.getElementById('votes1').value = temp2;
		document.getElementById('votes2').value = temp1;
	}		
	
} /* end checkSearchFields() */

function submitForm(form) {
	document.forms[form].submit();
} /* end submitForm() */

// extended search, values valid?
function checkSearch(one_textsearch_error) {
	var title = document.getElementById('title').value.replace(/ /g, '');
	var director = document.getElementById('director').value.replace(/ /g, '');
	var actor = document.getElementById('actor').value.replace(/ /g, '');
	var plot = document.getElementById('plot').value.replace(/ /g, '');

	var textsearches = 0;
	
	if (title != '')
		textsearches++;
		
	if (plot != '')
		textsearches++;	
		
	if (actor != '')
		textsearches++;	
		
	if (director != '')
		textsearches++;	
		
	if (textsearches>1) {
		alert(one_textsearch_error);
		return false;
	}		

	return true;
} /* end checkSearch() */

function checkTop10() {
	var returnvalue = true;
	var films = ""
	
	for (var position = 1 ; position < 11 ; position++) {

		if (document.forms['top10'].elements['result' + position].options.length > 0) {
			var film = document.forms['top10'].elements['result' + position].options[document.forms['top10'].elements['result' + position].selectedIndex].value;


			if (film == '' || parseInt(film) == 0 || films.indexOf(';' + parseInt(film) + ';') > -1)
				returnvalue = false;
		}
		else 
			returnvalue = false;
		
		films += ';' + film + ';';
	}
	
	return returnvalue;
}


function quickSearch(hash) {
	this.active_result = -1;
	this.hash = hash;
	this.results = false;
	this.count_results = false;
	this.keydown = false;
	this.results_displayed = false;

	this.checkArrows = function(event) {
		
		// to keep Safari from doing this twice
		if (this.keydown == event.keyCode) {
			return;
		}
		
		this.keydown = event.keyCode;
		
		if (event.keyCode == 38) {
			this.active_result--;
			
			if (this.active_result < 0)
				this.active_result = this.count_results;
			
			this.displayResults();
			return false;		
		}
		else if (event.keyCode == 40) {
			this.active_result++;
			
			if (this.count_results && (this.active_result > this.count_results))
				this.active_result = 0;
				
			this.displayResults();
			return false;
		}
		else if (event.keyCode == 13 || event.keyCode == 9) {

		 	if (this.active_result > -1) {
		 		
		 		if (this.results[this.active_result][0] == 'film') {
					location.href = site_address+'film/' + this.results[this.active_result][1];
				}
				else if (this.results[this.active_result][0] == 'director') {
					location.href = site_address+'director/' + this.results[this.active_result][1];
				}
				else if (this.results[this.active_result][0] == 'topic') {
					location.href = site_address+'forum/0/' + this.results[this.active_result][1];
				}
			}
			else
				location.href = site_address+'film/search/' + document.getElementById('quicksearch').value;
		
			return false;
		}
		else
			return true;
	}
	
	this.displayResults = function() {
		
		if (this.results) {
			var results_done = new Array();
	
			var counter = 0;
			var html = '';
			var previous_entity = '';
			var entities_displayed = 0;
			
			for (var i in this.results) {
			
				if (this.results[i][0] != previous_entity) {
					if (this.results[i][1] != undefined) {
						entities_displayed++;
								
						if (counter == 0) {
							html += '<div class="searchresult_header_close" ';

                            if (!site_nd) {
    							html += 'onmouseover="this.style.color = \'#000\';" ';
	    						html += 'onmouseout="this.style.color = \'#444\';" ';									
		                    }
                            
        					html += 'onclick="search.results_displayed = false; document.getElementById(\'searchresults\').style.visibility = \'hidden\';">X</div>';
						}
					}
					
					html += '<div class="searchresult_header">';
					
					if (counter > 0) {
						html += '<br />';
					}
					
					// TODO language vars
					switch (this.results[i][0]) {
						case 'film':
							html += 'zoekresultaten in films: ';
							break;
						case 'director':
							html += 'zoekresultaten in regisseurs: ';
							break;
						case 'topic':
							html += 'zoekresultaten in forumtopics: ';
							break;
					}
					
					html += '</div>';
				}
				
				previous_entity = this.results[i][0];

				if (this.results[i][1] != undefined && !results_done[this.results[i][0] + '_' + this.results[i][1]]) {

					html += '<div class="searchresult" ';
          
          
          if (site_nd) {
  					html += (this.active_result == counter ? 'style="background: #d7cebd; border: 1px solid #d7cebd" ' : '');
	  				html += 'onmouseover="this.style.border = \'1px solid #d7cebd\';" ';
		  			html += 'onmouseout="this.style.border = \'1px solid #fff\';" ';						
          }
          else {
  					html += (this.active_result == counter ? 'style="background: #ffeccc; border: 1px solid #ffd99b" ' : '');
	  				html += 'onmouseover="this.style.background = \'#ffeccc\';this.style.border = \'1px solid #ffd99b\';" ';
		  			html += 'onmouseout="this.style.background = \'#fff\';this.style.border = \'1px solid #fff\';" ';						
			    }
      
      		html += 'onclick="location.href = \'' + site_address;
					
					if (this.results[i][0] == 'film') {
						html += 'film/';
					}
					else if (this.results[i][0] == 'director') {
						html += 'director/';
					}
					else if (this.results[i][0] == 'topic') {
						html += 'forum/0/';
					}
					
					html += this.results[i][1] + '\';" ';
					html += 'id="result_' + i + '">' + unescape(this.results[i][2]) + '</div>';
				
					results_done[this.results[i][0] + '_' + this.results[i][1]] = true;
					counter++;	
				    
				}
	
			}
			
			this.count_results = (counter-1);
		}

		document.getElementById('searchresults').innerHTML = html;

		if (counter > 0) {

			//if (counter+((entities_displayed-1)*2) < 8)
			//	document.getElementById('searchresults').style.height = 24+(17*(counter+((entities_displayed-1)*2))) + 'px';
			//else
				document.getElementById('searchresults').style.height = '152px';


			if (this.active_result > 7)
				document.getElementById('searchresults').scrollTop = (17*(this.active_result-7));				
			else
				document.getElementById('searchresults').scrollTop = 0;
			
			
			var displayResultsEffect = new fx.Opacity(document.getElementById('searchresults'));
			
			if (this.results_displayed) {
				displayResultsEffect.setOpacity(0.9);
				document.getElementById('searchresults').style.visibility = 'visible';						
			}
			else {
				displayResultsEffect.setOpacity(0);
				displayResultsEffect.custom(0, 0.9);
				this.results_displayed = true;
			}
		}
		else {
			document.getElementById('searchresults').style.visibility = 'hidden';
		}
	}

	this.startSearch = function(event) {
		this.keydown = false;
		
		if (event.keyCode != 38 && event.keyCode != 40 && event.keyCode != 13 && event.keyCode != 9) {
			this.results = new Array();	
			this.search = document.getElementById('quicksearch').value;
			setTimeout("search.doSearch('" + this.search.replace(/'/gi, "\\'") + "')", 400);
		}
	}
	
	this.doSearch = function(old_search) {

		// has the search been changed in the meantime?

		if (old_search != this.search)
			return false;

		search.active_result = -1;
		
		req = new XMLHttpRequest(); 
		req.onreadystatechange = function() { 
			if (req.readyState == 4 && req.status == 200) { 
		
				var results = req.responseText; 
				var lines = new Array();
				lines = results.split("\n");


				if (lines.length > 1) {
					for (var i = 0 ; i < (lines.length-1) ; i++) {	
							
						var fields = new Array();
								
						fields  = lines[i].split(';;');
			
						if (i!=0 || fields[0] != '') {
							search.results[search.results.length] = fields;
						}
					}
				}
				
				search.displayResults();
			} 
		}; 
	
		req.open('GET', site_address+'calls/quicksearch.php?hash='+this.hash+'&search='+this.search, true); 
		req.send(null);
	}
} /* end quickSearch() */

function fillTop10Search(search, position, none_found_text, users_id, hash, year) {

	var req = new XMLHttpRequest(); 
	
	if (req) { 
		req.onreadystatechange = function() { 
			if (req.readyState == 4 && req.status == 200) { 
				var results = req.responseText; 

				var films = new Array();
				film = results.split("\n");
				
				if (film.length == 1) {
					document.forms['top10'].elements['result' + position].options[document.forms['top10'].elements['result' + position].options.length] = new Option(none_found_text,'');
				}
				else {
					document.forms['top10'].elements['result' + position].options.length = 0;
	
					for (var i = 0 ; i < (film.length-1) ; i++) {				
						var fields = new Array();
						fields  = film[i].split(';;');
	
						if (i==0 && fields[0] == '') {
							document.forms['top10'].elements['result' + position].options[document.forms['top10'].elements['result' + position].options.length] = new Option(none_found_text,'');
							break;
						}
						else {		
							document.forms['top10'].elements['result' + position].options[document.forms['top10'].elements['result' + position].options.length] = new Option(unescape(fields[2]), fields[1]);
						}
					}
				}
			} 
		}; 
		
		req.open('GET', site_address+'calls/quicksearch.php?type=films&search='+escape(search) + '&hash=' + hash + (year ? '&year='+year : ''), true); 
		req.send(null);
	}
} /* end retrieveFilmsFromSearch() */


function fillPmTo(search, form, none_found_text, search_too_short_text) {
	var req = new XMLHttpRequest(); 
	
	if (req) { 
		req.onreadystatechange = function() { 
			if (req.readyState == 4 && req.status == 200) { 
				var results = req.responseText; 

				var users = new Array();
				user = results.split("\n");

				document.forms[form].elements['users_id_to'].options.length = 0;

				for (var i = 0 ; i < (user.length-1) ; i++) {				
					var fields = new Array();
					fields  = user[i].split(';;');

					if (i==0 && fields[0] == '') {
						document.forms[form].elements['users_id_to'].options[document.forms[form].elements['users_id_to'].options.length] = new Option(none_found_text,'');
						break;
					}
					else {		
						document.forms[form].elements['users_id_to'].options[document.forms[form].elements['users_id_to'].options.length] = new Option(unescape(fields[1]), fields[0]);
					}
				}
			} 
		}; 
		
		if (search.length < 3)
			alert(search_too_short_text);
			
		req.open('GET', site_address+'calls/searchusers.php?search='+search, true); 
		req.send(null);
	}
} /* end fillPmTo() */



function storeVotingTableVote(films_id) {

	var user_string = document.forms['votingtable'].elements['user_string'].value;
	var users_id = document.forms['votingtable'].elements['users_id'].value;
	var vote = document.forms['votingtable'].elements['vote_film_' + films_id].value;

	var req = new XMLHttpRequest(); 
		
	if (req) { 
		req.onreadystatechange = function() { 
			if (req.readyState == 4 && req.status == 200) { 
				var results = req.responseText; 
			} 
		}; 	
	}
	
	req.open('GET', site_address+'calls/storevote.php?users_id='+users_id+'&user_string='+user_string+'&vote=' + vote + '&films_id=' + films_id, true); 
	req.send(null);
}

function toFromUpdates(type, id, users_id, user_string, action, anchor) {


	id = parseInt(id);
	users_id = parseInt(users_id);

	if (users_id > 0 && id > 0 && user_string != '' && (action == 'add' || action == 'remove') && (type == 'film' || type == 'topic'|| type == 'director')) {
		var req = new XMLHttpRequest(); 
		
		if (req) { 
			req.onreadystatechange = function() { 
				if (req.readyState == 4 && req.status == 200) { 
					var results = req.responseText; 

					if (action == 'remove') {
							var element = document.getElementById('results_row_' + id);
							
							if (element) {
								element.style.display = 'none';
	
								var element = document.getElementById('results_divider_' + id);
								
								if (element) {
									element.style.display = 'none';
								}		
							}			
								
							if (typeof(currentanchor) != 'undefined') {

								var element = document.getElementById('plus_' + currentanchor);
								
								if (element) {
									var new_state = 'read';
									
									if (element.innerHTML.indexOf('unread') > -1) {
										new_state = 'unread';
									}
	
									element.innerHTML = '<img class="plus" src="' + site_address + 'images/icon_add_to_updates_'+new_state+(site_nd ? '_new' : '')+'.gif" onclick="toFromUpdates(\'' + type + '\', ' + id + ', ' + users_id + ', \'' + user_string + '\', \'add\', ' + currentanchor + ');" title="Voeg deze discussie vanaf dit bericht toe aan Mijn Updates" />';
								}
							}								
					}
					else if (action == 'add' && anchor > -1) {
						if (typeof(currentanchor) != 'undefined') {
	
							var element = document.getElementById('plus_' + currentanchor);
							
							if (element) {
								var new_state = 'read';
								
								if (element.innerHTML.indexOf('unread') > -1) {
									new_state = 'unread';
								}

								element.innerHTML = '<img class="plus" src="' + site_address + 'images/icon_add_to_updates_'+new_state+(site_nd ? '_new' : '')+'.gif" onclick="toFromUpdates(\'' + type + '\', ' + id + ', ' + users_id + ', \'' + user_string + '\', \'add\', ' + currentanchor + ');" title="Voeg deze discussie vanaf dit bericht toe aan Mijn Updates" />';
							}					
						}
	
						var element = document.getElementById('plus_' + anchor);
						
						if (element) {
							currentanchor = anchor;			
								
							var new_state = 'read';
								
							if (element.innerHTML.indexOf('unread') > -1) {
								new_state = 'unread';
							}
								
							element.innerHTML = '<img class="plus" src="' + site_address + 'images/icon_added_to_updates_'+new_state+(site_nd ? '_new' : '')+'.gif" title="Deze discussie zit vanaf dit bericht in Mijn Updates" />';
						}
					}

            if (type == 'film') {
                    if (action == 'add') {
                            var link = '<a href="javascript:void()" onclick="toFromUpdates(\'film\',' + id + ',' + users_id + ',\'' + user_string + '\',\'remove\');">' + text_remove_from_my_updates + '</a>';
                    }
                    else {
                            var link = '<a href="javascript:void()" onclick="toFromUpdates(\'film\',' + id + ',' + users_id + ',\'' + user_string + '\',\'add\');">' + text_to_my_updates + '</a>';
                    }
            }
            else if (type == 'topic') {
                    if (action == 'add') {
                            var link = '<a href="javascript:void()" onclick="toFromUpdates(\'topic\',' + id + ',' + users_id + ',\'' + user_string + '\',\'remove\');">' + text_remove_from_my_updates + '</a>';
                    }
                    else {
                            var link = '<a href="javascript:void()" onclick="toFromUpdates(\'topic\',' + id + ',' + users_id + ',\'' + user_string + '\',\'add\');">' + text_to_my_updates + '</a>';
                    }
            }
            else {
                    if (action == 'add') {
                            var link = '<a href="javascript:void()" onclick="toFromUpdates(\'director\',' + id + ',' + users_id + ',\'' + user_string + '\',\'remove\');">' + text_remove_from_my_updates + '</a>';
                    }
                    else {
                            var link = '<a href="javascript:void()" onclick="toFromUpdates(\'director\',' + id + ',' + users_id + ',\'' + user_string + '\',\'add\');">' + text_to_my_updates + '</a>';
                    }
            }

            document.getElementById('updates_link').innerHTML = link;					
				
				} 
			}; 	
		}

		req.open('GET', site_address+'calls/tofromupdates.php?action='+action+'&type='+type+'&id='+id+'&users_id=' + users_id + '&user_string='+user_string+'&action=' + action + '&anchor='+anchor, true); 			
		req.send(null)		
	}
} /* end toFromUpdates() */

function toMyMovies(films_id, users_id, user_string) {

	films_id = parseInt(films_id);
	users_id = parseInt(users_id);

	
	if (users_id > 0 && films_id > 0 && user_string != '') {

		var req = new XMLHttpRequest(); 

		req.open('GET', site_address+'calls/tomymovies.php?films_id='+films_id+'&users_id=' + users_id + '&user_string='+user_string, true); 			
		req.send(null)		

		var link = '<a href="' + site_address + 'my_mm/my_movies/in">' + text_added_open_my_films + '</a>';
		document.getElementById('mymovies_link').innerHTML = link;
	}

} /* end toMyMovies() */



function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}


function stripHTML(sHTML) {
	var sOutText = "";
	var iTagStart;
	var iTagEnd = 0;
	

	iTagStart = sHTML.indexOf("<");
	
	while (iTagStart != -1) {
		sOutText += sHTML.substring(iTagEnd, iTagStart);
		iTagEnd = sHTML.indexOf(">", iTagStart) + 1;
		iTagStart = sHTML.indexOf("<", iTagEnd);
	}
	
	if (iTagEnd != 0) {
		sOutText += sHTML.substring(iTagEnd, sHTML.length);
	} else {
		sOutText = sHTML;
	}
	
	return sOutText;
}

// IE XMLHTTP
// http://www.scss.com.au/scripts/xmlhttprequest.js
if (window.ActiveXObject && !window.XMLHttpRequest) {
  window.XMLHttpRequest = function() {
    var msxmls = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0',
                           'Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
    for (var i = 0; i < msxmls.length; i++) {
      try {
        return new ActiveXObject(msxmls[i]);
      } catch (e) {
      }
    }
    return null;
  };
}


MM_preloadImages(site_address+'images/tab_active_back.gif');
MM_preloadImages(site_address+'images/tab_inactive_back.gif');
MM_preloadImages(site_address+'images/tab_inactive_back_hover.gif');
MM_preloadImages(site_address+'images/icon_in_updates.gif'); 
MM_preloadImages(site_address+'images/icon_not_in_updates.gif');
MM_preloadImages(site_address+'images/button_italic.gif'); 
MM_preloadImages(site_address+'images/button_italic_hover.gif'); 
MM_preloadImages(site_address+'images/button_quote.gif'); 
MM_preloadImages(site_address+'images/button_quote_hover.gif'); 
MM_preloadImages(site_address+'images/button_split_quote.gif'); 
MM_preloadImages(site_address+'images/button_split_quote_hover.gif'); 
MM_preloadImages(site_address+'images/button_url.gif'); 
MM_preloadImages(site_address+'images/button_url_hover.gif'); 
MM_preloadImages(site_address+'images/button_image.gif'); 
MM_preloadImages(site_address+'images/button_image_hover.gif'); 
MM_preloadImages(site_address+'images/button_spoiler.gif'); 
MM_preloadImages(site_address+'images/button_spoiler_hover.gif'); 
MM_preloadImages(site_address+'images/button_preview.gif'); 
MM_preloadImages(site_address+'images/button_preview_hover.gif');

MM_preloadImages(site_address+'images/button_italic_new.gif'); 
MM_preloadImages(site_address+'images/button_italic_hover_new.gif'); 
MM_preloadImages(site_address+'images/button_quote_new.gif'); 
MM_preloadImages(site_address+'images/button_quote_hover_new.gif'); 
MM_preloadImages(site_address+'images/button_split_quote_new.gif'); 
MM_preloadImages(site_address+'images/button_split_quote_hover_new.gif'); 
MM_preloadImages(site_address+'images/button_url_new.gif'); 
MM_preloadImages(site_address+'images/button_url_hover_new.gif'); 
MM_preloadImages(site_address+'images/button_image_new.gif'); 
MM_preloadImages(site_address+'images/button_image_hover_new.gif'); 
MM_preloadImages(site_address+'images/button_spoiler_new.gif'); 
MM_preloadImages(site_address+'images/button_spoiler_hover_new.gif'); 
MM_preloadImages(site_address+'images/button_preview_new.gif'); 
MM_preloadImages(site_address+'images/button_preview_hover_new.gif');

MM_preloadImages(site_address+'images/explorertree-bullet.png');
MM_preloadImages(site_address+'images/explorertree-minus.png');
MM_preloadImages(site_address+'images/explorertree-plus.png');

MM_preloadImages(site_address+'images/menuitem_back_active_new.gif');
MM_preloadImages(site_address+'images/menuitem_back_new.gif');

