function _ciChanged( form ) {
	if( form.name.value != ciName )
		return true;

	if( form.email.value != ciEmail )
		return true;

	if( form.telephone.value != ciTelephone )
		return true;

	if( form.mobile.value != ciMobile )
		return true;

	if( form.email_opt_out.checked ) {
		if( ciEmailOptOut != 'yes' )
			return true;
	} else {
		if( ciEmailOptOut == 'yes' )
			return true;
	}

	var t = '';
	for( var i = 0; i < form.preferred_channel.length; i++ ) {
		if( form.preferred_channel[i].checked )
			t = form.preferred_channel[i].value;
	}

	if( t != ciPreferredChannel )
		return true;

	return false;
}

function ciChanged( form ) {
	var saveObj = document.getElementById( 'ciSaveForm' );
	var cancelObj = document.getElementById( 'ciCancel' );

	if( _ciChanged( form ) ) {
		saveObj.style.display = '';
		cancelObj.style.display = '';
		return true;
	} else {
		saveObj.style.display = 'none';
		cancelObj.style.display = 'none';
		return false;
	}
}

function ciCancel( form ) {
	form.name.value = ciName;
	form.email.value = ciEmail;
	form.telephone.value = ciTelephone;
	form.mobile.value = ciMobile;
	if( ciPreferredChannel == '' )
		ciPreferredChannel = 'email';

	for( var i = 0; i < form.preferred_channel.length; i++ ) {
		if( form.preferred_channel[i].value == ciPreferredChannel )
			form.preferred_channel[i].checked = true;
	}

	return false;
}

function ciSave( form ) {
	if( ! ciChanged( form ) )
		return false;

	var args = new Array();

	args[ args.length ] = 'mode=save';
	args[ args.length ] = 'name=' + escape( form.name.value );
	args[ args.length ] = 'email=' + escape( form.email.value );
	args[ args.length ] = 'telephone=' + escape( form.telephone.value );
	args[ args.length ] = 'mobile=' + escape( form.mobile.value );
	if( form.email_opt_out.checked ) {
		args[ args.length ] = 'email_opt_out=yes';
	} else {
		args[ args.length ] = 'email_opt_out=no';
	}

	var t = '';
	for( var i = 0; i < form.preferred_channel.length; i++ ) {
		if( form.preferred_channel[i].checked )
			t = form.preferred_channel[i].value;
	}
	args[ args.length ] = 'preferred_channel=' + escape( t );

	var http = new XHConn();
	if( ! http ) return;

	var func = function( http ) {
		if( http.responseText != 'OK' ) {
			var r = http.responseText.split( "\n" );
			alert( r[1] );
			return;
		}

		ciName = form.name.value;
		ciEmail = form.email.value;
		ciTelephone = form.telephone.value;
		ciMobile = form.mobile.value;
		ciPreferredChannel = t;
		if( form.email_opt_out.checked ) {
			ciEmailOptOut = 'yes';
		} else {
			ciEmailOptOut = 'no';
		}

		alert( 'Saved changes' );
	};

	http.connect( '/ajax/contactinfo', 'POST', args.join( '&' ), func );

	return false;
}

function ssToggleRenameSavedSearchForm( objId ) {
	var obj = document.getElementById( 'name' + objId );
	document.forms[ 'renameSavedSearchForm' ].wishlist_name.value = obj.innerHTML;
	document.forms[ 'renameSavedSearchForm' ].object_id.value = objId;
	var divObj = document.getElementById( 'renameSavedSearch' );
	divObj.style.left = getposOffset( obj, 'left' ) + 'px';
	divObj.style.top  = ( getposOffset( obj, 'top' ) + 20 ) + 'px';

	toggleForm( 'renameSavedSearch', document.forms[ 'renameSavedSearchForm' ].wishlist_name );
	return false;
}

function ssRenameSavedSearch( objId, name ) {
	var http = getHTTPObject();

	http.open( 'GET', '/ajax/savedsearch?mode=rename&object_id=' + objId + '&name=' + name, true );
	http.onreadystatechange = function () {
	if( http.readyState == 4 ) {
		if( http.status != 200 ) {
			return;
		}
		toggleForm( 'renameSavedSearch', document.forms[ 'renameSavedSearchForm' ].wishlist_name );
		
		var obj = document.getElementById( 'name' + objId );
		obj.innerHTML = name;
	};
	};
	http.send( null );
}

function ssDelete( ssId, ssName ) {
	if( ! confirm( 'Are you sure you wish to delete the Saved Search called \'' + ssName + '\'?\nClick OK to delete, click Cancel to keep this Saved Search.' ) )
		return false;

	var divObj = document.getElementById( 'ssSearch' + ssId );
	var span = document.getElementById( 'ssCount' );
	if( ! divObj || ! span )
		return false;

	var http = new XHConn();
	if( ! http ) return;

	var func = function( http ) {
		if( http.responseText != 'OK' ) {
			alert( 'Unable to delete Saved Search' );
			return;
		}

		ssCount--;
		span.innerHTML = ssCount;
		divObj.style.display = 'none';
		if( ssCount == 0 ) {
			divObj = document.getElementById( 'ssHasAlerts' );
			if( divObj )
				divObj.style.display = 'none';
			divObj = document.getElementById( 'ssNoAlerts' );
			if( divObj )
				divObj.style.display = '';
		}
	};

	http.connect( '/ajax/savedsearch', 'GET', 'mode=delete&object_id=' + ssId, func );
	return false;
}

/* function ssRemoveCriteria( ssId, ssType, ssValue, spanId ) {
	var span = document.getElementById( spanId );

	var http = new XHConn();
	if( ! http ) return false;

	var func = function( http ) {
		if( http.responseText != 'OK' ) {
			alert( 'Unable to remove criteria' );
			return;
		}

		span.style.display = 'none';
	};

	http.connect( '/ajax/savedsearch', 'GET', 'mode=remove&type=' + escape( ssType ) + '&value=' + escape( ssValue ) + '&object_id=' + ssId, func );
	return false;
} */

function ssToggleActive( butObj, field, ssId ) {
	hidePopup( 'emailUpdatesOn' );
	hidePopup( 'emailUpdatesOff' );

	var http = new XHConn();
	if( ! http ) return false;

	var value;
	var src = butObj.alt;
	if( src == 'email off' ) {
		value = 1;
		butObj.newValue = 'on';
		butObj.newValue2 = 'stop';
		butObj.popupId = 'emailUpdatesOn';
	} else {
		value = 0;
		butObj.newValue = 'off';
		butObj.newValue2 = 'start';
		butObj.popupId = 'emailUpdatesOff';
	}
	butObj.popupLeft = ( getposOffset( butObj, 'left' ) - 100 ) + 'px';
	butObj.popupTop  = ( getposOffset( butObj, 'top' ) + 20 ) + 'px';

	var func = function ( http ) {
		if( http.responseText != 'OK' ) {
			alert( 'Unable to toggle updates' );
			return false;
		}

		butObj.alt = 'email ' + butObj.newValue;
		butObj.src = '/images/button-email-' + butObj.newValue + '.gif';
		butObj.title = 'click to ' + butObj.newValue2 + 'receiving these Jobs via email';
		var obj = document.getElementById( butObj.popupId );
		if( obj ) {
			obj.style.visibility = 'visible';
			obj.style.left = butObj.popupLeft;
			obj.style.top = butObj.popupTop;
			setTimeout( 'hidePopup("' + butObj.popupId + '")', 5000 );
		}
	};

	http.connect( '/ajax/savedsearch', 'GET', 'mode=toggle_active&field=' + escape( field ) + '&value=' + escape( value ) + '&object_id=' + ssId, func );

	return false;
}
