function openNewWindow(url){
	window.open(url);
	return false;
}

function updateMenuClass(menu) {
		$('#'+menu.id).addClass('menu_block_selected');
		if (selected_menu != '#' + menu.id) {
			$(selected_menu).removeClass('menu_block_selected');
		}
		selected_menu = '#'+menu.id;
}

function updateMenuId(menu_id) {
    if(menu_id != ''){
		$('#'+menu_id).addClass('menu_block_selected');
		if (selected_menu != '#' + menu_id) {
			$(selected_menu).removeClass('menu_block_selected');
		}
		selected_menu = '#'+menu_id;
    }
    else {
        $(selected_menu).removeClass('menu_block_selected');
    }
}

function menuClickHandler(){			
	linkClickHandler('#'+this.id+' a', '#content', '#loader');
	updateMenuClass(this);
	
	return false;	
}

function linkClickHandler(link, result_div, loader_id){
	menu_href = $(link).attr('href');			

	$.ajax({
		type: 'GET',
		url: menu_href,		
		beforeSend: function(){
			$(loader_id).show();
			$(result_div).hide();
		},		
		success: function(html){			
			$(result_div).html(html);
		},
		complete: function(XMLHttpRequest){
			handleAjaxComplete(XMLHttpRequest, result_div, loader_id, menu_href);
		}
	});		
}

function changeImage()
{
	$.ajax({
		type: 'GET',		
		url: 'websignup.php?'+Math.random(),
		success: function(html){			
			$('#captcha').attr('src','/websignup/captcha.php?'+Math.random());
		}
	});
	return false;
}

function bindLinks(div, loader) {
	$('* a', div).each(function(){
		if ($(this).attr('target') == '' && $(this).attr('rel') != 'ext' && ($(this).attr('href').substring(0,1)) != '#') {
			$(this).bind('click', function(){
				linkClickHandler(this, div, loader);
				return false;
			});
		}
	});
}


function bindForms(div, loader){
	$('* form', div).each(function(){
		if ($(this).attr('target') == '' && $(this).attr('rel') != 'ext') {
			$(this).bind('submit', function(event){
				handleFormSubmit(this, div, loader);
				return false;
			});
		}
	});
}

function handleFormSubmit(form, result_div, loader_id){
    var action = $(form).attr('action');
	$.ajax({
		type: $(form).attr('method'),
		url: $(form).attr('action'),
		data: handleFormData(form),
		beforeSend: function(){
			$(loader_id).show();
			$(result_div).hide();
		},
		success: function(html){
			$(result_div).html(html);
		},
		complete: function(e){
			handleAjaxComplete(e, result_div, loader_id, action);
		}
	});
}

function handleAjaxComplete(req, div, loader, href){
	bindLinks(div, loader);
    updateWebstat(href);
	/*bindForms(div, loader);*/
	$(div).animate({ height: 'show', opacity: 'show' }, 'fast');
	$(loader).hide();
}

function updateWebstat(req){
    var req_url = '/webstats.php?currenturl=http://www.voipblast.com/en/'+req+'&browser='+escape(navigator.appName)+'&referer='+escape(document.referrer);

    $.ajax({
        type: 'GET',
        url: req_url,
        success: function(html){
			$('#webstats').attr('src', req_url);
		}
    });

    return false;
}

function handleFormData(form){
	var data_string = '';
		
	$('input', form).each(function(){
		if($(this).attr('type') != 'submit') {
			data_string = data_string+$(this).attr('name')+'='+php_urlencode($(this).attr('value'))+'&';
		}
	});
	
	if(data_string.substring(data_string.length-1) == '&') data_string = data_string.substring(0, data_string.length-1);

	return data_string;
}

function handleFormNewsletterSubmit(form){
	$.ajax({
		type: $(form).attr('method'),
		url: $(form).attr('action'),
		data: handleFormData(form),
		beforeSend: function(){
			$('#nl_loader').show();
			$('#nl_submit').hide();
		},
		success: function(html){
			$('#nl_email').val(html);
		},
		complete: function(e){
			if($('#nl_email').val()=='Signed Up!'){
				$('#nl_email').css('background-color', '#FFFFFF');
			}else{
				$('#nl_email').css('background-color', '#FFAFAF');
			}			
			$('#nl_loader').hide();
			$('#nl_submit').show();
		}
	});
}

function checkNewsletterEmail(e) {		
	if (isEmail($('#news_feedback #email').val()) == false) {
  	alert('The entered email address is incorrect');		 
		return false; 					
  }
  else {
  	$('#news_feedback').submit();
		e.PreventDefault();
		return true;				
  }			
}	

function handleFormCallTrialSubmit(form){
	$.ajax({
		type: $(form).attr('method'),
		url: $(form).attr('action'),
		data: handleFormData(form),
		success: function(html){
			$('#content_trial').html(html);
		},
		complete: function(e){
			$('#content_trial').show();
		}
	});
}

function php_urlencode (str) {
str = escape(str);
return str.replace(/[*+\/@]|%20/g,
function (s) {
switch (s) {
case "*": s = "%2A"; break;
case "+": s = "%2B"; break;
case "/": s = "%2F"; break;
case "@": s = "%40"; break;
case "%20": s = "+"; break;
}
return s;
}
);
}
