 $(document).ready(function() {
	 
	// menu
 	$("ul.sf-menu").superfish({
	 	speed:       'normal',                          // faster animation speed 
        autoArrows:  true,                           // disable generation of arrow mark-up 
        dropShadows: false                            // disable drop shadows
	 });
	 
	// Portfolio --------> 
	$('.portfolio-projects a').each(function() {
		var backgroundImage = $(this).find('span').css('background-image');
		$(this).css('background-image', backgroundImage );
		
		$('#div'+ $(this).attr("id")).dialog('destroy');
		
		var heightIE = 690;
		if(jQuery.browser.msie) {
			heightIE = 700;
		};
		
		$('#div'+ $(this).attr("id")).dialog({
			autoOpen: false,
			height: heightIE,
			width: 670,
			modal: true,
			resizable: false,
			buttons: {
				"Close": function() { 
					$(this).dialog("close"); 
				}
			}
		});
		
		$(this).click(function() {
			$('#div' + $(this).attr("id")).dialog('open');
			return false; 
		});
		
	});
	$('.portfolio-projects a').hover(function() {
		$(this).find('span').stop(true, true).fadeOut(500);
	},
	function() {
		$(this).find('span').stop(true, true).fadeIn(500);
	});
	
	$('.logo_prothomsoft a').hover(function() {
		$(this).find('span').stop(true, true).fadeOut(3000);
		$(this).find('span').stop(true, true).fadeIn(3000);
	});

	// Button -------->
	$("a", ".login").button({
        icons: {
            primary: 'ui-icon-check'
        },
        text: true
	});
	$("a", ".login").click(function() {
		$('#divLogin').dialog('open');
		$('#formLoginEmail').focus();
		return false; 
	});
	
	$("a", "#logout").button({
        icons: {
            primary: 'ui-icon-power'
        },
        text: true
	});	
	
	$("a", ".register").button({
        icons: {
	        primary: 'ui-icon-person'
	    },
	    text: true
	});
	$("a", ".register").click(function() {
		$('#divRegistration').dialog('open');
		$('#formRegistrationEmail').focus();
		return false; 
	});
	
	$("a", ".contact").button({
	        icons: {
	        primary: 'ui-icon-mail-closed'
	    },
	    text: true
	});
	$("a", ".contact").click(function() {
		$('#divContact').dialog('open');
		$('#formContactName').focus();
		return false; 
	});
	
	$("#idQuickContact").click(function() {
		$('#divContact').dialog('open');
		$('#formContactName').focus();
		return false; 
	});
	
	$("a", ".language").button({
	     icons: {
			primary: 'ui-icon-flag'
	    },
	    text: true
	});

	$("a", ".siteButton").button({
        text: true
	});	
	
	// Preloader ----->
	$("#isLoading").ajaxStart(function() {
		$(this).show();
	});
	
	$("#isLoading").ajaxStop(function() {
		$(this).hide();
	});
	
	$("#showPreloader").click(function() {
		$("#isLoading").show();
	});
	
	$("#hidePreloader").click(function() {
		$("#isLoading").hide();
	});
	
	$("#isLoading").css("position", "absolute");
	$(window).scroll(function() {
	    $("#isLoading").css("top", $(window).scrollTop() + "px");
	});
	
	// Dialog Forms -->
	function updateTips(t) {
		$(".validateTips").show();
		$(".validateTips").text(t).addClass('ui-state-highlight');
		setTimeout(function() {
			$(".validateTips").removeClass('ui-state-highlight', 500);
		}, 500);
	}
	
	function removeFieldsHighlight(fields) {
		$(".validateTips").hide();
		fields.removeClass('ui-state-error');
	}
	
	function removeFieldsContent(fields) {
		$(".validateTips").hide();
		fields.val('');
	}
	
	// Login Form Starts -->
	var formLoginFields = $([]).add($("#formLoginEmail")).add($("#formLoginPassword"));
	$('#divLogin').dialog('destroy');
	$('#divLogin').dialog({
		autoOpen: false,
		height: 280,
		width: 350,
		modal: true,
		resizable: false,
		open: function(event, ui) {
			$('#selectedRowId').val();
		},
		buttons: {
			"Login": function() {
				divLoginSubmit();
			},
			"Forgot Password": function() {
				$("#divLogin").dialog("close");
				$('#divForgotPassword').dialog('open');
				$('#formForgotPasswordEmail').focus();
			},
			"Cancel": function() {
				removeFieldsHighlight(formLoginFields);
				removeFieldsContent(formLoginFields);
				$("#divLogin").dialog("close"); 
			}
		}
	});
	
	$('#divLogin').find('input').keypress(function(e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			divLoginSubmit();
		}
	});
	
	function divLoginSubmit() {
		$.post(  
			$("#form_SN").val() + "index.php?event=executeLogin",  
			$("#formLogin").serialize(),  
			function(data){
		   	  if (data.validationResult) {
		   		    removeFieldsHighlight(formLoginFields);
		   		    removeFieldsContent(formLoginFields);
		   		  	$("#divLogin").dialog("close");
		   		  	if (data.userType == "admin") {
		   	  			$('#executeLoginAdmin').submit();
		   		  	}
		   		  	if (data.userType == "client") {
		   		  		$('#executeLoginClient').submit();
		   		  	}
				} else {
					removeFieldsHighlight(formLoginFields);
					updateTips(data.errorMessage);
					$("#" + data.fieldName + "").addClass('ui-state-error');
				}  
		  	},  
		  	"json"  
		 );
	}
	// Login Form End -->
	
	// Registration Form Starts -->
	var formRegistrationFields = $([]).add($("#formRegistrationEmail")).add($("#formRegistrationPassword"));
	$('#divRegistration').dialog('destroy');
	$('#divRegistration').dialog({
		autoOpen: false,
		height: 280,
		width: 350,
		modal: true,
		resizable: false,
		open: function(event, ui) {
			$('#selectedRowId').val();
		},
		buttons: {
			"Sign In": function() {
				divRegistrationSubmit();
			},
			"Cancel": function() {
				removeFieldsHighlight(formRegistrationFields);
				removeFieldsContent(formRegistrationFields);
				$("#divRegistration").dialog("close");				
			}		
		}
	});
	
	$('#divRegistration').find('input').keypress(function(e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			divRegistrationSubmit();
		}
	});
	
	function divRegistrationSubmit() {
		$.post(  
			$("#form_SN").val() + "index.php?event=executeRegistration",  
			$("#formRegistration").serialize(),  
			function(data){
		   	  if (data.validationResult) {
		   		  	removeFieldsHighlight(formRegistrationFields);
		   		  	removeFieldsContent(formRegistrationFields);
		   		  	$('#divRegistrationConfirm').dialog('open');
		   		  	$("#divRegistration").dialog("close");
				} else {
					removeFieldsHighlight(formRegistrationFields);
					updateTips(data.errorMessage);
					$("#" + data.fieldName + "").addClass('ui-state-error');
				}  
		  	},  
		  	"json"  
		  );
	}
	// Registration Form End -->
	
	// Registration Form Confirm Starts -->
	$('#divRegistrationConfirm').dialog('destroy');
	$('#divRegistrationConfirm').dialog({
		autoOpen: false,
		height: 180,
		width: 350,
		modal: true,
		resizable: false,
		buttons: {
			"Close": function() { 
				$(this).dialog("close"); 
			} 
		}
	});
	// Registration Form Confirm Ends -->
	
	// Contact Form Starts -->
	var formContactFields = $([]).add($("#formContactName")).add($("#formContactEmail")).add($("#formContactMessage"));
	$('#divContact').dialog('destroy');
	$('#divContact').dialog({
		autoOpen: false,
		height: 410,
		width: 370,
		modal: true,
		resizable: false,
		open: function(event, ui) {
			$('#selectedRowId').val();
		},
		buttons: {
			"Send": function() {
				divContactSubmit();
			},
			"Cancel": function() {
				removeFieldsHighlight(formContactFields);
				removeFieldsContent(formContactFields);
				$("#divContact").dialog("close");				
			}
			
		}
	});
	
	$('#divContact').find('input').keypress(function(e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			divContactSubmit();
		}
	});
	
	function divContactSubmit() {
		$.post(  
			$("#form_SN").val() + "index.php?event=executeContact",  
			$("#formContact").serialize(),  
			function(data){
		   	  if (data.validationResult) {
		   		  	removeFieldsHighlight(formContactFields);
		   		  	removeFieldsContent(formContactFields);
		   		  	$('#divContactConfirm').dialog('open');
					$("#divContact").dialog("close");
				} else {
					removeFieldsHighlight(formContactFields);
					updateTips(data.errorMessage);
					$("#" + data.fieldName + "").addClass('ui-state-error');
				}  
		  	},  
		  	"json"  
		  );
	}
	// Contact Form Ends -->
	
	// Contact Form Confirm Starts -->
	$('#divContactConfirm').dialog('destroy');
	$('#divContactConfirm').dialog({
		autoOpen: false,
		height: 180,
		width: 350,
		modal: true,
		resizable: false,
		buttons: {
			"Close": function() { 
				$(this).dialog("close"); 
			} 
		}
	});
	// Contact Form Confirm Ends -->
	
	// ForgotPassword Form Starts -->
	var formForgotPasswordFields = $([]).add($("#formForgotPasswordEmail"));
	$('#divForgotPassword').dialog('destroy');
	$('#divForgotPassword').dialog({
		autoOpen: false,
		height: 215,
		width: 350,
		modal: true,
		resizable: false,
		open: function(event, ui) {
			$('#selectedRowId').val();
		},
		buttons: {
			"Send Password": function() {
				divForgotPasswordSubmit();
			},
			"Cancel": function() {
				removeFieldsHighlight(formForgotPasswordFields);
				removeFieldsContent(formForgotPasswordFields);
				$("#divForgotPassword").dialog("close");				
			}
		}
	});
	
	$('#divForgotPassword').find('input').keypress(function(e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			divForgotPasswordSubmit();
		}
	});
	
	function divForgotPasswordSubmit() {
		$.post(  
			$("#form_SN").val() + "index.php?event=executeForgotPassword",  
			$("#formForgotPassword").serialize(),  
			function(data){
		   	  if (data.validationResult) {
		   		  	removeFieldsHighlight(formForgotPasswordFields);
		   		  	removeFieldsContent(formForgotPasswordFields);
		   		  	$("#divForgotPassword").dialog("close");
		   		    $('#divForgotPasswordConfirm').dialog('open');
				} else {
					removeFieldsHighlight(formForgotPasswordFields);
					updateTips(data.errorMessage);
					$("#" + data.fieldName + "").addClass('ui-state-error');
				}  
		  	},  
		  	"json"  
		  );
	}
	// ForgotPassword Form End -->
	
	// ForgotPassword Confirm Starts -->
	$('#divForgotPasswordConfirm').dialog('destroy');
	$('#divForgotPasswordConfirm').dialog({
		autoOpen: false,
		height: 180,
		width: 350,
		modal: true,
		resizable: false,
		buttons: {
			"Close": function() { 
				$(this).dialog("close"); 
			} 
		}
	});
	// ForgotPassword Form Confirm Ends -->
	
			
});
