function showLightbox (objLink,ajaxId) { return true; }

new Asset.javascript('/code/enlarge/scripts.js');
new Asset.javascript('/code/scripts/common.js');

var lastUpdate;
var theRequest;
var requestTimer;
var requestBusy = false;
var firstInput = true;
var iPhone = false;
var cookieDomain;

// other functions

function addMarkup (theUrl) {

	var theCoords = centerWindow(340,200,-20);
	var markupWindow = openWindow(theUrl,'markupwindow',theCoords,false);
	markupWindow.focus();
	return false;

}

function contactUser (theUrl) {

	var theCoords = centerWindow(340,440,-20);
	var contactWindow = openWindow(theUrl,'contactwindow',theCoords,false);
	contactWindow.focus();
	return false;

}

function changePayType ( newtype ) {
	if (newtype) {
		if ($('paytype') && $('paytype').option) {
			$('paytype').value = newtype;
		} else if ($('paytype-'+newtype)) {
			$('paytype-'+newtype).checked = true;
		}
	}
	updateCheckout();
}

function updateCheckout ( ) {

	var paytype = false;
	if ($('paytype') && $('paytype').option) {
		paytype = $('paytype').value;
	} else {
		if ($('paytype-paypalpro') && $('paytype-paypalpro').checked) {		
			paytype = 'paypalpro';
		} else if ($('paytype-paypalexpress') && $('paytype-paypalexpress').checked) {
			paytype = 'paypalexpress';
		} else if ($('paytype-paybymail') && $('paytype-paybymail').checked) {
			paytype = 'paybymail';
		}
	}

	var useshipaddress = false;
	if ($('useshipaddress')) useshipaddress = $('useshipaddress').checked;

	if ($('shipping')) $('shipping').style.display = (!paytype || paytype == 'paypalexpress') ? 'none' : 'block';
	if ($('none')) $('none').style.display = (paytype) ? 'none' : 'block';
	if ($('paypalpro')) $('paypalpro').style.display = (paytype != 'paypalpro') ? 'none' : 'block';
	if ($('paybymail')) $('paybymail').style.display = (paytype != 'paybymail') ? 'none' : 'block';
	if ($('paypalexpress')) $('paypalexpress').style.display = (paytype != 'paypalexpress') ? 'none' : 'block';
	if ($('billing')) {
		$('billing').style.display = (paytype != 'paypalpro') ? 'none' : 'block';
		$('billingaddress').style.display = (useshipaddress) ? 'none' : 'block';
	}

}

function updateTotal ( theId ) {
	$('total').innerHTML = $('total-'+theId).value;;
}

function pleaseWait ( theText, theType ) {
	
	theObject = $('placeorder');
	if (theObject) {
		switch (theType) {
			case 1: // button
				theObject.disabled = true;
				theObject.value = theText;
				break;
			case 0: // text
			default:
				theObject.innerHTML = '<span class="pleasewait">'+theText+'</span>';
				break;
		}
	}
	$('orderform').submit();
	return false;
	
}

function enablePreview (theId) {
	if ($(theId)) {
		$(theId).addEvent('keyup',livePreview);
		$(theId).addEvent('change',livePreview);
	}
}

function checkPreview () {
	if (lastUpdate != $('formtext').value) {
		lastUpdate = $('formtext').value;
		livePreview();
	}
}

function livePreview () {
	window.clearTimeout(requestTimer);
	if (requestBusy == false) {
		getPreview();
	} else requestTimer = window.setTimeout('livePreview()',2500);
}

function getPreview () {

	requestBusy = true;

	if ($('formremember') && $('formremember').value == 'true') {
		Cookie.write('junecodename',$('formname').value,{duration:365,domain:cookieDomain,path:'/'});
		Cookie.write('junecodeemail',$('formemail').value,{duration:365,domain:cookieDomain,path:'/'});
		Cookie.write('junecodesite',$('formsite').value,{duration:365,domain:cookieDomain,path:'/'});
	}

	theUrl = $('comment').action;
	if (theUrl.lastIndexOf('#')) theUrl = theUrl.substring(0,theUrl.lastIndexOf('#'));

	theData  = 'cmd=commentpreview&urlencoded=true';
	theData += '&formname=' + fullEscape($('formname').value);
	if ($('formemail')) theData += '&formemail=' + fullEscape($('formemail').value);
	if ($('formsite')) theData += '&formsite=' + fullEscape($('formsite').value);
	if ($('alternate')) theData += '&alternate=' + fullEscape($('alternate').value);
	theData += '&formtext=' + fullEscape($('formtext').value);

	theRequest = new Request({
		url: theUrl,
		autoCancel: true,
		onSuccess: updatePreview,
		onFailure: function() { requestBusy = false }
		});
	if (theRequest) {
		// theRequest.setHeader('Content-Type','application/x-www-form-urlencoded');
		theRequest.send(theData);
	}

}

function updatePreview (responseText) {

	if (responseText && responseText != "\n") {
		$('commentpreviewarea').innerHTML = responseText;
		if (firstInput == true) {
			firstInput = false;
			$('commentpreviewarea').style.display = 'block';
			if (!$('addcomment').scrollIntoView(true)) {
				var theCoords = $('addcomment').getCoordinates();
				window.scrollTo(theCoords['left'],theCoords['top']);
			}
		}
	}
	requestBusy = false;

}

function rememberMe () {

	if ($('formremember').value == 'true') {
		$('formremember').value = '';
		if ($('formname')) $('formname').value = '';
		if ($('formemail')) $('formemail').value = '';
		if ($('formsite')) $('formsite').value = 'http://';
		Cookie.dispose('junecodename',{domain:cookieDomain,path:'/'});
		Cookie.dispose('junecodeemail',{domain:cookieDomain,path:'/'});
		Cookie.dispose('junecodesite',{domain:cookieDomain,path:'/'});
		$('remembermessage').innerHTML = 'Information forgotten. ';
		$('rememberlink').innerHTML = 'Save personal information?';
	} else {
		$('formremember').value = 'true'
		$('remembermessage').innerHTML = 'Personal information will be saved. ';
		$('rememberlink').innerHTML = 'Forget personal information?';
	}
	return false;

}

function rememberField (theName,theDefault) {
	var rememberedThis = 0;
	if ($('form'+theName) && $('form'+theName).value == theDefault) {
		var thisValue = Cookie.read('junecode'+theName);
		if (thisValue) {
			$('form'+theName).value = thisValue;
			rememberedThis = 1;
		}
	}
	return rememberedThis;
}

window.addEvent('load',function() {

	if ($('cookiedomain')) cookieDomain = $('cookiedomain').value;

	if (RegExp(' AppleWebKit/').test(navigator.userAgent) && 
		RegExp(' Mobile/').test(navigator.userAgent)) iPhone = true;
	if (iPhone) scrolliPhone();

	// If this is needed, it'd be better to put an "entertosubmit" class on certain 
	// forms or fields, and only enable enterToSubmit on those fields.
	// if (enterToSubmit) enterToSubmit();

	if ($('formtext')) {

		lastUpdate = $('formtext').value;
		if ($('formtext').value) livePreview();

		var wasRemembered = 0;
		wasRemembered += rememberField('name','');
		wasRemembered += rememberField('email','');
		wasRemembered += rememberField('site','http://');
		if (wasRemembered > 0) {
			$('formremember').value = 'true'
			$('remembermessage').innerHTML = '';
			$('rememberlink').innerHTML = 'Forget personal information?';
		} else {
			$('formremember').value = ''
			$('remembermessage').innerHTML = '';
			$('rememberlink').innerHTML = 'Save personal information?';
		}

		enablePreview('formtext');
		enablePreview('formname');
		enablePreview('formemail');
		enablePreview('formsite');

		$('formtext').addEvent('focus',checkPreview);
		$(document.body).addEvent('focus',checkPreview);

	}

});
