/*
BROWSER ENGINES
===============
Trident 4					Internet Explorer 6
Trident 5					Internet Explorer 7
Gecko 1.7					Firefox 1.0, Thunderbird 1.0, Nvu 1.0, Mozilla Suite 1.7
Gecko 1.8					Firefox 1.5, Thunderbird 1.5, SeaMonkey 1.0
Gecko 1.8.1					Firefox 2, Thunderbird 2, SeaMonkey 1.1
Gecko 1.9					Firefox 3
Gecko 1.9.1					Firefox 3.1, Thunderbird 3.0, SeaMonkey 2.0
Webkit 416.11 / 416.12		Safari 2.0.2
Webkit 418.x - 419			Safari 2.0.4
Webkit 522+, 522.x, 523.x	Safari 3.0.x
Webkit 525.x, 526+			Safari 3.1.x

MOOTOOLS FEEDBACK
=================
Trident 4			Internet Explorer 6
Trident 5			Internet Explorer 7
Gecko 18			Firefox 1.5 + 2
Gecko 19			Firefox 3
Webkit 419			Safari 2
Webkit 420			Safari 2 (iPhone?)
Webkit 525			Safari 3, Chrome

MOOTOOLS 1.2 REQUIREMENTS
=========================
Internet Explorer 6+
Firefox 2+
Safari 2+

FANCYUPLOAD 2 REQUIREMENTS
==========================
Internet Explorer 6+ 
Firefox 1.5+
Safari 2+
Adobe Flash 9+

TINYMCE 3 REQUIREMENTS
======================
Internet Explorer 6+ 
Firefox 1.5+
Safari 3+

INTRANET BACKEND REQUIREMENTS
=============================
Internet Explorer 6+ 
Firefox 2+
Safari 3+
Adobe Flash 9+

*/
var strReturn = "";
strReturn += "Browser Engine: '"+Browser.Engine.name+"'\n";
strReturn += "Browser Version: '"+Browser.Engine.version+"'\n";
strReturn += "Browser Platform: '"+Browser.Platform.name+"'\n";
strReturn += "Flash Version: '"+Browser.Plugins.Flash.version+"'\n";

//alert(strReturn);
function CheckBrowserVersion(){
	var bolExitMessage = true;
	
	// Engines
	if(Browser.Engine.name == 'trident'){
		// Internet Explorer 7+
		if(Browser.Engine.version == '5'){
			bolExitMessage = false;
		}
	}
	else if(Browser.Engine.name == 'gecko'){
		// Firefox 1.5+
		if(Browser.Engine.version == '18' || Browser.Engine.version == '19'){
			bolExitMessage = false;
		}
	}
	else if(Browser.Engine.name == 'webkit'){
		// Safari 3+
		if(Browser.Engine.version == '525'){
			bolExitMessage = false;
		}
	}
	
	// Plugins
	if(Browser.Plugins.Flash.version == '9' || Browser.Engine.version == '10'){
		// Adobe Flash 9+
		bolExitMessage = false;
	}
	
	// Exit Message
	if(bolExitMessage){
		var strOutput = "";
		strOutput += "Deze website is het beste te bekijken met de volgende specificaties:\n";
		strOutput += "Internet Explorer 7+\n";
		strOutput += "Firefox 2+\n";
		strOutput += "Safari 3+\n";
		strOutput += "Flash 9+\n";
		alert(strOutput);
	}
}

// //==================================//
//				AJAX				//
//==================================//
function ajaxCall(strUrl, strDiv, objParams, strOnComplete){
	objParams = objParams || null;
	strOnComplete = strOnComplete || null;
	
	var objXhrReq = new Request({
		url:strUrl,
		evalScripts:true,
		onSuccess: function(html) {
			if($type(strDiv) == 'element') strDiv.innerHTML = html;
			
			if($type(strDiv) == 'string'){
				if($(strDiv)) $(strDiv).innerHTML = html;
			}
			if(strOnComplete != null) eval(strOnComplete);
			
		},
		onFailure: function() {
			//alert('The xhr-request failed.');
		}
	});
	
	if($type(objParams) == "object") objXhrReq.get(objParams); // GET
	else if($type(objParams) == "string") objXhrReq.post($(objParams)); // POST
	else if(objParams == null) objXhrReq.send();
}

//==================================//
//			INIT HOME				//
//==================================//
var intWidthWindow = 0;
var intHeightWindow = 0;
var intHeightItem = 0;
var intHeightPage = 0;
var intAmountPage = 0;

var intPageCurrent = 0;
var intMainPadding = 4;
var intStudentPadding = 30;
var intSlideDurationShort = 400;
var intSlideDuration = 750;
var objTransition = Fx.Transitions.Sine.easeInOut;

var intHeightStudentSmall = 25;
var intWidthStudentSmall = 200;
var arrStudents = [];
var myAccordion;
var bolExpandHome = true;
function initHome(){
	if(bolExpandHome){
		bolExpandHome = false;
		intWidthWindow = document.getSize().x;
		intHeightWindow = document.getSize().y;
		//
		backgroundScale();
		//
		var objGoogleItems = $('main').getElements('a[class=google]');
		objGoogleItems.each(function(element, index){
			element.destroy();
		});
		//
		var objItems = $('main').getElements('div[class=item]');
		intHeightItem = objItems[1].getSize().y;
		intHeightPage = (intHeightWindow - ((objItems.length-1) * intHeightItem) - intMainPadding);
	
		myAccordion = new Accordion($('main'), 'div.item', 'div.page', {
			fixedHeight: intHeightPage,
			opacity: false,
			show: intPageCurrent,
			onActive: function(toggler, element){
				//
				intPageCurrent = objItems.indexOf(toggler);
				intStudentPageCurrent = 0;
				//
				toggler.setStyle('margin-bottom', '1px');
				//				
				$('main').setStyle('margin-top', '-2px');				
				//
				element.setStyle('overflow', 'auto');
				//
				if(intPageCurrent>=0){
					ajaxCall("page.php", "page_"+intPageCurrent, {'id': intPageCurrent});
				}
			},
			onBackground: function(toggler, element){
				toggler.setStyle('margin-bottom', '0px');				
				//
				element.setStyle('overflow', 'hidden');
				//
				
				(function(){
					if(Browser.Engine.trident && Browser.Engine.version == 5){
						ajaxCall("page.php", element, {'id': 0});
					}
					else{
						element.innerHTML = "";
					}
				}).delay(500);
				
			}
		});
		//if(Browser.Engine.trident && Browser.Engine.version == 5) $('main').setStyle('margin-top', '-2px');
	
		ajaxCall("page.php", "page_"+intPageCurrent, {'id': intPageCurrent});
		bolExpandHome = true;
	}
}

var bolClickEnabled = true;
function disableClick(){
	bolClickEnabled = false;
	enableClick.delay(500);
}
function enableClick(){
	bolClickEnabled = true;
}

function submitForm(){
	var strMessage = "";
	
	if($('Surname').value == "") strMessage += "- Surname\n";
	if($('Initials').value == "") strMessage += "- Initials\n";
	if($('Street').value == "") strMessage += "- Street\n";
	if($('Postalcode').value == "") strMessage += "- Postalcode\n";
	if($('City').value == "") strMessage += "- City\n";
	if($('Email').value == "") strMessage += "- Email\n";
	if(strMessage != ""){
		strMessage = "The following fields are required:\n" + strMessage;
		alert(strMessage);
	}
	else{
		ajaxCall("order.php", "results", "order");
	}

}

function submitSearch(){
	disableClick();
	
	$('results').innerHTML = "<img src='/0809/images/loading.gif'/>";
	
	var strKeyword = $('q').value;
	
	ajaxCall("page.php", "results", {'id': 'search', 'q': strKeyword}, 'scrollSearch()');
		
	// $('q').value = "";
}

function scrollSearch(){
	var scrollFx = new Fx.Scroll($("page_"+intPageCurrent), {offset: {'x': 0, 'y': -5}});
	scrollFx.toElement('st_'+intStudentPageCurrent);
}

var intStudentPageCurrent = 0;
var bolExpand = true;
function expandStudent(intStudentPage){
	if(bolExpand){
		bolExpand = false;
		if(intStudentPageCurrent == intStudentPage){
			closeStudent(intStudentPageCurrent);
			intStudentPageCurrent = 0;
			bolExpand = true;
		}
		else{
			intStudentPageCurrentOld = intStudentPageCurrent;
			intStudentPageCurrent = intStudentPage;
			if(intStudentPageCurrent > 0){
				//
				closeStudent(intStudentPageCurrentOld);
				//
				if($('student_name_'+intStudentPageCurrent)) $('student_name_'+intStudentPageCurrent).setStyle('font-weight', 'bold');
				//
				if($('tb_'+intStudentPageCurrent)) $('tb_'+intStudentPageCurrent).setProperty('width', (intWidthWindow - (2 * intStudentPadding) - 20));
				//
				//if($('results')) $('results').innerHTML = "";
				//
				intHeightStudentPage = $('tb_'+intStudentPageCurrent).getSize().y;
				if(intHeightStudentPage < intHeightStudentSmall) intHeightStudentPage = intHeightStudentSmall;
				(function(){
					var studentFx = new Fx.Morph($('st_'+intStudentPageCurrent), {duration: intSlideDurationShort, transition: objTransition});
					studentFx.start({
					    'height': intHeightStudentPage,
					    'width':  (intWidthWindow - (2 * intStudentPadding) - 20)
					});
				}).delay(intSlideDurationShort);
				//
				(function(){
					var scrollFx = new Fx.Scroll($("page_"+intPageCurrent), {offset: {'x': 0, 'y': -5}});
					scrollFx.toElement('st_'+intStudentPageCurrent);
				}).delay(intSlideDurationShort*2);
				//
				(function(){
					if($("thumbs_"+intStudentPageCurrent)){
						ajaxCall("thumbs.php", "thumbs_"+intStudentPageCurrent, {'id': intStudentPageCurrent}, 'expandThumbs('+intStudentPageCurrent+')');
					}
				}).delay(intSlideDurationShort*3);
				//
				(function(){
					var scrollFx = new Fx.Scroll($("page_"+intPageCurrent), {offset: {'x': 0, 'y': -5}});
					scrollFx.toElement('st_'+intStudentPageCurrent);
					bolExpand = true;
					//alert('student loaded');
				}).delay(intSlideDurationShort*4);
		
			}
		}
	}
}

var objImageLarge;
function OpenLarge(strFile, strComment){
	$('large_loader_'+intStudentPageCurrent).innerHTML = "<img src='/0809/images/loading.gif'/>";
	
	objImageLarge = new Asset.image(strFile, {'onload': function(){ 
		$('large_loader_'+intStudentPageCurrent).innerHTML = "";
		$('large_holder_'+intStudentPageCurrent).innerHTML = "";
		objImageLarge.inject($('large_holder_'+intStudentPageCurrent));
		$('large_holder_'+intStudentPageCurrent).innerHTML += "<br/>" + strComment + '';
		expandThumbs(intStudentPageCurrent);
	}});
}

function OpenLargeHTML(strFile, strThumb){
	
	ajaxCall(strFile, 'large_holder_'+intStudentPageCurrent, null, 'expandThumbs('+intStudentPageCurrent+')');
}

function OpenLargeFLV(strFile, strThumb){
	$('large_holder_'+intStudentPageCurrent).innerHTML = "<span id='flv_"+intStudentPageCurrent+"'></span>";
	var flashvars = {
      width: "640",
      height: "480",
      file: strFile,
	  //image: strThumb,                  //enablejs: "true",
      autostart: "true",
      searchbar: "false"
    };
    var params = {
      allowfullscreen: "true",
      wmode: "opaque",
      allowscriptaccess: "always"
    };
    var attributes = {
      id: 'flv_'+intStudentPageCurrent,
      name: 'flv_'+intStudentPageCurrent
    };
    swfobject.embedSWF('images/jw-flvplayer.swf','flv_'+intStudentPageCurrent,'640','480','8.0.0', "", flashvars, params, attributes);
	
	(function(){ expandThumbs(intStudentPageCurrent); }).delay(200);
}
function expandThumbs(intStudentPage){
	$('tbl_thumbs_'+intStudentPage).setProperty('width', (intWidthWindow - (2 * intStudentPadding) - 20));
	intHeightStudentPage = $('tb_'+intStudentPage).getSize().y + $('tbl_thumbs_'+intStudentPage).getSize().y;
	var thumbsFx = new Fx.Tween($('st_'+intStudentPage), {duration: intSlideDurationShort, transition: objTransition});
	thumbsFx.start('height', intHeightStudentPage);
}

function closeStudent(intStudentPage){
	if(intStudentPage > 0){
		
		if($('student_name_'+intStudentPage)) $('student_name_'+intStudentPage).setStyle('font-weight', 'normal');
		
		var studentFx = new Fx.Morph($('st_'+intStudentPage), {duration: intSlideDurationShort, transition: objTransition});
		studentFx.start({
		    'height': intHeightStudentSmall,
		    'width':  intWidthStudentSmall
		});
		
		(function(){ if($('large_holder_'+intStudentPage)) $('large_holder_'+intStudentPage).innerHTML = ""; }).delay(intSlideDurationShort);
	}
	
}

function backgroundScale(){
	
	var intBackWidth = $('back_image').getProperty('width');
	var intBackHeight = $('back_image').getProperty('height');
	var intBackRatio = intBackWidth / intBackHeight;
	var intWindowRatio = intWidthWindow / intHeightWindow;
	
	if(intBackRatio < intWindowRatio){
		//alert('liggend');
		intBackWidthNew = intWidthWindow;
		intBackHeightNew = intWidthWindow / intBackRatio;	
	}
	else{
		//alert('staand');
		intBackHeightNew = intHeightWindow;
		intBackWidthNew = intHeightWindow * intBackRatio;	
	}
	
	
	
	$('back_image').setProperty('width', intBackWidthNew);
	$('back_image').setProperty('height', intBackHeightNew);
}
//==================================//
//			LOAD FUNCTIONS			//
//==================================//
function onDomReady(){
	initHome();
	//CheckBrowserVersion();
}

function onLoad(){
	
}

function onResize(){
	initHome();
	expandStudent(intStudentPageCurrent);
}

window.addEvent("domready", onDomReady);

window.addEvent("load", onLoad);

window.addEvent("resize", onResize);
