$(document).ready(function(){
    //IE background flickering
    if(jQuery.browser.msie && jQuery.browser.version==6.0) 
     document.execCommand("BackgroundImageCache",false,true);
    
    $("a[rel=external]").bind("click",function(){$(this).attr("target","_blank")});
   
    /** sucker fish drop down */
	   $(".Navigation2 > li").hover(
	    	function(){$("ul",this).css({display:'block'})}, 
	     function(){$("ul",this).css({display:'none'})}
	   );

    // FirstChild and LastChild class
    var FirstAndLastChild = function() {
     if($.browser.msie || $.browser.opera){
      $("li:first-child").addClass("FirstChild");
      $("li:last-child").addClass("LastChild");
      $("li:first-child").addClass("table th");
      $("li:first-child").addClass("table td");

     }
     if($.browser.safari){
	     $("li:last-child").addClass("LastChild");
     }
    }
    FirstAndLastChild();
    
    scheduleHeight();
    Download();
    Contactfrm();
    Registration();
    
	  //auto text handler
	  $('.reg input[name=fn], .reg input[name=nickname], .reg input[name=company], .reg input[name=nickcompany]')
	  .each(function(){
	  	var autoText = "";
	  	var defaultText = $(this).val();
	  	$(this).bind('focus',function(){
	  	autoText = $(this).val();
	  	if(autoText == defaultText){
	  	 $(this).val("");
	  	 $(this).removeClass("Default");
	  	}
	  	})
	  	.bind('blur',function(){
	  		if($(this).val() == ""){
	  		 $(this).val(defaultText);
	  		 $(this).addClass("Default");
	  	  }
	  	});
	  });
});


//function for registration
function Registration()
{
	$("input[name=fax]").keypress( function( e ) { return onkeypress_numericfilter(e, this); } ); 
	$("input[name=telephone]").keypress( function( e ) { return onkeypress_numericfilter(e, this); } ); 
	$("input[name=mobile]").keypress( function( e ) { return onkeypress_numericfilter(e, this); } ); 
	
	$("select[name=regnow]").change(function(){
	
	 $("select[name=programme]").children().remove().end().append('<option value="">-- Select --</option>');
   var objOption;
	 if($(this).val() == 'Enrol me')
	 {
	 	objOption = "<option value='talking Presentations'>talking Presentations</option>";
	 	$('#register_button').show();
	 	$('#next_button').hide();
	 	$("select[name=programme] option[value='']").parents('div').show();
	 }
	 else if($(this).val() == 'Enquire')
	 {
	 	objOption = "<option value='talking Presentations'>talking Presentations</option><option value='developing Leaders'>developing Leaders</option><option value='Hogan'>Hogan</option><option value='TEIQue'>TEIQue</option><option value='Reflections 360'>Reflections 360</option>";
	 	//$(this).addOption(objOption, false);
	 	$('#register_button').show();
	 	$('#next_button').hide();
	 	$("select[name=programme] option[value='']").parents('div').show();
	 	$('.FormControls').hide();
	 }
	 else
	 {
	 	 //window.location.href ="/newsletter"; 
	 	 objOption = '';
     $('#register_button').hide();
     $('#next_button').show();
     $("select[name=programme] option[value='']").parents('div.col3').hide();
     $('.FormControls').hide();
	 }
	 $("select[name=programme] option:eq(0)").after(objOption);
	 mandatoryToggle();
	});
	
	$("select[name=programme]").change(function(){
		if($("select[name=regnow]").val() == 'Enrol me' && $(this).val() == "talking Presentations")
		{ $("#divTP").show();$("#divDL").hide();}
		else if($("select[name=regnow]").val() == 'Enrol me' && $(this).val() == "developing Leaders")
		{ $("#divTP").hide();$("#divDL").show();}
		else
		{ $("#divTP").hide();$("#divDL").hide();}
	});
	
	$("input[name=registrations_form]").click(function(){
		if($("select[name=regnow]").val() == 'Enrol me' && $("select[name=programme]").val() == "talking Presentations")
		{
			var dates = '';
			$('#divTP select').each( function() {
				if($(this).val()!='')
				 dates += $(this).parents('td').next().html() + '=' +  $(this).val() + ' , ';
			});
			$('#LeadershipTotal').val(dates.replace(/&amp;/g,'&'));
		}
		else if($("select[name=regnow]").val() == 'Enrol me' && $("select[name=programme]").val() == "developing Leaders")
		{
			var dates = '';
			$('#divDL select').each( function() {
				if($(this).val()!='')
				 dates += $(this).parents('td').next().html() + '=' +  $(this).val() + ' , ';
			});
			$('#LeadershipTotal').val(dates.replace(/&amp;/g,'&'));
		}
		
		if($("input[name=fn]").val() == 'For Example: Michael')
		 $("input[name=fn]").val('');
		
		return evaluateform();
	});
}

  function mandatoryToggle()
  {  	
  	var row = $("textarea[name=message]").parents("tr");
  	if($("select[name=regnow] option:selected").val() == "Newsletters")
  	{
  		$("#emprogramme, #emposition, #emaddress, #empobox, #emcity, #emtelephone, #emmobile").hide();
  		row.insertAfter($('.reg tr:last'));
  	}
  	else if($("select[name=regnow] option:selected").val() == "Enrol me")
  	{
  		$("#emprogramme, #emposition, #emaddress, #empobox, #emcity, #emtelephone, #emmobile").show();
  		row.insertAfter($('.reg tr:last'));
  	}
  	else if($("select[name=regnow] option:selected").val() == "Enquire")
  	{
  		$("#emprogramme, #emtelephone, #emmobile").show();
  		$("#emposition, #emaddress, #empobox, #emcity").hide();  	
  		row.insertAfter($('.reg tr:eq(0)'));
  	}
  }

//function to subscribe
function SubscribeMe()
{
	if(isValidEmail(document.getElementById('SubscribeEmailId').value)== false)
	{
	  document.getElementById("ltlEmailId").style.display="inline";
	  return false;
  }
  else
  {
   	document.location.href = '/register/?email='+ document.getElementById('SubscribeEmailId').value;
   	//document.location.href = '/newsletter/';
   	document.getElementById("ltlEmailId").style.display="none";
  }
}

//function to check valid email address
function isValidEmail(strEmail){
 
 validRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
 
 var Email = strEmail;

  // search email text for regular exp matches
  if (Email.search(validRegExp) == -1 || Email.length == 0) 
  {
     return false;
  } 
   return true; 
}

// Only Numeric Values
 function onkeypress_numericfilter(event,reference)
 {
  var keycode;
  if (document.all)
  {
   keycode=event.keyCode;
  }
  else
  {
   keycode=event.which;
  }  
  if((keycode==8) || (keycode==127) || (keycode==9)  || (keycode==0))
  {   
   return(true);
  }
  if ( ((keycode>47)&&(keycode<58)) || (keycode==46) || (keycode==43) || (keycode==32) || (keycode==45))
  {
   return(true);
  }  
  else
  {
   return(false);
  }
 }

function scheduleHeight(){
 sHeight = $('.Schedule ul li:eq(0)').height() + $('.Schedule ul li:eq(1)').height() + $('.Schedule ul li:eq(2)').height();
 sHeight = sHeight + (2 * 12) + 39;
 $('.Schedule').css({'height':sHeight+'px'});
 
  //Scroller
 if($('#Scroll1').length>0)
 {
 	$('#Scroll1').jScrollPane({showArrows:true});
 }
}

function getQuery(variable) {
 var query = window.location.search.substring(1);
 var vars = query.split("&");
 for (var i=0;i<vars.length;i++) {
  var pair = vars[i].split("=");
  if (pair[0] == variable) {
   return pair[1];
  }
  else
  {
  	return "notfound"
  }
 }
 //alert('Query Variable ' + variable + ' not found');
}

function Download()
{
	if(getQuery("type") != "notfound")
  {
   if(getQuery("type") == 'booking' || getQuery("type") == 'prospectus')
   {
    enableLightbox();
   }
  }

	
 $(".OverlayBox input[@name=rdBtnRegistered]").click(function(){

 	if($("input[name='rdBtnRegistered']:checked").val() == 'yes')
 	{
 	 $('#tbRegisteredYes').show();
 	 $('#tbRegisteredNo').hide();
 	}
 	else if($("input[@name='rdBtnRegistered']:checked").val() == 'no')
 	{
 		$('#tbRegisteredYes').hide();
 		$('#tbRegisteredNo').show();
 	}
 	else
 	{
 		$('#tbRegisteredYes').hide();
 		$('#tbRegisteredNo').hide();
 	}
 	
  
 });
 
 $("#tbRegisteredYes .btnDownloadReg").bind("click",function(){
 	if($("#tbRegisteredYes .tbFirstname").val() == '')
 		$('#spFirstname').addClass("Error");
 	else
 		$('#spFirstname').removeClass("Error");
 	
 	/* email */
 	if($("#tbRegisteredYes .tbEmail").val() == '')
 		$('#spEmail').addClass("Error");
 	else
 		$('#spEmail').removeClass("Error");
 		
  if(!isValidEmail($("#tbRegisteredYes .tbEmail").val()))
    $('#spEmail').addClass("Error");
  else
  {
    $('#spEmail').removeClass("Error");
  }
  
  //posting
  if($("#tbRegisteredYes span").hasClass("Error"))
    $(".ErrorMsg").addClass('Error2');
  else
  {
  	$(".ErrorMsg").removeClass('Error2');

    var strTitle = '';
    var strFirstname = $("#tbRegisteredYes .tbFirstname").val(); 
    var strLastname = '';
    var strPosition =  '';
    var strCompany =  '';
    var strEmail = $("#tbRegisteredYes .tbEmail").val();
    var strEmail2 = '';
    var strregtype = $("#tbRegisteredYes #regtype").val();
    downloadPost(strTitle, strFirstname, strLastname, strPosition, strCompany, strEmail, strEmail2, strregtype);
  }
  
  return false;

 });

 $("#tbRegisteredNo .btnDownloadReg").bind("click",function(){
 	/* Prefix*/
 	if($('.ddlPrefix').val()== '')
 	 $('#spPrefix').addClass("Error");
 	else
 	 $('#spPrefix').removeClass("Error");
 	 
 	/* firstname*/ 
 	if($("#tbRegisteredNo .tbFirstname").val() == '')
 		$('#spFirstnameNo').addClass("Error");
 	else
 		$('#spFirstnameNo').removeClass("Error");
 	
 	/* last name*/	
 	if($("#tbRegisteredNo .tbLastname").val() == '')
 		$('#spLastnameNo').addClass("Error");
 	else
 		$('#spLastnameNo').removeClass("Error");
 		
 	/* Position*/	
 	if($("#tbRegisteredNo .tbPosition").val() == '')
 		$('#spPositionNo').addClass("Error");
 	else
 		$('#spPositionNo').removeClass("Error");
 		
 	/* Co name*/	
 	if($("#tbRegisteredNo .tbConame").val() == '')
 		$('#spConameNo').addClass("Error");
 	else
 		$('#spConameNo').removeClass("Error");
 	
 	/* email */
 	if($("#tbRegisteredNo .tbEmail").val() == '')
 		$('#spEmailNo').addClass("Error");
 	else
 		$('#spEmailNo').removeClass("Error");
 		
  if(!isValidEmail($("#tbRegisteredNo .tbEmail").val()))
    $('#spEmailNo').addClass("Error");
  else
    $('#spEmailNo').removeClass("Error");
  
  //posting
  if($("#tbRegisteredNo span").hasClass("Error"))
    $(".ErrorMsg").addClass('Error2');
  else
  {
  	$(".ErrorMsg").removeClass('Error2');
  	
    var strTitle = $('.ddlPrefix').val();
    var strFirstname = $("#tbRegisteredNo .tbFirstname").val(); 
    var strLastname = $(".tbLastname").val(); 
    var strPosition = $(".tbPosition").val(); 
    var strCompany = $(".tbConame").val(); 
    var strEmail = $("#tbRegisteredNo .tbEmail").val();
    var strEmail2 = $("#tbRegisteredNo .tbEmail2").val();
    var strregtype = $("#tbRegisteredNo #regtype").val();
    downloadPost(strTitle, strFirstname, strLastname, strPosition, strCompany, strEmail, strEmail2, strregtype);
  }
  return false;

 }); 

	
 $(".Download").bind("click",function(){
  enableLightbox();
  return false;
 });
 
 $(".Fade").bind("click",function(e){
  disableLightbox();
  return false;
 });
 
 $(".OverlayBox .Close").bind("click",function(e){
  disableLightbox();
  return false;
 });
 
	$(document).keypress(function(e){
		if(e.keyCode==27 && popupStatus==1){
			disableLightbox();
		}
	});
}

function enableLightbox()
{
  $("div.Fade").css({"opacity": "0.65"});
  $("div.Overlay").fadeIn("slow");
  $("div.Fade").fadeIn("slow");
  centerLightbox();
  popupStatus = 1;
  if(getQuery("type") == 'booking')
  {
   $('#downloadform').show();
   $('#downloadprospectus').hide();
  }
  else
  {
   $('#downloadform').hide();
   $('#downloadprospectus').show();
  }
  	
  
}

/* post data using AJAX */
function downloadPost(strTitle, strFirstname, strLastname, strPosition, strCompany, strEmail, strEmail2, strregtype)
{
  var urlpath = 'http://www.8ack.com/download.php';
  $.ajax(
  {
    type: "POST",
    url: urlpath,
    data: "title=" + strTitle + "&firstname=" + strFirstname + "&lastname=" + strLastname + "&position=" + strPosition + "&company=" + strCompany + "&email=" + strEmail + "&email2=" + strEmail2 + "&regtype=" + strregtype,
    success: function(msg)  //show the result
    {
     if(getQuery("type") == 'booking')
     {
      popupWin('/DL_Booking_Form.pdf',"Popup",{width:500,height:600});
      $('#downloadformt').show();
      $('#downloadprospectust').hide();
     }
     else
     {
     	popupWin('/developing Leaders Prospectus.pdf',"Popup",{width:500,height:600});
      $('#downloadformt').hide();
      $('#downloadprospectust').show();
     }	
     $('.Popupform').hide();
     $('.Thankyou').show();
     return false;
    }
  });
}

function Contactfrm()
{
 $("#btnContact").bind("click",function(){
 	if($('input[name=fname]').val() == '')
 	{
 	 alert('Please fill your First name');
 	 return false;
 	}
 	else
 	{
 		$('input[name=fname]').removeClass("Error");
 	}
 	
 	if($('input[name=sname]').val() == '')
 	{
 	 alert('Please fill your Last name');
 	 return false;
 	}
 	
 	if($('input[name=email]').val() == '')
 	{
 	 alert('Please fill your Email');
 	 return false;
 	}
 	else
 	{
 		$('input[name=email]').removeClass("Error");
 	}
 	
 	if(!isValidEmail($('input[name=email]').val()))
 	{
    alert('Invalid Email address, please re-enter.');
    return false;
  }
  else
  {
    $('input[name=email]').removeClass("Error");
  }
 
 });
}


/* disable Lightbox */
function disableLightbox(){
	//disables popup only if it is enabled
	if(popupStatus==1){
		$("div.Overlay").fadeOut("slow");
		$("div.Fade").fadeOut("slow");
		//$(".Overlay").remove();
		popupStatus = 0;
	}
}

//centering Lightbox
function centerLightbox(){
	//request data for centering
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = document.documentElement.clientHeight;
	var popupHeight = $("div.OverlayBox").height();
	var popupWidth = $("div.OverlayBox").width();
	
	if($("div.OverlayBox").height()>=800)
	{
	//centering
	$("div.OverlayBox").css({
		"position": "absolute",
		"top": 0,
		"left": windowWidth/2-popupWidth/2
	});
	}
	else
	{
	//centering
	$("div.OverlayBox").css({
		"position": "absolute",
		"top": (popupHeight+($(window).scrollTop()*2))/2,
		"left": windowWidth/2-popupWidth/2
	});
  }
	//only need force for IE6
	
	$("div.Fade").css({
		"height": $(document).height()
	});
	
}

//desc Popup window function
function popupWin(sLink,sName,oAttrib){
	var popup;
	var width = oAttrib.width;
	var height = oAttrib.height;
	var left,top;
	left = oAttrib.left || (screen.width - width)/2;
	top = oAttrib.top || (screen.height - height)/2;
	try{
		popup = window.open(sLink,sName,"scrollbars=1,width="+width+",height="+height+",left="+left+",top="+top+"");
		//popup.focus();
	}
	catch(error){
		alert("You are trying to access a broken link. Please contact the website administrator.");
		return false;
	}
}
	
	
	
/* evaluateform */
function evaluateform(){
  if	(document.regform.regnow.value =="") {
    message = "Please select what you would like to register to.";
    alert(message);
    return false;
  }			
		
		if(document.regform.regnow.value =="Enrol me") {
			
			if(document.regform.programme.value =="") {
				alert('Please select Programme');
				return false;
			}
			
			if(document.regform.programme.value =='talking Presentations')
			{
				var Inc='';
				$('#divTP select').each( function() {
					Inc+=$(this).val();
			  });
			  if(Inc == '')
			  {
				  alert('Please select booking places');
				  return false;
			  }
			}
			if(document.regform.programme.value =='developing Leaders')
			{
				var Inc='';
				$('#divDL select').each( function() {
					Inc+=$(this).val();
			  });
			  if(Inc == '')
			  {
				  alert('Please select booking places');
				  return false;
			  }
			}			 

	    var vargeneric = formgeneric();
	    if(vargeneric == false)
	    {
	    	return false;
	    }
	    
	    if(document.regform.position.value =="")
  		{
  			message = "Please fill position";
  			alert(message);
  			return false;
  		}
  		
  		if(document.regform.address1.value =="")
  		{
  			message = "Please fill address";
  			alert(message);
  			return false;
  		}
  		
  		if(document.regform.pobox.value =="")
  		{
  			message = "Please fill PO Box";
  			alert(message);
  			return false;
  		}
  		
  		if(document.regform.city.value =="")
  		{
  			message = "Please fill City";
  			alert(message);
  			return false;
  		}
	    
	    if(document.regform.telephone.value =="")
  		{
  			message = "Please fill your telephone number";
  			alert(message);
  			return false;
  		}
  		
  		if(document.regform.mobile.value =="")
  		{
  			message = "Please fill your mobile number";
  			alert(message);
  			return false;
  		}
	    
		}			
		
		if(document.regform.regnow.value =="Enquire") {	    

			if(document.regform.programme.value =="") {
				alert('Please select Programme');
				return false;
			}
			
	    var vargeneric = formgeneric();
	    if(vargeneric == false)
	    {
	    	return false;
	    }
	    
	    if(document.regform.telephone.value =="")
  		{
  			message = "Please fill your telephone number";
  			alert(message);
  			return false;
  		}
  		
  		if(document.regform.mobile.value =="")
  		{
  			message = "Please fill your mobile number";
  			alert(message);
  			return false;
  		}
		}
		
		if(document.regform.regnow.value =="Newsletters") {
	    var vargeneric = formgeneric();
	    if(vargeneric == false)
	    {
	    	return false;
	    }
		}
  }
  
  
  
  
  /* generic form */
  function formgeneric()
  {
  	
    if	(document.regform.howhear.value =="") {
			message = "Please select how did you hear about us.";
			alert(message);
			return false;
		}			
  	
  	if	(document.regform.nickname.value =="" || document.regform.nickname.value =="For Example: Mike") {
			message = "Please fill your Nick name";
			alert(message);
			return false;
		}		
		
		if	(document.regform.ln.value =="") {
			message = "Please fill your Last name";
			alert(message);
			return false;
		}
		
		if	(document.regform.company.value =="" || document.regform.company.value=='For Example: 8ack International FZ-LLC') {
			message = "Please fill Company name";
			alert(message);
			return false;
		}
		
		if	(document.regform.nickcompany.value =="" || document.regform.nickcompany.value =="For Example: 8ack") {
			message = "Please fill Company Known as";
			alert(message);
			return false;
		}
		
		if	(document.regform.email.value =="") {
			message = "Please fill your Email";
			alert(message);
			return false;
		}
		if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.regform.email.value)){
			alert("Invalid Email address, please re-enter.")
			return false
		}
		
  }