// JavaScript Document
pageType = 'normal';
if(Browser.Engine.trident) DD_roundies.addRule('.curved', '15px');

function init() {
	if($('authimage')!=null) getAuthImage();
	
	startList();
}

function getAuthImage() {
	var reference = Math.floor(Math.random() * 9999999);
	$('authimage').innerHTML = "Copy text (<a href=\"javascript:getAuthImage()\">refresh</a>) <img src='http://www.afxdesign.com/getAuthImage.php?reference= " + reference + "' /><input type='hidden' name='imagereference' value='" + reference + "' /><input type='text' name='imagetext' style='width: 60px; height: 20px;' />";
}

/* DomReady Event fires when all Elements are ready, but not images. */
window.addEvent('domready', function() {
	init();	
});


function startList() 
{
	if($chk($('accordion'))) {
		var myAccordion = new Accordion($('accordion'), 'div.toggler', 'div.element', {
				height: false,
				width: true,
				fixedWidth: 196,
				onComplete: function() {
					$("accordion").style.visibility = "visible";
				}
			});
			$$('.toggler').addEvent('mouseenter', function() { this.fireEvent('click'); });
	}
	if ($chk($("nav"))) {
		
		$("nav").getChildren().each(function(el){
			if(el.nodeName == 'LI') {
				el.addEvent('mouseenter',function (e) {
					this.addClass('over');
				});
				el.addEvent('mouseleave',function (e) {
					this.removeClass('over');
				});
			}
			
		});
	}
	if($chk($('scroller'))) {
		if($('scroller').getSize().y >= $('scrollable').getSize().y) {
			$("scrollup").style.visibility = "hidden";
			$("scrolldown").style.visibility = "hidden";
		}
		var scroll = new Fx.Scroll('scroller', {
			wait: false,
			duration: 3000,
			transition: Fx.Transitions.Quad.easeInOut
		});
		$('scrollup').addEvents({
    		'mouseover': function(){
        		scroll.toTop();
   			 },
    		'mouseout': function(){
      			scroll.cancel();
    		}
		});
		$('scrolldown').addEvents({
    		'mouseover': function(){
        		scroll.toBottom();
   			 },
    		'mouseout': function(){
      			scroll.cancel();
    		}
		});						
	}
	if($chk($('scroll-move'))) {
		this.addEvent('scroll',function (e) {
			pos = Math.max(document.body.scrollTop,document.documentElement.scrollTop) - 160;
			if(pos < 0) pos = 0;
			//$('scroll-move').setStyle('top', pos + 'px');
			$('scroll-move').tween('top',pos + 'px');
		});
	}
	
		
	if($chk($('flashbanner'))) {
		var url = "ajaxbanner.php";
		var req = new Request.HTML({ method: 'get',	url: url, update: $('flashbanner') }).send();
	}
	
	if($chk($('player'))) makeFlowPlayer('player');
	if($chk($('videotestimonials0'))) makeFlowPlayer('videotestimonials0');
	if($chk($('videotestimonials1'))) makeFlowPlayer('videotestimonials1');
	
	if($chk($('register'))) {
		$('register').addEvent('submit', function(e){
			valid = true;
			error = "";
			this.getChildren().each(function(el){
				if(el.value == "" && el.name != "dietreq" && el.name != "optout") {
					el.setStyle('background-color', '#febcc2');
					error += el.name + " is Empty\n";
					valid = false;
				} else if(el.name == "email") {
					if(!checkEmail(el.value)) {
						el.setStyle('background-color', '#febcc2');
						error += "Invalid email address\n";
						valid = false;
					}  else el.setStyle('background-color', 'white');
				} else if(el.name == "confirmpassword") {
					if(el.value != $('register').password.value) {
						el.setStyle('background-color', '#febcc2');
						$('register').password.setStyle('background-color', '#febcc2');
						error += "Your passwords do not match\n";
						valid = false;
					} else el.setStyle('background-color', 'white');
				} else if(el.name == "dietreq" || el.name == "optout") {
					//do not check
					el.setStyle('background-color', 'white');
					
				} else if(el.name=="tel") {
					//do not check
					if(!checkNumeric(el.value)) {
						el.setStyle('background-color', '#febcc2');
						error += el.name + " must be numeric\n";
						valid = false;
					} else el.setStyle('background-color', 'white');
				} else {
					el.setStyle('background-color', 'white');
				}
			});
			if(!valid) {
				alert('There are errors in your form:\n' + error);
				new Event(e).stop();
			}
			
		});
	}
	if($chk($('booking_form'))) {
		$('booking_form').addEvent('submit', function(e){
			terms = false;
			valid = false;
			
			if($chk(this.terms)) if(this.terms.checked == 1) terms = true;
			for(i=0; i<this.elements.length; i++)
			{
				if(this.elements[i].name == 'confirmed_event[]') valid = true;
			}
			if(!valid) {
				alert('Please ensure you have added your course using the "Add Course Button" \n');
				new Event(e).stop();
			}
			if(!terms) {
				alert('You must accept our Terms and Conditions\n');
				new Event(e).stop();
			}			
			
		});
	}
	if($chk($('collapseTable'))) {
		$('collapseTable').getElements('tr').each(function(el) { 
			var rowId = el.id;
			if(rowId.indexOf('collapseRow') >= 0) {
				el.setStyle('cursor', 'pointer');
				rowId = rowId.substring(11,rowId.length);
				browseFolder(rowId);	
				el.addEvent('click',function (e) {
					rowId = this.id.substring(11,this.id.length);
					browseFolder(rowId);
				});	
						
			}
		});
	}
}

function checkEmail(email) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email)) return false;
	else return true
}

function checkNumeric(value){
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(value)) return true;
	else return false;
}

function changeCourse(type) {
	course_name = document.booking.course_name.value;
	course_location = document.booking.course_location.value;
	if(type == 'name') {
		path = 'course_name=' + course_name;
		update = 'changeCourse';
	} else if(type == 'location') {
		path = 'course_name=' + course_name + '&course_location=' + course_location ;
		update= 'changeLocation';
	} 
	var url = domain + "ajaxevents.php?" + path;
	var req = new Request.HTML({ method: 'get',	url: url, update: $(update) }).send();
}

function addCourse() {
	//gather current details to add to hidden fields...
	course_name = document.booking.course_name.value;
	course_event = document.booking.course_event.value;
	
	var url = domain + "ajaxevents.php?course_event=" + course_event;
	var req = new Request({ method: 'get',	url: url, onComplete: function(response) {
		addTableRow('addCourse','courseRow',response);
	} }).send();
}

function addTableRow(tableName, rowName,html) {
	var theTable = $(tableName);
	var rowIndex = $(rowName).rowIndex + 1;
	var rowId = rowName + Math.floor(Math.random()*100);
	var newRow = theTable.insertRow(rowIndex)
	newRow.id = rowId;
	//newRow.setStyle('border','#E7E4F4 2px solid');
	newCell = newRow.insertCell(0);
	newCell.colSpan = 2;
	newCell.innerHTML = html + " <a href=\"javascript:deleteTableRow('" + tableName + "','" + rowId + "')\">(remove)</a>";
	if(theTable.rows.length > 1) $('course_button').value = 'Add Another';	
}

function deleteTableRow(tableName,rowIndex) {
	$(tableName).deleteRow($(rowIndex).rowIndex);
	if($(tableName).rows.length < 2) $('course_button').value = 'Book Course';	
}


function makeFlowPlayer(id) {
	if($chk($(id))) {
		flowLoc = domain + "scripts/flowplayer.swf";
		flowplayer(id, flowLoc, {
			clip:  { 
	        	autoPlay: false, 
		        autoBuffering: true 
		    },
			canvas: {backgroundColor: "#ffffff"},
			plugins: {
			   controls: {
			      progressGradient: 'medium',
			      sliderColor: '#000000',
			      tooltipTextColor: '#ffffff',
			      timeBgColor: '#555555',
			      durationColor: '#ffffff',
			      progressColor: '#112233',
			      bufferColor: '#445566',
			      backgroundColor: '#ffffff',
			      sliderGradient: 'none',
			      buttonOverColor: '#728B94',
			      backgroundGradient: 'none',
			      borderRadius: '0px',
			      timeColor: '#01DAFF',
			      buttonColor: '#5F747C',
			      volumeSliderGradient: 'none',
			      bufferGradient: 'none',
			      volumeSliderColor: '#000000',
			      tooltipColor: '#5F747C',
			      height: 24,
			      opacity: 1.0
			   }
		}});
	}
}

var folderId = new Array();
function browseFolder(id) {
	if(folderId[id] == null) {
		folderId[id] = 'open';
	}
	if(folderId[id] == 'open') {
		folderId[id] = 'closed';
		$('browse' + id).style.display = 'none';
	}
	else {
		folderId[id] = 'open';
		$('browse' + id).style.display = '';
		lastselectedCategory = id;
	}
}

function openWindow(url) {
	window.open(url,'CosmetologyCourseLocation','width=800,height=700,resizable=no,toolbar=no,location=no,directories=no,status=no,menubar=no')
}

function closeWindow(url) {
	window.opener.document.location.href=url; 
	this.close();
}	


