/**
* no conflict with prototype, use jQuery instead of $, see http://stackoverflow.com/questions/134572/jquery-prototype-conflict
*/
jQuery.noConflict();

jQuery(document).ready(function(){
	//	get in touch form
	//jQuery("#getintouch").validate(); // enable validation
	
	jQuery("#getintouch").validate({
		rules: {
			name: "required",
			email: {
				required: true,
				email: true
			},
			opinion: {
				required: true,
				minlength: 5
			}
		},
		messages: {
			name: "Please enter your firstname",
			email: "Please enter a valid email address",
			opinion: {
				required: "Please enter your opinion",
				minlength: "Your opinion must be at least 5 characters long"
			}
		}
	});
    
    jQuery("form#getintouch").submit(function() {
    	if(jQuery("#getintouch").valid()) {
	    	
	    	jQuery("form#getintouch #submit").val("Processing");
	    	jQuery("form#getintouch #submit").attr("disabled", true);
	    	jQuery("form#getintouch #submit").css("cursor", "wait");
	    	
	    	jQuery.ajax({
	    	      type: "POST",
	    	      url: "/sfSimpleCMS/opinion",
	    	      data: jQuery(this).serialize(),
	    	      success: function(data) {
	    		 	var ret_data = jQuery.parseJSON(data);
	    		 	if(ret_data.status=='false'){
	    		 		alert(ret_data.message);
	    		 		resetGetInTouchSubmitButton();
	    		 		return null;
	    		 	}
	    			jQuery('#getintouch').html("<div id='message'></div>");
	    			jQuery('#getintouch #message').html("<h2>Form Submitted!</h2>")
		    	        .append("<p>We will be in touch soon.</p>")
		    	        .hide()
		    	        .fadeIn(1500, function() {
		    	        	jQuery('#getintouch #message').append("<img id='checkmark' src='/images/check.png' />");
		    	        });
	    			
	    			resetGetInTouchSubmitButton();
	    	      },
	    		  error: function(){
	    	    	  alert("Error: Server is not avaible.");
	    	    	  
	    	    	  resetGetInTouchSubmitButton();
	    	      }
	    	});
    	}
    	
    	return false;
    });
    
    // Books sidebar navigation
	jQuery(".books").delegate("#books_nav li .hitarea", "click", function(){
		jQuery(this).parent().next('ol').toggle();
		jQuery(this).toggleClass("closed");
	});
	// Hidden 'more' section
	jQuery(".books").delegate(".more", "click", function(){
		jQuery(this).toggleClass("less"); 
		jQuery(this).next('.more_box').slideToggle();
	});
	// download page
    jQuery('#download_list li a').hover(function () {
    	jQuery(this).parent('li').addClass("active");
	}, function () {
		jQuery(this).parent('li').removeClass("active");
	});
    // contact us page scroll bars
    jQuery('#meet_the_team ul').jScrollPane();
    // vimeo video popup
	jQuery("a[rel^='prettyPhoto']").prettyPhoto();
	
	// reload slots versions
	jQuery("form.edit_slot").submit(function() {
		
		var dataString = 'slug='+ jQuery("form#cms_tools_update_page input#update_path").val();
		
		jQuery.ajax({
			type: "POST",
			url: "/sfSimpleCMS/GetPageSlotsVersions",
			data: dataString,
			success: function(data) {
				var ret_data = jQuery.parseJSON(data);
				jQuery("ul#cms_tools_versions").html(ret_data);
			}
		});
	});
	
	jQuery(":input.infieldtitle[title]").labelify({ text: function(input) {
		if(input.value === '') {
			return input.title;
		  }
	} });
	
	// price page
	jQuery('.description').hover(function() {
		jQuery(this).show();
	}, function(){
		jQuery(this).hide();
	});


	jQuery('.price_column ul li').hover(function() {
		var type = jQuery(this).attr('class');
		var column = jQuery(this).parents('.price_column').attr('id');
		jQuery('.bubles .description').each(function() {      
			if(jQuery(this).hasClass(type) && jQuery(this).parents('.buble').hasClass(column)){
				jQuery(this).show();
			}else{
				jQuery(this).hide();
			}
		});
	}, function(){
		jQuery('.description').hide();
	});
	
	jQuery("a.tab").click(function () {
		jQuery(".active").removeClass("active");
		jQuery(this).addClass("active");
		jQuery(".content").hide();
		var content_show = jQuery(this).attr("title");
		jQuery("#"+content_show).show();
		
		return false;
	});
	
	
	// sample page
	if ( first_element = jQuery("#categories_list ul li a").first() )
	{
		setActiveCategory(first_element.html());
	}
	
	jQuery("#categories_list ul li a").click(function () {
		setActiveCategory( jQuery(this).html() );
		return false;
	});
	
	jQuery("#sample_boxes .sample_box .plastic_header").click(function () {
		category_name = jQuery(this).find("h2").html();
		setActiveCategory(category_name);
		return false;
	});
	
	function setActiveCategory(category_name)
	{
		// update category list
		jQuery("#categories_list ul li a.active").removeClass("active");
		jQuery("#categories_list a:contains('"+category_name+"')").addClass("active");
		
		// close all categories
		jQuery("#sample_boxes .sample_box .sample_box_switch").html("+");
		jQuery("#sample_boxes .sample_box .plastic_header").removeClass("active");
		
		// slide up all except this one
		jQuery("#sample_boxes .sample_box h2").each(function(){
			if ( jQuery(this).html()!=category_name )
			{
				jQuery(this).parent().parent().find('.sample_box_content').slideUp();
			}
		});
		
		// open this one
		if ( h2=jQuery("#sample_boxes .sample_box h2:contains('"+category_name+"')") )
		{
			if (e=h2.parent())
			{
				e.find(".sample_box_switch").html("-");
				e.parent().find('div.sample_box_content').slideDown();
				e.addClass("active");
			}
		}
	}
	
});


function resetGetInTouchSubmitButton() {
	jQuery("form#getintouch #submit").val("Send");
	jQuery("form#getintouch #submit").attr("disabled", false);
	jQuery("form#getintouch #submit").css("cursor", "pointer");
}

SyntaxHighlighter.defaults['gutter'] = false;
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();


