var amountOfTickets = 0;

function advancedSearchTrigger() 
{
	category = document.getElementById('input-category');
	venue = document.getElementById('input-venue');

	if( category != 'undefined' && category.style.display == 'none' ) {	
		category.value = 'Kategori';
		category.style.display = 'block';
	}
	else if( category != 'undefined' && category.style.display == 'block' ) {	
		category.style.display = 'none';
	}	
	
	if( venue != 'undefined' && venue.style.display == 'none' ) {	
		venue.value = 'Sted';
		venue.style.display = 'block';
	}
	else if( venue != 'undefined' && venue.style.display == 'block' ) {	
		venue.style.display = 'none';
	}	
	return false;
}

function checkVat(event) 
{
	if($('#company-vatnumber').val().length > 0) {
		$('#company-vatnumber').val($('#company-vatnumber').val().replace(/\s*|\s*$/g,''));
	}
	if($('#company-vatnumber').val().length == 9 && $('#company-name').empty()) {		
		if( typeof running == 'undefined' || typeof running != 'undefined' && running == false ) {				
			running = true;	
			
			function onBeforeSend(XMLHttpRequest)
			{
				$('#ajax-loader-mini').show();
			}
	        
	        function onDataError(XMLHttpRequest, textStatus, errorThrown) 
	        {
	        	$('#ajax-loader-mini').fadeOut();
	        }
	                
			function onDataReceived(data) 
			{
		  	  running = false;
		  	  if( typeof data == 'undefined' || (typeof data != 'undefined' && typeof data.company == 'undefined')) {
		  		  return false;
		  	  }
		  	  company = data.company;
		      $('#company-name').value = '';
		      $('#company-address').value = '';
		      $('#company-postalcode').value = '';
		      $('#company-postaloffice').value = '';
		      $('#company-email').value = '';
		      $('#company-phone').value = '';
		      
		      if( typeof company.name != 'undefined' ) {			      
		      	$('#company-name').val(company.name);
		      }			      
		      if( typeof company.address != 'undefined' ) {			      
		      	$('#company-address').val(company.address);
		      }			      
		      if( typeof company.postalcode != 'undefined' ) {			      
		      	$('#company-postalcode').val(company.postalcode);
		      }			      
		      if( typeof company.postaloffice != 'undefined' ) {			      
		      	$('#company-postaloffice').val(company.postaloffice);
		      }			      
		      if( typeof company.email != 'undefined' ) {			      
		      	$('#company-email').val(company.email);
		      }			      
		      if( typeof company.phone != 'undefined' ) {			      
		      	$('#company-phone').val(company.phone);
		      }	
		      $('#ajax-loader-mini').fadeOut();
			}
			$.ajax({
				url: '/ticspace/vat/?number=' + $('#company-vatnumber').val(),
				method: 'GET',
				timeout: 10000,
				dataType: 'json',
				beforeSend: onBeforeSend,
				success: onDataReceived,
				error: onDataError
			});	
		}
	}		
}

function checkBuyTicketForm(event) 
{
	if( $('confirm-eula').present() && $('confirm-eula').getValue() == 'on' ) {
		return true;
	}		
	alert("Du må akseptere vilkår for kjøp.");
	return false;
}

function ml(ar, na, block) 
{
	  str = eval('String.fromCharCode(' + ar + ')');
	  if (na == '') na = str;
	  document.write('<a href="mailto:' + str + '">' + na + '<\/a>');
	  block = document.getElementById(block);
	  block.style.display = 'none';
}	

function shareOnFacebook()
{
	var pageUrl = window.location['protocol'] + '//' + window.location['host'] + window.location['pathname'];
	pageUrl = pageUrl.replace("/api/", "/");
	window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(pageUrl) + '&amp;t=' + encodeURIComponent(document.title), 'sharer', 'toolbar=0,status=0,width=626,height=436');
	return false;
}

function updateTicketReceivers(ticketId)
{
	selecta = document.getElementById('amount-' + ticketId);
	inputParent = document.getElementById('receivers-' + ticketId);
	if(selecta != undefined && selecta != 'undefined') {
		toggleInputFields(ticketId, selecta.value);
	}
}

function toggleInputFields(ticketId, amount) 
{
	amountOfTickets = amount;
	receiversParent = document.getElementById('receivers-' + ticketId);
	payerHeading = document.getElementById('payerheading-' + ticketId);
	receiversHeading = document.getElementById('receiversheading-' + ticketId);
	if(amount > 0) {
		receiversParent.style.display = 'block';
		receiversParent.style.borderWidth = '1px';
	} else {
		receiversParent.style.display = 'none';
		receiversParent.style.borderWidth = '0px';
	}
	if(amount == 1) {
		payerHeading.innerHTML = 'Hvem skal betale for billetten?';
		receiversHeading.innerHTML = 'Hvem skal motta billetten?';
	} else if(amount > 1) {
		payerHeading.innerHTML = 'Hvem skal betale for billettene?';
		receiversHeading.innerHTML = 'Hvem skal motta billettene?'; 
	}
	for(i = 1; i <= 9; i++) {			
		receiversBlock = document.getElementById('receivers-block-' + ticketId + '-' + i);
		if(i <= amount) {
			receiversBlock.style.display = 'block';
		} else {
			if(receiversBlock != null) {
				receiversBlock.style.display = 'none';
			}
		}
	}
}

function checkInputFields(ticketId, action) 
{
	var status = false;
	// allForms = document.getElementsByClassName('buy-ticket-form');
	allForms = $("form.buy-ticket-form'");
	if(allForms != null) {
		ids = [];
		for(i=0; i< allForms.length; i++) {
			ids[i] = allForms[i].id.replace('buy-ticket-', '');
		}
		if(ids.length > 0) {
			for(j=0; j<ids.length; j++) {
				if(ids[j] != ticketId) {
					receiversParent = document.getElementById('receivers-' + ids[j]);
					terms = document.getElementById('terms-' + ids[j]);
					select = document.getElementById('amount-' + ids[j]);
					receiversParent.style.display = 'none';
					select.value = 0;
					terms.checked = false;
					feedbackblock = document.getElementById('feedback-block-' + ids[j]);
					feedbackblock.style.display = 'none';
				}
			}
		}
	}
	terms = document.getElementById('terms-' + ticketId);
	var feedbackblock = document.getElementById('feedback-block-' + ticketId);
	if(terms != undefined) {
		if(terms.checked == false && action == 'submit') {			
			feedbackblock.style.display = 'block';
		} else {
			feedbackblock.style.display = 'none';
			status = true;
		}
	}
	msg = '';
	errorMsgParent = document.createElement('div');
	if(action == 'submit' && status == true && amountOfTickets > 0) {			
		pname = document.getElementById('payee-name-' + ticketId);
		pemail = document.getElementById('payee-email-' + ticketId);
		pmobile = document.getElementById('payee-mobile-' + ticketId);
		pmobilecc = $('#payee-mobile-cc-' + ticketId);
		if(pname != null && pemail != null && pmobile != null && pmobilecc != null) {
			if(pname.value == '' || pemail.value == '' || pmobile.value == '' || pmobilecc.value == '') {
				msg += '<p class="error-msg">Alle felter for betaler må fylles ut.</p>';
				p = document.createElement('p');
				p.innerHTML = 'Alle felter for betaler må fylles ut.';
				errorMsgParent.appendChild(p);
				status = false;
			} else {
				pphonecc = pmobilecc.val();
				if(pphonecc == undefined) {
					msg += '<p class="error-msg">Land for mobilnummer må velges for betaler.</p>';
					return false;
				}
				if(pphonecc == 46) {
					mobileLength = 9;
				} else if(pphonecc == 47) {
					mobileLength = 8;
				} else {
					mobileLength = 8;
				}
				if (pmobile.value && (!(/^[0-9]+$/.test(pmobile.value)) || pmobile.value.length != mobileLength)) {
					p = document.createElement('p');
					msg += '<p class="error-msg">Mobilnummer for betaler må være ' + mobileLength + ' sifre.</p>';
					p.innerHTML = 'Mobilnummer for betaler må være ' + mobileLength + ' sifre.';
					errorMsgParent.appendChild(p);						
					status = false;						
				}
				// @todo validate email adresses			
			}
		}
		for(k = 1; k <= amountOfTickets; k++) {			
			rname = document.getElementById('receiver-name-' + ticketId + '-' + k);
			remail = document.getElementById('receiver-email-' + ticketId + '-' + k);
			rmobile = document.getElementById('receiver-mobile-' + ticketId + '-' + k);
			rmobilecc = $('#receiver-mobile-cc-' + ticketId + '-' + k);
			if(rname != null && remail != null && rmobile != null && rmobilecc != null) {
				if(rname.value == '' || remail.value == '' || rmobile.value == '' || rmobilecc.value == '') {
					msg += '<p class="error-msg">Alle felter for mottaker ' + k + ' må fylles ut.</p>';
					p = document.createElement('p');
					p.innerHTML = 'Alle felter for mottaker ' + k + ' må fylles ut.';
					errorMsgParent.appendChild(p);						
					status = false;
				} else {
					phonecc = rmobilecc.val();
					if(phonecc == undefined) {
						msg += '<p class="error-msg">Land for mobilnummer må velges for mottaker ' + k + '.</p>';
						return false;
					}
					if(phonecc == 46) {
						mobileLength = 9;
					} else if(phonecc == 47) {
						mobileLength = 8;
					} else {
						mobileLength = 8;
					}
					if (rmobile.value && (!(/^[0-9]+$/.test(rmobile.value)) || rmobile.value.length != mobileLength)) {
						p = document.createElement('p');
						msg += '<p class="error-msg">Mobilnummer for mottaker ' + k + ' må være ' + mobileLength + ' sifre.</p>';
						p.innerHTML = 'Mobilnummer for mottaker ' + k + ' må være ' + mobileLength + ' sifre.';
						errorMsgParent.appendChild(p);						
						status = false;						
					}
					// @todo validate email adresses
				}
			}				
		}
	}
	if(msg != '') {
		feedbackblock.innerHTML = '';
		feedbackblock.appendChild(errorMsgParent);
		feedbackblock.style.display = 'block';
	}
	if(action == 'submit' && status == true) {
		ajaxblock = document.getElementById('ajaxblock-' + ticketId);
		if(ajaxblock != null) {
			ajaxblock.style.display = 'block';
		}
	}
	return status;
}

function changeMaxLength(location) {
	if(location == 'user-register' || location == 'user-update') {		
		phonecc = $('#phone_country_code');
		phone = $('#phone');
	} else if(location == 'promoter-register-company') {
		phonecc = $('#company-phone_country_code');
		phone = $('#company-phone');		
	} else if(location == 'promoter-register-contact') {
		phonecc = $('#contact-phone_country_code');
		phone = $('#contact-phone');		
	} else if(location == 'promoter-update') {
		phonecc = $('#promoter_phone_country_code');
		phone = $('#phone');		
	}
	if((phonecc != undefined && phonecc != 'undefined') && (phone != undefined && phone != 'undefined')) {
		if(phonecc.val() == 46) {
			phone.attr('maxLength', 9);
		} else if(phonecc.val() == 47) {
			phone.attr('maxLength', 8);
		}
	} 
}