$(document).ready(function(){
	home.init();
	exhibitor.init();
	visitor.init();
	press.init();
	gallery.init();
	contact.init();
});
var LOADING_ICON = 'WORKING..., PLEASE WAIT';
var common = {
	bindForms : function(formName) {
		if($(formName)) {
			$(formName).submit(function(){
				
				var valid = common.validate(formName);
				if(!valid.result) {
					common.notice(valid.message);
				}
				else {
					$('input[type=submit]').val(LOADING_ICON);
					$('input[type=submit]').attr('disabled','disabled');
					$(formName).ajaxSubmit({
						dataType : 'json',
						success : function(json){
							if(json.i_Code == 1) {
								$(formName).html(json.sz_Message);
								CORE._clearForm(formName);
							}
							else {
								common.notice(json.sz_Message);
							}
							$('input[type=submit]').removeAttr('disabled');
						}
					});
				}
				return false;
			});
		}
	},
	notice : function(msg) {
		if($('#notification')) {
			$('#notification').html(msg);
		}
	},
	validate : function(formName) {
		var result = {result:true,message:''};
		$(formName).find('input[validate-type=notnull]').each(function(){
			if($(this).val() == '') {
				result.result = false;
				result.message = $(this).attr('validate-message');
				return result;
			}
		});
		return result;
	}
};
var home = {
	init : function(){
		$('#online-registration').click(function(){ location.href='/mdl/visitor/action/registration/registration.html'; });
		$('#latest-news').click(function(){
			$.ajax({
				dataType: 'json',
				url: '/mdl/fair/action/hotnews/disable_layout/1',
				success: function(json) {
					$('#hot-news-dialog').html(json.sz_Message);
					$('#hot-news-dialog').dialog({
						modal: true,
						width: 550,
						height: 350,
						show: 'slow',
						title: 'Do you know?'
					});
				}
			});
		});
	}
};
var gallery = {
	init : function(){
		if($('#gallery-wrapper .album-cover .cover')) {
			$('#gallery-wrapper .album-cover .cover').click(function(){
		        gallery.loaddetail($(this).attr('id'));
			});
		}
	},
	loaddetail : function(id) {
		$.ajax({
            type: "GET",
            url: '/mdl/gallery/action/gallerydetail/disable_layout/1',
            data: {id:id},
            dataType : 'json',
            success: function(json){
                $('#gallerydetail-div').html(json.sz_Message);
                $('#gallerydetail-wrapper').show();
                $( 'html, body' ).animate( { scrollTop: 0 }, 'slow' );
				$("body").css("overflow", "hidden");
            }
        });		
	}
};
var contact = {
	init : function(){
		common.bindForms('#contact-form');
	}
};
var press = {
	init : function() {
		common.bindForms('#press-registration-form');
		if($('#video-wrapper')) {
			$('#video-wrapper .video .image').click(function(){
				var videosource = $(this).attr('video-source');
		        $.ajax({
		            type: "GET",
		            url: '/mdl/press/action/videodetail/disable_layout/1',
		            data: {videosource:videosource},
		            dataType : 'json',
		            success: function(json){
		            	$('#videodetail').html(json.sz_Message);
						$('#videodetail').dialog({
							modal: true,
							width: 560,
							height: 400,							
							title: ''
						});
		            }
		        });
			});
		}
	}
};
var visitor = {
	exhibitorEmails : [],
	init : function(){
		var addExhibitorEmailButton = '#add-exhibitor-email';
		common.bindForms('#visitor-registration-form');
		common.bindForms('#contact-exhibitor-form');
		if($(addExhibitorEmailButton)) {
			$(addExhibitorEmailButton).click(function(){
				visitor.addExhibitorEmails();
			});
		}
	},
	addExhibitorEmails : function() {
		var email = $('#exhibitorid').val();
		var f = true;
		for(var i=0;i<visitor.exhibitorEmails.length;i++) {
			if(email == visitor.exhibitorEmails[i]) {
				f = false;
			}
		}
		if(f) {
			visitor.exhibitorEmails.push(email);			
			var currentHtml = $('#email_holder').html();
			currentHtml += email + '<br/>';
			$('#email_holder').html(currentHtml);
			var currentValue = $('#exhibitor_emails').val();
			currentValue += email + ';';
			$('#exhibitor_emails').val(currentValue);
		}
	}
};
var exhibitor = {
	name : '',
	lastSelectedLetter : 'A',
	init : function() {
		common.bindForms('#exhibitor-registration-form');
		if($('#exhibitor-login-form')) {
			$('#exhibitor-login-form').submit(function(){
				$('#exhibitor-login-form').ajaxSubmit({
					dataType : 'json',
					success : function(json){
						CORE._clearForm('#exhibitor-login-form');
						if(json.i_Code == 1) {
							$('#exhibitor-login-form').html(json.sz_Message);
						}
						else {
							$('#login-fail-message').html(json.sz_Message);	
						}
					}
				});
				return false;
			});
		}
	},
	addMorePerson : function() {
		var name = '<li>';
        name += '<label>Name:</label>';
    	name += '<select name="Title[]" class="select-short">';
    	name += '<option value="Mr.">Mr.</option>';
    	name += '<option value="Mrs.">Mrs.</option>';
    	name += '<option value="Miss">Miss</option>';
    	name += '</select>&nbsp;';
    	name += '<input type="text" name="Name[]" style="width: 295px;"/>';
    	name += '</li>';
		$('#registration-name').after(name);
	},
	showExhibitorBy : function(l,p) {
		$('#exhibitor-list').html(LOADING_ICON);
		$('#letter-' + exhibitor.lastSelectedLetter).removeClass('exhibitor-letters');
		$('#letter-' + exhibitor.lastSelectedLetter).addClass('exhibitor-letters-deactive');
		exhibitor.lastSelectedLetter = l;
		$('#letter-' + l).removeClass('exhibitor-letters-deactive');
		$('#letter-' + l).addClass('exhibitor-letters');
    	$.ajax({
            type: "GET",
            url: '/mdl/visitor/action/getexhibitorbyalphabel/disable_layout/1',
            data: {letter: l,page:p},
            dataType : 'json',
            success: function(json){
            	$('#exhibitor-list').html(json.sz_Message);
            }
        });
	},
	selectArea : function(select) {
		var selectId = $(select).id;
		if($(select).val() != 0)
			$('#' + selectId + '_checkbox').attr('checked','checked');
		else
			$('#' + selectId + '_checkbox').removeAttr('checked');
	}
};
