var errTemplates = {
	'choose_service':'Please <a href="#xhtml-css" title="XHTML/CSS service">choose</a> at least one service to continue.' 
};

$(document).ready(function(){
	
	$('#avalable_services li').hover(
		function(){ if( !(/active/i).test(this.className) )this.className += '-hover'; },
		function(){ this.className = this.className.replace('-hover', ''); } 
	)
	
	// init top menu click (dynamic tabs creating)	 	
	$('#avalable_services li a,#avalable_services li span').click(function(){

		var li = $(this).parent();
		var a = $(this).parent().children('a');
		a.toggleClass('active');
		
		li.get(0).className = li.get(0).className.replace('-hover', '');
		li.get(0).className = $(a).hasClass('active')? li.get(0).className + '-active' : li.get(0).className.replace('-active', '');
	
		var dType = $(a).attr('rel');
		//alert(dType);
		
		if(!$(a).hasClass('active')){
			// remove tab
			//alert('remove tab');
			
			$('#orderform ul.service-tabs li.'+dType).remove();
			$('#ordtab_' + dType).find('input').attr('disabled', 'disabled').attr('readonly', 'readonly');
			$('#ordtab_' + dType).find('select').attr('disabled', 'disabled').attr('readonly', 'readonly');
			$('#ordtab_' + dType).find('textarea').attr('disabled', 'disabled').attr('readonly', 'readonly');
			$('#ordtab_' + dType).hide();
			//$('#ordtab_' + dType).html('');
			
			var first_tab = $('#orderform ul.service-tabs li').get(1);
			if (first_tab) $(first_tab).find('a').click();
			else $('#orderform ul.service-tabs li:first a').click();
		}
		else if( !$('#orderform ul.service-tabs li.'+dType).get(0) ){
			//alert('add tab');
			
			// add tab if not exists
			var ulTabs = $('#orderform ul.service-tabs');
			var tabContent = $('#orderform_temp ul.tabs li.'+dType).html();
			ulTabs.append('<li class="' + dType + '">' + tabContent + '</li>'); 
			
			// add tab content
			if( !$('#ordtab_' + dType).find('div').get(0) ){
				var tempHTML = $('#ordtab_' + dType + '_temp').contents().clone(true);
				var $contentCont  = $('#ordtab_' + dType);
				$contentCont.append(tempHTML);
				$('#ordtab_' + dType + ' textarea:not(.processed)').TextAreaResizer();
			}
			else{
				$('#ordtab_' + dType).find('input').attr('disabled', '').attr('readonly', '');
				$('#ordtab_' + dType).find('select').attr('disabled', '').attr('readonly', '');
				$('#ordtab_' + dType).find('textarea').attr('disabled', '').attr('readonly', '');
			}
			
			initOrderTabs();
			
			// show tab
			$('#orderform ul.service-tabs li.' + dType + ' a').click();
		}
		
		return false;
	});
	
	// init header icons
	$('#header ul.services a').click(function(){
		var li = $(this).parents('li').get(0);
		var icon = li.className;
		if( $('#avalable_services li.' + icon).get(0) )
			$('#avalable_services li.' + icon + ' a').click();
		else
			$('#avalable_services li.' + icon + '-active a').click();
		//alert('#avalable_services li.' + icon + ' a');
		$.scrollTo('#order-form', 500);
		return false;
	});
	
	$('#orderform').submit(function(e){
		var mincount = 2;
		if($('#ordtab_profile').get(0)) mincount = 3;
		if($('#orderform ul.service-tabs li').length < mincount){
			//alert(errTemplates.choose_service);
			show_form_error(errTemplates.choose_service, '#orderform');
			$('#order-form ul.errors li:last a').click(function(){
				$('#avalable_services li.html a').click();
				return false;
			})
			$.scrollTo('#order-form ul.errors', 100);
			return false;
		}

		$('#orderform input.submit').attr('disabled', 'disabled');
		$('#orderform input.submit').addClass('disabled');
		$('#orderform div.progressbar').show();
		$('#orderform input.submit').hide();
	});

	// init tabs
	initOrderTabs();

	// init file selector change
	$('#selectfile span a').click(function(){
		$('#selectfile').hide();
		$('#selectlink').show();
		$('#filelink').val('link');
		return false;
	})
	$('#selectlink span a').click(function(){
		$('#selectlink').hide();
		$('#selectfile').show();
		$('#filelink').val('file');
		return false;
	})
	
	// check from url default new tab
	var parts = window.location.href.match(/\#(.+)$/);
	if (parts && parts.length > 0){
		$('#avalable_services li.' + parts[1] + ' a').click();
	}
	
	// init first click if no selected
	if( !$('#avalable_services a.active').get(0) ){
			$('#avalable_services li.html a').click();
	}
	
	$('#orderform textarea:not(.processed)').TextAreaResizer();
	
	// init personal information step
	initProfileFields();
});

var oTabs = {};
function initOrderTabs(){
	$('#orderform ul.service-tabs li').css({
		//'opacity':0.4,
		'visibility':'visible'
	});
	//$('#orderform ul.service-tabs li.active').css('opacity', 1);
	/*
	$('#orderform ul.service-tabs li').hover(
		function(){ $(this).css('opacity',1); },
		function(){ if(!$(this).hasClass('active')) $(this).css('opacity',0.4); }
	);
	*/
	
	oTabs.links = $('#orderform ul.service-tabs li a');
	oTabs.content = $('#orderform div.center div.order-tab');

	$( oTabs.links ).click( function(){
		oTabs.acLink = this;
		oTabs.active = '#ordtab_' + $(this).attr('rel');
		$(oTabs.links).parents('ul.service-tabs').children('li').removeClass('active'); //.css('opacity', 0.4);
		$(oTabs.acLink).parent().addClass('active'); //.css('opacity', 1);
		$(oTabs.content).hide();
		$(oTabs.active).show();
		return false;
	});

	if( $('#orderform div.center div.order-tab:visible').length == 0 )
		$(oTabs.links.get(1)).click();
	
}

function initProfileFields(){
	if( !$('#fields_user').get(0) ) return;
	$('a#switch_user_forms').click(function(e){
		e.preventDefault();
		$('#new_user input').attr('disabled', 'disabled');
		$('#new_user').hide();
		$('#login_user input').attr('disabled', '');
		$('#login_user').show();
	});
	$('a#switch_user_forms2').click(function(e){
		e.preventDefault();
		$('#login_user input').attr('disabled', 'disabled');
		$('#login_user').hide();
		$('#new_user input').attr('disabled', '');
		$('#new_user').show();
	});
}
