function validate_fields(fields) {
	var i,elem;
	for (i=0; i<fields.length; i++) {
		elem = document.getElementById(fields[i]);
		if (elem && (elem.value == '')) return false;
	}
	return true;
}

function validate() {
	var mode_register = document.getElementById('mode_register');
	var mode_login = document.getElementById('mode_login');
	var terms = document.getElementById('terms');
	if (mode_register.checked) {
		if (!validate_fields(['firstname','lastname','email','email2','username','password','password1'])) {
			alert('Please fill in all fields marked as required.');
			return;
		}
		var p1 = document.getElementById('email');
		var p2 = document.getElementById('email2');
		if (p1.value != p2.value) {
			alert('Email address and confirmation do not match.');
			return;
		}
		var p1 = document.getElementById('password');
		var p2 = document.getElementById('password1');
		if (p1.value != p2.value) {
			alert('Password and confirmation do not match.');
			return;
		}
		if (!terms.checked) {
			alert('You need to read and accept our terms and conditions.');
			return;
		}
		document._form.submit();
	} else 
	if (mode_login.checked) {
		if (!validate_fields(['username2','password2'])) {
			alert('Please enter your username and password.');
			return;
		}
		if (!terms.checked) {
			alert('You need to read and accept our terms and conditions.');
			return;
		}
		document._form.submit();
	} else {
		alert('Please choose an option if you already have a Viono account or need to create a new one.');
	}
}

function validate_step1() {
	if (!validate_fields(['company','address','city','county','zip','country'])) {
		alert('Please fill in all fields marked as required.');
		return;
	}
	document._form.submit();
}

var domain_valid = false;

function validate_step2() {
	var domain = document.getElementById('domain');                                                                   
    if (domain.value == '') {                                                                   
        alert('Please choose a domain name.');                                              
    } else 
    if (domain_valid == 0) {                                                                    
    	alert('Domain name has already been taken.');                                       
    } else                                                                                      
    if (domain_valid != 1) {                                                                    
        alert('Domain name is invalid.');                                                   
    } else {
		document._form.submit();
	}	
}

function validate_step3() {
	var i, count = document._form.elements.length;
	for (i=0; i < count; i++) {
		if ((document._form.elements[i].name == 'template_id') && (document._form.elements[i].checked)) break;
	}	
	if (i == count) {
        alert('Please choose a design template.');                                                   
	} else {
		if (selected_preview && confirm("Are you sure to choose template '"+selected_preview_name+"'?")) {
			document._form.submit();
		}
	}	
}

function wait_step4(loc) {
	var timeout = function() {                                                                      	        					
		document.location = loc;
	}                                                                                               
	setTimeout(timeout, 11000);	
}

function animate_step4() {
	var delay = 10000;
	var images = ['/sitebuilder/images/image_02.gif', '/sitebuilder/images/image_03.gif', '/sitebuilder/images/image_04.gif', '/sitebuilder/images/image_05.gif'];
	var P = new Array(); for (i=0; i<images.length; i++) { P[i]=new Image; P[i].src= images[i]; }
	var loader_image = document.getElementById('loader_image');
	i = 0;
	var timeout = function() {
		loader_image.src = images[i];
		if (i<(images.length-1)) {
			i++;
			setTimeout(timeout, delay / (images.length+1));
		}
	}
	setTimeout(timeout, delay / (images.length+1));
}

var checkTimer = null;
var curCheck = null;

function checkDomain(doDelay) {
	var subDomain = document.getElementById('domain').value;
	if((subDomain==null)||(subDomain.length == 0)) {
		document.getElementById('check').style.display="none";
		return;
	}
	
	test = subDomain + '.vionostore.com';
	curCheck = test;
	if(doDelay) {
		if(checkTimer!= null) {
			window.clearTimeout(checkTimer);
			checkTimer = null;
		}
		document.getElementById('check').style.display="";
		document.getElementById("check_domain").innerHTML = test;
		document.getElementById("passed_domain").innerHTML = test;
		document.getElementById("failed_domain").innerHTML = test;
		document.getElementById("checking").style.display="";
		document.getElementById("failed").style.display="none";
		document.getElementById("passed").style.display="none";
		document.getElementById("derror").style.display="none";
		checkTimer = window.setTimeout(function() { checkDomain(false); }, 250);
		return;
	}
	new Ajax.Request("/checkdomain.html?d=" + encodeURIComponent(subDomain), 
		{	onSuccess: function(response) {
				finishTest(parseInt(response.responseText), test, 'domain name is invalid');
			}
		});
}

function finishTest(passed, test, errorMessage) {
	if(test == curCheck) {
		document.getElementById("checking").style.display="none";
		if(passed == 1) {
			document.getElementById("failed").style.display="none";
			document.getElementById("passed").style.display="";
			document.getElementById("derror").style.display="none";
		} else if(passed == 0) {
			document.getElementById("failed").style.display="";
			document.getElementById("passed").style.display="none";
			document.getElementById("derror").style.display="none";
		} else {
			document.getElementById("failed").style.display="none";
			document.getElementById("passed").style.display="none";
			document.getElementById("derror").style.display="";
			document.getElementById("derror_message").innerHTML = errorMessage;
		}
		domain_valid = passed;
	}
}

var selected_preview = null;
var selected_preview_name = '';

function select_template(i, image, preview, preview_name) {
	//$('img_'+i).src='/templatemanager/images/'+image;
	document.getElementById('img_'+i).src='/templatemanager/images/'+image;
	selected_preview = preview;
	selected_preview_name = preview_name;
}

function show_preview() {
	if (selected_preview) 
		TB_show(selected_preview_name, '/templatemanager/images/'+selected_preview, 0);
	else
		alert('Please choose a design template.');
	//jQuery.prompt('<img src="/templatemanager/images/'+selected_preview+'">',{buttons:{Close:true}});
}
