var playerConfig;
var exapi;
var scrapi;
var isPaused = false;

$(function() {
    // initialize scrollable
    scrapi = $("div.scrollable").scrollable({
									item: ".item",
									loop: true,
									prevPage: ".prevPage",
									nextPage: ".nextPage",
									size: 1,
									clickable: false,
									speed: 800
								}).autoscroll({
															autoplay: false,
															interval: 5000
														}).navigator({
																	    navi:'ul.navi',
                                                                                                                                            api: true
																	});
								// TODO .circular();

    // initialize scrollable
    $("div.scrollable2").scrollable({
									item: ".item2",
									items: ".items2",
									prevPage: ".prevPage2",
									nextPage: ".nextPage2",
									loop: true,
									size: 1,
									clickable: false,
									speed: 800
								});
								// TODO .circular();

    // initialize scrollable

	Cufon.replace('.cufon', { fontFamily: 'Avenir LT Std' });
	Cufon.replace('td.cufon', { fontFamily: 'Avenir LT Std' });
	Cufon.replace('.cufon2', { fontFamily: 'Avenir LT Std Oblique' });
	Cufon.replace('.cufon3', { fontFamily: 'Avenir LT Std Heavy Oblique' });

	$('.prevPage').tooltip({
	    track: true,
	    delay: 0,
	    showURL: false,
	    top: -45,
	    left: -35,
	    extraClass: 'tooltip'
	});

	$('.nextPage').tooltip({
	    track: true,
	    delay: 0,
	    showURL: false,
	    top: -45,
	    left: -35,
	    extraClass: 'tooltip'
	});

	$('.prevPage2').tooltip({
	    track: true,
	    delay: 0,
	    showURL: false,
	    top: -45,
	    left: -35,
	    extraClass: 'tooltip'
	});

	$('.nextPage2').tooltip({
	    track: true,
	    delay: 0,
	    showURL: false,
	    top: -45,
	    left: -35,
	    extraClass: 'tooltip'
	});

	$('.header-img').tooltip({
	    track: true,
	    delay: 0,
	    showURL: false,
	    top: -45,
	    left: -35,
	    extraClass: 'tooltip'
	});

	var tapi = $("ul.tabs").tabs("div.panes > div",{tabs: "a.tab"}).history({api: true});
	exapi = $("ul.etabs").tabs("div.panes > div",{tabs: "a.tab",effect: "ajax"}).history({api: true});

	/*if(exapi != undefined)
	{
		exapi.onBeforeClick(function() {
			if($("#mp3-player").length > 0)
			{
				$("#mp3-player").jPlayer("stop");
				$("#mp3-player").remove();
			}
		});
	}*/

	$(".tab").click(function (){
		if($(this).hasClass("sub"))
		{
			$("#tab-panos").addClass("current");
		}
		else
		{
			$("#tab-panos").removeClass("current");
			$("#tab-panos").css("background-position","0px 0px");
		}
	});

	$("#tab-panos").click( function (){
		exapi.click("#pano1");
		$("#tab-panos").addClass("current");
	});

	$.listen("click",".panos-navi-item",function(){
		exapi.click("#"+$(this).attr("rel"));
		return false;
	});

	$("#tab-panos").parent("li").mouseover( function (){
		$("#tab-panos").css("background-position","0px -55px");
	});

	$("#tab-panos").parent("li").mouseout( function (){
		if(!$("#tab-panos").hasClass('current'))
			$("#tab-panos").css("background-position","0px 0px");
	});

	$(".example-thumb").mouseover(function (){
		$(this).next("a.example-title").css("background-color","#1979a9");
	});

	$(".example-thumb").mouseout(function (){
		$(this).next("a.example-title").css("background-color","#dadada");
	});

	$(".example-title").mouseover(function (){
		$(this).css("background-color","#1979a9");
	});

	$(".example-title").mouseout(function (){
		$(this).css("background-color","#dadada");
	});

	$("#contact-send-big").click(function(){
		$("#response-info").remove();
		if(validateFields($("#contact-form-big")))
			getBigContactResponse();
		return false;
	});
	
	$("#orderform").submit(function(evt){
		$("#response-info").remove();
		if ( !validateFields($("#orderform")) ) {
			evt.preventDefault();
			return false;
		} else {
			return true;
		}
	});

	$("#contact-send").click(function(){
		$(".response-info").remove();
		if(validateSmallFields($("#contact-small-form")))
			getSmallContactResponse();
		Cufon.refresh();
		return false;
	});

	$(".package-title").mouseover(function () {
		$(this).css('color','#fff');
		$("td[rel="+$(this).attr("rel")+"]").css('background-color','#f2f2f2');
		$(this).css('background-color','#1979A9');
		$(this).parent('tr').next('tr').children('td[rel='+$(this).attr("rel")+']').css('background-image','url(images/icon-spout.png)');
		$(this).parent('tr').next('tr').children('td[rel='+$(this).attr("rel")+']').css('background-position','center top');
		$(this).parent('tr').next('tr').children('td[rel='+$(this).attr("rel")+']').css('background-repeat','no-repeat');
		$(this).css('border','1px solid #1979A9');
		$(this).parent('tr').next('tr').children('td[rel='+$(this).attr("rel")+']').css('border-top','1px solid #1979A9');
		Cufon.refresh('td.cufon');

	});

	$(".package-title").mouseleave(function () {
		$(this).css('color','#1979A9');
		$("td[rel="+$(this).attr("rel")+"]").css('background-color','#fff');
		$(this).css('background-color','#fff');
		$(this).parent('tr').next('tr').children('td[rel='+$(this).attr("rel")+']').css('background-image','none');
		$(this).css('border','1px solid #dedede');
		$(this).parent('tr').next('tr').children('td[rel='+$(this).attr("rel")+']').css('border-top','1px solid #dedede');
		Cufon.refresh('td.cufon');
	});

	$("#login").click(function() {
		if($("#login-box").css("display") == 'none')
			$("#login-box").show();
		else
			$("#login-box").children("form").submit();
		return false;
	});

	$(".close-div").click(function() {
		$(this).parent("div").hide();
		return false;
	});

	$("#remind-pass").click(function() {
		$("#login-box").hide();
		$("#remind-box").show();
	});

	$("#remind-send").click(function() {
		remindSend();
	});

	$("#pass-field").keypress(function (event) {
		if(event.keyCode == 13)
			$("#login-box").children("form").submit();
	});

	$("#email-field").keypress(function (event) {
		if(event.keyCode == 13)
			remindSend();
	});
        
        $(".job-date").focus(function(){
            if($(this).val() == 'available date here')
                $(this).val('');
        });
        
        $(".job-time").focus(function(){
            if($(this).val() == 'available time here')
                $(this).val('');
        });
        
        $(".job-date").blur(function(){
            if($(this).val() == '')
                $(this).val('available date here');
        });
        
        $(".job-time").blur(function(){
            if($(this).val() == '')
                $(this).val('available time here');
        });


});

function validateFields(form)
{
	var flag = true;
	form.find("div").removeClass("fill-error");
	$("p.error-comment").remove();
	$("#"+form.attr("id")+' input, #'+form.attr("id")+' textarea').each(function(){
		if(($(this).val() == '' || $(this).val() == 'available date here' || $(this).val() == 'available time here') && $(this).hasClass("required"))
		{
			$(this).closest("div").addClass("fill-error");
			$(this).after('<p class="error-comment">Please, fill this field</p>');
			flag = false;
		}
		else if($(this).hasClass('email') && !validateEmail( $(this).val() ) )
		{
			$(this).closest("div").addClass("fill-error");
			$(this).after('<p class="error-comment">Please, enter valid e-mail</p>');
			flag = false;
		}
	});
	return flag;
}

function validateSmallFields(form)
{
	var flag = true;
	$(".small-error").remove();
	$(".small-error-textarea").remove();
	$("#"+form.attr("id")+' input').each(function(){
		if($(this).val() == '' && $(this).hasClass("required"))
		{
			$(this).after('<div class="cufon small-error">REQUIRED</div>');
			flag = false;
		}
		else if($(this).hasClass('email') && !validateEmail( $(this).val() ) )
		{
			$(this).after('<div class="cufon small-error">NOT VALID</div>');
			flag = false;
		}
	});
	$('#'+form.attr("id")+' textarea').each(function(){
		if($(this).val() == '' && $(this).hasClass("required"))
		{
			$(this).prev("label").children("span").append('<div class="cufon small-error-textarea">REQUIRED</div>');
			flag = false;
		}
	});
	return flag;
}

function validateEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = email;
   if(reg.test(address) == false) {
      return false;
   }
   else
   	return true;
}

function getBigContactResponse() {

			var content_show = 'name='+$('#input-name-big').val()+'&email='+$('#input-email-big').val()+'&company='+$('#input-company-big').val()+'&phone='+$('#input-phone-big').val()+'&message='+$('#textarea-message-big').val();
			$.ajax({
				type: "post",
				url: "index.php?pid=contact&ajax=1",
				data: content_show,
				cache: false,
				beforeSend: function(){
				},
				success: function(data){
					if(data == 1)
					{
						$("#contact-form-big").before('<div id="response-info" class="ok">Thanks. We\'ll contact you shortly.</div>');
					}
					else
					{
						$("#contact-form-big").before('<div id="response-info" class="error">There has been error in sending your message. Please try again.</div>');
					}
				},
				error: function() {
				}
			});

}

function getSmallContactResponse() {

			var content_show = 'name='+$('#input-name').val()+'&email='+$('#input-email').val()+'&phone='+$('#input-phone').val()+'&message='+$('#textarea-message').val();
			$.ajax({
				type: "post",
				url: "index.php?pid=contact&ajax=1",
				data: content_show,
				cache: false,
				beforeSend: function(){
				},
				success: function(data){
					if(data == 1)
					{
						$("#contact-small-form").after('<div class="cufon response-info">Thanks. We\'ll contact you shortly.</div>');
					}
					else
					{
						$("#contact-small-form").after('<div class="cufon response-info">There has been error in sending your message. Please try again.</div>');
					}
					Cufon.refresh();
				},
				error: function() {
				}
			});

}

function remindSend() {

			var content_show = 'email='+$('#email-field').val();
			$.ajax({
				type: "post",
				url: "index.php?code=remind",
				data: content_show,
				cache: false,
				beforeSend: function(){
					$("#email-field").val('checking...');
				},
				success: function(data){
					if(data == 1)
					{
						$("#email-field").val('We\'ve sent you new password on e-mail');
					}
					else
					{
						$("#email-field").val('Ooops. No such email. Please try another.');
					}
				},
				error: function() {
				}
			});

}

/* google maps */

     var map;
     var point;
     var marker;

    function load()
	{
		if(GBrowserIsCompatible())
		{
         	map = new GMap2(document.getElementById("map"));
         	//map.addControl(new GLargeMapControl());
         	//map.addControl(new GMapTypeControl());
         	map.addControl(new CloseButton());
         	map.setCenter(new GLatLng(lat, lng), zoom);

			point = new GLatLng(lat, lng);
			marker = new GMarker(point);
			map.addOverlay(marker);
      	}
    }

   var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadSwf = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('object');
      cacheImage.data = arguments[i];
      cache.push(cacheImage);
    }
  }



var StoneHome = {
	initServicesPages : function () {
			var service_table_rows = $('.services-body tr');
			if (service_table_rows.length > 0) {
				service_table_rows.hover(
					function () {
						$(this).addClass('hover');
					},
					function () {
						$(this).removeClass('hover');			
					}
				);
			}
			$('body').prepend('<div id="overlay" class="wide"><div class="contentWrap"/><div class="close"/></div>');
			$('.services-body tr[rel]').overlay({
		      expose: 'white',
		      onBeforeLoad: function() {
		          var wrap = this.getOverlay().find(".contentWrap");
		          wrap.load($('a', this.getTrigger()).attr("href"));
		      },
                      onLoad: function() {
                          
                            $("div.popupScrollable").scrollable({
                                        item: ".item",
                                        loop: true,
                                        prevPage: ".prevPage",
                                        nextPage: ".nextPage",
                                        size: 1,
                                        clickable: false,
                                        speed: 800
                                });
                          Cufon.refresh();
                      }

		  });
	},
	
	initOrderForm : function () {	
		var form = $('#orderform');
		
		if (form.length < 1) {
			return;
		}
		
		$('body').prepend('<div id="overlay"><div class="contentWrap"/><div class="close"/></div>');
		
		$('a[rel]', form).overlay({
	      expose: 'white',
	      onBeforeLoad: function() {
	          var wrap = this.getOverlay().find(".contentWrap");
	          wrap.load(this.getTrigger().attr("href"));
	      },
	onLoad: function() {
		var wrap = this.getOverlay().find(".contentWrap");
		var internal_links = this.getOverlay().find(".contentWrap a[rel]");
		internal_links.live('click', function (evt) {
			evt.preventDefault();
			wrap.load($(this).attr('href'));
			return false;
		});

		
	},
				onBeforeClose: function(evt) {
					var ytplayer = document.getElementById("popup_youtube_player");
					if (ytplayer) {
						ytplayer.stopVideo();
					}
				}
	  });

		
		$('.item input', form).bind('change', function (evt) {
			var el = $(this);
			if (el.attr('type') === 'checkbox' && el.is(':checked')) {
				$('.subitems', el.parent()).slideDown();
			} else {
				$('.subitems', el.parent()).slideUp();
				$('.subitems input[type=checkbox]', el.parent()).each( function(idx, el) {
					el.checked = false;
				});

				$('.subitems input[type=text]', el.parent()).each( function(idx, el) {
					el.value = '0';
				});

				 
			}
		});
		
		
		form.bind('submit', function (evt) {
			var ok = true;
			if (!$('.terms input', form).is(':checked')) {
				alert('Please agree to the terms and conditions before submitting.');
				ok = false;
				evt.preventDefault();
			}
			return ok;
		})
		
	},
	
	initBeforeAfter : function () {
	    function swap(img) {
	      var cur = img.attr('src');
	      img.attr('src', img.attr('data-alt'));
	      img.attr('data-alt', cur);
	    }
	    $('img.before-after').live('mouseover', function () {
                            swap($(this));                
			});

	    $('img.before-after').live('mouseout', function () {
                            swap($(this));  
			});


	}
	
	
	
}

$(document).bind('ready', function () {
	StoneHome.initServicesPages();
	StoneHome.initOrderForm();
	StoneHome.initBeforeAfter();
});




