// smith and smith js

$(document).ready(function() {

	// twitter on homepage
	if($('.tweetwrapper').length){
		$.ajax({
			url: '/duocms/duotwitter/getTimeline/SmithandSmithPR/',
			type: 'post',
			success: function(msg){
				$('.tweetwrapper').html(msg);
			}
		});
	}

	if(document.getElementById('twitteruser')){
		var username = strip_tags($('#twitteruser').html());
	}

/*	$(".tweet").tweet({
		join_text: "auto",
		username: "Aerelink",
		avatar_size: 48,
		count: 3,
		auto_join_text_default: "we said,", 
		auto_join_text_ed: "we",
		auto_join_text_ing: "we were",
		auto_join_text_reply: "we replied",
		auto_join_text_url: "we were checking out",
		loading_text: "loading tweets..."
	});
	$("#query").tweet({
		avatar_size: 32,
		count: 4,
		query: "tweet.seaofclouds.com",
		loading_text: "searching twitter..."
	});
	$("#userandquery").tweet({
		count: 3,
		query: "from:seaofclouds&phrase=http",
		loading_text: "searching twitter..."
	});*/
	/*$("#fromtwo").tweet({
		avatar_size: 40,
		count: 3,
		query: "from%3AAerelink+OR+from%3Astevepswift",
		loading_text: "searching twitter..."
	});*/
	
	$("#twitteroutput").tweet({
		avatar_size: 40,
		count: 5,
		username: username,
		loading_text: "loading tweets..."
	});
	
/*	$("#list").tweet({
		avatar_size: 32,
		count: 4,
		username: "laughingsquid",
		list: "rackers",
		loading_text: "loading list..."
	});*/
	
	
		//logoscroll thing
		if($('.dl_clientlogos').length>0){
			
			$('.greyscale img').css('opacity',0.5);
			var origHTML=$('.dl_clientlogos').first().html();
			var origWidth=$('.dl_clientlogos').first().children().length*126;
			$('.dl_clientlogos').first().html(origHTML+origHTML);

			$('.greyscale img').mouseover(function(){
				var newsrc=$(this).attr('src').replace(/\/flg-/i,'/rs-');
				var oldsrc=$(this).attr('src');
				$(this).css('opacity',1);
				$(this).attr('src',newsrc);
				$(this).mouseout(function(){
					$(this).attr('src',oldsrc);
					$(this).unbind('mouseout');
					$(this).css('opacity',0.5);
				});
			});
			
			var newPos=origWidth;
			function logoScrollLeft(){
				$('.dl_clientlogos').first().scrollLeft(0);
				$('.dl_clientlogos').first().animate({scrollLeft:newPos},50000,'linear',logoScrollLeft);
			}
			logoScrollLeft();
		}
		//setTimeout(autoCarrScroll,3000);
	
	
});


function strip_tags(html){
	//PROCESS STRING
	if(arguments.length < 3) {
		html=html.replace(/<\/?(?!\!)[^>]*>/gi, '');
	} else {
		var allowed = arguments[1];
		var specified = eval("["+arguments[2]+"]");
		if(allowed){
			var regex='</?(?!(' + specified.join('|') + '))\b[^>]*>';
			html=html.replace(new RegExp(regex, 'gi'), '');
		} else{
			var regex='</?(' + specified.join('|') + ')\b[^>]*>';
			html=html.replace(new RegExp(regex, 'gi'), '');
		}
	}
	//CHANGE NAME TO CLEAN JUST BECAUSE 
	var clean_string = html;
	
	//RETURN THE CLEAN STRING
	return clean_string;
}






/**************************************************
course booking stuff
**************************************************/

$(document).ready(function(){


	$('.lockable').each(function(){
//		$(this).attr('disabled','disabled');
		$(this).attr('readonly','readonly');
		$(this).attr('style','border:none;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:1em;color:#000;');
	})
	$('.duoEditArea .lockable').each(function(){
		$(this).attr('readonly','');
	});
	
/*	$('.duoEditArea .coursedate').each(function(){
		$(this).datepicker({
			dateFormat: 'DD, d MM, yy'
		});
	});*/
	
	
	
	$('.coursecheck').change(function(){
		checkid = $(this).attr('id');
		checkid = checkid.replace('_check','');
		updateSubtotal(checkid);
	});
	
	$('.headcount').change(function(){
		checkid = $(this).attr('id');
		checkid = checkid.replace('_headcount','');
		updateSubtotal(checkid);
	});

	
	$('span.editabletext').each(function(){
		$(this).attr('contenteditable','false');
		$('input#'+$(this).attr('id')+'_hidden').val($(this).html());
	});
	
	$('.duoEditArea span.editabletext').each(function(){
		$(this).attr('contenteditable','true');
	});
	
	$('.paymentType').each(function(){
		$(this).click(function(){
			if($(this).attr('checked')){
				$('.bookingbutton').css('display','inline');
			}
		});
	});
	
});



function updatePrice(){
	var newprice = 0;
	$('.subtotal').each(function(){
		newprice += parseFloat($(this).val());
		$('#totalprice').val(newprice);
		$('#totalprice_hidden').val(newprice);
	});
}

function updateSubtotal(id){
	now = new Date();
	checkdate = now.format('yyyymmdd');
	earlydate = $('#'+id+'_date_input').val();
		
	currenttotal = parseFloat($('#'+id+'_subtotal').val());
	price = parseFloat($('#'+id+'_price_normal_hidden').val());
	earlyprice = parseFloat($('#'+id+'_price_early_hidden').val());
	headcount = parseInt($('#'+id+'_headcount').val());
	
	if($('#'+id+'_check').attr('checked')){
		// check date to apply early price
		if(checkdate <= earlydate){
			newtotal = headcount * earlyprice;
			earlyvalid = "1";
		} else {
			newtotal = headcount * price;
			earlyvalid = "0";
		}
	} else {
		// check date to apply early price
		newtotal = 0;
		earlyvalid = "0";
	}
	$('#'+id+'_subtotal').val(newtotal);
	$('#'+id+'_subtotal').val(newtotal);
	$('#'+id+'_earlyvalid_hidden').val(earlyvalid);
	updatePrice();
}



var courseid = 0;

function booking_process(){
	// validate form first
	var error = '';
	if($('#frm_bookingform #totalprice').val() > 0){
		$('#frm_bookingform .required').each(function(){
			if($(this).attr('id') == 'booking_email'){
				if(!$(this).val().match(/.+@.+/i)){
					error += 'You must enter a valid email address\n';
				}
			} else {
				if($(this).val() == ''){
					error += 'You must enter a valid '+$("label[for='"+$(this).attr('name')+"']").html()+'\n';
				}
			}
		});
		if(error){
			alert('Please correct the following errors:\n\n'+error);
		} else {
			var idlist = '';
			$('.coursewrapper').each(function(){
				idlist += $(this).attr('duoid')+'|';
			});
			idlist = idlist.substr(0,idlist.length-1);
			$('#courseidlist').val(idlist);
			$('#frm_bookingform').submit();
		}
	} else {
		alert('You have not selected an event to attend');
	}
}

function booking_setId(){
	$('.coursewrapper').each(function(){
		var id = $(this).attr('duoid');
		id = id.replace('course','');
		if(id >= courseid){ courseid = parseInt(id)+1; }
	});
	//alert(courseid);
}

function booking_updateText(obj){
	$(obj).attr('value',$(obj).val());
}

function booking_addCourse(){

	booking_setId();

//	var $tmp = $('.coursewrapper').last();
//	alert($tmp.attr('id'));
	
	var now = new Date();
	var showdate = now.format('dd mmm yyyy');
	var inputdate = now.format('yyyymmdd');
	var eventdate = $('#pagedate').val();
	
	var $defaultcontent = ''+
		'<div class="coursewrapper course'+courseid+'" contenteditable="false" duoid="'+courseid+'"><hr />'+
		'<input type="hidden" name="course'+courseid+'_title_hidden" id="course'+courseid+'_title_hidden" value="" />'+
		'<input type="hidden" name="course'+courseid+'_eventdate_hidden" id="course'+courseid+'_eventdate_hidden" value="'+eventdate+'" />'+
		'<input type="hidden" name="course'+courseid+'_price_hidden" id="course'+courseid+'_price_normal_hidden" value="" />'+
		'<input type="hidden" name="course'+courseid+'_early_hidden" id="course'+courseid+'_price_early_hidden" value="" />'+
		'<input type="hidden" name="course'+courseid+'_date_hidden" id="course'+courseid+'_date_input" value="'+inputdate+'" />'+
		'<input type="hidden" name="course'+courseid+'_earlyvalid_hidden" id="course'+courseid+'_earlyvalid_hidden" value="0" />'+
		'<a class="closebutton" onclick="booking_removeCourse(\''+courseid+'\')"></a>'+
		'<p><input type="checkbox" class="checkbox coursecheck" name="course'+courseid+'_check" id="course'+courseid+'_check" /> '+
		'<span contenteditable="true" class="editabletext coursetitlespan" id="course'+courseid+'_title">Enter course title here</span></p>'+
		'<p><strong>Course information</strong></p>'+
		'<p>Date of course: <span id="course'+courseid+'_eventdate" class="editabletext" contenteditable="true">'+eventdate+'</span></p>'+
		'<p>Normal rate: &pound;<span id="course'+courseid+'_price_normal" class="courseprice editabletext" contenteditable="true">123</span> +VAT. Early bird rate of &pound;<span id="course'+courseid+'_price_early" class="courseprice editabletext" contenteditable="true">456</span> +VAT if booked before <span id="course'+courseid+'_date" class="editabletext" onclick="document.getElementById(\'duocmsToolbar\').contentWindow.ac_datechoose(this);">'+showdate+'</span></p>'+
		'<div class="formrow"><label for="course'+courseid+'_attendees">Attendees Names</label> <textarea name="course'+courseid+'_attendees" id="course'+courseid+'_attendees"></textarea></div>'+
		'<div class="formrow"><label for="course'+courseid+'_special">Special Requests</label> <textarea name="course'+courseid+'_special" id="course'+courseid+'_special"></textarea></div>'+
		'<div class="formrow"><label for="course'+courseid+'_headcount">How many attendees</label> <input type="text" name="course'+courseid+'_headcount" id="course'+courseid+'_headcount" size="5" style="width:auto;" class="headcount required" value="1" /></div>'+
		'<div class="formrow"><label for="course'+courseid+'_subtotal"><strong>Subtotal</strong></label> &pound;<input type="text" name="course'+courseid+'_subtotal" id="course'+courseid+'_subtotal" class="lockable subtotal" value="0" />'+
		'</div>';

	$('#column4 .duoEditArea').html($('#column4 .duoEditArea').html() + $defaultcontent);
		
}


function booking_removeCourse(id){
	if(id){
		$('.course'+id).remove();
	}
}





// google maps stuff
function initialize() {
    var styleArray = [
  {
    featureType: "all",
    stylers: [
      { saturation: -80 }
    ]
  },{
    featureType: "road.arterial",
    elementType: "geometry",
    stylers: [
      { hue: "#faaf49" },
      { saturation: 100 }
    ]
  },{
    featureType: "poi.park",
    stylers: [
      { hue: "#8cc341" },
      { saturation: 50 },
      { lightness: -20 }
    ]
  },{
  	featureType: "road",
  	elementType: "labels",
  	stylers: [
  		{ hue: "#faaf49" },
  		{ saturation: 50 }
  	]
  }
];

    var latlng = new google.maps.LatLng(53.800651,-4.064941),
    
        mapOptions = {
            zoom: 15,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        },
        
        map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions),
        
        styledMapType = new google.maps.StyledMapType(styleArray, {name: "Edited"}),
        
        marker = new google.maps.Marker({
            position: latlng, 
            map: map, 
            animation: google.maps.Animation.DROP,
            title:"Equipoise Life"
        });
        
        map.mapTypes.set("Edited", styledMapType);
        map.setMapTypeId('Edited');
    
    function toggleBounce () {
        if (marker.getAnimation() != null) {
            marker.setAnimation(null);
        } else {
            marker.setAnimation(google.maps.Animation.BOUNCE);
        }
    }

}
