/* javascript */
$(document).ready(function(){
	$('input[type=text]').bind('focus', function(){
		this.value == this.title ? this.value = '' : null;
	}).bind('blur', function(){
		this.value.replace(/\s/g, '').length ? null : this.value = this.title;
	});

	$('li.icon_search input, li.icon_search a').bind('focus', function(){
		$('li.icon_search').addClass('focused');

	}).bind('blur', function(){
		setTimeout(function(){
			$this = $('li.icon_search');
			if(!$('input:focus', $this).length){
				$this.removeClass('focused');
			}
		}, 100);
	});

	$('.func_buttons').find('a[rel^=prettyPhoto]').prettyPhoto();
	$('.main_column').find('a[rel^=prettyPhoto]').prettyPhoto();
	$('.image_gallery').find('a[rel^=prettyPhoto]').prettyPhoto({markup: gallery_markup()});

	if($('.preview_gallery').length > 0 && $('.image_gallery').length > 0)
	{
		$('.preview_gallery').bind('click', function() {
			$('.image_gallery a').first().trigger('click');
		});
	}

	$('.print_article').bind('click', print_article);

	new function() {
		var $movable = $('.promotions').find('ul');
		var $items = $movable.children('li');
		var $pagination = $('.pagination');
		var	itemsLength = $items.length;
		var itemsWidth = 0;
		var current = 0;
		var progress = false;
		var interval_move;
		var buttons;
		var autoplay_speed = 5000;

		this.int_carousel = function() {
			if(!$movable.length || itemsLength < 2) {
				var current_el = $items.eq(0);

				if(current_el && $(current_el).hasClass('flash')) {
					var $image = $(current_el).find('img'),
						link = $image.attr('src').replace(/\.([a-z]+)$/i, '.swf');

					$('<div />').addClass('falshContainer').insertAfter($image).flash({
						swf: link,
						width: '1000',
						height: '406',
						wmode: 'transparent'
					});
				}
				return;
			}

			// set buffer by clonning first element & items
			$movable.find('li:first').clone().insertAfter($movable.find('li:last'));
			$items = $movable.children('li');
			itemsLength = $items.length;

			itemsWidth = $items[0].offsetWidth;

			$movable.css('width', (itemsLength * itemsWidth));

			for(var dot = 0; dot < itemsLength-1; dot++) {
				var $dot = $('<span />').text(dot);

				$pagination.append($dot);
			};

			buttons = $pagination.find('span');

			buttons.eq(0).addClass('active');
			buttons.click(function() {
				var idx = $(this).text();

				if (idx !== current) {
					move(idx);
				};
			});

			interval_move = setTimeout(function() {move(parseInt(current, 10) + 1)}, autoplay_speed);
		};

		function move(next) {
			if (progress) {
				return;
			};

			progress = true;
			clearTimeout(interval_move);

			if(next >= itemsLength) {
				next = 0;
			} else if (next < 0) {
				next = itemsLength;
			};

			buttons && buttons.removeClass('active').eq(next).addClass('active');

			var end = (next * itemsWidth) * -1,
				$next_slide = $items.eq(next)
				$current_slide = $items.eq(current)

				check_for_flash($current_slide, next);

			$movable.stop().animate({
				left: end
			}, 500, function() {
				var current_el = $items[next] || null;

				current = next;
				$('.falshContainer').css('visibility', 'visible');
				/* if(current_el && $(current_el).hasClass('flash')) {
					var $image = $(current_el).find('img'),
						link = $image.attr('src').replace(/\.([a-z]+)$/i, '.swf');

					$('<div />').addClass('falshContainer').insertAfter($image).flash({
						swf: link,
						width: '1000',
						height: '406'
					});
				} */
				// buffer loaded - reload first slide
				if(next == itemsLength -1) {
					current = 0;
					$movable.css('left', 0);
					$first_slide = $items.eq(current)

					check_for_flash($first_slide, current);
					$('.falshContainer').css('visibility', 'visible');

					buttons && buttons.removeClass('active').eq(0).addClass('active');
				}

				progress = false;
				interval_move = setTimeout(function() {move(parseInt(current, 10) + 1)}, autoplay_speed);
			});
		};


		function check_for_flash(slide, current_item) {
			if(slide.hasClass('flash')) {
				slide.find('img').next().remove().end();
			};

			if($items[current_item] && $($items[current_item]).hasClass('flash')) {
				var $image = $($items[current_item]).find('img'),
					link = $image.attr('src').replace(/\.([a-z]+)$/i, '.swf');

				$('<div />').addClass('falshContainer').insertAfter($image).flash({
					swf: link,
					width: '1000',
					height: '406'
				});
			}
		}

		this.int_carousel()
		move(0);
	};
});

// overlay should be loaded from here, not from document.ready because of a bug in jq
$(window).load(function() {
	if ($.browser.msie && $.browser.version.substr(0,1) == '6')
	{
		$('.overlay').overlay({mask: { color: '#ebecff', opacity: 0.9}, effect: 'default', top: '30%', closeOnClick: false, speed: 'fast'}).load();
	}
});

function buisness() {
	menu_changer('business');
}

function residential() {
	menu_changer('residential');
}

function menu_changer(version) {
	ajax_url = ajax_url.replace(current_ctrl, 'application');
	$.ajax({
		url: ajax_url,
		data: {'version': version, 'method': '_getMainMenu', 'ctrl': current_ctrl},
		dataType: "html",
		success: function(data) {
			$('.main_menu').html(data);
		}
	});

	$.ajax({
		url: ajax_url,
		data: {'version': version, 'method': '_flashChanger'},
		dataType: "html",
		success: function(data) {
			$('.flash_mileage').html(data);
		}
	});
}

function observe_version_changer() {
	if($('.change_version').length > 0) {
		$('.change_version').bind('click', function() {
			var site_version = $(this).attr('title');
			menu_changer(site_version);
		});
	}
}

function sendtofriend(datastr) {
	$('.pp_gallery').hide();

	$("#tellafriend_form").submit(function(event) {
		var datastr = $(this).serialize();

		ajax_url = ajax_url.replace(current_ctrl, 'application');
		$.ajax({
			url: ajax_url,
			data: datastr + '&method=send_to_friend',
			dataType: "html",
			success: function(data){
				$(".pp_inline").html('');
				$(".pp_inline").html(data);
				$("#result").show('slow');
				$(".pp_content").css({'height': '500px'});
				//setTimeout('$("#result").fadeOut("slow");$(".pp_content").css({"height": "400px"});', 3000);
			}
		});

		event.preventDefault();
		return false;
	});
	return false;
}

function print_article() {
	var
		display_setting="toolbar=yes,location=no,directories=yes,menubar=yes,";
	   	display_setting+="scrollbars=yes,width=750, height=600, left=100, top=25";

	if($('.article .text').length > 0)
	{
	    var article_title = $('title').text(),
	    	content_innerhtml = $('.article .text .title').html() + $('.article .text .rich_text').html(),
		    document_print = window.open("","",display_setting);
	}
	else
	if($('.rich_text').length > 0)
	{
	    var article_title = $('title').text(),
	    	content_innerhtml = $('.rich_text').html(),
		    document_print = window.open("","",display_setting);
	}

	if($('.rich_text').length > 0 || $('.article .text').length > 0)
	{
	    document_print.document.open();
	    document_print.document.write('<html><head><title>' + _LABELS.print + ': ' + article_title + '</title></head>');
	    document_print.document.write('<body style="font-family:Arial,Helvetica,sans-serif; font-size:13px;" onLoad="self.print();self.close();" >');
	    document_print.document.write(content_innerhtml);
	    document_print.document.write('</body></html>');
	    document_print.print();
	    document_print.document.close();
	    return false;
	}
}

function gallery_markup()
{
	return '<div class="pp_pic_holder"> \
						<div class="ppt">&nbsp;</div> \
						<div class="pp_top"> \
							<div class="pp_left"></div> \
							<div class="pp_middle"></div> \
							<div class="pp_right"></div> \
						</div> \
						<div class="pp_content_container"> \
							<div class="pp_left"> \
							<div class="pp_right"> \
								<div class="pp_content"> \
									<div class="pp_loaderIcon"></div> \
									<div class="pp_fade"> \
										<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
										<div class="pp_hoverContainer"> \
											<a class="pp_next" href="#">next</a> \
											<a class="pp_previous" href="#">previous</a> \
										</div> \
										<div id="pp_full_res"></div> \
										<div class="pp_details"> \
											<div class="pp_nav"> \
												<a href="#" class="pp_arrow_previous">Previous</a> \
												<p class="currentTextHolder">0/0</p> \
												<a href="#" class="pp_arrow_next">Next</a> \
											</div> \
											<p class="pp_description"></p> \
											<a class="pp_close" href="#">Close</a> \
										</div> \
									</div> \
								</div> \
							</div> \
							</div> \
						</div> \
						<div class="pp_bottom"> \
							<div class="pp_left"></div> \
							<div class="pp_middle"></div> \
							<div class="pp_right"></div> \
						</div> \
					</div> \
					<div class="pp_overlay"></div>';
}
