(function(){

$.domhost = {
	box: function() { if ($('.domain_box').size() == 0) return;
		$('.domain_box form').submit(function() {
			if (!$.domhost.validate_domain($('.domain_box #domain').val())) { alert('Enter a valid domain name'); return false; }
			var frm = $(this);  $('#domain_popup_con').hide(); $('#domain_popup_lod').show();
			$('.domain_popup_box').slideDown('normal', function(){
				$.ajax({url:  frm.attr('action'), data: frm.serialize(), cache: false, type: 'POST', success: function(html){
					$('#domain_popup_lod').hide(); $('#domain_popup_con').html(html).show();
				}   });
			 });
			return false;
		});
	},
	order: function(olnk) {
		$('#domain_popup_con').hide(); $('#domain_popup_lod').show(); 
		$.ajax({url: $('#dominAddInp').val(), data: $('.domain_box form').serialize(), cache: false, type: 'POST', success: function(html){
			window.location.href=$(olnk).attr('href');
		}});		
		return false;
	},
	validate_domain: function(val) {
		if (val == "") return false;
		var reg=/^(([a-z0-9][-a-z0-9]*?[a-z0-9])\.)+[a-z]{2,6}$/; if(reg.test(val)==false)return false;
		return true;
	},
	hosting: function() { 
		$('.ui-csld').uiclsider();  $.domhost.handle_domain_panel();
	},
	show_slide: function(num) {
		var el=$('#ui-csld'+num).removeClass('ui-csld-dis'); $('.ui-csld-tit',el).click();
	},
	handle_domain_panel: function() {
		$('#slideBtnDom').click(function(){ $.domhost.show_slide(2); $.domhost.load_pack_panel($(this).attr('href')); return false; });
		$('.slide_lnk_drem').click(function(){ $.domhost.load_domain_panel($(this).attr('href')); return false; });		
		window.setTimeout($.domhost.load_domain_avails, 1000);
	},
	load_domain_avails: function() { 
		$.ajax({url: $('#availAction').val(), cache: false, success: function(html){ 
			$('#slide_domain_avail').html(html); 
			$('.slide_lnk_dadd').click(function(){ $.domhost.load_domain_panel($(this).attr('href')); return false; });
		}});
	},
	load_domain_panel: function(url) { 
		$.domhost.load_ajax(url, '', '1', function(){$.domhost.handle_domain_panel();});						
	},
	load_pack_panel: function(url) { $.domhost.load_ajax(url, '', '2', function(){
			$('#slideBtnPck').click(function(){ $.domhost.show_slide(3); $.domhost.load_conf_panel($(this).attr('href')+'&package='+$('.slide_pack_itmsel').attr('rel')); return false; });
			$('.slide_pack_item').mouseover(function(){$(this).addClass('slide_pack_itmhov');}).mouseout(function(){$(this).removeClass('slide_pack_itmhov');}).click(function(){ $('.slide_pack_itmsel').removeClass('slide_pack_itmsel'); $(this).addClass('slide_pack_itmsel'); }); 			
		});
	},
	load_info_panel: function(url) { $.domhost.load_ajax(url, '', '4', function(){
			$('#slideBtnInf').click(function(){ var frm = $('#slideFrmInf'); if (!$.domhost.is_form_valid(frm)) return false;
				$('#dslidecon4').hide(); $('#dslidelod4').show(); 
				$.ajax({url: url, data: frm.serialize(), cache: false, type: 'POST', success: function(html){ 
					if (html == 'success') { window.location.href = $('#purcAction').val();
					} else {  $('#dslidelod4').hide(); $('#dslidecon4').html(html).show(); $.domhost.handle_info_form(); } 
				}});
			return false; });
			$.domhost.handle_info_form();
		});
	},
	handle_info_form: function() {
		$('#compInp').blur(function(){ $('#compType select,#companyKvk select').removeClass('val_rq'); 
				if ($(this).val() == '') {  $('#compType,#companyKvk').hide(); return; };
				$('#compType select,#companyKvk select').addClass('val_rq');
				$('#compType,#companyKvk').fadeIn(400);
			});
			if ($('#compInp').val()=='') $('#compType,#companyKvk').hide();
	},
	load_conf_panel: function(url) { $.domhost.load_ajax(url, '', '3', function(){
			$('#slideBtnCnf').click(function(){ $.domhost.show_slide(4); $.domhost.load_info_panel($(this).attr('href')); return false; });
		});
	},
	is_form_valid: function(frm) {
		var nErr=0;frm.find('*').filter('input, select, textarea').each(function(){if(!isValid(this)){(nErr++);}});if(nErr>0)return false;return true;
		function isValid(obj){ var val=$(obj).attr('class'); if(val && val.indexOf(' val') > 0){ val = val.substr(val.indexOf(' val') + 4); if(val){ var er = $('.slide_frm_err', $(obj).parent()); if($.domhost.is_valid_el(obj,val)){
		er.removeClass('err_e'); return true;}
		else{ er.addClass('err_e'); return false;}}}
		return true;}		
	},
	is_valid_el:function(e,type){ var value=$(e).val();var tarr=type.split('_');for(var i=0;i<tarr.length;i++){var t=tarr[i];if(t=='rq'){if(!value||value=='')return false;}
		else if(t=='ck'){if(!e.checked)
		return false;}
		else if(t=='em'){if(value){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(reg.test(value)==false)return false;}}
		else if(t=='pn'){if(value){var reg=/^[0-9\-]+$/i;if(reg.test(value)==false)return false;}}
		else if(t=='nm'){if(value&&isNaN(value))return false;}
		else if(t.search('min')!=-1){var min=parseInt(t.replace('min',''));if(value&&value.length<min)return false;}
		else if(t.search('max')!=-1){var max=parseInt(t.replace('max',''));if(value&&value.length>max)return false;}
		} return true;
	},	
	load_ajax: function(url, frmData, sldNum, onsuccess) {
		$('#dslidecon' + sldNum).html('').hide(); $('#dslidelod' + sldNum).show();
		$.ajax({url:  url, data: frmData, cache: false, type: 'POST', success: function(html){
			$('#dslidelod'+sldNum).hide(); $('#dslidecon'+sldNum).html(html).show(); if (onsuccess) onsuccess();
		} });
	}
}

$.fn.uiclsider = function(options){
	var defaults = {			
		speed: 500
	};		
	var options = $.extend(defaults, options); var curSlide=0;		  
		
	this.each(function() { var sld = $(this); var l = 0; $('.ui-csld-itm', sld).each(function(i){  var el = $(this); var tit = $('.ui-csld-tit',el);				
			el.css('left', l+'px'); l+=tit.width(); if(i==0) l += $('.ui-csld-con',el).width();
			$('.ui-csld-tit', this).click(function(){ if (!$(this).parent().hasClass('ui-csld-dis')) showSlide(i); return false; });
		});
		function showSlide(num) { if (curSlide==num)return; var l = 0; $('.ui-csld-itm', sld).each(function(i){ var el = $(this); var tit = $('.ui-csld-tit',el);
				el.animate({'left': l+'px'},options.speed); l+=tit.width(); if(i==num) l += $('.ui-csld-con',el).width();
			}); curSlide = num;
		}
	});
}

})(jQuery);

$(document).ready(function() {$.domhost.box();});
