/*
	Author: The Bridge
	Copyright (c): 2011 The Bridge
	Created: 14-11-2011
	Last Modified: 20-01-2012
	Name: System
	Description: Handle general page functionality
*/

function System(){
	this.modalDarkSmOpen = function(){
		$("#modal_dark_sm").modal({
			opacity: 80,
			overlayCss: {backgroundColor:"#fff"},
			minWidth: 404,
			autoPosition: true,
			overlayClose: true,
			persist: false,
			modal: true,
			focus: false,
			onOpen: function (dialog) {
				dialog.overlay.fadeIn(160, function () {
					dialog.data.hide();
					dialog.container.fadeIn(160, function () {
						var nameObj = dialog.data.find('#modal_txt_name');
						var companyObj = dialog.data.find('#modal_txt_company');
						var emailObj = dialog.data.find('#modal_txt_email');
						var messageObj = dialog.data.find('#modal_txt_message');
						
						if(nameObj.length){ nameObj.textfield({ height : 24, text : 'Full name' }); }
						if(companyObj.length){ companyObj.textfield({ height : 24, text : 'Company name' }); }
						if(emailObj.length){ emailObj.textfield({ height : 24, text : 'Email address' }); }
						if(messageObj.length){ messageObj.textfield({ height : 111, text : '' }); }
						
						dialog.data.fadeIn(200, function(){ });
					});
				});
			},
			onShow: function(dialog){ 
				var formObj = dialog.data.find('#modal_frm_contact');
				if(formObj.length){
					formObj.submit(function(e){
						e.preventDefault();
						var nameObj = dialog.data.find('#modal_txt_name');
						var companyObj = dialog.data.find('#modal_txt_company');
						var emailObj = dialog.data.find('#modal_txt_email');
						var messageObj = dialog.data.find('#modal_txt_message');
						var proceed = director.validateFrom(nameObj, companyObj, emailObj, messageObj);
						
						if (proceed){ director.sendMessage(formObj, 'modal'); }
					});
				}
			},
			onClose: function(dialog){
				dialog.data.fadeOut(160, function () {
					dialog.container.fadeOut(160, function () {
						dialog.overlay.fadeOut(200, function () {
							system.closeModal();
						});
					});
				});
			}
		});
	}
	
	this.modalLargeOpen = function(media){
		$("#modal_large").modal({
			opacity: 80,
			overlayCss: {backgroundColor:"#fff"},
			minWidth: 938,
			autoPosition: true,
			overlayClose: true,
			persist: false,
			modal: true,
			focus: false,
			onOpen: function (dialog) {
				dialog.overlay.fadeIn(160, function () {
					//dialog.data.hide();
					dialog.container.fadeIn(160, function () {
						dialog.data.fadeIn(200, function(){ system.animateMedia(media); });
					});
				});
			},
			onShow: function(dialog){ 
			},
			onClose: function(dialog){
				dialog.data.fadeOut(160, function () {
					dialog.container.fadeOut(160, function () {
						dialog.overlay.fadeOut(200, function () {
							system.closeModal();
						});
					});
				});
			}
		});
	}
	
	this.animateMedia = function(w){
		if (w == 'design'){
			director.animateModalClear();
		}
		else{
			director.animateModalScreen();
		}
	}
	
	this.nlCheckout = function(){
		$.cookie('newsletter', 'nothanks', { expires: 365, path: '/' });
		system.closeModal();
	}
	
	this.closeModal = function(){
		system.modalCheck();
		$.modal.close();
	}
	
	this.modalCheck = function(){
		$("#modal_dark_sm").remove() ;
		$('body').append('<div id="modal_dark_sm"><div id="top"></div><div id="mdbody"></div><div id="base"></div></div>');
	}
	
	this.registernl = function(){
		$("#nl_message").hide(400);
		$("#sbm_nl").attr('disabled', 'disabled');
		$("#working").css('display', 'block');

    	$.ajax({
    		type: 'GET',
    		cache: false,
			url: director.webpath+'ajax/req_newsletter.php',
			context: document.body,
			data : $("#frm_newsletter").serialize(),
			dataType : 'json',
			success: function(data, textStatus, jqXHR){
				$("#working").css('display', 'none');
				
				if (data.status=='good'){
					system.modalComplete('newsletter', 'registered', 365, 'Thank you for signing up.', 'zero_opac', 70);
				}
				else{
					if(data.field != ''){
						$("#nl_message").html('<span id="bad">Please enter a valid email address.</span>').show(200);	
					}
					else{
						$("#nl_message").html('<span id="bad">'+data.message+'</span>').show(200);	
					}
					$("#sbm_nl").removeAttr('disabled');
				}
			},
			error: function(jqXHR, textStatus, errorThrown){
				console.log(errorThrown);
			}
		});
    }
    
    this.modalComplete = function(ckname, ckval, ckexp, baseMsg, baseMsgCl, adj){
    	var newHtml = system.modalMessage(baseMsg, baseMsgCl);
		
		if(ckname != ''){
			$.cookie(ckname, ckval, { expires: ckexp, path: '/' });
		}
		
		$("#mdbody_i").animate({ opacity : 0 }, 400, function(){
			$("#mdbody").html(newHtml);
			$("#simplemodal-container").animate( { top : (parseInt($("#simplemodal-container").css('top'))+adj)+'px' }, 400, function(){
				$("#mdbody").animate( { height : '95px' }, 400, function(){
					$("#mdbody_i").animate( { opacity : 1 }, 600, function(){ } );	
				});
			});
		});
    }
    
    this.modalMessage = function(msg, cl){
    	var msgHtml = '<div id="mdbody_i" class="'+cl+'" style="padding: 0 0 10px 10px;">';
		msgHtml += '	<div class="basediv" style="width: 303px;">';
		msgHtml += '		<div class="basediv left" style="width: 273px;">';
		msgHtml += '			<h3>'+msg+'</h3>';
		msgHtml += '		</div>';
		msgHtml += '		<div class="basediv left" style="width: 30px; text-align: right;">';
		msgHtml += '			<a href="javascript:;" title="Close window" onclick="system.closeModal();"><img src="'+director.webpath+'images/modal_dark/close.png" width="30" height="30" alt="Close window" /></a>';
		msgHtml += '		</div>';
		msgHtml += '	</div>';
		msgHtml += '	<img src="'+director.webpath+'images/modal_dark/break.png" width="301" height="1" alt="The Bridge" style="margin: 20px 0 0 0;" />';
		msgHtml += '<p>We will be in touch very soon.</p>';
		msgHtml += '</div>';
		return msgHtml;
    }
    
    this.ScrollTo = function(elId){
		var obj = $("#"+elId);
		
		if (obj.length > 0){
			var scrollpoint = obj.offset().top;
			$('html, body').animate( { scrollTop : scrollpoint }, 800 );
			return false;
		}
	}
}
