var lastchk = "";
var calon = 0;
var nameschk = 0;
var nameschn = 0;
var errresp = 0;

function prep(text) {
	text = encodeURI(text);
	text = text.replace(/&/g, "%26");
	text = text.replace(/\+/g, "%2B");
	text = text.replace(/#/g, "%23");
	return text;
}
function upload(mode) {
	window.open('/upload/index.php?mode=' + mode,'','status=no,width=426,height=300,left=20,top=20,scrollbars=yes');
}

function doajax(url, data, type) {
	var req = new Request({
		url: url,
		method: type, 
		onRequest: showspinner(),
		onSuccess: function(response) { ajaxresponse(url, response); }
		});
	req.send(data);
}
function showspinner() {
	$('loading').style.display = "block";
}
function ajaxresponse(url, response) {
	$('loading').style.display = "none";
	if(response.indexOf("DOM<>") == 0) {
		var divided = response.split("<>");
		$('domok').src = divided[1];
		$('domok').style.display = "inline";
	}
	else if(response.indexOf("ADD<>") == 0) {
		var divided = response.split("<>");
		$('siteadd').value = divided[1];
		if($('siteadd').value != "") $('domok').src = "images/icons/bought.gif";
		$('domok').style.display = "inline";
	}
	else if(response.indexOf("SIGN<><>") == 0) {
		var divided = response.split("<><>");
		var el = "signup";
		var el2 = "signform";
		$(el).innerHTML = divided[1];
		Cufon.replace('h3');
		if(errresp == 1) {
			$(el).style.display = "block";
			errresp = 0;
		}
		var myFader1 = new Fx.Tween(el2);
		myFader1.set('opacity', 0);
		myFader1.start('opacity', 1);
		if($('siteadd').value != "") addchk('1', '1');
	}
	else if(response.indexOf("SIGNUP<><>") == 0) {
		var divided = response.split("<><>");
		var el = 'signform_content';
		errresp = divided[1];
		$(el).innerHTML = divided[2];	
		var myFader2 = new Fx.Slide(el);
		setTimeout(function() {	myFader2.slideIn(); }, 1000);
	}
	else if(response.indexOf("SITE<><>") == 0) {
		var divided = response.split("<><>");
		var el = 'foundsites';
		var myFader2 = new Fx.Slide(el);
		myFader2.slideOut();
		setTimeout(function() {
			$(el).innerHTML = divided[1];	
			myFader2.slideIn(); 
		}, 600);
	}
	else if(response.indexOf("MAIL<><>") == 0) {
		var divided = response.split("<><>");
		showmsg(divided[1]);
	}
	else $('guestlist').innerHTML = response;
}

function setguest(guest, setting) {
	var poststr = "guest=" + guest + "&setting=" + setting;
	doajax('includes/setguest.php', poststr, 'post');
}
function signup(add) {
	var el = "signup";
	if($(el).innerHTML == "" || errresp == 1) {
		var poststr = "add=" + add;
		doajax('includes/signup.php', poststr, 'post');
	}
	else {
		$(el).style.display = "block";
		var el2 = "signform";
		var myFader1 = new Fx.Tween(el2);
		myFader1.start('opacity', 1);
	}
}
function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function paynow() {
	var wedid = trim(prep($('wedid').value));
	var signcode = trim(prep($('signcode').value));
	var sosfirstname = trim(prep($('sosfirstname').value));
	var soslastname = trim(prep($('soslastname').value));
	var sosadd1 = trim(prep($('sosadd1').value));
	var sosadd2 = trim(prep($('sosadd2').value));
	var soscity = trim(prep($('soscity').value));
	var sospostcode = trim(prep($('sospostcode').value));
	var sosemail = trim(prep($('sosemail').value));
	
	var err = "";
	
	if(sosfirstname == "" || soslastname == "") err += "You must enter your name. ";
	if(sosadd1 == "" || soscity == "" || sospostcode == "") err += "You must enter your address. ";
	if(sosemail.indexOf("@") == -1) err += "You must enter a valid e-mail address. ";
	
	if(err != "") {
		var el = "err";
		var myFader1 = new Fx.Slide(el);
		if($(el).innerHTML != "") {
			myFader1.slideOut();
			setTimeout(function() {
				var myFader1 = new Fx.Slide(el);
				$(el).innerHTML = "<b>ERROR:</b> " + err;
				myFader1.slideIn();
			}, 500);
		}
		else {
			myFader1.hide();
			$(el).style.display = "block";
			$(el).innerHTML = "<b>ERROR:</b> " + err;
			myFader1.slideIn();
		}
		setTimeout(function() {
			var el2 = "signform_content";
			var myFader2 = new Fx.Slide(el2);
			myFader2.slideIn();
		}, 1000);
	}
	else {
		var poststr = "wedid=" + wedid + "&signcode=" + signcode + "&sosfirstname=" + sosfirstname + "&soslastname=" + soslastname + "&sosadd1=" + sosadd1 + "&sosadd2=" + sosadd2 + "&soscity=" + soscity + "&sospostcode=" + sospostcode + "&sosemail=" + sosemail;
		doajax('includes/paynow.php', poststr, 'post');
		var el2 = "signform_content";
		$('signupbuttons').style.display = "none";
		var myFader2 = new Fx.Slide(el2);
		myFader2.slideOut();
	}


}

function signmeup() {
	var person1fn = trim(prep($('person1fn').value));
	var person1ln = trim(prep($('person1ln').value));
	var person2fn = trim(prep($('person2fn').value));
	var person2ln = trim(prep($('person2ln').value));
	var siteadd = trim(prep($('siteadd').value));
	var domok = trim(prep($('domok').src));
	var username = trim(prep($('username').value));
	var email = trim(prep($('email').value));
	var pass1 = trim(prep($('pass1').value));
	var pass2 = trim(prep($('pass2').value));
	var openfrom = trim(prep($('openfrom').value));
	if($('tcs').checked) var tcs = 1;
	else var tcs = 0;
	var i = 1;
	while($('temp' + i)) {
		if($('temp' + i).checked) var template = i;
		i++;
	}
	i = 1;
	while($('col_' + i)) {
		if($('col_' + i).checked) var colour = i;
		i++;
	}
	var err = "";
	if(person1fn == "" || person1ln == "" || person2fn == "" || person2ln == "") err += "You must enter both your names. ";
	if(domok.indexOf('bought') == -1) err += "That site address is not available. ";
	
	var checksiteadd = siteadd.replace(/[^A-Za-z0-9_\-]/, "");
	if(checksiteadd != siteadd) err += "That site address is not valid. ";

	if(username == "") err += "You must enter a username. ";
	if(email.indexOf("@") == -1) err += "You must enter a valid e-mail address. ";
	if(pass1 == "") err += "You must enter a password. ";
	if(pass1 != pass2) err += "Your passwords did not match. ";
	if(openfrom == "") err += "You must choose a date. ";
	if(tcs != 1) err += "You must agree to the terms and conditions.";
	
	if(err != "") {
		var el = "err";
		var myFader1 = new Fx.Slide(el);
		if($(el).innerHTML != "") {
			myFader1.slideOut();
			setTimeout(function() {
				var myFader1 = new Fx.Slide(el);
				$(el).innerHTML = "<b>ERROR:</b> " + err;
				myFader1.slideIn();
			}, 500);
		}
		else {
			myFader1.hide();
			$(el).style.display = "block";
			$(el).innerHTML = "<b>ERROR:</b> " + err;
			myFader1.slideIn();
		}
	}
	else {
		var poststr = "person1fn=" + person1fn + "&person1ln=" + person1ln + "&person2fn=" + person2fn + "&person2ln=" + person2ln + "&siteadd=" + siteadd + "&username=" + username + "&email=" + email + "&pass1=" + pass1 + "&pass2=" + pass2 + "&weddate=" + openfrom + "&template=" + template + "&colourscheme=" + colour + "&tcs=" + tcs;
		doajax('includes/create.php', poststr, 'post');
		var el2 = "signform_content";
		$('signupbuttons').style.display = "none";
		var myFader2 = new Fx.Slide(el2);
		myFader2.slideOut();
	}


}
function signclose() {
	calon = 0;
	var el = "signup";
	var el2 = "signform";
	var myFader1 = new Fx.Tween(el2);
	myFader1.start('opacity', 0);
	setTimeout(function () { $(el).style.display = "none"; }, 600);
}
function addchk(force, signup) {
	if($('domainwarning')) $('domainwarning').style.display = "block";
	var curdate = new Date();
	var curtime = curdate.valueOf();
	if(force == 0) {
		if(curtime - lastchk > 3000 || lastchk == "") {
			lastchk = curtime;
			var go = 1;
		}
	}
	else {
		lastchk = curtime;
		var go = 1;
	}
	if(go == 1) {
		var poststr = "signup=" + signup + "&domain=" + prep($('siteadd').value);
		doajax('includes/addchk.php', poststr, 'post');
	}
}
function namechk() {
	if($('siteadd').value == "") {
		if($('person1fn').value != "" && $('person2fn').value != "") {
			var poststr = "name1=" + prep($('person1fn').value) + "&name2=" + prep($('person2fn').value);
			doajax('includes/addget.php', poststr, 'post');
		}
	}
}

function buttonhover(id, state) {
	var el = $('b_' + id);
	el.src = "images/button-" + id + "-" + state + "-t.png";
}
function caldraw() {
	if(calon != 1) {
		myCal = new Calendar({ openfrom: 'F j, Y' });
		if(navigator.userAgent.indexOf('MSIE') == -1) myCal.toggle(myCal.calendars[0]);
		calon = 1;
	}
}

function findsite() {
			var poststr = "name1=" + prep($('person1fn').value) + "&name2=" + prep($('person2fn').value) + "&surname1=" + prep($('person1sn').value) + "&surname2=" + prep($('person2sn').value);
			doajax('includes/findsite.php', poststr, 'post');

}
function boxclr(box, load) {
	var el = $(box);
	if(el) {
		if(load == 1) {
			if(el.value != "First name" && el.value != "Surname") {
				el.style.color = "#000";
				nameschn++;
			}
			nameschk++;
			if(nameschk == 4 && nameschn > 0) findsite();
		}
		else if(load == 2) {
			if(el.value == "") {
				if(box.indexOf('fn') != -1) el.value = "First name";
				else el.value = "Surname";
				el.style.color = "#ccc";
				nameschn++;
			}
		}
		else {
			if(el.value == "First name" || el.value == "Surname") {
				el.value = "";
				el.style.color = "#000";
			}
		}
	}
}

function emailsub() {
	var name = prep($('mailname').value);
	var email = prep($('mailemail').value);
	var subject = prep($('mailsubject').value);
	var message = prep($('mailmessage').value);
	var spamcode = prep($('mailspamcode').value);
	if(name != "" && email != "" && message != "") {
		var poststr = "name=" + name + "&email=" + email + "&subject=" + subject + "&message=" + message + "&antispam=" + spamcode;
		doajax('includes/sendmail.php', poststr, 'post');

	}
	else {
		showmsg('You must enter your name, e-mail address and a message.');
	}
}
function showmsg(msg) {
	var myFader = new Fx.Slide('msg');
	if($('msg').innerHTML != "") {
		myFader.slideOut();
		setTimeout(function() {
			var myFader = new Fx.Slide('msg');
			$('msg').innerHTML = msg;
			myFader.slideIn(); 
		}, 500);
	}
	else {
		myFader.hide();
		$('msg').style.display = "block";
		$('msg').innerHTML = msg;
		myFader.slideIn(); 
	}
	if(msg == "E-mail has been sent.") {
		$('mailname').value = "";
		$('mailemail').value = "";
		$('mailsubject').value = "";
		$('mailmessage').value = "";
		$('mailspamcode').value = "";
	}
}

function mailadd(link, before, after) {
	if(link == '') link = before + "@" + after;
	document.write("<a href=\"mailto:" + before + "@" + after + "\">" + link + "<\/a>");
}
function showtcs() {
	var myFader1 = new Fx.Slide('tcsbox');
	if($('tcsbox').style.display != "block") {
		myFader1.hide();
		$('tcsbox').style.display = "block";
		myFader1.slideIn();
	}
	else myFader1.toggle();
}

function otherchk(el) {
	if($('type_' + el).value == "0") $('other_' + el).style.display = "inline";
	else $('other_' + el).style.display = "none";
}
function newtot(el, rowid) {
	var testlen;
	if(el == "b") var usetype = "budget_";
	else {
		var usetype = "actual_";
		var othertype = "budget_";
	}

	var newtot = 0;
	var sectot = 0;
	var last = $('nextbox').value;
	for(var i = 0; i < last; i++) {
		if($(usetype + i)) {
			newtot = newtot * 1 + ($(usetype + i).value * 1);
		}
		if(!el) {
			sectot = sectot * 1 + ($(othertype + i).value * 1);
		}
	}
	var total = newtot.toString();
	if(total.indexOf(".") != -1) {
		testlen = total.split(".");
		if(testlen[1].length == 1) total += "0";
	}
	else total += ".00";
	$(usetype + 'total').innerHTML = total;
	if(!el) {
		var total2 = sectot.toString();
		if(total2.indexOf(".") != -1) {
			testlen = total2.split(".");
			if(testlen[1].length == 1) total2 += "0";
		}
		else total2 += ".00";
		$(othertype + 'total').innerHTML = total2;

	}
	if(el) {
	
		var rowtot = $('actual_' + rowid).value - $('budget_' + rowid).value;
		var rowtotal = rowtot.toString();
		if(rowtotal.indexOf(".") != -1) {
			testlen = rowtotal.split(".");
			if(testlen[1].length == 1) rowtotal += "0";
		}
		else rowtotal += ".00";
		$('rowtot_' + rowid).innerHTML = rowtotal;
	
	}
	
	var overalltot = $('actual_total').innerHTML - $('budget_total').innerHTML;
	var overalltotal = overalltot.toString();
	if(overalltotal.indexOf(".") != -1) {
		testlen = overalltotal.split(".");
		if(testlen[1].length == 1) overalltotal += "0";
	}
	else overalltotal += ".00";
	$('difference_total').innerHTML = overalltotal;

}
function addbudget() {
	var last = $('nextbox').value;

	var tbl = $('budgettable');
	var lastRow = tbl.rows.length;
	var newrow = tbl.insertRow(lastRow - 1);
	newrow.id = "row_new_" + last;
	$('nextbox').value = (last * 1) + 1;
	
	var curcell, curhtml;
	for(var i = 1; i <= 7; i++) {
		curcell = document.createElement('td');
		cellref = newrow.appendChild(curcell);
		curhtml = $('newcell' + i).innerHTML;
		curhtml = curhtml.replace(/#new#/g, "new][" + last);
		cellref.innerHTML = curhtml.replace(/#newid#/g, last);
		if(i == 6) cellref.id = "rowtot_" + last;
		cellref.vAlign = "top";
	}
}
function delrow(row, isnew) {
	var rowid;
	if(isnew == 1) {
		rowid = "row_new_" + row;
		$(rowid).destroy();
	}
	else {
		rowid = row;
		var selbox = $('row_' + rowid).getElementsByTagName("select");
		var curnum = selbox[0].id.replace(/type_/g, "");
		$('budget_' + curnum).value = "0";
		$('actual_' + curnum).value = "0";
		$('rowtot_' + curnum).value = "0";
		$('row_' + rowid).style.display = "none";
		$('dels').value += rowid + ",";
	}
	newtot();
}

function hllaunch() {
	if($('launchbox1')) {
		$('launchbox1').style.backgroundColor = "#ff9";
		$('launchbox2').style.backgroundColor = "#ff9";
		$('launchbox1').style.border = "1px solid #333";
		$('launchbox2').style.border = "1px solid #333";
	}
}

Cufon.replace('h2');
Cufon.replace('h3');
Cufon.replace('h5');
Cufon.replace('h4', { hover: true });
Cufon.replace('h6', { hover: true });
window.addEvent('domready',function(){ new SmoothScroll(); });
