// ***************************************************************************************** //
// AJAX
// ***************************************************************************************** //

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 makeRequest(requesttype, url, parameters, doafter) {
	
	http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	
	} else if (window.ActiveXObject) { // IE
	
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() {eval(doafter)};
	
	if(requesttype == 'GET'){
		totalurl = url + '?' + parameters;
		http_request.open('GET', totalurl, true);
		http_request.send('');
	} else {
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
	}
	
}

function reload_page(hr){
	if (hr.readyState == 4) {
		if (hr.status == 200) {
			window.location.reload(true);
		}
	}
}

// ***************************************************************************************** //
// AJAX
// ***************************************************************************************** //

function contact_post(){
	
	document.getElementById('button_area').innerHTML = '<img src="/images/working.gif" align="absmiddle" hspace="25"><br>';
	
	var params = "name=" + encodeURI(document.getElementById('name').value);
	var params = params + "&email=" + encodeURI(document.getElementById('email').value);
	var params = params + "&subject=" + encodeURI(document.getElementById('subject').value);
	var params = params + "&message=" + encodeURI(document.getElementById('message').value);
	
	makeRequest('GET', '/com/controller/contact_post.cfm', params, 'contact_response(http_request)');

}

function contact_response(hr){
	
	if (hr.readyState == 4) {
	
		if (hr.status == 200) {
			
			if(trim(hr.responseText) != 'Error') {
			
				document.getElementById('name').value='Name';
				document.getElementById('name').className='text_forms';
				
				document.getElementById('email').value='Email';
				document.getElementById('email').className='text_forms';
				
				document.getElementById('subject').value='Subject';
				document.getElementById('subject').className='text_forms';
				
				document.getElementById('message').value='Message';
				document.getElementById('message').className='text_forms';
				document.getElementById('message').style.color='#919090';
				
				document.getElementById('button_area').innerHTML = '<input type="button" class="button" value="Submit &raquo;" onclick="contact_post();" />'
				
				alert("Information Submitted!");
				
			} else {
				
				document.getElementById('button_area').innerHTML = '<input type="button" class="button" value="Submit &raquo;" onclick="contact_post();" />'
				alert("Please Fill Out All Fields");
				
			}
			
		}
	
	}

}

function register_post(){
	
	document.getElementById('button_area').innerHTML = '<img src="/images/working.gif" align="absmiddle" hspace="25"><br>';
	
	var params = "name=" + encodeURI(document.getElementById('name').value);
	var params = params + "&email=" + encodeURI(document.getElementById('email').value);
	var params = params + "&address=" + encodeURI(document.getElementById('address').value);
	var params = params + "&city=" + encodeURI(document.getElementById('city').value);
	var params = params + "&state=" + encodeURI(document.getElementById('state').value);
	var params = params + "&zipcode=" + encodeURI(document.getElementById('zipcode').value);
	var params = params + "&birth_month=" + encodeURI(document.getElementById('birth_month').value);
	var params = params + "&birth_day=" + encodeURI(document.getElementById('birth_day').value);
	var params = params + "&birth_year=" + encodeURI(document.getElementById('birth_year').value);
	var params = params + "&whichitem=" + encodeURI(document.getElementById('whichitem').value);
	var params = params + "&wherepurchased=" + encodeURI(document.getElementById('wherepurchased').value);
	var params = params + "&receiveemails=" + encodeURI(document.getElementById('receiveemails').value);
	var params = params + "&comments=" + encodeURI(document.getElementById('comments').value);
	
	makeRequest('GET', '/com/controller/register_post.cfm', params, 'register_response(http_request)');

}

function register_response(hr){

	if (hr.readyState == 4) {
	
		if (hr.status == 200) {
			
			if(trim(hr.responseText) != 'Error') {
			
				document.getElementById('register_form').innerHTML = '<b>Your jewel was registered!  Thank you.</b>';
				
			} else {
				
				document.getElementById('button_area').innerHTML = '<input type="button" class="button" value="Submit &raquo;" onclick="register_post();" />'
				alert("Please Fill In All Required Fields");
				
			}
			
		}
	
	}

}

function designprocess_flipbook(){
	createPopUp(770, 550, true, false, 'center', this, 'flipbook', true, '/designprocess/flipbook');	
}

function origins_diary(){
	createPopUp(770, 650, true, false, 'center', this, 'diary', true, '/origins/diary');	
}

function item_change(id){
	window.location = '#' + id;
	item_show(0);
}

function item_show(i){
	
	var url = document.location;
	var strippedUrl = url.toString().split("#");
	if(strippedUrl.length > 1)
		id = strippedUrl[1];
	else
		id = i;
	if(id != '') document.getElementById('item_detail').innerHTML = "<iframe id=\"item\" src=\"/collections/detail/?id=" + id + "\" style=\"width:320px; height:528px;\" scrolling=\"no\" framespacing=\"0\" frameborder=\"0\"></iframe>";
	
}