// JavaScript Document
var navi 			= navigator.appVersion;
var browserIE 		= false;
var browserIE6 		= false;
var browserSAF 		= false;
var scrollSpeed 	= 50;
var scrollHeight	= 10;
var notification 	= '';

if(navi.indexOf("MSIE")>-1){
	browserIE = true;
	var navAr = navi.split(";");
	browserIE6 = (parseFloat(navAr[1].split(" ")[2])<=6.0?true:false);
} else if(navi.indexOf("Safari")>-1){
	browserSAF = true;
}

var width_Avail 	= screen.availWidth;
var heigth_Avail 	= screen.availHeight;
var innerWidth 		= 0;
var innerHeight 	= 0;

if(!browserSAF){
	if(browserIE){
		innerWidth 	= parseInt((document.documentElement.clientWidth * 1) - 17);
	}else{
		innerWidth 	= parseInt((document.documentElement.clientWidth * 1));
	}
	innerHeight	= parseInt((document.documentElement.clientHeight * 1));
}else{
	innerWidth 	= parseInt((document.documentElement.clientWidth * 1)- 16);
	innerHeight	= parseInt((document.documentElement.clientHeight * 1));
}

var middleX				= innerWidth / 2;
var middleY				= innerHeight / 2;

var http_request 		= false;
var rootdomain			= "http://"+window.location.hostname

var status 				= 0;
var active_option 		= '';

var flash_can			= false;
var flash_message		= '';

/*if(FlashDetect.majorAtLeast(9)){
	flash_can		= true;
}else{
	flash_can		= false;
	flash_message 	= "You need at least flashplayer 9 to see this part of<br>the site.<br><br>Click <a href='http://www.adobe.com/products/flashplayer/' target='_blank'>here</a> to download flashplayer from Adobes website.";
}
*/

var fx_inner_content_menu;
var fx_inner_content;
var mouseY,mouseX;

var item_page_array 		= new Array();
var start_content 			= new Array();

var load_innercontent		= new Array();
var swfLoad					= new Array();
var class_array 			= new Array();
var class_array 			= new Array();
var categories_array 		= new Array();
var content_folder 			= new Array();
var gallery_type			= new Array();

//side positions
var sidepositions_array 	= new Array();

var months_array			= new Array('','January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

function LoadInit(basis_url, basis_item){
	if(browserIE6==true){
		notification		= 'U maakt momenteel gebruik van Internet Explorer 6.0. Voor optimaal gebruik van deze website raden wij <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx" target="_blank">Internet Explorer 7.0</a> of <a href="http://www.mozilla.com/en-US/firefox/" target="_blank">Mozilla Firefox</a> aan.';
		$('header_notification').innerHTML = notification;
	}
	LoadPageAll(basis_url, basis_item);
}

//function to comm between flash n js
function thisMovie(movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}

function makeCall(target,str) {
	thisMovie(target).asFunc(str);
	//makeCall("ID?NAME SWF OBJECT",string);
}

function openItem(items_id,categories){
	
	for(var cat = 0; cat < categories_array.length; cat++){
		if(categories_array[cat] == categories && items_id>0){
			allow_click 		= false;
			var target 			= 'inner_content';
			var post_query		= '?include_header=1&item='+items_id;
			loadNshow(content_folder[cat]+'/'+item_page_array[cat]+post_query, target, 'get', false);
		}
	}
	
}

var post_query 		= ''
var allow_click 	= true;

function processDirectClick(categories, query){
	for(var cat = 0; cat < categories_array.length; cat++){
		if(categories_array[cat] == categories){
			processClick(cat, query);
			fx_mouse_overs[cat].cancel();
			fx_mouse_overs[cat].start({'top': 20});
		}
	}
}

function processClick(current, query){
	$('inner_content_menu').innerHTML = '';
	$('inner_content').innerHTML = '';
	
	active_current = current;
	
	post_query = query;
	if(start_content[current]){
		loadNshow(content_folder[current]+'/'+start_content[current]+query, 'inner_content_menu', 'get', swfLoad[current]);
	}else{
		allow_click	= true;
	}
}

var currentTime 			= new Date();
var month 					= currentTime.getMonth() + 1;
var day 					= currentTime.getDate();
var year 					= currentTime.getFullYear();

//common var for al center swf's
var commonSWF;
function setSomeSWF(swf_src, swf_title, swf_width, swf_height, target, swf_vars){
	var someSWF	= new SWFObject(swf_src, swf_title, swf_width, swf_height, "9", "86A098");
	someSWF.addParam('flashvars',swf_vars);
	someSWF.addParam("wmode", "transparent"); 
	someSWF.addParam("quality", "high"); 
	someSWF.addParam("allowscriptaccess", "all"); 
	someSWF.addParam("codebase", "all"); 
	someSWF.useExpressInstall('expressinstall.swf');
	someSWF.write(target);
}

function loadNshow(url, target, method, swfload){
	
	if(swfload == true){
		var request = new Request.JSON({
			url: url,
			onComplete: function(jsonObj) {
				var result = jsonObj.swfvar;
				
				result.each(function(swf) {
					
					var swf_src			= swf.source;
					var swf_title		= swf.titel;
					var swf_width		= swf.width;
					var swf_height		= swf.height;
					var swf_vars		= '?'+swf.vars;
					
					if(flash_can){
		
						commonSWF	= new SWFObject(swf_src, swf_title, swf_width, swf_height, "9", "86A098");
						commonSWF.addParam('flashvars',swf_vars);
						commonSWF.addParam("wmode", "transparent"); 
						commonSWF.addParam("quality", "high"); 
						commonSWF.addParam("allowscriptaccess", "all"); 
						commonSWF.addParam("codebase", "all"); 
						commonSWF.useExpressInstall('expressinstall.swf');
						
						$(target).removeClass('loading');
						//$(target).addClass(class_array[active_current]);
						
						commonSWF.write(target);
					}else{
						$(target).removeClass('loading');
						//$(target).addClass(class_array[active_current]);
						$(target).innerHTML = flash_message;	
					}
						
					allow_click = true;	
				});
				
			}
		}).send();
		
	
	}else{
	
		var req = new Request({url: url,
			method: method,
			onSuccess: function(responseText) {
				var output 	= req.response.text;
				
			//	$(target).removeClass('loading_content');
				
				switch(target){
					case 'inner_content':
						
						fx_inner_content.cancel();
						fx_inner_content.set({'opacity': 0});
						
						$(target).innerHTML = output;
						
						processAfterClick(target);
						
						allow_click = true;
						
					break;
					case 'inner_content_menu':
						fx_inner_content_menu.cancel();
						fx_inner_content_menu.set({'opacity': 0});
						
						$(target).innerHTML = output;
						
						//album
						/*
						if(gallery_type[active_current]==1){
							active_category = 0;
							active_gallery 	= 0;
							setAlbumInterface();
						}else if(gallery_type[active_current]==2){
							setGalleryVars(active_current);
						}
						*/
						
						
						if(load_innercontent[active_current]==1){
							loadNshow(content_folder[active_current]+'/'+item_page_array[active_current]+post_query, 'inner_content', 'get', false);
						}else{
							allow_click = true;	
						}
						
						processAfterClick(target);
					break;
					default:
						$(target).setStyle('opacity', 0);
						$(target).innerHTML = output;
						processAfterClick(target);
						//alert(target);
					break;
				}
			},
			onFailure: function() {
				$(target).set('innerHTML', 'The request failed.');
			}
		});
		req.send();
	}
}
//image vars

var active_category = 0;
var active_option	= 0;


function loadDropDownActions(element_name){
	var element_clicker = $(element_name);
	
	element_clicker.addEvent('click', function(){
		
		if(element_clicker.getProperty('name')!=active_option){
			
			if(active_option!=0){
				var valueTarget = $('search_option_values'+active_option);
				if(valueTarget){
					var clickTarget = $('search_option'+active_option);
					ChangeAnim('height', valueTarget, 0, 500, Fx.Transitions.Cubic.easeOut)
					clickTarget.setStyle('backgroundImage', 'url(img/assets/scroll/bg_options.png)');
				}
			}
			
			active_option 	= element_clicker.getProperty('name');
			element_clicker.setStyle('backgroundImage', 'url(img/assets/scroll/bg_options_up.png)');
			var nr_ofValues	= $('option_value_counter'+active_option).value;
			valueTarget 	= $('search_option_values'+active_option);
			var toMove		= nr_ofValues * 16;
			if(toMove>200){
				toMove = 200;
			}
			
			ChangeAnim('height', valueTarget, toMove, 300, Fx.Transitions.Cubic.easeOut)
			
			scroller = new Scroller('search_option_values'+active_option, {area: 20, velocity: 0.15});
			valueTarget.addEvent('mouseover', scroller.start.bind(scroller));
			valueTarget.addEvent('mouseout', scroller.stop.bind(scroller));		
		}else{
			closeCloset(active_option);
		}
	});

	var optionsValuelist = $$('.search_option_value');
	optionsValuelist.each(function(element) {
	 	
		if(active_gallery==parseInt(element.getProperty('id').substring(6))){
			var childof = element.getProperty('childof');
			$('search_option'+childof).innerHTML = element.innerHTML;
			element.addClass('selected');
			element.setStyle('background-color', '#dfdfdd');
		}
		
		var fxvalues = new Fx.Morph(element, {wait:false});
		element.addEvent('mouseenter', function(){
			if(element.getProperty('class')=='search_option_value'){									
			fxvalues.set({
				'background-color': '#eed07e'
			});
			}
		});
	 
		element.addEvent('mouseleave', function(){
			if(element.getProperty('class')=='search_option_value'){									
			fxvalues.set({
				'background-color': '#dfdfdd'
			});
			}
		});

		element.addEvent('click', function(){
			var childof = element.getProperty('childof');
			var disablelist = $$('#search_option_values'+childof+' .search_option_value');
			disablelist.each(function(element) {
				element.setStyle('background-color', '#dfdfdd');
				element.removeClass('selected');
			});
			element.addClass('selected');
			fxvalues.start({
				'background-color': '#4f4f4f'
			});
			
			
			
			//functie in more van maken!
			var tempval;
			switch(childof){
				case 'Gallery':
					tempval	= parseInt(element.getProperty('id').substring(6));
					if(active_gallery != tempval){
						active_gallery 	= tempval;
						$('search_option'+childof).innerHTML = element.innerHTML;
						closeCloset(childof);
						loadGallery(active_gallery, true, 'flow_photo_item.php?include_header=1&gallery='+active_gallery);
					}
				break;
				case 'GalleryV2':
					tempval	= parseInt(element.getProperty('id').substring(6));
					if(active_gallery != tempval){
						active_gallery 	= tempval;
						$('search_optionGallery').innerHTML = element.innerHTML;
						closeCloset(childof);
						//alert(content_folder[active_current]+'/'+start_content[active_current]+'?include_header=1&gallery='+active_gallery);
						loadGallery(active_gallery, true, content_folder[active_current]+'/'+start_content[active_current]+'?include_header=1&gallery='+active_gallery);
					}
				break;
			}
			
		});
		
		
	});
}

function closeCloset(childof){
	var valueTarget = $('search_option_values'+childof);
	ChangeAnim('height', valueTarget, 0, 300, Fx.Transitions.Cubic.easeOut);
	
	if(gallery_type[active_current]==1){
		var clickTarget = $('search_option'+active_option);
	}else if(gallery_type[active_current]==2){
		var clickTarget = $('search_optionGallery');
	}
	
	ChangeAnim('height', valueTarget, 0, 300, Fx.Transitions.Cubic.easeOut)
	clickTarget.setStyle('backgroundImage', 'url(img/assets/scroll/bg_options.png)');
	active_option = 0;
}

function ChangeAnim(prop, target, to, speed, trans){
	if(target){
		var myFx = new Fx.Tween(target,{duration:speed, transition: trans});
		myFx.start(prop, to );
	}
}

function MorpheItems(target, speed, trans){
	if(target){
		return new Fx.Morph(target, {duration: speed, transition: trans});
	}
}

//forms//

var active_form 		= '';
var active_form_busy 	= false;

function setSomeForm(target_form, target_loading, target_output){
	
	
	$(target_form).addEvent('submit', function(e){

		if(active_form_busy	== false){
			active_form_busy	= true;
			$(target_loading).addClass('loading');
			new Event(e).stop();
			
			var formCheck = checkForm(target_form , 0);
			if(formCheck){
				this.set('send', {
					method: 'post',
					data: $(target_form),                                      
					onSuccess: function(responseText, responseXML) {
						$(target_loading).removeClass('loading');
						var result = responseText;
						$(target_output).innerHTML = responseText;
						active_form_busy	= false;
						afterSubMitting(target_output);
					}
				});
				this.send(this.action); 
			}else{
				active_form_busy	= false;
				$(target_loading).removeClass('loading');
			}
		}
		
	});	
	
	active_form			= target_form;
	active_form_busy	= false;
	
}

function sendForm(target_form, target_loading, target_output){
	$(target_form).set('send', {
		method: 'post',
		data: $(target_form),                                      
		onSuccess: function(responseText, responseXML) {
			
			$(target_loading).removeClass('loading');
			var result = responseText;
			$(target_output).innerHTML = responseText;
			
			active_form_busy	= false;
			afterSubMitting(target_output);
			
		}
	});
	$(target_form).send($(target_form).action); 
}